]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
(set-display-table-and-terminal-coding-system):
[gnu-emacs] / src / ChangeLog
index 471a31495a29fc1b632f313ef07b43d34c284f9e..dd9d9cecb264434258372a5a6704dc7ea065bb89 100644 (file)
@@ -1,8 +1,354 @@
+2003-07-09  Stefan Monnier  <monnier@cs.yale.edu>
+
+       Change overlays_after and overlays_before so the overlays themselves
+       are linked into lists, rather than using cons cells.  After all each
+       Lisp_Misc already occupies 5 words, so we can add a `next' field to
+       Lisp_Overlay for free and save up one cons cell per overlay (not
+       to mention one indirection when traversing the list of overlay).
+
+       * lisp.h (struct Lisp_Overlay): New field `next'.
+
+       * buffer.h (struct buffer): Change overlays_before and overlays_after
+       from Lisp lists of overlays to pointers to overlays.
+
+       * buffer.c (overlay_strings, recenter_overlay_lists):
+       Fix typo in eassert in last commit.
+       (unchain_overlay): New function.
+       (add_overlay_mod_hooklist): Use AREF.
+       (copy_overlays, reset_buffer, overlays_at, overlays_in)
+       (overlay_touches_p, overlay_strings, recenter_overlay_lists)
+       (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
+       (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
+       (report_overlay_modification, evaporate_overlays, init_buffer_once):
+       Adjust to new type of overlays_(before|after).
+
+       * alloc.c (mark_object): Mark the new `next' field of overlays.
+       (mark_buffer): Manually mark the overlays_(after|before) fields.
+
+       * coding.c (run_pre_post_conversion_on_str):
+       * editfns.c (overlays_around):
+       * xdisp.c (load_overlay_strings):
+       * fileio.c (Finsert_file_contents):
+       * indent.c (current_column):
+       * insdel.c (signal_before_change, signal_after_change):
+       * intervals.c (set_point_both):
+       * print.c (temp_output_buffer_setup): Use new type for
+       overlays_(before|after).
+
+2003-07-08  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * buffer.c (report_overlay_modification): Don't run hooks while
+       traversing the list of overlays.
+
+       * buffer.h (struct buffer): Use an int for overlay_center.
+       (overlays_at, evaporate_overlays, recenter_overlay_lists)
+       (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+       * buffer.c (reset_buffer, recenter_overlay_lists)
+       (adjust_overlays_for_insert, adjust_overlays_for_delete)
+       (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
+       (evaporate_overlays, init_buffer_once): Update use of overlay_center.
+       (overlays_at, evaporate_overlays, recenter_overlay_lists)
+       (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+       * xdisp.c (fast_find_position): Remove unused var.
+
+       * cmds.c (Qexpand_abbrev): New sym.
+       (syms_of_cmds): Initialize it.
+       (internal_self_insert): Use it to call expand-abbrev.
+
+2003-07-09  Kim F. Storm  <storm@cua.dk>
+
+       * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
+       was configured with --without-xim.
+       (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
+
+2003-07-07  Richard M. Stallman  <rms@gnu.org>
+
+       * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
+
+       * alloc.c (Fgarbage_collect): Doc fix.
+
+2003-07-07  Nozomu Ando  <nand@mac.com>  (tiny change)
+
+       * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
+
+2003-07-06  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * minibuf.c (read_minibuf): UNGCPRO before returning.
+       (Ftry_completion, Fall_completions): Doc fix.
+
+       * alloc.c (live_float_p): Check that p is not past the `floats' array,
+       now that `floats' is not the last element of the struct any more.
+
+2003-07-06  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (ClipboardSequence_Proc): New type.
+
+       * w32fns.c (clipboard_sequence_fn): New variable.
+       (globals_of_w32fns): Initialize it.
+
+       * w32select.c (last_clipboard_sequence_number): New variable.
+       (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
+       number if possible.
+
+2003-07-06  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * m/amdx86-64.h (MARKBIT):
+       * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
+       MARKBIT and ARRAY_MARK_FLAG any more.
+
+       * m/hp800.h (XSETMARKBIT):
+       * m/sr2k.h (XSETMARKBIT):
+       * lisp.h (XSETMARKBIT): Remove unused macro.
+
+       * lisp.h (mark_object): Change prototype.
+
+       * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
+       (last_marked): Change accordingly.
+       (mark_interval, mark_maybe_object, mark_maybe_pointer)
+       (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
+       (mark_buffer): Update calls to mark_object.
+
+       * bytecode.c (mark_byte_stack):
+       * fns.c (sweep_weak_table):
+       * keyboard.c (mark_kboards): Update calls to mark_object.
+
+2003-07-06  Jason Rumney  <jasonr@gnu.org>
+
+       * alloc.c (struct ablock): Only include padding when there is some.
+
+2003-07-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * alloc.c (ALIGN): Add casts to simplify usage.
+       (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
+       (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
+       (struct ablock, struct ablocks): New types.
+       (free_ablock): New global var.
+       (lisp_align_malloc, lisp_align_free): New functions.
+       (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
+       (struct float_block): Reorder and add gcmarkbits.
+       (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
+       (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
+       (init_float, make_float): Use lisp_align_malloc.
+       (free_float, live_float_p): Don't use `type' any more.
+       (make_float): Use FLOAT_UNMARK to access to mark bit.
+       (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
+       Use FLOAT_MARKED_P to access the mark bit.
+       (pure_alloc): Simplify use of ALIGN.
+       (mark_object): Use FLOAT_MARK to access the mark bit.
+       (gc_sweep): Use new macros to access the float's mark bit.
+       (init_alloc_once): Init free_ablock.
+
+       * lisp.h (struct Lisp_Float): Remove unused field `type'.
+
+2003-06-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
+       (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
+       (allocate_buffer): Move.
+       (string_bytes): Don't mask markbit of `size_byte'.
+       (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+       (mark_object, mark_buffer, survives_gc_p, gc_sweep):
+       Use the `size' field of buffers (rather than the `name' field) for
+       the mark bit, as is done for all other vectorlike objects.
+       Use the new macros to access the mark bit of vectorlike objects.
+
+2003-06-26  Richard M. Stallman  <rms@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increment base size.
+
+       * xdisp.c (fast_find_position): Enable Gerd's new definition.
+
+       * xterm.c (xim_initialize): Undo previous change.
+
+2003-06-26  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * alloc.c (survives_gc_p): Simplify.
+
+       * buffer.c (set_buffer_internal_1): Test CONSP for lists.
+
+       * window.c (Fset_window_dedicated_p): Simplify.
+       (display_buffer_1): Don't raise the win from which minibuf was entered.
+       (temp_output_buffer_show): Don't assume BEG == 1.  Simplify.
+       (Fminibuffer_selected_window): Simplify.
+
+       * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
+
+       * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
+       (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
+
+       * insdel.c (check_markers, adjust_markers_for_delete)
+       (adjust_markers_for_insert, adjust_markers_for_replace)
+       (prepare_to_modify_buffer, RESTORE_VALUE):
+       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
+       (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
+       (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
+       * alloc.c (Fmake_marker, free_marker, gc_sweep):
+       * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
+       * editfns.c (save_excursion_restore, transpose_markers):
+       * window.c (delete_window):
+       * xdisp.c (message_dolog): Update for new types.
+
+2003-06-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
+       (realize_default_face): Use default_face_done_p for the force_p
+       argument to set_lface_from_font_name.  Set default_face_done_p to one.
+
+       * frame.c (make_frame): Initialize default_face_done_p.
+
+       * frame.h (struct frame): Add default_face_done_p.
+
+       * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
+       will be defined.
+
+2003-06-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * alloc.c (make_interval, Fmake_symbol, allocate_misc):
+       Initialize the new field `gcmarkbit'.
+       (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
+       (mark_interval_tree): Don't mark the tree separately from the nodes.
+       (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
+       (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+       (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
+
+       * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
+       (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
+       (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
+       (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
+       (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
+
+2003-06-24  Dave Love  <fx@gnu.org>
+
+       * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
+
+       * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux.  Merge changes
+       from gnulib.
+
+2003-06-21  Richard M. Stallman  <rms@gnu.org>
+
+       * fileio.c (Fwrite_region): Alternate messages
+       for append and partial write.
+
+       * keyboard.c (read_key_sequence): When converting upcase fn key to
+       downcase, update fkey and keytran so `backspace' gets translated.
+
+       * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
+
+       * process.c (wait_reading_process_input): Don't signal SIGIO
+       in batch mode.
+
+2003-06-17  Kenichi Handa  <handa@m17n.org>
+
+       * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
+       composite.h.
+
+       * xselect.c: Don't include charset.h, coding.h, composite.h.
+       (Qforeign_selection): New variable.
+       (syms_of_xselect): Intern and static it.
+       (selection_data_to_lisp_data): Return a unibyte string made from
+       data with `foreign-selection' text property.
+
+2003-06-15  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * termhooks.h (EVENT_INIT): New macro.
+
+       * keyboard.c (mark_kboards): Move from alloc.c.  Mark kbd_buffer.
+
+       * alloc.c (mark_kboards): Move to keyboard.c.
+
+       * keyboard.c (record_asynch_buffer_change, read_avail_input):
+       * xterm.c (x_dispatch_event):
+       * xmenu.c (find_and_call_menu_selection):
+       * xdisp.c (handle_tool_bar_click):
+       * w32menu.c (menubar_selection_callback):
+       * sysdep.c (kbd_input_ast, read_input_waiting):
+       * msdos.c (dos_rawgetc):
+       * macterm.c (mac_check_for_quit_char):
+       * macmenu.c (menubar_selection_callback):
+       * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
+       data to kbd_buffer_store_event.
+
+2003-06-15  Kim F. Storm  <storm@cua.dk>
+
+       * xdisp.c (x_fix_overlapping_area): Always use area relative X
+       to fix redisplay problem with tall characters (such as \e,AC\e(B).
+
+2003-06-13  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
+
+       * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
+
+2003-06-12  Kenichi Handa  <handa@m17n.org>
+
+       * fileio.c (Fwrite_region): Save and restore restriction.
+
+2003-06-12  Dave Love  <fx@gnu.org>
+
+       * alloca.c (alloca): Declare arg as size_t.
+
+       * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
+       Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
+
+2003-06-11  Dave Love  <fx@gnu.org>
+
+       * search.c (shrink_regexp_cache): Use xrealloc.
+       (syms_of_search): Use xmalloc.
+
+2003-06-10  Kim F. Storm  <storm@cua.dk>
+
+       * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
+       Adjust phys_cursor.x to be relative to window box, rather than
+       text area before checking -- to ensure cursor is redrawn when
+       exposing window.
+       Note: This also fixes a similar (older) bug if display margins
+       are present.
+
+2003-06-06  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (encoding_buffer_size): If coding->type is
+       coding_type_ccl, double magnification on CRLF encoding.
+
+2003-06-06  Jason Rumney  <jasonr@gnu.org>
+
+       * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
+       (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
+
+       * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
+       Mac too.
+
+2003-06-05  Dave Love  <fx@gnu.org>
+
+       * strftime.c: Merge changes from gnulib.
+
+       * mktime.c (__mktime_internal): Merge changes from gnulib
+       involving year 69 and dst2.
+
+       Changes to merge with gnulib version and be consistent with the
+       autoconf test:
+
+       * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
+       Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
+       [HAVE_LOCALE_H]: Include locale.h.
+       (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
+
+2003-06-05  Kim F. Storm  <storm@cua.dk>
+
+       * window.c (coordinates_in_window): Convert X and Y to window
+       relative coordinates inside mode-line and header-line parts.
+       Convert X and Y to margin area relative coordinates inside left
+       and right display margin parts.
+
 2003-06-05  Jason Rumney  <jasonr@gnu.org>
 
        * w32fns.c (add_system_logical_colors_to_map): New function.
        (Fx_open_connection): Use it.
 
+2003-06-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * process.c (allocate_pty): Revert part of the previous patch.
+       (Faccept_process_output): Simplify.
+
 2003-06-04  Jason Rumney  <jasonr@gnu.org>
 
        * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
 
 2003-06-03  Stefan Monnier  <monnier@cs.yale.edu>
 
+       * xdisp.c (update_tool_bar): Add missing UNGCPRO.
+
        * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
 
 2003-06-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
        (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
        (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
 
+2003-05-29  Glenn Morris  <gmorris@ast.cam.ac.uk>
+
+       * xfaces.c (realize_default_face): Do not abort if lface is
+       non-existent - reverts change from 2003-05-19.
+
 2003-05-29  Kenichi Handa  <handa@m17n.org>
 
        * coding.c (decode_coding_iso2022): Pay attention to the byte