(Fcopy_file): If NEWNAME is a directory copy FILE there.
[bpt/emacs.git] / src / ChangeLog
index a18000a..172949e 100644 (file)
@@ -1,3 +1,326 @@
+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