(show_help_echo): Call message3_nolog with number of
[bpt/emacs.git] / src / ChangeLog
index 4c8271b..dd63a35 100644 (file)
@@ -1,5 +1,830 @@
+2000-11-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (show_help_echo): Call message3_nolog with number of
+       bytes in the help string as 2nd parameter, instead of the number
+       of characters.
+
+2000-11-13  Miles Bader  <miles@gnu.org>
+
+       * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
+       (Fload): Use new openp return protocol.
+       Don't try to use Vload_source_file_function to load .elc files.
+       * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
+       openp return protocol.
+       * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
+
+2000-11-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
+
+       * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
+       Defined these macros.
+       (NLIST_STRUCT): Avoid re-defining it.
+
+       * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
+       -I/usr/contrib/X11R6/include.
+       (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
+
+2000-11-10  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
+
+       * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
+       (w32_use_unicode_for_codepage): Use new pseudo-codepages.
+
+       * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
+       (Qw32_charset_vietnamese): New symbol.
+       (xlfd_charset_of_font): New function.
+       (w32_load_system_font): Use it.
+       (x_to_w32_charset): Use Fassoc to find charset info. Special case
+       when Vw32_charset_info_alist is nil to ensure default face always
+       has font. Use Fcar and Fcdr for safety.
+       (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
+       (w32_codepage_for_font): Use xlfd_charset_of_font.  Use new
+       pseudo-codepages for special cases.
+       (w32_to_x_font): New parameter to allow charset portion to be
+       specified where there is many to one mapping.  Callers changed.
+       (w32_list_fonts): Avoid listing fonts that won't display.
+
+2000-11-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (Vface_alternative_font_registry_alist): New variable.
+       (font_list_1): Renamed from font_list.
+       (font_list): New function, trying alternative registries from
+       Vface_alternative_font_registry_alist.
+       (Finternal_set_alternative_font_registry_alist): New function.
+       (syms_of_xfaces): Initialize and Staticpro
+       Vface_alternative_font_registry_alist.  Defsubr
+       Finternal_set_alternative_font_registry_alist.
+
+2000-11-09  Ken Raeburn  <raeburn@gnu.org>
+
+       * lisp.h (Flooking_at): Declare.
+
+2000-11-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * dired.c (directory_files_internal): Fix a braino.
+       
+       * dired.c (directory_files_internal): Add missing GCPRO's.
+       Some cleanup.
+
+2000-11-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
+       (resize_mini_window): Return quickly if Vresize_mini_window is
+       nil.  Don't return if Vmax_mini_window_height is nil.
+
+       * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
+       (syms_of_xdisp): Initialize them.
+       (resize_mini_window): Act according to the setting of
+       Vresize_mini_window.
+       (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
+
+       * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
+       scroll bar widget after configuring it, so that it will appear at
+       the right position from the start.
+       (XTredeem_scroll_bar): Cleaned up.
+
+2000-11-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change.  If the
+       font is taller than the frame line, we don't have to bias the
+       division by two.
+
+       * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
+
+2000-11-07  Dave Love  <fx@gnu.org>
+
+       * config.in (HAVE_MKDIR): Add.
+
+       * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
+
+2000-11-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fset_window_configuration): Don't try to preserve
+       point in the current buffer, if that buffer is displayed in more
+       than one window.
+
+       * xfaces.c (lookup_named_face): If default face isn't realized,
+       try to realize it.  Return -1 if not successful.
+       (Fx_list_fonts): Handle case that face cannot be determined.
+       (Fface_font): Likewise.
+
+2000-11-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (displayed_window_lines): Detect partially
+       visible lines at the bottom correctly.
+
+2000-11-06  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
+       when ensuring we don't do visit in indirect buffer.
+
+2000-11-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.h (compose_chars_in_text): Add prototype.
+
+       * composite.c (Vcomposition_function_table): New variable.
+       (Qcomposition_function_table): New variable.
+       (run_composition_function): Call
+       Vcompose_chars_after_function with three arguments.
+       (compose_chars_in_text): New function.
+       (syms_of_composite): Modified the doc-string of
+       Vcompose_chars_after_function.  Declare composition-function-table
+       as a lisp variable, and initialize it.
+
+       * xfns.c (x_encode_text): Suppress producing escape sequences for
+       composition.
+
+       * xselect.c: Include composite.h.
+       (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
+
+2000-11-05  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (x_produce_glyphs): Fix typo in enum name.
+
+       * sysdep.c (read_input_waiting): Remove extraneous argument to
+       read_socket_hook.
+
+       * w32fns.c (Fx_server_version): Include w32_build_number in the
+       return list.
+
+       * w32heap.c (w32_build_number): New variable.
+       (cache_system_info): Set it.
+
+       * w32heap.h (w32_build_number): Add extern.
+
+       * emacs.c (syms_of_emacs): Update docstring for
+       system-configuration, to reflect the actual usage on MS-Windows.
+
+2000-10-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (read_char) <wrong_kboard>: Make sure that we
+       process idle timers while waiting for another event.
+
+       * dispnew.c (update_frame_line): Handle case where spaces in 
+       the default face are colored.
+
+       * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
+       window height hasn't changed.
+
+2000-10-31  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (x_produce_glyphs): Handle composite characters.
+       (x_draw_glyph_string_foreground)
+       (x_draw_composite_glyph_string_foreground): Restore old font.
+
+2000-10-31  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * minibuf.c (read_minibuf): Reset the undo history just before
+       starting the recursive-edit.
+
+2000-10-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (menu_face_change_count): New variable.
+       (Finternal_set_lisp_face_attribute): Increment it for changes
+       of the `menu' face.
+       (realize_basic_faces): Reflect changes in the `menu' faces
+       in menu bars.
+
+       * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
+       dy obtained from the iterator's y-position after moving from
+       scroll_margin_pos to PT; see comment there.
+       
+       * xdisp.c (safe_eval_handler): Call add_to_log.
+
+       * xfaces.c (resolve_face_name): Handle case that FACE_NAME
+       is not a symbol or string.
+
+       * xdisp.c (echo_area_display): Don't perform a display update from
+       inside redisplay.  The update will happen anyway at the end of
+       redisplay, and it can confuse redisplay (GC messages while
+       redisplaying, for instance.)
+
+2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xrdb.c (x_load_resources): Use the class name in the defaults.
+
+       * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
+       (regex_compile): Catch bogus \(\1\).
+
+2000-10-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_alloc_nearest_color): Fix last change to compare
+       RGB values.
+       
+       * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
+       we have a color cache, check that the cached color equals the
+       allocated color.  If not, clear the color cache.
+
+       * window.c (displayed_window_lines): Change buffers if necessary.
+       Fix computation of displayed lines.
+
+       * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
+       update_menu_bindings to DEFVAR_BOOL.
+
+2000-10-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * search.c (Fset_match_data): Be sure to make search_regs always sane.
+
+       * puresize.h (BASE_PURESIZE): Increase to 680000.
+
+       * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
+
+2000-10-29  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
+
+       * w32term.c (w32_bdf_per_char_metric): Negate descent.
+       (w32_cache_char_metrics): Handle possibility that 'x' does not
+       exist in a BDF font.
+       (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
+
+       * w32bdf.h (bdffont): Add nchars.
+
+       * w32bdf.c (set_bdf_font_info): Set it.
+       (w32_BDF_TextOut): Swap byte order of double byte characters.
+       (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
+
+2000-10-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
+       don't override the colors in frame's param_alist, unless they are
+       unspecified.
+
+       * term.c (reassert_line_highlight): If inverse_video is non-zero,
+       reverse the effect of the highlight flag.
+
+2000-10-27  Ken Raeburn  <raeburn@gnu.org>
+
+       * window.h (Fwindow_live_p): Declare.
+
+       * undo.c (record_delete): Check that last_undo_buffer is really a
+       buffer before applying XBUFFER to it.
+
+       * keymap.c (where_is_internal): Pass lisp object, not integer, to
+       Faref.
+
+2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * lisp.h (KEYMAPP): New macro.
+       (get_keymap): Remove.
+       (get_keymap_1): Rename get_keymap.
+
+       * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
+
+       * xterm.c (note_mode_line_highlight): Use KEYMAPP.
+
+       * xmenu.c (single_submenu): Use KEYMAPP.
+       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
+       Use KEYMAPP rather than Fkeymapp.
+
+       * w32term.c (note_mode_line_highlight): Use KEYMAPP.
+
+       * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
+       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
+       Use KEYMAPP rather than Fkeymapp.
+       (single_submenu): Use KEYMAPP.
+       (w32_menu_show, w32_dialog_show): Use TRUE.
+
+       * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
+
+       * keymap.c (KEYMAPP): Remove (moved to lisp.h).
+       (Fkeymapp): Use KEYMAPP.
+       (get_keymap): Rename from get_keymap_1.  Remove old def.
+       Return t when autoload=0 and error=0 and the keymap needs autoloading.
+       (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
+       (Fminor_mode_key_binding): Don't raise an error if the binding
+       is not a keymap.
+       (Fuse_global_map, Fuse_local_map): Allow autoloading.
+       (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
+
+       * keyboard.c (read_char): get_keymap_1 -> get_keymap.
+       Allow Vspecial_event_map to be autoloaded.
+       (menu_bar_items): Fetch the keymap rather than using keymapp.
+       (menu_bar_one_keymap): No need to follow func-indirect any more.
+       (parse_menu_item): get_keymap_1 -> get_keymap.
+       (tool_bar_items): Fetch the keymap rather than using keymapp.
+       (read_key_sequence): Use KEYMAPP.
+
+       * intervals.c (get_local_map): Use get_keymap rather than following
+       function-indirections explicitly.
+
+       * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
+
+2000-10-27  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
+       point, as Windows has oversized fonts.
+
+       * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
+
+2000-10-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
+       (freehook, reallochook): Handle null pointer arguments.
+       (__malloc_initialize) [GC_MCHECK]: Call mcheck.
+
+2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
+       (re_match_2_internal, re_match_2_internal, re_match_2_internal):
+       Giving in to popular pressure to shut up the compiler with casts.
+
+2000-10-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
+       signed value, and use a default value computed from the font's
+       maximum descent.
+
+2000-10-27  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
+       that specify a negative underline position can still use underlines.
+
+       * window.c (Fpos_visible_in_window_p): Make POS default to
+       WINDOW's point, not the current buffer's point.
+
+2000-10-26  Dave Love  <fx@gnu.org>
+
+       * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
+       when it's necessary.
+
+2000-10-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (size_window): Compute size difference from sum of old
+       child window sizes instead of from parent's size.
+
+       * xdisp.c (pos_visible_p): Change current buffer if necessary.
+       Handle obscured lines at the top of the window.
+
+       * frame.c (Fdelete_frame): Doc fix.  Move running the hook
+       down after the last error condition check.
+
+       * frame.c (Fdelete_frame): Run delete-frame-hook.
+
+2000-10-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (decode_coding): Fix previous change (check also
+       CODING_MODE_LAST_BLOCK).
+
+2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c: More `unsigned char' -> `re_char' changes.
+       Also change several `int' into `re_wchar_t'.
+       (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
+       (PUSH_FAILURE_POINTER): Don't cast any more.
+       (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
+       We want GCC to complain, since this piece of code makes
+       re_match non-reentrant, which *should* be fixed.
+       (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
+       (EXTEND_BUFFER): Use RETALLOC.
+       (SET_LIST_BIT): Don't cast.
+       (re_wchar_t): New type.
+       (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
+       that those two functions will always properly return.
+       (IMMEDIATE_QUIT_CHECK): Cast to void.
+       (analyse_first): Use recursion rather than an explicit stack.
+       (re_compile_fastmap): Can't fail anymore.
+       (re_search_2): Don't check re_compile_fastmap for failure.
+       (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
+       Now also sets the new value (passed in a new argument).
+       (re_match_2_internal): Use it.
+       Also, use a new var `reg' of type size_t when looping through regs
+       rather than reuse the inappropriate `mcnt'.
+
+       * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
+       (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
+       (where_is_internal): Renamed from Fwhere_is_internal.
+       Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
+       (Fwhere_is_internal): New function wrapping where_is_internal.
+       (where_is_internal_1): Handle the case where we're filling the cache.
+       (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
+
+2000-10-25  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
+
+2000-10-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (pos_fully_visible_p): Removed.
+       (Fpos_visible_in_window_p): Use pos_visible_p to determine
+       if position is visible and/or fully visible.
+
+       * lisp.h (pos_visible_p): Add prototype.
+
+       * xdisp.c (pos_visible_p): New function.
+
+2000-10-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (send_process): If OBJECT is t, it means that the data
+       is from C string, but we should encode it.  Before calling
+       setup_raw_text_coding_system, be sure to flush out data by the
+       previous coding system.
+
+2000-10-25  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
+       assignment of startpos to prev when startpos == pos.
+
+       * editfns.c (find_field): Set the field stickiness correctly from
+       overlay fields.  Use renamed `text_property_stickiness'.
+       (text_property_stickiness): Renamed from `char_property_stickiness'.
+       Only check text properties, not overlays.
+       * textprop.c (get_char_property_and_overlay): New function.
+       (Fget_char_property): Use it.
+       * intervals.h (get_char_property_and_overlay): Add declaration.
+
+2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c: Use AREF, ASET and ASIZE macros.
+       (Fmake_sparse_keymap): Docstring fix.
+       (synkey): Remove.
+       (shadow_lookup): Move up.
+       Handle the case where lookup-key returns an integer.
+       (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
+       (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
+       (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
+       Simplify/rewrite the keymap-finding code.
+       Add check for command shadowing, using shadow_lookup.
+
+2000-10-24  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
+       rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
+       a symbol.
+
+2000-10-24  Andrew Innes  <andrewi@gnu.org>
+
+       * dired.c (directory_files_internal_unwind): New function.
+       (directory_files_internal): Use it to ensure closedir is called
+       even if expand-file-name or file-attributes throw, eg. because of
+       a user interrupt.  Also enable immediate_quit while calling
+       re_search, so that matching can be interrupted as well.
+
+2000-10-24  Andrew Innes  <andrewi@gnu.org>
+
+       * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
+       NT-Emacs only.
+       (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
+       so that re_search functions only quit when callers expect them to.
+
+2000-10-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * regex.c (regex_compile): Change the way of handling a range from
+       a char less than 256 to a char not less than 256.
+
+2000-10-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (size_window): Prevent setting window's width or
+       height to a negative value (esp. with XSETFASTINT).
+
+       * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
+       [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
+       (protect_malloc_state) [GC_MALLOC_CHECK &&
+       GC_PROTECT_MALLOC_STATE]: New function.
+       (PROTECT_MALLOC_STATE): New macro.
+       (__malloc_initialize, morecore, _malloc_internal)
+       (_free_internal) _realloc_internal): Use it to make _heapinfo
+       read-only outside of gmalloc.
+
+       * keymap.c: Update copyright.
+
+       * .gdbinit (xbacktrace): Handle case that $bt->function isn't
+       a symbol.
+
+2000-10-24  Colin Walters  <walters@cis.ohio-state.edu>
+
+       * filelock.c (unlock_all_files): Use unlock_file to expand each
+       buffer's file_truename before trying remove its lock file.
+
+2000-10-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
+       or CRLF, decode EOLs.
+
+2000-10-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * window.c (Fdisplay_buffer): Fix doc.
+
+2000-10-23  Jason Rumney  <jasonr@gnu.org>
+
+       * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
+       ASCII font of default fontset on Windows.
+
+       * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
+       xterm.c comment below).
+
+       * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
+
+2000-10-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_connection_closed): Reset handling_signal.
+
+       * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
+       null.
+
+2000-10-23  Miles Bader  <miles@gnu.org>
+
+       * window.c (window_scroll_pixel_based, window_scroll_line_based):
+       Pass nil for FULLY argument to Fpos_visible_in_window_p to
+       maintain old behavior.
+       * minibuf.c (Fminibuffer_complete): Likewise.
+
+2000-10-23  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
+       that when a font can't be exactly centered, it errs up rather than
+       down.
+
+2000-10-23  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * fns.c (Fbase64_decode_string): The decoded result should be
+       unibyte.
+
+2000-10-23  Andrew Choi  <akochoi@i-cable.com>
+
+       * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
+
+       * dispnew.c [macintosh]: Include macterm.h.
+       (init_display) [macintosh]: Initialization for window system.
+
+       * emacs.c (main) [macintosh]: Call syms_of_textprop,
+       syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
+       syms_of_search, x_term_init, and init_keyboard before calling
+       init_window_once.  Also, call syms_of_xmenu.
+
+       * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
+       default fontset to Monaco.
+
+       * frame.c [macintosh]: Include macterm.h.  Remove declarations of
+       NewMacWindow and DisposeMacWindow.
+       (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
+       instead of calling NewMacWindow and setting fields of
+       f->output_data.mac directly.  Call init_frame_faces.
+       (Fdelete_frame) [macintosh]: Remove unused code.
+       (Fmodify_frame_parameters) [macintosh]: Call
+       x_set_frame_parameters instead of mac_set_frame_parameters.
+
+       * frame.h [macintosh]: Define menu_bar_lines field in struct
+       frame.  Define FRAME_EXTERNAL_MENU_BAR macro.
+
+       * keyboard.c [macintosh]: Include macterm.h.
+       (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
+       and menu_bar_activate_event type events as for X and NT.
+       (make_lispy_event) [macintosh]: Construct lisp events of type
+       MENU_BAR_EVENT as for X and NT.
+
+       * sysdep.c [macintosh]: Remove declaration for sys_signal.
+       Include stdlib.h.  Remove definition of Vx_bitmap_file_path.
+       (sys_subshell) [macintosh]: Remove definition entirely.
+       (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
+       Vwindow_system_version here.  Remove initialization of
+       Vx_bitmap_file_path.
+       (read_input_waiting): Correct the number of parameters passed to
+       read_socket_hook.
+       Move all Macintosh functions to mac/mac.c.
+
+       * term.c [macintosh]: Include macterm.h.
+
+       * window.c [macintosh]: Include macterm.h.
+
+       * xdisp.c [macintosh]: Include macterm.h.  Declare
+       set_frame_menubar and pending_menu_activation.
+       (echo_area_display) [macintosh]: Do not return if terminal frame
+       is the selected frame.
+       (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
+       Allow only the selected frame to set menu bar.
+       (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
+       calling FRAME_EXTERNAL_MENU_BAR (f).
+       (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
+
+       * xfaces.c [macintosh]: Include macterm.h.  Define x_display_info
+       and check_x.  Declare XCreateGC.  Define x_create_gc and
+       x_free_gc.  Initialize font_sort_order.
+       (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
+       but call x_list_fonts instead of w32_list_fonts.
+       (Finternal_face_x_get_resource) [macintosh]: Do not call
+       display_x_get_resource.
+       (prepare_face_for_display) [macintosh]: Set xgcv.font.
+       (realize_x_face) [macintosh]: Load the font if it is specified in
+       ATTRS.
+       (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
+       to Qt.
+
+2000-10-22  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
+       is nil: since we go to the end of submap anyway, we'd end up
+       setting nil to nil.
+       (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
+       doesn't obey autoload.
+
+2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (dos_set_window_size): Update screen dimension variables.
+
+2000-10-21  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_cache_char_metrics): Double check that font is
+       really fixed pitch before trusting tmPitchAndFamily.
+
+2000-10-21  Andrew Innes  <andrewi@gnu.org>
+
+       * w32gui.h (w32_char_font_type): Move enum from w32term.c
+
+       * w32term.h: Extern decl for w32_cache_char_metrics.
+
+       * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
+
+       * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
+       (w32_unload_font): Free per_char array if present.
+
+       * w32term.c (w32_per_char_metric): Remove HDC argument.  Use
+       cached information in emulated XFontStruct to handle common cases
+       quickly.  Do not allocate XCharStruct for return.
+       (w32_native_per_char_metric): New function.
+       (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
+       allocating one.
+       (x_produce_glyphs): Don't get an HDC.  Change calls to
+       w32_per_char_metric to match arg change above.  Remove calls to
+       free results.
+       (w32_get_glyph_overhangs): Ditto.
+       (w32_cache_char_metrics): New function.
+
+       * makefile.w32-in: Change .obj to .$(O) in all dependencies.
+       ($(BLD)/casefiddle.$(O)): Remove compile command.
+       ($(BLD)/gmalloc.$(O)): Remove compile command.
+       ($(BLD)/dispnew.obj): 
+       ($(BLD)/keyboard.obj): 
+       ($(BLD)/w32inevt.obj): 
+       ($(BLD)/w32bdf.obj): 
+       ($(BLD)/alloc.obj): 
+       ($(BLD)/buffer.obj): 
+       ($(BLD)/editfns.obj): 
+       ($(BLD)/emacs.obj): 
+       ($(BLD)/fileio.obj): 
+       ($(BLD)/fns.obj): 
+       ($(BLD)/indent.obj): 
+       ($(BLD)/insdel.obj): 
+       ($(BLD)/intervals.obj): 
+       ($(BLD)/minibuf.obj): 
+       ($(BLD)/print.obj): 
+       ($(BLD)/scroll.obj): 
+       ($(BLD)/sysdep.obj): 
+       ($(BLD)/textprop.obj): 
+       ($(BLD)/widget.obj): 
+       ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
+       ($(BLD)/term.obj): Add dependency on dispextern.h.
+
+       * makefile.nt ($(BLD)\dispnew.obj): 
+       ($(BLD)\keyboard.obj): 
+       ($(BLD)\w32inevt.obj): 
+       ($(BLD)\w32bdf.obj): 
+       ($(BLD)\alloc.obj): 
+       ($(BLD)\buffer.obj): 
+       ($(BLD)\editfns.obj): 
+       ($(BLD)\emacs.obj): 
+       ($(BLD)\fileio.obj): 
+       ($(BLD)\fns.obj): 
+       ($(BLD)\indent.obj): 
+       ($(BLD)\insdel.obj): 
+       ($(BLD)\intervals.obj): 
+       ($(BLD)\minibuf.obj): 
+       ($(BLD)\print.obj): 
+       ($(BLD)\scroll.obj): 
+       ($(BLD)\sysdep.obj): 
+       ($(BLD)\textprop.obj): 
+       ($(BLD)\widget.obj): 
+       ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
+       ($(BLD)\term.obj): Add dependency on dispextern.h
+
+2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
+       with an additional argument of Qt.
+
+2000-10-21  Miles Bader  <miles@gnu.org>
+
+       * window.c (pos_fully_visible_in_window_p): New function.
+       (Fpos_visible_in_window_p): Add FULLY argument.
+       Use pos_fully_visible_in_window_p.
+       (window_scroll_pixel_based, window_scroll_line_based): Update
+       calls to Fpos_visible_in_window_p.
+       * lisp.h (Fpos_visible_in_window_p): Update prototype
+
+2000-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (toplevel): Conditionalize compilation of mem_*
+       functions differently.
+       
+2000-10-20  Jason Rumney  <jasonr@gnu.org>
+
+       * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
+       mem_init where it used to be. mem_z etc not defined otherwise.
+
+2000-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
+       GC_MALLOC_CHECK.
+       (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
+       structure definition and related variabled to the top of the file.
+       Include this code when GC_MALLOC_CHECK is defined.
+       (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
+       register/unregister allocated region.
+       (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
+       which isn't allocated.
+       (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
+       something which is already in use.
+       (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
+       (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
+       (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
+       (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
+
+       * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
+       _malloc_internal instead of malloc.
+       (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
+       of free.
+
+2000-10-20  Andrew Innes  <andrewi@gnu.org>
+
+       * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
+       Windows.
+       (my_strftime) <macro>: Don't use macro arg list when redefining as
+       _strftime_copytm.
+       (my_strftime) <function>: Supply 0 as ut argument.
+
+2000-10-19  Jason Rumney  <jasonr@altavista.net>
+
+       * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
+       including dispextern.h, as it stops faces from working.
+
+       * w32fns.c (Fx_create_frame): Don't bother calling
+       face-set-after-frame-default since the caller does it for us
+       anyway. Clean up calls to x_get_arg to be consistent with X.
+
+       * w32term.c (x_produce_glyphs): Handle
+       unibyte_display_via_language_environment correctly.
+       (w32_draw_box_rect): Fix the calculation of width and height.
+
+       * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
+       as it has stopped working.
+       (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
+       menu-bar.
+
+2000-10-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (skip_debugger): Prevent a compiler warning.
+       (Fcondition_case): Likewise.
+       (Fbacktrace_frame): Use a null interactive spec.
+
+2000-10-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_find_ccl_program): Check also fontp->full_name.
+
+2000-10-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * strftime.c: Sync with glibc, file version 1.78.
+       (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
+       should no longer be used according to ISO 8601.
+
+       * keymap.c (access_keymap): If IDX has a meta prefix, and there's
+       no map for meta_prefix_char, don't try to use it as a keymap.
+       Instead, if T_OK is non-zero, look up a default binding, if any,
+       otherwise, if T_OK is zero, return nil.
+
+       * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
+       (x_to_xcolors, png_load): Use x_query_color.
+
+       * xterm.c (x_color_cells, x_query_colors, x_query_color): New
+       functions.
+       (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
+       which can be slow.
+       (x_copy_color, x_alloc_lighter_color): Likewise.
+
+       * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
+       (x_query_color, x_query_colors): Add prototype.
+
+       * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
+       check_string_bytes only if not noninteractive, increase count to 50.
+
+2000-10-18  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * insdel.c (adjust_markers_for_delete): Handle before-insertion
+       markers correctly.
+
 2000-10-17  Gerd Moellmann  <gerd@gnu.org>
 
+       * alloc.c (pure_bytes_used): Renamed from pureptr.
+       (ALIGN): New macro.
+       (pure_alloc): New function.
+       (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
+       Use it.
+       (Fpurecopy): Use PURE_POINTER_P.
+
+       * xdisp.c (try_cursor_movement): Use cursor_row_p also when
+       PT has moved backward.
+       
        * xdisp.c (cursor_row_p): Take continued lines into account.
 
        * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of