X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/20464fdfce5d2ce0a7660c5d24a6916e650e3603..b221615bc47647612a1a0999b5c9b7cfc699fce6:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index b2c60e4fe9..dd9d9cecb2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,546 @@ +2003-07-09 Stefan Monnier + + 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 + + * 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 + + * 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 + + * xdisp.c (reseat_1): Set it->area to TEXT_AREA. + + * alloc.c (Fgarbage_collect): Doc fix. + +2003-07-07 Nozomu Ando (tiny change) + + * buffer.c (Fkill_buffer): Clear charpos cache if necessary. + +2003-07-06 Stefan Monnier + + * 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 + + * 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 + + * 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 + + * alloc.c (struct ablock): Only include padding when there is some. + +2003-07-04 Stefan Monnier + + * 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 + + * 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 + + * 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 + + * 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,Ad(Brv + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * xdisp.c (x_fix_overlapping_area): Always use area relative X + to fix redisplay problem with tall characters (such as ,AC(B). + +2003-06-13 Kai Gro,A_(Bjohann + + * fileio.c (Fcopy_file): Doc fix: copies file modes, too. + +2003-06-12 Kenichi Handa + + * fileio.c (Fwrite_region): Save and restore restriction. + +2003-06-12 Dave Love + + * 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 + + * search.c (shrink_regexp_cache): Use xrealloc. + (syms_of_search): Use xmalloc. + +2003-06-10 Kim F. Storm + + * 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 + + * coding.c (encoding_buffer_size): If coding->type is + coding_type_ccl, double magnification on CRLF encoding. + +2003-06-06 Jason Rumney + + * 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 + + * 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 + + * 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 + + * w32fns.c (add_system_logical_colors_to_map): New function. + (Fx_open_connection): Use it. + +2003-06-04 Stefan Monnier + + * process.c (allocate_pty): Revert part of the previous patch. + (Faccept_process_output): Simplify. + +2003-06-04 Jason Rumney + + * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT. + + * keyboard.c (Qmouse_wheel, mouse_wheel_syms) + (lispy_mouse_wheel_names): Remove. + (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms. + Always define drag_and_drop_syms. + + * macterm.c (XTread_socket): Map mouse wheel events to Emacs + WHEEL_EVENT events. + +2003-06-03 Stefan Monnier + + * xdisp.c (update_tool_bar): Add missing UNGCPRO. + + * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local. + +2003-06-03 Jan Dj,Ad(Brv + + * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL + menu item label. + +2003-06-03 Richard M. Stallman + + * window.c (Fwindow_edges): Doc fix. + (Fwindow_pixel_edges, Fwindow_inside_edges) + (Fwindow_inside_pixel_edges): New functions. + (syms_of_window): defsubr them. + + * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS) + (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros. + +2003-06-02 Stefan Monnier + + * dispnew.c (Fsit_for): Don't lie about the number of args. + +2003-06-02 Dave Love + + * callproc.c: Use HAVE_FCNTL_H, not USG5. + (syms_of_callproc) : Doc fix. + + * doc.c: Use HAVE_FCNTL_H, not USG5. + + * xfaces.c (font_rescale_ratio): Fix for K&R. + + * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION. + + * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H. + + * lread.c [HAVE_FCNTL_H]: Include fcntl.h. + + * gtkutil.c: Include keyboard.h, charset.h, coding.h. + (xg_create_frame_widgets): Use ENCODE_UTF_8. + + * xterm.c (Qutf_8): Moved to coding.c + + * xmenu.c (ENCODE_MENU_STRING): New. + (list_of_panes, list_of_items, digest_single_submenu, xmenu_show): + Use it. + + * coding.h (ENCODE_UTF_8): New. + (Qutf_8): Declare. + + * coding.c (Qutf_8): New. + (syms_of_coding): Intern it. + + * fns.c: Doc fixes. + +2003-06-02 Kenichi Handa + + * buffer.c (Fset_buffer_multibyte): Fix previous change. + +2003-06-01 Stefan Monnier + + * lread.c (openp): Make sure STR is a string. + +2003-06-01 David Ponce + + * termhooks.h (enum event_kind): Added new WHEEL_EVENT event. + Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined. + + * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined. + (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise. + (discard_mouse_events): Discard WHEEL_EVENT events too. + (lispy_wheel_names, wheel_syms): New. + (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and + staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX + defined. + (make_lispy_event): Add WHEEL_EVENT handler. + + * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT. + (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs + WHEEL_EVENT events. + +2003-05-31 John Paul Wallington + + * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and + timer are in lisp/emacs-lisp. + +2003-05-31 Kenichi Handa + + * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed + region when a buffer is changed to unibyte. + + * charset.h (VALID_LEADING_CODE_P): New macro. + (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly. + + * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags + is nonzero, accept multibyte form of eight-bit-control chars. + (decode_composition_emacs_mule): Likewise. + (decode_coding_emacs_mule): Likewise. + (encode_coding_emacs_mule): If coding->flags is nonzero, produce + multibyte form of eight-bit-control chars. + + * fileio.c (Qauto_save_coding, auto_save_coding): New variables. + (Finsert_file_contents): If coding-system-for-read is bound to + Qauto_save_coding, use the coding system emacs-mule with special + setting for recovering a file. + (choose_write_coding_system): On auto saving, use the coding + system emacs-mule with special setting for auto saving. + (syms_of_fileio) : Intern and staticpro it. + +2003-05-30 Kenichi Handa + + * coding.c (ccl_coding_driver): Set ccl->eight_bit_control + properly before calling ccl_driver. + + * ccl.h (struct ccl_program) : Comment fixed. + + * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is + nonzero. + (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 + + * xfaces.c (realize_default_face): Do not abort if lface is + non-existent - reverts change from 2003-05-19. + +2003-05-29 Kenichi Handa + + * coding.c (decode_coding_iso2022): Pay attention to the byte + sequence of CTEXT extended segment, and retain those bytes as is. + +2003-05-28 Kenichi Handa + + * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change + of CODING_REPLACEMENT_CHARACTER. + (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set + CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and + check this flag on encoding. + (encode_coding_sjis_big5): Check + CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode. + (Fset_terminal_coding_system_internal): Set + CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode + instead of setting CODING_FLAG_ISO_SAFE flag in + terminal_coding.flags. + + * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from + CODING_INHIBIT_CHARACTER_SUBSTITUTION. + (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro. + +2003-05-28 Richard M. Stallman + + * print.c (syms_of_print) : Doc fix. + + * eval.c (unbind_to): Move init of this_binding to separate statement. + +2003-05-28 Kim F. Storm + + * xdisp.c (expose_window): Fix error in calculation of + window relative coordinates of area to redisplay. + +2003-05-27 Jason Rumney + + * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro. + +2003-05-27 David Ponce + + Handle W32 mouse wheel events as mouse click events, like in X. + + * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle + MOUSE_WHEEL_EVENT anymore. + + * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT. + Scrolling down/up the mouse wheel is respectively mapped to mouse + button 4 and 5. + (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs + MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as + WM_MOUSEWHEEL events. + 2003-05-27 Andreas Schwab * buffer.c (syms_of_buffer) : Doc fix.