(Fconstrain_to_field): Check carefully for field boundaries if either
[bpt/emacs.git] / src / ChangeLog
index 324445f..39d7e0d 100644 (file)
@@ -1,3 +1,710 @@
+2000-10-16  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * editfns.c (Fconstrain_to_field): Check carefully for field
+       boundaries if either OLD_POS or NEW_POS has a non-nil field
+       property, even if they're the same.
+
+2000-10-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_draw_box_rect): Fix the calculation of width and
+       height for XFillRectangle.
+
+2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (Fstring_to_syntax): New function extracted from
+       Fmodify_syntax_entry.
+       (Fmodify_syntax_entry): Use it and document the ! and | fences.
+       (skip_chars, Fforward_comment): Remove unused variables.
+       (syms_of_syntax): Add defsubr for string-to-syntax.
+       (describe_syntax): Add code for comment and string fences.
+
+2000-10-14  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (access_keymap): Add AUTOLOAD parameter.
+       Do the meta->esc mapping.  Call get_keyelt before returning.
+       Start scanning from the second element (the first is always `keymap')
+       to make it easier to detect when we reach a parent map.
+       Handle the case of inheriting from a symbol whose function is a map.
+       (Fkeymap_parent): Also handle the `inherit from symbol' case.
+       (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
+       (get_keyelt, Flookup_key): Update call to access_keymap.
+       Remove the meta->esc mappings.
+       (define_as_prefix): Delete old disabled code.
+       (menu_item_p): New function.
+       (where_is_internal_1): Skip over the few remaining menu items.
+       * lisp.h (access_keymap): Update prototype.
+       * keyboard.c (read_char, menu_bar_items, tool_bar_items):
+       Update call to access_keymap.
+       (follow_key, read_key_sequence): Update calls to access_keymap.
+       Remove the meta->esc mappings.
+
+2000-10-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
+       with additional argument.
+
+       * xdisp.c (cursor_row_p): New function.
+       (try_cursor_movement, display_line): Use it.
+       
+       * xdisp.c (append_space): Also save/restore iterator's current
+       character and its length.
+
+       * xdisp.c (init_from_display_pos): Add an assertion.
+       (handle_stop): Don't set iterator's add_overlay_start.
+       (handle_invisible_prop): Likewise.
+       (load_overlay_strings): If text under an overlay is invisible,
+       take both before- and after-strings into account when the iterator
+       is positioned either at the start or at the end of the overlay.
+       (forward_to_next_line_start): Rewritten.
+       (reseat_at_next_visible_line_start): Rewritten.
+       (set_iterator_to_next): Add parameter RESEAT_P.
+
+       * dispextern.h (struct it): Remove member add_overlay_start.
+       (set_iterator_to_next): Change prototype.
+
+2000-10-13  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Be sure to initialize
+       coding->category_idx.
+       (decode_coding_string): Set coding->src_multibyte and
+       coding->dst_multibyte before using CODING_REQUIRE_DECODING.
+       (encode_coding_string): Set coding->src_multibyte and
+       coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
+
+2000-10-12  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xfns.c (Fx_create_frame): Don't bother calling
+       face-set-after-frame-default since the caller does it for us anyway.
+
+2000-10-12  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * window.c (coordinates_in_window): Fix detection of vertical line
+       on character terminals.
+
+2000-10-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (save_excursion_save): Additionally record the
+       selected window.
+       (save_excursion_restore): If buffer was visible in a window, and a
+       different window was selected, and the old selected window is
+       still live, restore point in that window.
+
+2000-10-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_produce_glyphs): Handle
+       unibyte_display_via_language_environment correctly.
+
+       * regex.c (regex_compile): Change the way of handling a range from
+       unibyte char to multibyte char.
+
+       * syntax.c (skip_chars): Change the way of handling a range from
+       unibyte char to multibyte char.
+
+       * process.c (read_process_output): Cancel previous change.
+
+2000-10-11  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
+
+       * charset.c (Ffind_charset_string): Doc fix.
+       (Ffind_charset_region): Doc fix.
+
+2000-10-11  Kenichi Handa  <handa@mule.m17n.org>
+
+       * process.c (read_process_output): Fix previous change.  Adjust
+       multibyteness of text to insert in a buffer by
+       string_make_unibyte/multibyte instead of
+       Fstring_as_unibyte/multibyte.
+
+2000-10-10  Andreas Schwab  <schwab@suse.de>
+
+       * alloc.c (mark_object): Remove all workarounds installed on
+       1993-08-08.
+
+2000-10-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
+       returning.
+       (base64_encode_1): Make it work for a text of multibyte form.
+       (Fbase64_decode_region): Allocate sufficient memory for multibyte
+       case.  Don't call str_to_multibyte because base64_decode_1
+       produces correct multibyte form for eight-bit codes.
+       (Fbase64_decode_string): Adjusted for the change of
+       base64_decode_1.
+       (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN.  If
+       MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
+       codes.
+
+       * charset.h (CHAR_STRING): Optimized for single byte characters.
+
+2000-10-09  Andreas Schwab  <schwab@suse.de>
+
+       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
+       -1 after socket is closed, to fall through to error processing.
+
+2000-10-09  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
+       variables.  If ALIST includes foreground-color or
+       background-color, change also the colors of the default face for
+       this frame.
+
+2000-10-08  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
+       them extern (they are defined on xfaces.c).
+       (syms_of_msdos): Don't intern and don't staticpro
+       Qbackground_color and Qforeground_color.
+
+2000-10-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (Fframe_parameter): For non-windowed frames, if
+       f->param_alist says foreground or background color is unspecified,
+       call tty_color_name to return the color name computed from the
+       frame's current colors.
+
+2000-10-06  Dave Love  <fx@gnu.org>
+
+       * terminfo.c (ospeed): Don't declare.
+
+       * sysdep.c: Don't include string.h.
+       (h_errno): Declare conditional also on TRY_AGAIN.
+
+       * charset.c (Ffind_charset_string): Doc fix.
+
+       * fns.c (Fbase64_encode_region, Fbase64_encode_string) 
+       (Fbase64_decode_region, Fbase64_decode_string): More explicit
+       error messages.
+
+2000-10-05  Dave Love  <fx@gnu.org>
+
+       * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
+       position like menu-bar.
+
+2000-10-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
+
+       * xdisp.c (handle_single_display_prop): Use safe_call1.
+       (safe_call): Renamed from call_function.
+       (safe_call1): New function.
+       (handle_fontified_prop): Use safe_call1 instead of call1.
+       (safe_eval): Renamed from eval_form.
+       (safe_eval_handler): Renamed from eval_handler.
+       (handle_single_display_prop, display_mode_element): Use safe_eval
+       instead of eval_form.
+
+       * xfaces.c (merge_face_heights): Use safe_call instead of
+       call_function.
+
+       * keyboard.c (show_help_echo): Use safe_call instead of
+       call_function; use safe_eval instead of eval_form.
+
+       * lisp.h (safe_call): Renamed from call_function.
+       (safe_eval): Renamed from eval_form.
+       (safe_call1): Add prototype.
+
+2000-10-05  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xfns.c (image_ascent): Rearrange ascent calculation for the
+       has-a-font case.
+
+2000-10-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
+       (where_is_internal_1): Don't bother ignoring menu-items any more.
+
+2000-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (update_menu_bindings): New variable.
+       (parse_menu_item): Use AREF.  If update_menu_bindings
+       is 0, don't update menu bindings.
+       (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
+
+2000-10-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
+       to `mark_object'.
+
+2000-10-02  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (forw_comment): Match nestedness of ender/starter.
+       (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
+       (prev_char_comstart_first): Remove.
+       (back_comment): Check two-char comment markers more carefully
+       to better handle overlapping cases like *//* or /* */* */ ...
+       Match nestedness of ender/starter.
+
+2000-10-02  Dave Love  <fx@gnu.org>
+
+       * config.in (HAVE_GAI_STRERROR): Add undef.
+
+       * process.c (Fopen_network_stream): Use it.
+
+       * m/alpha.h (NO_REMAP): Don't define.
+
+2000-10-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
+       return with a string converted to an integer or vice versa when
+       Vmocklisp_arguments is t.
+       (Fsignal): Likewise.  The function can return for `quit'.
+       (struct gcpro): Declare member `var' to point to a volatile
+       Lisp_Object.
+
+       * eval.c (error): Prevent compiler warning.
+
+2000-09-30  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (keymap_memberp): New function.
+       (Fset_keymap_parent): Use it.
+       (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
+       Use keymap_memberp to avoid creating cycles.
+       (access_keymap): Use KEYMAPP.
+
+2000-09-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
+       gai_strerror.  Make sure xerrno is set if connect fails.  Improve
+       error recovery.
+
+2000-09-29  Jason Rumney <jasonr@gnu.org>
+
+       * w32term.c (w32_char_font_type, w32_encode_char)
+       (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
+       (w32_bdf_per_char_metric): New function.
+       (w32_per_char_metric): Use it.
+       (x_draw_glyph_string_background): Always draw background for BDF
+       glyphs.
+
+       * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
+       GDI object which is a scarce resource.
+
+       * w32bdf.c (search_file_line): Fix skipping of whitespace.
+       (get_quoted_string): Fix limit on memchr search.
+       (set_bdf_font_info): Use unsigned chars. Negate yoffset.
+       (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
+       (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
+       (get_cached_font_char, cache_char_offset): Use macro
+       BDF_CODEPOINT_RANGE_COVER_P.
+       (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
+       (clear_cached_bitmap_slots): New function.
+       (GET_HEX_VALUE): G-Z, g-z are not hex.
+       (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
+       (get_bitmap_with_cache): Use new cache implementation.
+       (create_offscreen_bitmap): New function.
+       (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
+
+       * w32term.c (x_produce_glyphs):  If the distance from the current
+       position to the next tab stop is less than a canonical character
+       width, use the tab stop after that.
+       (x_draw_glyphs): Handle case START and END are out of bounds more
+       carefully.
+       (x_clear_mouse_face): Block/unblock input.
+       (x_display_and_set_cursor): Don't show a hollow box cursor for
+       buffers whose cursor_type is nil.
+
+2000-09-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
+       disappears.
+
+       * dispextern.h (updating_frame): Declare extern.
+
+2000-09-29  Andreas Schwab  <schwab@suse.de>
+
+       * m/ia64.h: Remove hack of not prototyping bcopy, etc.
+
+2000-09-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
+       use its function definition.
+       (tool_bar_items): Likewise.
+
+       * lisp.h (fatal): Declare NO_RETURN.
+       
+2000-09-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * keymap.c: Remove the line "#undef NULL".
+
+2000-09-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_make_frame_visible): Try harder to make the frame
+       visible.
+
+2000-09-28  Dave Love  <fx@gnu.org>
+
+       * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
+
+       * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
+
+       * .gdbinit (xreload): Note its need on GNU/Linux.
+
+       * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
+       r_alloc, r_alloc_free.
+
+2000-09-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (skip_chars): Handle negation correctly.
+
+2000-09-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (realize_default_face): Call set_lface_from_font_name
+       with non-zero FORCE_P argument.
+
+       * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows): 
+       Add assertions.
+
+       * xdisp.c (window_box_height): Add an assertion.
+
+       * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
+       tool-bar than is available.
+       (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
+
+2000-09-27  Dave Love  <fx@gnu.org>
+
+       * s/irix6-5.h: Now works 64-bit.  Tidied.
+
+2000-09-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
+       instead of BITS_PER_INT.
+       (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
+       EMACS_UINT, respectively.
+       (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
+
+       * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
+
+       * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
+
+       * window.c (freeze_window_starts): Construct last argument for
+       foreach_window differently.
+
+       * xfns.c (x_decode_color): Don't return a Lisp_Object.
+
+       * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
+       EMACS_UINT instead of `int' and `unsigned int'.
+       (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
+
+       * frame.h (struct frame): Make the `nothing' member of union
+       output_data an EMACS_INT.
+
+       * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
+       hunting.
+       (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
+       size in the sdata structure.
+       (SDATA_NBYTES, SDATA_DATA): New macros.
+       (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
+       differently for the different layout of the sdata structure.
+       (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
+       in sdata.
+       (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
+       Check that size recorded in the string size and size recorded in
+       the sdata structure agree.
+
+2000-09-25  Dave Love  <fx@gnu.org>
+
+       * buffer.c: Include stdio.h.
+
+       Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
+       
+       * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
+
+       * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
+       (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
+       size_t.
+       (__malloc_extra_blocks): Declare as __malloc_size_t.
+
+2000-09-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (mark_image): Use GC_NILP instead of NILP.
+
+       * keyboard.c (show_help_echo): Set help_echo_showing_p.
+       (read_char): If help-echo is showing, preserve the echo area
+       when redisplaying.
+
+       * xdisp.c (help_echo_showing_p): New variable.
+       (set_message): Reset it to 0.
+       (init_xdisp): Initialize help_echo_showing_p.
+
+       * dispextern.h (help_echo_showing_p): Declare extern.
+
+       * config.in: Fix typo in __GNUC_MINOR__.
+
+       * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
+
+       * s/freebsd.h (POSIX_SIGNALS): Define.
+
+       * xterm.c (x_clear_mouse_face): Block/unblock input.
+
+2000-09-24  Dave Love  <fx@gnu.org>
+
+       * fns.c (base64_encode_1): Fix last change.
+
+2000-09-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
+
+       * xdisp.c (try_window_reusing_current_matrix): More fixes
+       for the case window has a header-line.
+
+2000-09-22  Dave Love  <fx@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
+       a doc string.
+
+       * xterm.c [SOLARIS2]: Remove redundant include of string.h.
+
+       * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
+
+2000-09-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
+       for GCC >= 2.5.
+
+       * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
+       NO_RETURN.
+
+       * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
+       * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
+       * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
+       warnings.
+       
+       * marker.c (byte_char_debug_check): Return void.
+
+       * xfns.c (Fx_create_frame): Set default frame parameter value
+       for tool-bar-lines to 1.
+
+       * dispnew.c (scrolling_window): Compare y-positions of rows
+       equal at the start.  Some simplification.
+
+       * xdisp.c (try_window_reusing_current_matrix): Fix computation of
+       reused rows' y-position in the case window has a header-line, and
+       new window start is greater than old window start.
+
+       * process.c (process_sent_to): New variable.
+       (send_process): Workaround for a crash on sparc-sun-solaris-2.6
+       with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
+       Declare more parameters volatile.
+
+       * lread.c (Vrecursive_load_depth_limit): New variable.
+       (Fload): Check recursive loads whose recursion depth exceeds
+       Vrecursive_load_depth_limit.
+       (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
+
+2000-09-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Fread_file_name): Doc fix.
+
+       * editfns.c (Fmessage_or_box): Doc fix.
+
+       * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
+
+       * xfns.c (xbm_scan): Allow C-style comments.
+       
+       * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
+       symbols are specified, add color translations to the cache.
+       (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
+       functions.
+       (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
+       xpm_cache_color.
+       (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
+       structures to xpm_init_color_cache.
+
+2000-09-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window_line): Make sure to always draw
+       mode-lines.
+
+2000-09-19  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.nt (bootstrap-emacs): Don't change directory.
+
+2000-09-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
+
+       * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
+       If output buffer is too small, signal an appropriated error.
+
+2000-09-18  Dave Love  <fx@gnu.org>
+
+       * keyboard.c (menu_bar_items, tool_bar_items) 
+       (current_active_maps): Remove redundant get_local_map call.
+
+2000-09-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_display_and_set_cursor): Don't show a hollow box
+       cursor for buffers whose cursor_type is nil.
+       
+       * xterm.c (x_draw_image_glyph_string): Remove a comment describing
+       a feature to implement that is already implemented.
+       (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
+       warnings.
+
+       * xfns.c (x_clear_image_1): New function.
+       (x_clear_image): Use it.
+       (x_from_xcolors): Use x_clear_image_1; don't free the image's
+       mask.
+
+       * dispnew.c (update_window): Move test for invisible lines
+       at the top to update_window_line.
+       (update_window_line): Handle invisible lines here.
+
+       * xfns.c (clear_image_cache): Clear current matrices of all
+       frames sharing an image cache.  Block input while freeing
+       images.  Fix timestamp comparison.
+       (x_clear_image): Also free the mask.
+
+       * xfns.c (lookup_image): Block input while loading the image so
+       that we won't get interrupted in a state where the image isn't yet
+       set up completely.
+       (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
+       (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
+       (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
+       (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
+       input.
+
+2000-09-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window): Make sure to make desired rows
+       current even if they are completely invisible at the top
+       of a window.
+
+2000-09-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (lookup_image): Build mask before applying an algorithm.
+       Recognize algorithm `disabled'.
+       (cross_disabled_images): New variable.
+       (COLOR_INTENSITY): New macro.
+       (x_detect_edges): Use COLOR_INTENSITY.
+       (x_disable_image): New function.
+       (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
+
+       * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
+       disabled state, don't apply an image transformation algorithm if
+       the user specified an image for the disabled state.  Use
+       `:algorithm disabled' for creating a disabled item's image if the
+       user hasn't specified an image.
+
+       * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
+       allocation functions with the XPM lib.
+       (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
+       (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
+       (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
+       (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
+       (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
+       functions.
+       (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
+       functions, if possible, because these handle color allocation
+       failure more gracefully.
+       (Fimage_mask_p): New function.
+
+       * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
+       (Qedge_detection, Qheuristic): New symbols.
+       (syms_of_xfns): Initialize new symbols.
+       (lookup_image): Handle `:mask X', `:algorithm emboss', and
+       `algorithm (edge-detection ...)'.
+       (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
+       (tiff_format, gif_format, gs_format): Add `:mask'.
+       (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
+       (GIF_MASK, GS_MASK): New enumerators.
+       (x_laplace_read_row, x_laplace_write_row): Functions removed.
+       (emboss_matrix, laplace_matrix): New variables.
+       (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
+       (x_edge_detection): New functions.
+       (x_laplace): Rewritten in terms of x_detect_edges.
+       (x_build_heuristic_mask): If image has a mask, free it.
+
+2000-09-14  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: Revert to Unix line endings.
+
+2000-09-14  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: Standardize indentation somewhat.
+       (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
+       cater for differences between shells.
+
+       * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
+
+2000-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_produce_glyphs): If the distance from the current
+       position to the next tab stop is less than a canonical character
+       width, use the tab stop after that.
+
+2000-09-14  Dave Love  <fx@gnu.org>
+
+       * buffer.c (alloc_buffer_text): Fix xmalloc call.
+
+2000-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (handle_fontified_prop): While running fontification
+       functions, bind `fontification-functions' and
+       `after-change-functions' to nil.
+
+       * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
+       (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
+
+       * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
+
+       * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
+       USE_MMAP_FOR_BUFFERS.
+
+       * insdel.c (make_gap): Use enlarge_buffer_text.
+
+       * buffer.c: Move allocation with mmap here, from ralloc.c.  Change
+       conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
+       (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
+       from former r_alloc_* functions in ralloc.c.
+       (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
+       variables.
+       (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
+       (mmap_init) [REL_ALLOC_MMAP]: New function.
+       (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
+       functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
+       BUFFER_FREE.
+
+       * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
+       (enlarge_buffer_text): Add prototype.
+
+       * ralloc.c: Remove everything having to do with the use of mmap.
+
+2000-09-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * sound.c (Fplay_sound): Doc fix.
+
+       * keyboard.c: Avoid some more compiler warnings.
+       (parse_tool_bar_item): Ignore cached key bindings.
+
+       * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
+       and allocation of Lisp data.
+
+2000-09-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
+       (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
+       defaults first.
+
+       * lread.c (Fload): Put code checking for recursive loads in #if 0.
+
+2000-09-12  Miyashita Hisashi  <himi@meadowy.org>
+
+       * ccl.c: Comment fixed.
+       (MAX_MAP_SET_LEVEL): Increased to 30.
+       (PUSH_MAPPING_STACK): Enclose with do-while block.
+       (POP_MAPPING_STACK): Likewise.
+       (stack_idx_of_map_multiple): New variable.
+       (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
+       (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
+       call the corresponding CCL program by
+       CCL_CALL_FOR_MAP_INSTRUCTION.
+       (ccl_driver) <CCL_MapSingle>: Likewise.
+       (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
+       with the case where looking up process reaches to the end of
+       map-set, and call CCL programs as the above change.
+
 2000-09-11  Gerd Moellmann  <gerd@gnu.org>
 
        * xfns.c (png_load, jpeg_load): Declare some variables volatile