XEmacs 21.2.30 "Hygeia".
[chise/xemacs-chise.git.1] / src / ChangeLog
index b484860..485d8f7 100644 (file)
@@ -1,3 +1,254 @@
+2000-02-21  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.30 is released.
+
+2000-02-20  Martin Buchholz  <martin@xemacs.org>
+
+       Performance hacking.
+       * *.c (syms_of_*):
+       Add INIT_LRECORD_IMPLEMENTATION macros, paired with
+       DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
+       * emacs.c (main_1):
+       * lisp.h (DEFUN):
+       * console.c (DEFVAR_CONSOLE_LOCAL_1):
+       * buffer.c (DEFVAR_BUFFER_LOCAL_1):
+       * symeval.h (DEFVAR_SYMVAL_FWD):
+       * symbols.c (guts_of_unbound_marker):
+       Make all c_readonly objects also lisp_readonly and marked for life.
+       * lrecord.h (struct lrecord_implementation):
+       Document flags better.
+       * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
+       * lrecord.h (DECLARE_LRECORD):
+       * lrecord.h (XSETRECORD):
+       * lrecord.h (RECORDP):
+       * lrecord.h (RECORD_TYPEP):
+       * lrecord.h (RECORD_MARKER): New.
+       * lrecord.h (error_check_*):
+       * lrecord.h (CONCHECK_NONRECORD):
+       * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
+       * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
+       * lrecord.h (set_lheader_implementation):
+       * lrecord.h (enum lrecord_type): New.
+       * symeval.h (SYMBOL_VALUE_MAGIC_P):
+       * alloc.c (disksave_object_finalization_1):
+       * alloc.c (mark_object):
+       * alloc.c (lrecord_type_index):
+       * alloc.c (tick_lcrecord_stats):
+       * alloc.c (Fgarbage_collect):
+       * alloc.c (init_alloc_once_early):
+       * alloc.c (pdump_load):
+       * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
+       * alloc.c (lrecord_type_index): Delete.
+       Make lisp object type indexes be constant.  
+         Makes (byte-compile) 5% faster.
+       Put all marker functions into their own array.  
+         Makes (garbage-collect) 5% faster.
+       Optimize SYMBOL_VALUE_MAGIC_P.
+         Makes (byte-compile) 2-3% faster.
+       * config.h.in (gc_checking_assert): New.
+       * alloc.c: Use gc_checking_assert().
+       * .dbxrc: Make compatible with new object type implementation.
+       * .gdbinit: Make compatible with new object type implementation.
+       * alloc.c: Delete all symbols defined only for debugging, such as
+       Lisp_Type_Vector and lrecord_charset.
+
+2000-02-21  Andy Piper  <andy@xemacs.org>
+
+       * gui-msw.c (Fmswindows_shell_execute): fix file location
+       problems.
+
+       * buffer.c (Fkill_buffer): remove buffer from alist buffer
+       unshowing so that set_window_buffer doesn't undo
+       kill_buffer_hook's hard work.
+
+       * glyphs-widget.c (tab_control_query_geometry): don't count the
+       first item when calculating geometry.
+
+       * glyphs.c (map_subwindow): remove redundant code.
+       (update_frame_subwindows): be more circumspect about when to
+       update subwindows.
+
+       * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
+       when items haven't changed. Update faces if faces have changed as
+       well as just the widget face.
+       (x_tab_control_update): Update faces if faces have changed as well
+       as just the widget face.
+
+2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * device-msw.c: (mswindows_delete_device): Remove redundant DDE
+       registration.
+       (build_syscolor_string): Use mswindows_color_to_string to try to
+       get a named color.
+       (mswindows_device_system_metrics): Reverse the foreground and
+       background colors so that they match the documentation.
+
+       * objects-msw.c: (mswindows_X_color_map): tweak some values so
+       they match the default Windows palette.
+       (mswindows_color_to_string): New function.
+       
+2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
+
+2000-02-18  Olivier Galibert  <galibert@pobox.com>
+
+       * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
+       WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
+       
+       * symbols.c (init_symbols_once_early): Removed obsolete
+       DATA_SEG_BITS related kludge.
+       (defvar_magic): Ditto.
+
+       * malloc.c: Removed obsolete DATA_SEG_BITS
+       * ralloc.c: Ditto.
+       * mem-limits.h: Ditto.
+
+       * Makefile.in.in: Removed obsolete HAVE_SHM
+       * emacs.c: Ditto.
+
+2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       *  device-msw.c (mswindows_delete_device): Free DDE string
+       handles.
+
+2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * keymap.c (get_keyelt): 
+       * unexnt.c (unexec):
+       * vm-limit.c (memory_warnings):
+       * ntheap.c (recreate_heap):
+       * ntheap.h (UNINIT_PTR):
+       * select-msw.c (Fmswindows_get_clipboard): 
+       (Fmswindows_set_clipboard):
+       * objects-msw.h (MSWINDOWS_BAD_HFONT):
+       * objects-msw.c:
+       * menubar-msw.c (displayable_menu_item):
+       * glyphs-msw.c:
+       * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
+       * sysdep.c (sys_subshell):
+       * process-nt.c (nt_create_process):
+       * nt.c (normalize_filename):
+       (dostounix_filename): 
+       (unixtodos_filename):
+       * ntproc.c (win32_executable_type):
+       * ntplay.c (play_sound_data_1):
+       (play_sound_file): 
+       * editfns.c (get_home_directory): 
+       * event-msw.c (struct winsock_stream): 
+       (mswindows_dde_callback): 
+       * device-msw.c (msprinter_init_device): 
+       (msprinter_get_devmode_copy): Frobbed syntax frivolities.
+
+       * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
+       mswindows_clear_toolbar were swapped!
+
+       * objects-msw.c:(colormap_t):
+       (fontmap_t):
+       * emacs.c (struct standard_args): Fixed const jumble.
+
+       * glyphs-widget.c (update_widget): Fixed comparison notation.
+
+       * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
+       
+       * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
+       __declspec(noreturn) syntax.
+
+2000-02-19  Martin Buchholz  <martin@xemacs.org>
+
+       * eldap.c (Fldap_open): 
+       (Fldap_search_basic): 
+       (Fldap_add): 
+       (Fldap_modify): 
+       Use new coding system conversion macros.
+
+2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
+
+1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+       * eldap.h (Fldap_search) Renamed from Fldap_search_internal: 
+       (Fldap_add, Fldap_modify, Fldap_delete): New functions
+
+       * eldap.c (Qadd, Qreplace): New constant symbols
+       (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
+       interruptions by XEmacs signals
+       Remove unnecessary calls to slow_down_interrupts and
+       speed_up_interrupts
+       (Fldap_search_basic): Renamed from Fldap_search_internal
+       Added new optional parameter VERBOSE that triggers the 
+       display of progress messages
+       Remove unnecessary calls to slow_down_interrupts and
+       speed_up_interrupts
+       LDAP result code analysis rewritten
+       (Fldap_add, Fldap_modify, Fldap_delete): New functions
+       (syms_of_eldap): Define the new symbols and functions
+
+
+2000-02-17  Martin Buchholz  <martin@xemacs.org>
+
+       * realpath.c: Determine PATH_MAX maximally portably.
+
+       * insdel.c (bytecount_to_charcount): Optimize.
+       The function used to be optimized for entirely ASCII sequences.
+       Now it is optimized for successive characters from the same
+       charset.  This also wins big for _mostly_ ASCII sequences.
+
+       * fileio.c (Ffile_truename): convert return from realpath() using
+       Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
+       - Rewrite GCPROing slightly.
+
+       * sysdep.c (sys_open): Do filename conversion, like all other
+       sys_* functions.  Fixes bug:
+       (let ((file-name-coding-system 'iso-8859-2))
+          (write-region x y latin2-name))
+       ==> writes filename using internal encoding.
+
+2000-02-18  Martin Buchholz  <martin@xemacs.org>
+
+       * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
+       * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
+       * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
+       * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
+       * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
+       * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
+       * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
+       (CONST_IF_NOT_DEBUG): Delete.
+       * alloc.c (this_one_is_unmarkable): Delete.
+       (mark_object): Don't check for this_one_is_unmarkable. Use the
+       c_readonly flag instead.
+       * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
+
+2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * event-msw.c (mswindows_drain_windows_queue):
+       (emacs_mswindows_handle_magic_event): Remove attempt to optimise
+       away redundant repaint events.
+
+2000-02-17  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.h: declare mark_redisplay_structs.
+
+       * redisplay.c (redisplay_window):
+       (redisplay_frame): don't check subwindows_state_changed.
+       (mark_redisplay): mark gutters here.
+
+       * glyphs.c: (instantiate_image_instantiator): always layout if we
+       haven't done so already.
+       (allocate_image_instance): don't mark as dirty.
+       (update_subwindow): bind inhibit_quit.
+
+       * gutter.c (mark_gutters): new function.
+
+       * glyphs-x.c (x_update_widget): Always resize to get round a
+       widget bug.
+
+       * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
+       breaking absolutely everything.
+
+       * gutter.h: declare mark_gutters.
+
 2000-02-16  Martin Buchholz <martin@xemacs.org>
 
        * XEmacs 21.2.29 is released.
        * general.c (syms_of_general): Initialized it.
 
        * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
-       (get_frame_dc): 
+       (get_frame_dc):
        (get_frame_compdc): Made inline.
 
        * console.h (struct console_methods): Added eject_page method.
        * device.c (Fdevice_printer_p): Used these.
 
        * frame.c (allocate_frame_core): Initialize page number.
-       (Fprint_job_page_number): 
+       (Fprint_job_page_number):
        (Fprint_job_eject_page): Implemented.
 
        * frame-msw.c (msprinter_eject_page): Added method.
 
        * alloc.c (alloc_lcrecord): Add more type checking assertions.
        (vector_hash): New.  Code from internal_hash.
-       * lrecord.h: 
+       * lrecord.h:
        Fix up allocation subsystem comments.
 
        * config.h.in: Add __EXTENSIONS__ for Solaris.
        * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
 
        * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
-       * fns.c (size_bit_vector): 
-       * alloc.c (size_vector): 
-       (make_vector_internal): 
-       (make_bit_vector_internal): 
-       (sweep_bit_vectors_1): 
+       * fns.c (size_bit_vector):
+       * alloc.c (size_vector):
+       (make_vector_internal):
+       (make_bit_vector_internal):
+       (sweep_bit_vectors_1):
        Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
 
 2000-02-10  Martin Buchholz  <martin@xemacs.org>
        * config.h.in: Add HAVE_XCONVERTCASE.
 
 2000-02-07  Andy Piper  <andy@xemacs.org>
-       
+
        * glyphs.c (image_instance_layout): undo 2000-01-29 change since
        it breaks many things.
 
 
        * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
 
-       * ExternalShell.c: 
-       * ExternalClient.c: 
-       * EmacsShell-sub.c: 
-       * EmacsManager.c: 
-       * EmacsFrame.c: 
+       * ExternalShell.c:
+       * ExternalClient.c:
+       * EmacsShell-sub.c:
+       * EmacsManager.c:
+       * EmacsFrame.c:
        Use consistent style for specifying X resources.
 
        * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
        This makes (dontusethis-set-symbol-value-handler) actually usable.
 
        * lrecord.h (lrecord_decription_type):
-       * alloc.c (pdump_register_sub): 
-       (pdump_dump_data): 
-       (pdump_reloc_one): 
+       * alloc.c (pdump_register_sub):
+       (pdump_dump_data):
+       (pdump_reloc_one):
        Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
        Comply with XEmacs coding style.
        All lrecord descriptions updated to use XD_LISP_OBJECT with 2
        args, and XD_LISP_OBJECT_ARRAY with 3 args.
 
-       * keymap.c (Faccessible_keymaps): 
+       * keymap.c (Faccessible_keymaps):
        Make (accessible-keymaps map "\C-h") do the Right Thing.
        Make (accessible-keymaps map []) do the Right Thing.
        Make (accessible-keymaps map "") do the Right Thing.
 2000-01-30  Martin Buchholz  <martin@xemacs.org>
 
        * redisplay.c (init_redisplay): Fix small memory leak.
-       * elhash.h: 
-       * elhash.c (pdump_reorganize_hash_table): 
+       * elhash.h:
+       * elhash.c (pdump_reorganize_hash_table):
        Rename from reorganize_hash_table. Change prototype.
        Reuse the original memory for hentries.  Save 100k.
        * alloc.c (PDUMP_READ): new macro.
        ifdefs in readable order.
        (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
        (start_of_text):
-       (end_of_text): 
+       (end_of_text):
        (end_of_data): Do not compile in if using PDUMP.
 
        * symsinit.h: Protptyped vars_of_nt().
        (fstat, stat): Do not compile in if using MSVC 5.0 and above -
        stat has been fixed in the C runtime.
        (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
-       
+
        * file-coding.c (struct file_coding_dump): Do not define
        ucs_to_mule_table in the struct if not MULE.
        (struct struct lrecord_description fcd_description_1): Do not dump
        * faces.c: Moved 'left-margin and 'right-margin defsymbols to
        general.c.
 
-       * console-msw.h: Added more msprinter device private slots.     
+       * console-msw.h: Added more msprinter device private slots.
 
 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
 
        only.
 
        * console-msw.h: Moved a few function prototypes here from
-       event-msw.c. 
+       event-msw.c.
 
        * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
        parameter from unsigned short to unsigned long.
 
 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
 
-       * sysdep.c (init_system_name): 
-         process-unix.c (unix_canonicalized_host_name): 
+       * sysdep.c (init_system_name):
+         process-unix.c (unix_canonicalized_host_name):
        Don't call freeaddrinfo() if getaddrinfo() fails.
 
        * process-unix.c (unix_open_unix_network_stream):
 
 2000-01-27  Martin Buchholz  <martin@xemacs.org>
 
-       * buffer.c (reinit_vars_of_buffer): 
+       * buffer.c (reinit_vars_of_buffer):
        The right place to initialize conversion_in_dynarr and
        conversion_out_dynarr.
 
        file-name-coding-system, terminal-coding-system, and
        keyboard-coding-system magical variables that are equivalent to
        defining the corresponding coding system aliases.
-       
+
        * file-coding.c (Fcoding_system_canonical_name_p): New function.
        * file-coding.c (Fcoding_system_alias_p): New function.
        * file-coding.c (Fcoding_system_aliasee): New function.
 
 2000-01-24  Martin Buchholz  <martin@xemacs.org>
 
-       * realpath.c (xrealpath): 
+       * realpath.c (xrealpath):
        Don't call getwd().
 
 2000-01-25  Martin Buchholz  <martin@xemacs.org>
 
 2000-01-24  Martin Buchholz  <martin@xemacs.org>
 
-       * glyphs-widget.c (layout_query_geometry): 
+       * glyphs-widget.c (layout_query_geometry):
        (layout_layout): Use correct types for gheight, gwidth.
 
 2000-01-24  Martin Buchholz  <martin@xemacs.org>
 
 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
 
-       * callproc.c: 
-       * dired-msw.c: 
-       * fileio.c: 
-       * process-nt.c: 
-       * redisplay-msw.c: 
+       * callproc.c:
+       * dired-msw.c:
+       * fileio.c:
+       * process-nt.c:
+       * redisplay-msw.c:
        * sysdep.c: Removed redundant #include <windows.h>
 
 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
        * frame.c (delete_frame_internal): Do not delete device when its
        implementation so declares.
        (delete_frame_internal): Set device selected frame to nil when
-       last frame goes away. 
+       last frame goes away.
 
        * device-msw.c (msprinter_device_system_metrics): Implemented.
        (mswindows_device_system_metrics): Added 'device-dpi property.
 2000-01-22  Martin Buchholz  <martin@xemacs.org>
 
        * process.c (Fset_process_coding_system):
-       * device-x.c (Fx_keysym_hash_table): 
+       * device-x.c (Fx_keysym_hash_table):
        Docstring fixes.
 
        * lstream.c (Lstream_write): Return documented value, not 0.
 
-       * fileio.c (directory_file_name): 
-       (Fsubstitute_in_file_name): 
-       (Fsubstitute_insert_file_contents_internal): 
+       * fileio.c (directory_file_name):
+       (Fsubstitute_in_file_name):
+       (Fsubstitute_insert_file_contents_internal):
        (Fwrite_region_internal):
        * emacs.c:
        * sysdep.c:
-       * getloadavg.c: 
+       * getloadavg.c:
        * systty.h:
        Remove vestigial APOLLO-conditional code.
 
        * miscplay.h: Add guard macros.
        * *.h: Use consistent C-standards-approved guard macro names.
 
-       * opaque.c (make_opaque): Switch parameter order. 
+       * opaque.c (make_opaque): Switch parameter order.
        * opaque.h (make_opaque): Switch parameter order.
        Update all callers.
        * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.