*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
index c15cc1e..fd6e327 100644 (file)
@@ -1,5 +1,551 @@
+2001-10-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
+       From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
+
+       * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
+       unsigned char.
+       From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
+       
+2001-10-08  Andrew Innes  <andrewi@gnu.org>
+
+       * lisp.h [max]: Undef min and max before redefining them.
+
+       * w32gui.h: Do not undef min and max.
+
+       * w32heap.h: Do not undef min and max.
+
+       * s/ms-w32.h: Do not undef min and max.
+
+2001-10-08  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
+
+2001-10-08  Sam Steingold  <sds@gnu.org>
+
+       * keymap.c (current-active-maps): Quote newlines (compilation error).
+
+2001-10-08  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * Makefile.in (lisp, shortlisp): Replace bindings.el with
+       bindings.elc, since otherwise doc strings in bindings.el get wrong
+       offsets in etc/DOC.
+
+2001-10-08  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
+
+       * keyboard.h (map_prompt): Remove.
+
+       * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
+       * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
+
+       * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
+
+       * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
+
+       * keyboard.c (map_prompt): Remove.
+       (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
+       Use Fkeymap_prompt.
+
+       * keymap.h: New file.  Extracted from lisp.h.
+
+       * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
+       (accessible_keymaps_1): New function.
+       (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
+       (Fwhere_is_internal): Use Fcurrent_active_maps.
+       (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
+       Insert in current buffer rather than standard-output.
+       Don't call `help-mode'.  Export to elisp.
+       (describe_buffer_bindings): New wrapper.
+       (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
+       and Sdescribe_buffer_bindings.
+
+2001-10-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
+       Remove code setting signal handler.
+
+       * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
+       Clear ICRNL and INLCR.  From Daiki Ueno <ueno@unixuser.org>.
+
+2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * keyboard.c: Don't define min/max.
+
+2001-10-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
+       * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
+       * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
+       * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
+       * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
+       Don't define min/max.
+
+       * lisp.h (min, max): New macros.
+
+       * puresize.h (BASE_PURESIZE): Increase to 725000.
+
+2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * xfaces.c (free_frame_menubar): Add prototype.
+
+       * lisp.h (init_window): Add prototype.
+
+       * editfns.c: Include ctype.h.
+
+       * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
+       (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
+       (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
+       variable `sb'.
+
+       * xfns.c (Fx_hide_tip): Fix typo in a doc string.
+       (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
+       `popup_activated_flag' and `title'.
+
+       * doc.c (Fdocumentation_property): Fix typo in a doc string.
+
+       * emacs.c (main): Remove extra `;'.
+
+       * atimer.h (struct atimer): Fix typos in a comment.
+
+       * atimer.c: Fix typo.
+
+       * Makefile.in: Fix typo.
+
+       * README: Remove obsolete part mentioning removed VMS file.
+
+2001-10-07  Miles Bader  <miles@gnu.org>
+
+       * Makefile.in (lisp, shortlisp): Add `button.elc'.
+
+2001-10-07  Ken Raeburn  <raeburn@gnu.org>
+
+       * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
+       Lisp_Object.
+
+       * lisp.h (Ffield_end): Declare.
+
+2001-10-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
+
+       * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
+
+       * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
+
+       * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
+
+       * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
+       (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
+
+       * alloc.c (inhibit_garbage_collection): Simplify.
+       (Fmemory_use_counts): Ditto.
+
+       * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
+       (syms_of_data): DEFVAR_INT most-positive-fixnum and
+       most-negative-fixnum.
+
+       * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
+       (FIXNUM_OVERFLOW_P): New macros.
+
+2001-10-06  Miles Bader  <miles@gnu.org>
+
+       * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
+       scroll_bar_bottom_shadow_pixel fields.
+       * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
+       for the shadows, and tell the toolkit about them if we succeed.
+       (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
+       Free scroll-bar shadow colors.
+       * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
+       Free scroll-bar shadow colors when the background color changes.
+       (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
+       Initialize scroll-bar shadow-color fields.
+
+2001-10-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
+
+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
+       recursive_edit_unwind.
+       (recursive_edit_unwind): Set kboard state according to
+       SINGLE-KBOARD.
+
+       * buffer.c (modify_overlay): Don't do nothing if START == END;
+       This can still be a modification, for example when an overlay has
+       a before-string or after-string.
+       (Fdelete_overlay): Prevent redisplay optimizations when deleting
+       an overlay with before-string or after-string.
+
+       * s/netbsd.h (C_SWITCH_SYSTEM): Add.
+       (LD_SWITCH_SYSTEM): Include /usr/local/lib.
+
+       * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
+       first_unchanged_at_end_row is in front of
+       last_unchanged_at_beg_row.  This code should be removed after the
+       release of 21.1.
+
+2001-09-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
+       BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
+
+       * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
+       versions >= 2.95.
+
+2001-09-14  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dired.c (Ffile_attributes): Doc fix.
+
+2001-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Ffile_symlink_p): Fix last change.
+
+       * filelock.c (current_lock_owner): Fix last change.
+
+2001-09-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * filelock.c (current_lock_owner): If readlink returns ERANGE,
+       take that to mean that the buffer is too small.
+
+       * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
+       that to mean that the buffer is too small.
+
+       * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
+       current buffer's multibyteness when discarding the iterator's
+       stack.
+
+       * xfns.c (Fx_window_property): Handle case that property gets
+       deleted between the two calls to XGetWindowProperty.
+
 2001-09-11  Gerd Moellmann  <gerd@gnu.org>
 
+       * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
+       
        * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
        in addition to read-only.
 
@@ -12245,3 +12791,7 @@ See ChangeLog.8 for earlier changes.
 ;; Local Variables:
 ;; coding: iso-2022-7bit
 ;; End:
+
+    Copyright (C) 2001 Free Software Foundation, Inc.
+  Copying and distribution of this file, with or without modification,
+  are permitted provided the copyright notice and this notice are preserved.