Changes for automatic remapping of X colors on terminal frames:
[bpt/emacs.git] / src / ChangeLog
index bafec6a..01a5e27 100644 (file)
@@ -1,3 +1,875 @@
+1999-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       Changes for automatic remapping of X colors on terminal frames:
+
+       * xfaces.c (XColor) [!HAVE_X_WINDOWS]: Provide a typedef for non-X
+       frames.
+       (Vface_tty_color_alist): Remove.
+       (tty_defined_color): New function.
+       (defined_color): Rewrite to support any type of frame.
+       (tty_color_name): New function.
+       (face_color_supported_p, Fface_color_gray_p,
+       Fface_color_supported_p): Support non-X frames.
+       (load_color): Enclose the color name in quotes, in the log
+       messages.  Remove DOS-specific version of load_color.
+       (realize_tty_face): Take the supported colors from
+       tty-color-alist.  Support translation of X colors to the closest
+       tty color, for both MSDOS and tty frames.
+       [MSDOS]: Don't invert face colors if they were taken from the
+       frame colors.
+       (Fface_register_tty_color, Fface_clear_tty_colors): Remove.
+
+       * frame.h (struct x_output) [!MSDOS, !WINDOWSNT, !HAVE_X_WINDOWS]:
+       Define a mostly empty surrogate.
+       (tty_display): Declare.
+
+       * frame.c (make_terminal_frame) [!macintosh]: Don't use
+       tty_display.
+       (Fframe_parameters): Don't invert colors of non-FRAME_WINDOW_P
+       frames when the frame's param_alist includes 'reverse.
+       (tty_display): Define.
+       (make_terminal_frame) [!MSDOS]: Assign &tty_display to the
+       output_data.x member.
+       (Fframe_parameters): Return foreground and background color names
+       on tty frames as well, in addition to MSDOS frames.
+
+       * msdos.h (DisplayWidth, DisplayHeight): Changes for Lisp_Object
+       selected_frame.
+       (struct x_output): Remove unused members; document who uses each
+       member.
+       (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE,
+       FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES,
+       FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES,
+       FRAME_DEFAULT_FACE, FRAME_MODE_LINE_FACE, unload_color): Remove
+       unused macro definintions.
+
+       * msdos.c (IT_set_frame_parameters): Don't call
+       recompute_basic_faces, the next redisplay will, anyway.
+       (x_current_display): Remove unused variable.
+       Many functions: changes for Lisp_object selected_frame.
+       (IT_set_face): If the tty_reverse_p flag is set for the face,
+       reverse the foreground and background colors.
+       (Fmsdos_remember_default_colors): New function.
+       (syms_of_msdos): Defsubr it.
+       (IT_set_frame_parameters): Use initial_screen_colors[] when
+       creating a new frame.  If the frame parameters include 'reverse,
+       swap the foreground and background colors.
+       (internal_terminal_init): Initialize initial_screen_colors to -1.
+       (syms_of_msdos): Add DEFVAR_BOOL for x-stretch-cursor, to shut up
+       cus-start.el.
+
+       * Makefile.in (lisp, shortlisp): Add lisp/term/tty-colors.elc.
+
+       * xfns.c (x_defined_color): Rename from defined_color.  All
+       callers changed.
+       (Fxw_color_defined_p): Renamed from Fx_color_defined_p;
+       all callers changed.
+       (Fxw_color_values): Renamed from Fx_color_values; all callers
+       changed.
+       (Fxw_display_color_p): Renamed from Fx_display_color_p; all
+       callers changed.
+       (x_window_to_frame, x_any_window_to_frame,
+       x_non_menubar_window_to_frame, x_menubar_window_to_frame,
+       x_top_window_to_frame): Use !FRAME_X_P instead of
+       f->output_data.nothing.
+       * xterm.h (x_defined_color): Rename from defined_color.
+
+       * w32fns.c (x_window_to_frame): Use FRAME_W32_P instead of
+       f->output_data.nothing.
+       (Fxw_color_defined_p): Renamed from Fx_color_defined_p;
+       all callers changed.
+       (Fxw_color_values): Renamed from Fx_color_values; all callers
+       changed.
+       (Fxw_display_color_p): Renamed from Fx_display_color_p; all
+       callers changed.
+
+       * dispextern.h (tty_color_name): Add prototype.
+
+       * xmenu.c (menubar_id_to_frame): Use FRAME_WINDOW_P instead of
+       f->output_data.nothing.
+       * w32menu.c (menubar_id_to_frame): Likewise.
+       * w32term.h (w32_output): Declare.
+
+       * dosfns.c (Qmsdos_color_translate): Remove.
+       (msdos_stdcolor_name): Now returns a Lisp_Object.
+       * dosfns.h (Qmsdos_color_translate): Remove.
+
+       * s/msdos.h (INTERNAL_TERMINAL): Add entries for color support.
+
+1999-12-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (decide_coding_unwind): Renamed from
+       set_auto_coding_unwind.
+       (Finsert_file_contents): Make single unwind protect to call both
+       Vset_auto_coding_function and Ffind_operation_coding_system.
+
+       * insdel.c (adjust_markers_for_delete): Make it non-static.
+
+1999-12-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (regex_compile): Recognize *?, +? and ?? as non-greedy
+       operators and handle them properly.
+       * regex.h (RE_ALL_GREEDY): New option.
+       (RE_UNMATCHED_RIGHT_PAREN_ORD): Moved to the end where alphabetic
+       sorting would put it.
+       (RE_SYNTAX_AWK, RE_SYNTAX_GREP, RE_SYNTAX_EGREP)
+       (_RE_SYNTAX_POSIX_COMMON): Use the new option to keep old behavior.
+
+1999-12-04  Dave Love  <d.love@dl.ac.uk>
+
+       * m/arm.h: New file.
+
+1999-12-03  Dave Love  <fx@gnu.org>
+
+       * editfns.c (Fmessage_or_box): Use use_dialog_box.
+
+1999-12-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/usg5-4.h (LIBS_SYSTEM): Add -lgen because that's needed
+       for building with Motif.
+
+       * m/iris4d.h (UNEXEC) [USG5_4]: Use unexsgi.o instead of
+       unexelf.o.
+       
+       * m/iris5d.h (UNEXEC): Use unexsgi.o instead of unexelf.o.
+
+1999-12-01  Dave Love  <fx@gnu.org>
+
+       * emacs.c (main): Set LANG=C iff AX3_2 defined.
+
+1999-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * systime.h (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
+       (EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT,EMACS_TIME_LE): New
+       macros.
+
+       * config.in (HAVE_SETITIMER, HAVE_UALARM): New.
+
+1999-11-28  eliz  <eliz@dlpx1>
+
+       * emacs.c (synchronize_locale): Avoid compiler warnings about
+       pointer type mismatch.
+
+1999-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fwindow_end): Don't call temp_set_pt_both with
+       out of range position.
+
+       * xterm.c (XTread_socket) <ClientMessage, Xatom_Scrollbar>: 
+       Switch off busy-cursor by setting inhibit_busy_cursor to 2.
+
+1999-11-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * charset.c (Fmake_char_internal): Print the charset ID when
+       signalling an error.
+
+       * emacs.c (synchronize_locale): Avoid compiler warnings about
+       pointer type mismatch.
+
+1999-11-26  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * editfns.c (Fdelete_field): Make it noninteractive.  Return nil.
+
+1999-11-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 550000.
+
+       * textprop.c (set_text_properties): New function.  Like
+       Fset_text_properties, but with additional parameter
+       SIGNAL_AFTER_CHANGE_P.  If that is nil, don't signal after
+       changes.
+       (Fset_text_properties): Use it.
+
+       * insdel.c (insert_1_both): Call set_text_properties with last
+       parameter nil so that no after changes will be signaled.
+
+       * lisp.h: Add prototype for set_text_properties.
+
+       * xfaces.c (set_lface_from_font_name): Fix previous change.
+       (recompute_basic_faces): Change assert to abort.
+
+1999-11-25  Dave Love  <fx@gnu.org>
+
+       * fns.c (Fnthcdr, Fnreverse): Inline cdr.
+       (Fmember, Fdelq, Fdelete): Inline car.
+       (Fy_or_n_p): Doc fix.
+
+1999-11-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (set_lface_from_font_name): New parameter may_fail_p.
+       Callers changed.  If specified font name is bogus, and may_fail_p
+       is not set, try to use a reasonable default.
+
+       * dispnew.c (direct_output_for_insert): Set glyph row's
+       displays_text_p flag.  Correct window's window_end_vpos if
+       necessary.
+
+1999-11-25  Paul Eggert  <eggert@twinsun.com>
+
+       * emacs.c (fixup_locale): Don't bother to record initial locale.
+       (synchronize_locale): If the desired locale is nil,
+       treat it as if it were the empty string,
+       so that we set the locale from the environment.
+
+1999-11-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): Set buffer-file-coding-system
+       of the current buffer via Fset.
+
+1999-11-24  Dave Love  <fx@gnu.org>
+
+       * xfns.c: Don't duplicate Qdisplay definition done elsewhere.
+
+       * xfaces.c: Don't duplicate Qmode_line definition done elsewhere.
+
+       * xfns.c: Don't duplicate Qdisplay definition done elsewhere.
+
+1999-11-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (enum pvec_type): Put PVEC_FLAG in #if 0.
+
+       * emacs.c (PVEC_FLAG): New variable.
+
+1999-11-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * unexaix.c (unexec): Use unsigned instead of uintptr_t because
+       that fails on IBM PowerPC, AIX 4.2.
+       
+1999-11-22  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * buffer.c (syms_of_buffer): Add %z, %Z, %m and %& to the doc
+       string of mode-line-format.  Remove the obsolete %t.
+
+1999-11-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (direct_output_for_insert): Increment glyph positions
+       for glyphs from buffer text only.
+
+       * emacs.c (gdb_valbits, gdb_gctypebits, gdb_emacs_intbits)
+       (gdb_data_seg_bits): New variables.
+       
+       * lisp.h (enum gdb_lisp_params): Put in #if 0, since it doesn't
+       work on systems not allowing enumerators > INT_MAX, and it
+       won't work if EMACS_INT is long long.
+
+1999-11-22  Paul Eggert  <eggert@twinsun.com>
+
+       Port to SunOS 4.1.x again.  Help out with Alpha port.
+       Rename messages-locale to system-messages-locale,
+       and likewise for time-locale.
+       
+       * callproc.c (strerror): Remove decl.
+       * fileio.c (strerror): Likewise.
+       * process.c (strerror): Likewise.
+       * emacs.c (strerror): Likewise.
+       (Vsystem_messages_locale): Renamed from Vmessages_locale.
+       All uses changed.
+       (Vprevious_system_messages_locale): Likewise, from
+       Vprevious_messages_locale.
+       (Vsystem_time_locale): Likewise, from Vtime_locale.
+       (Vprevious_system_time_locale): Likewise, from Vprevious_time_locale.
+       (ABORT_RETURN_TYPE): New macro.
+       (abort): Return type is now ABORT_RETURN_TYPE.
+       (main): Always invoke init_signals, even if POSIX_SIGNALS is not
+       defined.
+       (syms_of_emacs): messages-locale -> system-messages-locale,
+       previous-messages-locale -> previous-system-messages-locale,
+       time-locale -> system-time-locale,
+       previous-time-locale -> previous-system-time-locale.
+
+       * gmalloc.c (PP, __ptr_t): Assume ANSI C if STDC_HEADERS is defined.
+       (const): Do not define; that's config.h's job.
+       (<limits.h>): Include if HAVE_LIMITS_H is defined.
+       (CHAR_BIT): Move test for definedness outside of limits.h condition.
+       (<stddef.h>): Include if STDC_HEADERS is defined.
+       (FREE_RETURN_TYPE): New macro.
+       (free): Return type is now FREE_RETURN_TYPE.
+
+       * lisp.h (synchronize_system_time_locale): Renamed from
+       synchronize_time_locale.  All uses changed.
+       (synchronize_system_messages_locale): Likewise, from
+       synchronize_messages_locale.
+
+       * m/alpha.h (malloc, realloc, calloc): Remove decls;
+       stdlib.h now does this.
+
+       * process.c (sys_siglist): Remove.
+
+       * s/sunos4-0.h (ABORT_RETURN_TYPE, FREE_RETURN_TYPE):
+       New macros.
+
+       * syntax.c (scan_sexps_forward): Use abort, not assert.
+
+       * sysdep.c (my_sys_siglist): New var.
+       (sys_siglist): New macro.  Remove old initialized vars of same name.
+       (init_signals): Initialize sys_siglist.
+
+       * xfns.c (abort): Remove decl; stdlib.h now does this.
+
+1999-11-18  Dave Love  <fx@gnu.org>
+
+       * filelock.c: Add forward declaration for get_boot_time_1.
+
+       * dispnew.c (Finternal_show_cursor_p): Fix doc string.
+
+1999-11-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.h (struct buffer_text): Add comment about moving
+       buffer text if REL_ALLOC is defined.
+
+1999-11-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * lisp.h (KEY_DESCRIPTION_SIZE): New macro.
+
+       * keyboard.c (echo_char): Use KEY_DESCRIPTION_SIZE to check free
+       memory for push_key_description.
+
+       * keymap.c (Fsingle_key_description): Use KEY_DESCRIPTION_SIZE to
+       allocate memory for push_key_description.
+       (describe_buffer_bindings): Likewise.
+
+1999-11-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_show_busy_cursor): Doc-fix.
+       (Fx_hide_busy_cursor): Ditto.
+
+1999-11-17  Marco Walther <walther@siemens-pyramid.com>
+
+       * unexsni.c (unexec): Handle .rel.dyn section.
+
+1999-11-16  Dave Love  <fx@gnu.org>
+
+       * doc.c (Fdocumentation): Remove gcpro here too.
+
+1999-11-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (command_loop_1): Remove no_redisplay.
+
+1999-11-16  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * print.c (PRINTPREPARE): Don't call setup_echo_area_for_printing
+       in noninteractive.
+
+1999-11-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (ensure_echo_area_buffers): New.
+       (with_echo_area_buffer): Use it.
+       (setup_echo_area_for_printing): Ditto.
+
+       * buffer.c (indicate-empty-lines): Doc-fix.
+
+1999-11-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * term.c (term_init): If "op" isn't available, don't support color
+       because we can't switch back to the default foreground and
+       background.
+
+       * doc.c (Fdocumentation_property): Remove GCPRO because
+       Fsubstitute_command_keys gcpro's the string.
+
+1999-11-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Ftranslate_region): Check the buffer multibyteness.
+
+1999-11-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * print.c, keymap.c, indent.c, insdel.c, keyboard.c, intervals.c,
+       lread.c, textprop.c, undo.c, emacs.c, lisp.h, intervals.h,
+       buffer.h, config.in, Makefile.in: Remove USE_TEXT_PROPERTIES.
+
+1999-11-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (QCuser_data): Removed.
+       (syms_of_xfns): Initialization of QCuser_data removed.
+       (parse_image_spec): Don't handle :user-data specially.  Allow
+       unknown keys.  Remove parameter ALLOW_OTHER_KEYS.
+       (xbm_image_p, xbm_load, xpm_image_p, pbm_image_p, png_image_p)
+       (tiff_image_p, jpeg_image_p, gif_image_p, gs_image_p): Call
+       parse_image_spec accordingly.
+
+1999-11-09  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * cmds.c (Fbeginning_of_line): Doc fix.
+       (Fend_of_line): Doc fix.
+
+       * editfns.c (Fline_beginning_position): If N is not 1,
+       pass t to Fconstrain_to_field for ESCAPE-FROM-EDGE.
+
+       * syntax.c (Fforward_word): Handle fields even if would have hit
+       an edge of the buffer.  Return nil if affected by fields.
+
+1999-11-09  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * editfns.c (preceding_pos): Function deleted.
+       (text_property_stickiness): Decrement POS directly.
+       Fix a confusion that used PT instead of POS.
+
+       * editfns.c (find_field): Properly handle the case
+       of a field boundary where `field' inherits from neither side.
+
+       * editfns.c (Ffield_beginning, Ffield_end): Doc fixes.
+       (Ferase_field, Ffield_string, Ffield_string_no_properties): Doc fixes.
+
+1999-11-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * bytecode.c (Fbyte_code) <BinsertN, Bcall>: Do the
+       BEFORE_POTENTIAL_GC before DISCARD.
+
+1999-11-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (Fgarbage_collect): Call unmark_byte_stack.
+
+       * lisp.h: Add prototype for unmark_byte_stack.
+
+       * bytecode.c (mark_byte_stack): Use XMARKBIT and XMARK.
+       (unmark_byte_stack): Renamed from relocate_byte_pcs.  Use
+       XUNMARK.
+
+       * xdisp.c (resize_mini_window): Fix computation of needed
+       mini-window height.
+
+       * alloc.c, buffer.c, editfns.c, xdisp.c: Remove conditional
+       compilation on USE_TEXT_PROPERTIES.
+
+       * Fbyte_code: Use block statements in cases and declare v1 and v2
+       locally there.  Rearrange case statements so that thos most
+       frequently executed come first.  Avoid goto's in frequently
+       executed cases.
+
+1999-11-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * bytecode.c (Fbyte_code): Use BEFORE_POTENTIAL_GC and
+       AFTER_POTENTIAL_GC around internal_catch.
+
+       * alloc.c (Fgarbage_collect): Call mark_byte_stack and
+       relocate_byte_pcs.
+       (init_alloc_once, init_alloc): Set byte_stack_list to null.
+
+       * eval.c (struct catchtag): Add member byte_stack.
+       (internal_catch, Fcondition_case, internal_condition_case)
+       (internal_condition_case_1): Save value of byte_stack_list in
+       catchtag.
+       (unwind_to_catch): Restore byte_stack_list from catchtag.
+
+       * lisp.h: Add prototypes for new functions in bytecode.c.
+       Add extern declaration for byte_stack_list.
+
+       * bytecode.c (struct byte_stack): New.
+       (byte_stack_list, mark_byte_stack, relocate_byte_pcs): New
+       (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): New.
+       (FETCH, PUSH, POP, DISCARD, TOP, MAYBE_GC): Rewritten.
+       (HANDLE_RELOCATION): Removed.
+       (Fbyte_code): Use byte_stack structures.
+
+       * filelock.c (Ffile_locked_p): Make FILENAME a required argument.
+
+       * buffer.c (syms_of_buffer): Extend documentation of
+       mode-line-format.
+
+1999-11-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (Fdelete_field): Renamed from Ferase_field.
+
+       * minibuf.c (do_completion, Fminibuffer_complete_word): Use
+       Ferase_field instead of Fdelete_field.
+
+1999-11-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (Finternal_show_cursor): Change it to set the
+       cursor on/off, not toggle its state.
+       (Finternal_show_cursor_p): New.
+       (syms_of_display): Defsubr Sinternal_show_cursor_p.
+
+1999-11-03  Dave Love  <fx@gnu.org>
+
+       * charset.c (split_non_ascii_string): Define return value.
+
+1999-11-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * minibuf.c (string_to_object): New.
+       (read_minibuf_noninteractive): New.
+       (read_minibuf): Call read_minibuf_noninteractive if
+       noninteractive.  Use string_to_object.
+
+       * doc.c (Fdocumentation_property): Fix bug bypassing UNGCPRO.
+
+1999-11-02  Dave Love  <fx@gnu.org>
+
+       * gnu-linux.h: Use SIGCHLD, not SIGCLD (not in glibc 2.1).
+
+       * process.c: Define _GNU_SOURCE before config.h to get strsignal
+       declared with glibc2.
+
+1999-11-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (QUIT): Give it statement form.
+
+1999-11-02  Dave Love  <fx@gnu.org>
+
+       * eval.c (init_eval): Conditionalize declaration of gcpro_level.
+
+1999-11-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (QCuser_data): New.
+       (syms_of_xfns): Initialize QCuser_data.
+       (parse_image_spec): Ignore :user-data DATA properties.
+
+       * xdisp.c (display_line): Set charpos of first glyph in blank
+       lines not corresponding to any text to -1, even if no glyphs are
+       filled in in that line.
+
+1999-11-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (png_load) [PNG_READ_sRGB_SUPPORTED]: Put code using 
+       png_get_sRGB in #ifdef.
+
+       * dispnew.c (Finternal_show_cursor): Renamed from Fshow_cursor.
+       (syms_of_display): Use the new name.
+
+       * textprop.c (verify_interval_modification): Signal text-read-only
+       instead of calling error.
+
+       * data.c (Qtext_read_only): New built-in error.
+       (syms_of_data): Initialize it.
+
+       * lisp.h: Add extern declaration for Qtext_read_only.
+
+       * syntax.c: Remove whitespace after open or in front of closing
+       parentheses.
+
+1999-11-01  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * Makefile.in (w16select.o, sound.o): Don't depend on lisp.h.
+
+1999-10-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (resize_mini_window): Compute needed height differently.
+
+       * fns.c (Flength): Unroll loop over lists.
+
+       * xdisp.c (append_space): Return non-zero if space was appended.
+       (display_line): Set charpos of first glyph to -1 only if that
+       glyph is the space added by append_glyph.
+
+1999-10-30  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * print.c (strout): Consider `noninteractive' and use stdout
+       only when PRINTCHARFUN is t.
+
+       * lisp.h (struct gcpro) [DEBUG_GCPRO]: New field `level'.
+       (gcpro_level): Declare it extern.
+       [DEBUG_GCPRO] (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
+       Alternate definitions that set `level' and increment `gcpro_level'.
+       [DEBUG_GCPRO] (UNGCPRO): Alternate definition that checks gcpro_level.
+
+       * eval.c [DEBUG_GCPRO] (gcpro_level): New variable.
+       (init_eval) [DEBUG_GCPRO]: Initialize it.
+       (unwind_to_catch) [DEBUG_GCPRO]: Set gcpro_level
+       from remaining gcprolist.
+
+1999-10-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Update `dst' correctly.
+
+1999-10-28  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * regex.c (POP_FAILURE_POINT): Use failure_id.integer
+       as arg to DEBUG_POP and DEBUG_PRINT.
+
+1999-10-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (Fmemq, Fassq, Frassq, assq_no_quit, Fassoc)
+       (Frassoc): Rewritten.
+
+1999-10-27  Noah Friedman  <friedman@splode.com>
+
+       * s/gnu-linux.h [HAVE_DEV_PTMX]: Redefine FIRST_PTY_LETTER to 'z'.
+       Define PTY_NAME_SPRINTF.
+       Redefine PTY_TTY_NAME_SPRINTF.
+       * config.in: Add undef for HAVE_DEV_PTMX.
+
+1999-10-26  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * regex.c (POP_FAILURE_POINT): Use failure_id.integer
+       as arg to DEBUG_POP and DEBUG_PRINT.
+
+1999-10-27  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * data.c (Qad_activate_internal): Renamed from Qad_activate.
+       (Ffset): Call Qad_activate_internal.
+       (syms_of_data): Initialize Qad_activate_internal.
+
+1999-10-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (echo_area_display) [HAVE_X_WINDOWS]: Do nothing if
+       Vterminal_frame is selected and Vwindow_system is non-nil.
+
+1999-10-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (echo_area_display): Put previous change in #if 0.
+
+       * emacs.c (standard_args): Add `file' as synonym for `visit',
+       `execute' as synonym for `eval'.
+       (main): Add new options to usage message.
+
+1999-10-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * data.c (Qhash_table): New.
+       (Ftype_of): Return it for hash tables.
+       (syms_of_data): Initialize Qhash_table.
+
+1999-10-25  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * regex.c (POP_FAILURE_POINT): Extract failure_id as an integer.
+
+1999-10-24  Ken Raeburn  <raeburn@raeburn.org>
+
+       * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including
+       lisp.h.
+
+       * buffer.c (Fbuffer_list, Fget_file_buffer, get_truename_buffer,
+       Fbuffer_local_variables, Fother_buffer, record_buffer,
+       set_buffer_internal_1, Fbury_buffer, Fkill_all_local_variables,
+       swap_out_buffer_local_variables, overlays_at, overlays_in,
+       overlay_touches_p, overlay_strings, recenter_overlay_lists,
+       fix_overlays_in_range, fix_overlays_before, Foverlay_get,
+       Foverlay_put, report_overlay_modification, evaporate_overlays):
+       Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member
+       references.
+       * data.c (Fcar, Fcar_safe, Fcdr, Fcdr_safe, Fsetcar, Fsetcdr,
+       swap_in_symval_forwarding, set_internal, default_value,
+       Fset_default, Fmake_variable_buffer_local, Fmake_local_variable,
+       Fmake_variable_frame_local, Flocal_variable_p,
+       Flocal_variable_if_set_p, arithcompare, Fzerop, cons_to_long,
+       Fnumber_to_string, float_arith_driver, Fadd1, Fsub1): Likewise.
+       * dispnew.c (Fframe_or_buffer_changed_p): Likewise.
+       * emacs.c (main): Likewise.
+       * fontset.c (fs_load_font, fs_register_fontset,
+       CACHED_FONTSET_NAME, CACHED_FONTSET_REGEX, Fquery_fontset,
+       Fnew_fontset, Fset_fontset_font): Likewise.
+       * frame.c (do_switch_frame, next_frame, prev_frame,
+       other_visible_frames, Fdelete_frame, Fvisible_frame_list):
+       Likewise.
+       * keyboard.c (read_char, help_char_p, event_to_kboard,
+       kbd_buffer_get_event, timer_start_idle, timer_check,
+       make_lispy_event, apply_modifiers, reorder_modifiers,
+       Fevent_convert_list, lucid_event_type_list_p, menu_bar_items,
+       menu_bar_one_keymap, menu_item_eval_property_1, parse_menu_item,
+       tool_bar_items, read_char_x_menu_prompt, read_key_sequence,
+       Fcommand_execute, Fexecute_extended_command): Likewise.
+       * minibuf.c (read_minibuf, get_minibuffer, Ftry_completion,
+       Fall_completions): Likewise.
+       * window.c (Fset_window_margins): Likewise.
+
+       * callint.c (quotify_args): Don't explicitly use struct
+       Lisp_Cons, use Lisp_Object and XCAR/XCDR instead.
+
+       * s/netbsd.h (HAVE_GETLOADAVG): Define as 1.
+       (UNEXEC, START_FILES, LIB_STANDARD, LIB_GCC): Define ELF versions,
+       if __ELF__ is defined.
+
+1999-10-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fnext_window): Add a QUIT in the loop.
+
+1999-10-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * Makefile.in (bootstrap, bootstrap-emacs, bootstrap-temacs): 
+       New targets.
+
+1999-10-22  Dave Love  <fx@gnu.org>
+
+       * emacs.c (main): Enable profiling conditional on __linux also.
+
+1999-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * xrdb.c (x_load_resources): Set default resources for resource
+       classes instead of for the specific Emacs.
+
+1999-10-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/freebsd.h (HAVE_GETLOADAVG): Define as 1 because config.h
+       defines it that way.
+       
+       * xdisp.c (echo_area_display) [HAVE_X_WINDOWS]: Do nothing
+       if selected_frame is equal to Vterminal_frame.
+
+1999-10-19  Paul Eggert  <eggert@twinsun.com>
+       
+       Add support for large files, 64-bit Solaris, system locale codings.
+       
+       * Makefile.in (emacs): Set the LC_ALL environment variable to "C"
+       when dumping, so that the dumped Emacs doesn't have stray locale info.
+       (dired.o): Depend on systime.h.
+       (editfns.o): Depend on coding.h.
+
+       * alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c,
+       dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c,
+       keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c,
+       unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c,
+       w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
+       Include <config.h> before any system include files.
+
+       * alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c,
+       fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c,
+       m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c,
+       xmenu.c, xterm.c:
+       Do not include <stdlib.h>, as <config.h> does this now.
+
+       * callproc.c (Fcall_process):
+       Synchronize messages locale before invoking strerror.
+       Decode resulting string with locale-coding-system.
+
+       * coding.c (Vlocale_coding_system): New var.
+       (syms_of_coding): Adjust to above change.
+       (emacs_strerror): New function.
+
+       * coding.h (emacs_strerror, Vlocale_coding_system): New decls.
+       
+       * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING,
+       HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN,
+       HAVE_STRSIGNAL): New macros.
+       (BITS_PER_LONG): Default to 64 if _LP64 is defined.
+       <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't.
+
+       * dired.c: Include "systime.h".
+       (Ffile_attributes): Do not cast s.st_size to int; this loses
+       information if int is 32 bits but st_size and EMACS_INT are larger.
+       Treat large device numbers like large inode numbers.
+
+       * dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available.
+
+       * editfns.c: Include coding.h.
+       (emacs_strftime): Remove decl.
+       (emacs_strftimeu): New decl.
+       (emacs_memftimeu): Renamed from emacs_memftime; new arg UT.
+       Use emacs_strftimeu instead of emacs_strftime.
+       (Fformat_time_string): Convert format string using
+       Vlocale_coding_system, and convert result back.  Synchronize time
+       locale before invoking lower level function.  Invoke
+       emacs_memftimeu, passing ut, instead of emacs_memftime.
+       
+       * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined.
+       (Vmessages_locale, Vprevious_messages_locale, Vtime_locale,
+       Vprevious_time_locale): New variables.
+       (main): Invoke setlocale early, so that initial error messages are
+       localized properly.  But skip locale-setting if LC_ALL is "C".
+       Fix up locale when it's safe to do so.
+       (fixup_locale): Moved here from xterm.c.
+       (synchronize_locale, synchronize_time_locale,
+       synchronize_messages_locale): New functions.
+       (syms_of_emacs): Accommodate above changes.
+
+       * fileio.c (report_file_error): Convert strerror output according
+       to Vlocale_coding_system.
+       (Finsert_file_contents): Check for arithmetic overflow in
+       computations that depend on file size.  Report IO errors
+       with emacs_strerror, not strerror.
+
+       * fns.c (Fgethash): Declare dflt parameter.
+
+       * gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H
+       is defined; that's config.h's job.
+
+       * lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64,
+       default these values to long, BITS_PER_LONG, and unsigned long.
+       (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT.
+       (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int.
+       (code_convert_string_norecord, fixup_locale,
+       synchronize_messages_locale, synchronize_time_locale,
+       emacs_open, emacs_close, emacs_read, emacs_write): New decls.
+       All Emacs callers of open, close, read, write changed to use
+       emacs_open, emacs_close, emacs_read, emacs_write.
+
+       * lread.c (file_offset, file_tell): New macros.  All uses of ftell
+       changed to file_tell.
+       (saved_doc_string_position, prev_saved_doc_string_position): Now
+       of type file_offset.
+       (init_lread): Do not fix locale here; fixup_locale now does this.
+
+       * m/amdahl.h, s/usg5-4.h:
+       (NSIG): Remove.
+       (NSIG_MINIMUM): New macro.
+
+       * m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h,
+       m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h,
+       s/umips.h, s/usg5-4.h:
+       (SIGIO): Do not undef.
+       (BROKEN_SIGIO): New macro.
+
+       * m/ustation.h:
+       (SIGTSTP): Do not undef.
+       (BROKEN_SIGTSTP): New macro.
+
+       * s/gnu-linux.h:
+       (SIGPOLL, SIGURG): Do not undef.
+       (BROKEN_SIGPOLL, BROKEN_SIGURG): New macros.
+
+       * s/ptx4.h:
+       (SIGINFO): Do not undef.
+       (BROKEN_SIGINFO): New macros.
+       
+       * m/delta.h, s/ptx.h, s/template.h: Doc fix.
+
+       * mktime.c, strftime.c: Update to glibc 2.1.2 version, with
+       some Emacs-related changes merged.
+
+       * print.c (float_to_string): Prepend "-" to representation of a
+       NaN if the NaN is negative.
+
+       * process.c (sys_siglist): Omit if HAVE_STRSIGNAL.
+       (wait_reading_process_input): Use emacs_strerror, not strerror.
+       
+       * process.c (status_message, sigchld_handler): Synchronize locale,
+       then use strsignal istead of sys_siglist.
+       * w32proc.c (sys_wait): Likewise.
+       
+       * s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h,
+       s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h,
+       s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h,
+       s/usg5-2.h, s/usg5-3.h, s/xenix.h:
+       (open, close, read, write, INTERRUPTIBLE_OPEN,
+       INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove.
+
+       * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros.
+
+       * sysdep.c (sys_read, sys_write, read, write, sys_close, close,
+       sys_open, open): Remove.
+       (emacs_open, emacs_close, emacs_read, emacs_write): Always define;
+       the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO
+       macros are no longer used.
+       (emacs_open): Renamed from sys_open.  Merge BSD4_1 version.
+       (emacs_close): Renamed from sys_close.
+       (emacs_read): Renamed from sys_read.
+       (emacs_write): Renamed from sys_write.
+       (sys_siglist): Do not declare if HAVE_STRSIGNAL.
+       (dup2): Do not print error on failure; the real dup2 doesn't.
+       (strsignal): New function, defined if !HAVE_STRSIGNAL.
+
+       * syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO
+       is defined.
+       (SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise.
+       (NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM.
+       (strsignal): Declare if !HAVE_STRSIGNAL.
+
+       * unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros.
+       (ElfW): Define in terms of ElfExpandBitsW.
+
+       * w32proc.c (sys_siglist): Remove decl.
+
+       * xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply
+       with ANSI C.
+       (display_string): Declare face_string_pos arg.
+
+       * xfns.c (Fx_show_tip): Declare timeout param.
+
+       * xterm.c: No need to include locale.h.
+       (x_alloc_lighter_color, x_setup_relief_color):
+       Pass arg as double, not float, for compatibility with ANSI C.
+       (fixup_locale): Move to emacs.c.
+       (x_term_init): Do not setlocale or fixup locale; the main program
+       does this now.
+
 1999-10-18  Dave Love  <fx@gnu.org>
 
        * doc.c (Fdocumentation_property): Gcpro `tem'.
        * syntax.h (SYNTAX_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_NESTED):
        Add support for nested comments.
 
-       * syntax.c (lisp_parse_state, back_comment, Fmodify_syntax_entry)
-       (Fforward_comment, scan_lists, scan_sexps_forward)
-       (Fparse_partial_sexp): Add support for nested comments.
-       (forw_comment): New subroutine used in them.
+       * syntax.c (Fforward_comment, scan_lists, scan_sexps_forward):
+       Consolidate the forward comment code into the new `forw_comment'.
+       (forw_comment): New subroutine.  Added support for nested comments.
+       (lisp_parse_state, back_comment, Fmodify_syntax_entry)
+       (Fparse_partial_sexp): Add support for nested comments.
 
 1999-08-28  Ken Raeburn  <raeburn@gnu.org>
 
@@ -10274,9 +11147,15 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
 1999-03-17  Jason Rumney <jasonr@altavista.net>
 
-       * w32bdf.h: Merged patches from Meadow.
+       * w32bdf.h: Merged patches from Meadow; introduce bitmap cache to
+       speed display.
 
-       * w32bdf.c: Merged patches from Meadow.
+       * w32bdf.c: Merged patches from Meadow; introduce bitmap cache to
+       speed display.
+       (get_cached_font_char, cache_char_offset, get_bitmap_with_cache)
+       New functions.
+       (w32_free_bdf_font, seek_char, w32_get_bdf_glyph, w32_BDF_TextOut)
+       Use bitmap cache.
 
        * w32fns.c (enum_font_cb2): Set the font height to be the
        character height, not the cell height.