(__WIN32__) [HAVE_NTGUI]: Define for correct behaviour of JPEG library.
[bpt/emacs.git] / src / ChangeLog
index c9196c5..5030c11 100644 (file)
@@ -1,5 +1,421 @@
+2004-12-23  Jason Rumney  <jasonr@gnu.org>
+
+       * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
+       of JPEG library.
+
+2004-12-22  Richard M. Stallman  <rms@gnu.org>
+
+       * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
+
+       * lisp.h (Vundo_outer_limit): Fix decl.
+
+       * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
+       Uses changed.
+       (syms_of_undo): Initialize appropriately.
+       (truncate_undo_list): If it's nil, there's no limit.
+
+2004-12-22  Kenichi Handa  <handa@m17n.org>
+
+       * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
+
+2004-12-21  Richard M. Stallman  <rms@gnu.org>
+
+       * eval.c (unwind_to_catch): Clear immediate_quit.
+
+       * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
+       specially as `\ ' and `\-'.
+
+       * keyboard.c (kbd_buffer_store_event_hold):
+       In the code for while-no-input, handle immediate_quit.
+
+       * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
+       Call that at the very start.
+       (undo_limit, undo_strong_limit, undo_outer_limit): Moved to undo.c.
+       (syms_of_alloc): Don't define undo-limit,
+       undo-strong-limit and undo-outer-limit here.
+
+       * undo.c (truncate_undo_list): Return void.
+       Take just one argument, the buffer.
+       Make it current, and inhibit recursive GC.
+       Access and update the undo list directly; return void.
+       Refer to the undo...limit variables directly.
+       Test undo_outer_limit only after counting the whole current command.
+       When it's exceeded, call the function in undo-outer-limit-function.
+       (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
+       (Vundo_outer_limit_function): New variable.
+       (syms_of_undo): Define undo-limit, undo-strong-limit
+       and undo-outer-limit here, and undo-outer-limit-function.
+       Doc fixes.
+
+       * lisp.h (truncate_undo_list): Update decl.
+
+2004-12-21  Piet van Oostrum  <piet@cs.uu.nl>
+
+       * fileio.c (Fread_file_name): Delete duplicates in
+       file-name-history when history_delete_duplicates is true.
+
+2004-12-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macterm.c (mac_do_list_fonts): Fix memory leak
+
+2004-12-20  Richard M. Stallman  <rms@gnu.org>
+
+       * regex.c (re_match_2_internal) <symend, wordend>:
+       Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
+
+2004-12-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macterm.c (endif, x_font_name_to_mac_font_name): Use
+       maccentraleurroman instead of maccentraleuropean
+       (mac_c_string_match, mac_do_list_fonts): Speed up font search by
+       quickly finding a specific font without needing regexps.
+
+2004-12-15  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * syssignal.h: Declare main_thread.
+       (SIGNAL_THREAD_CHECK): New macro.
+
+       * keyboard.c (input_available_signal): Move thread checking code
+       to macro SIGNAL_THREAD_CHECK and call that macro.
+       (interrupt_signal): Call SIGNAL_THREAD_CHECK.
+
+       * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
+
+       * emacs.c: Define main_thread.
+       (main): Initialize main_thread.
+       (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
+       (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
+
+       * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
+
+       * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
+
+       * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
+
+       * process.c (send_process_trap, sigchld_handler): Call 
+       SIGNAL_THREAD_CHECK.
+
+       * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
+
+       * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
+
+       * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
+       returning when xg_ignore_gtk_scrollbar is true.
+
+2004-12-14  Kim F. Storm  <storm@cua.dk>
+
+       * keyboard.c (read_char): Save and restore echo_string when
+       handling input method.
+
+2004-12-13  Richard M. Stallman  <rms@gnu.org>
+
+       * eval.c (syms_of_eval) <quit-flag>: Doc fix.
+
+       * keyboard.c (Vthrow_on_input): New variable.
+       (syms_of_keyboard): Defvar and initialize it.
+       (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
+
+       * lisp.h (QUIT): Check for Vthrow_on_input.
+       (Vthrow_on_input): Declare it.
+
+2004-12-13  Kim F. Storm  <storm@cua.dk>
+
+       * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
+       vector.
+
+2004-12-12  Richard M. Stallman  <rms@gnu.org>
+
+       * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
+
+       * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
+       (Ftry_completion): Really use outer `zero'; eliminate inner one.
+
+2004-12-12  Kenichi Handa  <handa@m17n.org>
+
+       * term.c (encode_terminal_code): Fix previous change.
+
+2004-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keyboard.c (handle_async_input): Remove pthread mutex handling.
+       (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
+
+       * syntax.c (Fforward_word): Avoid non-idempotent side-effects
+       in macro arguments.
+
+       * minibuf.c (Ftry_completion, Fall_completions): Don't use
+       XFASTINT blindly.
+
+       * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
+
+2004-12-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * w32term.c (x_calc_absolute_position): Remove calculation of
+       difference between inner and outer window.  Don't subtract difference
+       for left and top calculations.
+
+       * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
+       for left and top calculations.  Remove call to x_real_positions.
+       [Bug report by Drew Adams in November]
+       (x_check_expected_move): Do not set change_gravity to 1 when calling
+       x_set_offset.
+
+2004-12-08  Richard M. Stallman  <rms@gnu.org>
+
+       * xdisp.c (get_next_display_element): Use `escape-glyph' for
+       control chars and escaped octal codes.
+       (Qescape_glyph): New variable.
+       (syms_of_xdisp): Initialize it.
+       (escape_glyph_face): New variable.
+       (redisplay_window): Initialize it.
+
+2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
+       (init_image): Use 1 rather than TRUE.  TRUE's not always defined.
+
+2004-12-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
+       reset_malloc_hooks.
+
+       * keyboard.c (handle_async_input, input_available_signal):
+       Add ! defined (SYSTEM_MALLOC) around thread code.
+
+       * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
+
+2004-12-07  Stefan  <monnier@iro.umontreal.ca>
+
+       * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
+
+       * config.in: Regenerate.
+
+2004-12-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xmenu.c (Fx_popup_menu): Correct documentation about position.
+       (xmenu_show): Do not call XTranslateCoordinates.  Adjust position
+       if not given by a mouse click to correspond with x-popup-menu
+       documentation.
+
+       * config.in: Regenerate.
+
+       * gtkutil.c: Include signal.h and syssignal.h.
+       (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
+
+       * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
+       new variables main_thread and alloc_mutex,
+       define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
+       emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
+       If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
+       (UN)BLOCK_INPUT.
+       (emacs_blocked_free, emacs_blocked_malloc)
+       (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
+       (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
+       (reset_malloc_hooks): New function.
+
+       * lisp.h: Declare reset_malloc_hooks.
+
+       * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
+
+       * keyboard.c: Conditionally include pthread.h
+       (handle_async_input, input_available_signalt): If not in the main
+       thread, block signal, send signal to main thread and return.
+
+       * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
+       Set current folder in file chooser if default_filename is a directory.
+
+2004-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
+       Remove redundant correctness checks.
+       (regex_compile): Fix up error codes for \{..\} expressions.
+
+2004-12-05  Richard M. Stallman  <rms@gnu.org>
+
+       * regex.c (regex_compile): Fix end-of-pattern case for space.
+
+2004-12-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
+       * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
+       crashes with invalid characters.
+       * macmenu.c (add_menu_item): Use it.
+       * image.c (image_load_quartz2d): Likewise.
+       * macfns.c (x_set_name, x_set_title): Likewise.
+       (Fx_file_dialog): Likewise.  Use constant CFRefs instead of
+       creating them each time for labels.
+
+2004-12-02  Richard M. Stallman  <rms@gnu.org>
+
+       * config.in (RE_TRANSLATE_P): If make_number is not a macro,
+       don't use it here.
+
+       * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
+       (interactive_p): Skip Scalled_interactively_p frames
+       like Sinteractive_p frames.
+       (unwind_to_catch): Clear handling_signal.
+
+       * data.c (Fmake_variable_buffer_local): Doc fix.
+       (Fmake_local_variable): Doc fix.
+
+       * insdel.c (insert_from_string_before_markers)
+       (insert_from_string): Don't modify buffer on empty insertion.
+
+       * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
+
+2004-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
+       menu text as UTF8 fails.
+
+2004-12-01  Kim F. Storm  <storm@cua.dk>
+
+       * alloc.c: Add commentary for last change.
+       (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
+       sizeof(size_t) != 4.
+       (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
+       Use them.  Also clear header and trailer of freed memory.
+       (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
+       (string_overrun_cookie): Rename from string_overrun_pattern.
+       (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
+
+2004-12-01  Andreas Schwab  <schwab@suse.de>
+
+       * lisp.h: Declare string_to_multibyte.
+
+2004-12-01  Kenichi Handa  <handa@m17n.org>
+
+       * w32console.c (w32con_write_glyphs): Decide coding here.
+       Adjusted for the change of encode_terminal_code.
+
+       * term.c (encode_terminal_code): Don't make it "static".
+
+2004-11-30  Kenichi Handa  <handa@m17n.org>
+
+       * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
+       (encode_terminal_code): Argument changed.  Encode all
+       characters at once, and return a pointer to the result of encoding.
+       (write_glyphs): Decide coding here.  Adjusted for the above change.
+       (insert_glyphs): Likewise.
+       (term_init): Initialize encode_terminal_bufsize to 0.
+
+       * coding.c (Vcode_conversion_workbuf_name): New variable.
+       (syms_of_coding): Initialize and staticpro it.
+       (set_conversion_work_buffer): New function.
+       (run_pre_post_conversion_on_str): Use it.
+       (run_pre_write_conversin_on_c_str): New function.
+
+       * coding.h (run_pre_write_conversin_on_c_str): Extern it.
+
+2004-11-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * keyboard.c: Don't undef SIGIO
+       * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
+       * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
+       (macfns.o): Don't depend on ccl.h.
+       * macfns.c (mac_frame_parm_handlers): Set handlers for
+       Qleft_fringe and Qright_fringe.
+       * macterm.c (mac_fill_rectangle_to_pixmap)
+       (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
+       (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
+       Put in #if 0.
+       (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
+       (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
+       (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
+       (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
+       [!MAC_OS8]: Added ifdef'd out code for os8.  Don't use
+       XDrawImageString.  Always draw background and foreground separately.
+       (x_draw_image_foreground): Use clipping instead of computing the
+       intersection rectangle.
+       (x_draw_image_glyph_string): Don't draw an image with mask to a
+       pixmap.
+       (x_redisplay_interface): Set flush_display_optional member to 0.
+       (XTread_socket): Correctly reset the TEConverter
+       object.
+
+2004-11-30  Kim F. Storm  <storm@cua.dk>
+
+       * lisp.h: New defines to enable buffer overrun checking.
+       (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
+       (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
+
+       * alloc.c: Add more checks for buffer overruns.
+       (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
+       xmalloc_overrun_check_trailer, overrun_check_malloc)
+       overrun_check_realloc, overrun_check_free): Add.
+       (GC_STRING_EXTRA, string_overrun_pattern): Add.
+       (check_sblock, allocate_string_data, compact_small_strings):
+       Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
+       (check_cons_list): Condition on GC_CHECK_CONS_LIST.
+       (check_string_free_list): Add.
+       (allocate_string, sweep_strings): Call check_string_free_list.
+
+       * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
+       XMALLOC_OVERRUN_CHECK to avoid crash during load.
+
+2004-11-29  Kim F. Storm  <storm@cua.dk>
+
+       * fns.c (concat): Use SAFE_ALLOCA.
+
+2004-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * sysdep.c (emacs_write): Don't use QUIT.
+
+2004-11-29  Kenichi Handa  <handa@m17n.org>
+
+       * buffer.c (init_buffer): Set current_buffer->directory to a
+       multibyte string made by string_to_multibyte.
+
+       * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
+
+2004-11-27  Andreas Schwab  <schwab@suse.de>
+
+       * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
+
+       * s/gnu-linux.h: Enable no-op gcpros on ia64.
+       (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
+
+       * filelock.c (lock_file_1): Call get_boot_time early.
+       Increase buffer size.
+
+2004-11-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
+       is not defined.
+
+2004-11-27  Kim F. Storm  <storm@cua.dk>
+
+       * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
+       marker out of doc string.
+
+2004-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
+       which was not mentioned in the log.
+
+2004-11-26  Kim F. Storm  <storm@cua.dk>
+
+       * fringe.c (update_window_fringes): Prefer truncation bitmaps over
+       angle bitmaps at top/bottom line.
+
+       * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
+       set it when it->method is set to next_element_from_display_vector.
+       (setup_for_ellipsis): Add LEN argument.  Callers changed.
+       Set it->saved_face_id.
+       (get_next_display_element): Use loop instead of recursion.
+       Set it->saved_face_id.  Combine duplicate code for ctr chars.
+       (next_element_from_display_vector): Do not set it->saved_face_id.
+       (next_element_from_ellipsis): Use setup_for_ellipsis.
+
+2004-11-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
+       prevent compiler warnings.
+
 2004-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * keyboard.c (command_loop_1): Print a message describing the key
+       the user just pressed when this key has no binding.
+
        * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
        (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.