+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.
+