+2001-10-05 Miles Bader <miles@gnu.org>
+
+ * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
+ (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
+ New functions (were in simple.el).
+ (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
+ (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
+ (syms_of_minibuf): Initialize them.
+
+2001-10-05 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
+ (tiff_load): Install them as error and warning handler.
+
+2001-10-04 Andrew Innes <andrewi@gnu.org>
+
+ * w32fns.c (x_to_w32_color): Fix argument to alloca.
+ (w32_load_system_font): Don't believe what GetLanguageFontInfo
+ says; query codepage info directly to determine if font is double
+ byte.
+ (x_to_w32_charset): Handle private format for unknown charsets.
+ Handle wildcards in charset spec, by ignoring them.
+ (w32_codepage_for_font): Fix argument to alloca. Don't remove
+ "*-" prefix from charset.
+ (x_to_w32_font): Enlarge remainder array for safety. Specifically
+ handle the truncated font spec form constructed by font_list_1, so
+ that we correctly identify the charset fields. Don't remove "*-"
+ prefix from charset.
+ (w32_list_synthesized_fonts): Fix argument to alloca.
+
+2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
+
+ * window.h (MINI_WINDOW_P): Use NILP.
+
+ * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
+
+ * termhooks.h (struct input_event): Use proper type for `kind'.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ This handles unknown keysyms better than before. For example,
+ after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
+ Emacs formerly completely ignored F5. With the change, it derives
+ a key symbol from the name of the X keysym, `ccaron' in this case.
+ Reported by Martin Buchholz.
+
+ * xterm.c (XTread_socket): Return a non_ascii_keystroke for
+ unknown keysyms.
+
+ * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
+ that EVENT->code isn't a function key, use the keysym's name.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ FOREACH is a macro that should make it easier to loop over Lisp
+ lists with checks for cycles and proper lists.
+
+ * lisp.h (LIST_END_P, FOREACH): New macros.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ On some systems, XtCloseDisplay seems to cause a SIGSEGV when
+ called for a lost connection. Prevent dumping core in this case.
+ Instead print the X error, and exit. On user request.
+
+ * xterm.c (error_msg): New variable.
+ (x_fatal_error_signal): New function.
+ (x_connection_closed): Set error_msg. Install x_fatal_error_signal
+ as fatal_error_signal_hook around the call to XtCloseDisplay.
+
+ * emacs.c (fatal_error_signal_hook): New variable.
+ (fatal_error_signal): Call that function.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ With this, Emacs prints how much pure storage it will
+ approximately need in case pure storage overflows while dumping.
+
+ * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
+ New variables.
+ (init_alloc_once): Initialize new variables.
+ (PURE_POINTER_P): Use new variables.
+ (pure_alloc): If pure storage overflows, allocate from the heap.
+ (check_pure_size): New function.
+ (Fgarbage_collect): Don't GC if pure storage has overflowed.
+
+ * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
+ (check_pure_size): Add prototype.
+
+ * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ This adds a post-gc-hook that's run with GC inhibited.
+ Requested by Francois Pinard. XEmacs has it. Added to NEWS.
+
+ * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
+ (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
+ (Fgarbage_collect): Run post-gc-hook.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ This adds `defvaralias' and `indirect-variable'. Changes not
+ directly related to this feature are there to gain the same
+ performance again as before variable aliases.
+
+ You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
+ code to get and set symbol values, to take defvaralias into account.
+
+ (Note: the new `constant' bit-flag in symbols would make it
+ possible to define arbitrary read-only variables, e.g. with
+ `defconst'.)
+
+ Documentation is in lispref/variables.texi. Added to NEWS.
+
+ * lisp.h (enum symbol_interned): New enumeration.
+ (struct Lisp_Symbol): Remove member `obarray', add
+ `indirect_variable', `constant', and `interned'.
+ (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
+ (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
+ (indirect_variable): Add prototype.
+
+ * print.c (print_preprocess, print_object): Test internedness of
+ symbols differently.
+
+ * lread.c (Fintern, Funintern): Set symbol's interned and constant
+ bit-fields.
+ (init_obarray): Likewise for t and nil.
+
+ * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
+ (Fdefvaralias): New function.
+ (specbind): Simplify the test if symbol is a constant.
+ (syms_of_eval): Defsubr Fdefvaralias.
+
+ * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
+ (Qcyclic_variable_indirection): New variable.
+ (Fkeywordp): Check for internedness differently.
+ (Fmakunbound): Simplify the test if symbol is a constant.
+ (indirect_variable, Findirect_variable): New functions.
+ (swap_in_symval_forwarding): If SYMBOL is an alias, use the
+ aliased symbol.
+ (let_shadows_buffer_binding_p): Check for variable aliases.
+ (set_internal): Simplify the test if SYMBOL is a constant.
+ If SYMBOL has a buffer-local value and is an alias, use the aliased
+ symbol instead.
+ (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
+ Sindirect_variable.
+
+ * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
+ (Fbyte_code) <varset>: Simplify the test if symbol's value can be
+ set directly.
+
+ * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
+
+ * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
+ * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
+ SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
+
+2001-10-03 Miles Bader <miles@gnu.org>
+
+ * callproc.c (syms_of_callproc): Explicitly state in the
+ documentation for `process-environment' that earlier entries take
+ precedence over later ones.
+
+2001-10-02 Miles Bader <miles@gnu.org>
+
+ * textprop.c (Fnext_char_property_change)
+ (Fprevious_char_property_change): Remove reference to non-existant
+ argument OBJECT from doc-string.
+
+2001-10-01 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
+ (try_window_id): Skip back over lines ending in a newline from a
+ string.
+
+ * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
+ New bit flag
+
+2001-10-01 Richard M. Stallman <rms@gnu.org>
+
+ * search.c (Freplace_match): Doc fix.
+
+2001-09-28 Andrew Innes <andrewi@gnu.org>
+
+ * w32menu.c (set_frame_menubar): Take into account that
+ f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
+ <raeburn@gnu.org>.
+
+2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
+
+2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * s/gnu-linux.h: Fix a typo in comment.
+
+2001-09-28 Andreas Schwab <schwab@suse.de>
+
+ * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
+ nocombreloc, in case -z combreloc is the default.
+
+2001-09-28 Gerd Moellmann <gerd@gnu.org>
+
+ * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
+ really going on here.
+
+2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
+
+ * search.c (trivial_regexp_p): Catch \{N,M\} as well.
+
+2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
+ utf-8, menu-bar, and latin-N.
+ (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
+ unconditionally now.
+ (lisp): Add latin-N, since they are preloaded.
+
+2001-09-27 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
+ to the left. Some cleanup.
+
+ * xdisp.c (display_mode_element): One more case where a string's
+ multibyteness should be used for display.
+
+2001-09-26 Gerd Moellmann <gerd@gnu.org>
+
+ * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
+ reading at EOF.
+
+ * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
+ of the only temporarily set echoing flag for deciding when
+ the cancel echoing.
+
+ * keyboard.c (echo_kboard): Make externally visible.
+
+ * lisp.h (echo_kboard): Declare extern.
+
+ * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
+ fonts_changed_p if we need larger matrices due to vscrolling.
+ (try_scrolling, try_cursor_movement, redisplay_window): Give up on
+ this round of redisplay if make_cursor_line_fully_visible fails.
+ (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
+ (try_cursor_movement, try_scrolling): Use them instead of integers.
+
+ * dispextern.h (required_matrix_width, required_matrix_height):
+ Add prototypes.
+
+ * dispnew.c (required_matrix_width, required_matrix_height):
+ New functions.
+ (allocate_matrices_for_window_redisplay)
+ (allocate_matrices_for_frame_redisplay: Use them.
+ Remove parameters CH_DIM.
+
+ * xdisp.c (display_mode_lines): Temporarily set selected_frame
+ and selected_window to the frame of the window whose mode-lines
+ are displayed, and to the window itself.
+ (redisplay_window, redisplay_mode_lines): Don't set selected_frame
+ here.
+
+2001-09-25 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (x_kill_gs_process): Recognize if someone has cleared
+ the image cache under us.
+
+ * xdisp.c (display_mode_element): If the mode element is a symbol
+ with a string value, use that string's multibyteness for displaying.
+
+ * keyboard.c (read_char): Don't clear a message for a switch-frame
+ event. From Stefan Monnier <monnier@cs.yale.edu>.
+
+ * xterm.c (fast_find_position) [0]: Add a presumably more correct
+ version for after 21.1.
+
+ * xdisp.c (row_containing_pos): Make externally visible.
+
+ * dispextern.h (row_containing_pos): Add prototype.
+
+ * process.c (send_process): Disable composition if from_byte < 0.
+ From Kenichi Handa <handa@etl.go.jp>.
+
+2001-09-24 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (refreshicon): Function removed.
+
+ * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
+
+ * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
+
+ * xterm.c (toplevel): Remove includes in #if 0.
+
+ * process.c (sigchld_handler) [LINUX]: Don't return from
+ the signal handler at the end of the loop.
+
+2001-09-21 Gerd Moellmann <gerd@gnu.org>
+
+ * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
+ Terminate only if kill returns -1, and errno is ESRCH.
+
+2001-09-21 Markus Rost <rost@math.ohio-state.edu>
+
+ * Makefile.in (shortlisp): Add ../lisp/env.elc.
+
+2001-09-20 Gerd Moellmann <gerd@gnu.org>
+
+ * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
+ since this function can be called during GC.
+
+ * callproc.c (Fcall_process): Handle errors from pipe(2).
+ (child_setup): Delete code in #ifdef vipc.
+
+2001-09-19 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
+ (display_mode_element): Display the string from decode_mode_spec
+ depending on its multibyteness.
+
+ * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
+
+ * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
+
2001-09-18 Gerd Moellmann <gerd@gnu.org>
* keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to