2003-09-26  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.16 "celeriac" is released.

2003-09-09  Jerry James  <james@xemacs.org>

	* redisplay.c (point_would_be_visible): Add PARTIALLY parameter to
	support new Fpos_visible_in_window_p parameter.
	* redisplay.h: Ditto.
	* scrollbar.c (scrollbar_reset_cursor): Use new
	point_would_be_visible parameter.
	* window.c (Fpos_visible_in_window_p): Add PARTALLY parameter for
	Emacs compatibility.
	(window_scroll): Use new point_would_be_visible parameter.

2003-09-21  Jerry James  <james@xemacs.org>

	* device-x.c (x_init_device): dll_open now takes a Lisp_Object.
	* emacs.c (make_arg_list_1): Remove useless call to dll_init.
	* emacs.c (main_1): Ditto.
	* emodules.c: char to CIbyte conversion.
	* emodules.c (Fload_module): Ditto.
	* emodules.c (Funload_module): Ditto.
	* emodules.c (find_make_module): Ditto, and use NULL.
	* emodules.c (emodules_load): Ditto, and pass Lisp_Objects to and
	from the sysdll routines.  Be careful about string conversions.
	* emodules.c (reinit_vars_of_module): Use NULL.
	* objects-msw.c (mswindows_find_charset_font): Fix call to
	mswindows_list_fonts broken by James LewisMoss' Sept 20 change.
	* symsinit.h: Do not mangle module initialization function names.
	* sysdll.c (MAYBE_PREPEND_UNDERSCORE): char to CIbyte conversion.
	* sysdll.c (dll_init): char to Extbyte conversion.
	* sysdll.c (dll_open): Take a Lisp_Object, possibly Qnil.
	* sysdll.c (dll_function): char to CIbyte conversion.
	* sysdll.c (dll_variable): Ditto.
	* sysdll.c (dll_error): Return a Lisp_Object, not a string.
	* sysdll.c (dll_close): Cast appropriately for C++.
	* sysdll.h: Change prototypes as per sysdll.c changes.
	* lisp.h: Make eval-related functions visible to modules.
	* xemacs.def.in.in: Ditto.

2003-09-20  Ilya N. Golubev  <gin@mo.msk.ru>

	* cmdloop.c (Fcommand_loop_1): Allow specifying elisp function for
	waiting user input while displaying message while in minibuffer.
	(Vminibuffer_echo_wait_function): New, associated variable...
	(vars_of_cmdloop): ... initialize it.

2003-09-20  James LewisMoss  <dres@lewismoss.org>

	* console-impl.h (struct console_methods): add third arg to list_fonts

	* objects.c (Flist_fonts): Add third arg to list-fonts: maxnumber

	* objects-gtk.c (gtk_list_fonts): Add third (ignored) arg for
	maxnumber.

	* objects-msw.c (mswindows_list_fonts): Add third (ignored) arg for
	maxnumber.

	* objects-tty.c (tty_list_fonts): Add third (ignored) arg for
	maxnumber.

	* objects-x.c (x_list_fonts): Add third arg to specify the maximum
	fonts recieved from the server.

2003-09-13  Martin Buchholz  <martin@xemacs.org>

	* s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor

2003-09-16  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	* xemacs.def.in.in: Add lrecord_memory_descriptions.

2003-09-15  Jerry James  <james@xemacs.org>

	* depend: Regenerate.
	* dumper.h: Use extern "C" for C++ builds.
	* lrecord.h: Remove duplicated material from dumper.h and include
	that instead.

2003-09-15  Jerry James  <james@xemacs.org>

	* event-msw.c (debug_mswin_messages): Conditionally compile
	messages missing from the Cygwin headers.

2003-09-15  Jerry James  <james@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): Use new w32api macros.
	* syswindows.h: Define w32api macros as 0 for non-Cygwin.
	* unexcw.c (CHECK_AOUT_POS): Add cast to quiet compiler.
	* unexcw.c (copy_executable_and_dump_data_section): Ditto.

2002-07-04  Jonathan Harris  <jonathan@xemacs.org>

	* intl-encap-win32.c:
	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.h:
	Remove GetLongPathNameW - API not available on Win95/NT4

2003-09-15  Jerry James  <james@xemacs.org>

	* syswindows.h: Quiet compiler warnings about struct stat.
	(W32API_VER):
	(W32API_INSTALLED_VER): New macros to compare w32api versions.
	(_SHQUERYRBINFO): Define for w32api < 2.4 only.

2003-09-11  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	* alloc.c: Clean up #ifdef USE_KKCC, move stack code to better
	position. Add lrecord_memory_descriptions table.
	(KKCC_GC_STACK_FULL): Replace functions with macros.
	(KKCC_GC_STACK_EMPTY):
	(kkcc_gc_stack_push):
	(kkcc_gc_stack_pop):
	(kkcc_gc_stack_push_lisp_object):
	(mark_object): Add #ifdef to remove unused code.
	(garbage_collect_1): Remove some #ifdefs.
	* dumper.c (pdump): Dump lrecord_memory_descriptions table.
	* lrecord.h: Add lrecord_memory_descriptions.

2003-09-08  Mike Sperber  <mike@xemacs.org>

	* symbols.c (Fvariable_binding_locus): Add, as per suggestion from
	RMS at:
	http://article.gmane.org/gmane.emacs.pretest.bugs/1010

2003-09-03  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.15 "celery" is released.

2003-08-30  Mike Sperber  <mike@xemacs.org>

	* bytecode.c (execute_optimized_program): Remove broken
	special-case code in Bvarset for buffer-local variables, reverting
	previous patch to bytecode.c from 2003-08-18 by Jerry James
	<james@xemacs.org>.

2003-08-28  Jerry James  <james@xemacs.org>

	* emodules.h: Add extern "C" declarations for C++ module builds.
	* lisp.h: Ditto.
	* lrecord.h: Ditto.
	* opaque.h: Ditto.
	* process.h: Ditto.
	* symeval.h: Ditto.
	* text.h: Ditto.
	* mule-canna.c: Make key_buffer char instead of unsigned char.
	* mule-canna.c (storeResults): 1st arg is char *, not unsigned
	char *.
	* mule-canna.c (Fcanna_initialize): Add casts for C++ builds.
	* mule-canna.c (Fcanna_finalize): Ditto.
	* mule-canna.c (Fcanna_touroku_string): Ditto.
	* mule-canna.c (Fcanna_store_yomi): Ditto.
	* mule-canna.c (Fcanna_parse): Ditto.
	* mule-canna.c (Fcanna_query_mode): Ditto, and change buf to
	unsigned char[] to reduce number of casts.
	* mule-canna.c (Fcanna_henkan_begin): Ditto.
	* mule-canna.c (Fcanna_henkan_next): Ditto.
	* mule-canna.c (mule_make_string): Ditto.
	* mule-wnnfns.c (Fwnn_open): Ditto.

2003-08-26  Nickolay Pakoulin  <npak@ispras.ru>

	* database.c (berkdb_get):
	(berkdb_map): Add type casts to satisfy C++ compilers.

2003-08-25  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	* alloc.c (kkcc_gc_stack_init):
	(kkcc_gc_stack_free):
	(kkcc_gc_stack_realloc):
	(kkcc_gc_stack_full):
	(kkcc_gc_stack_empty):
	(kkcc_gc_stack_push):
	(kkcc_gc_stack_pop): Remove kkcc_gc_stack_count.
	(mark_object_maybe_checking_free): Push on stack instead of marking.
	(garbage_collect_1): Invoke kkcc_marking after finish_marking_*.
	
2003-08-21  Jerry James  <james@xemacs.org>

	* lrecord.h (DECLARE_MODULE_API_LRECORD): Also define when not
	ERROR_CHECK_TYPES.

2003-08-19  René Kyllingstad <listmailxemacs@kyllingstad.com>

	* alloc.c (kkcc_gc_stack_init): 
	(kkcc_gc_stack_realloc): Missing casts for the return value of
	malloc and realloc.

2003-08-18  Jerry James  <james@xemacs.org>

	* Makefile.in.in (export_lib): New.
	* Makefile.in.in (xemacs-export.o): New.
	* Makefile.in.in (otherobjs): Use them.
	* emodules.c: Remove the EMODULES_DO_NOT_REDEFINE hack.
	* emodules.c (Fload_module): Document the ".dylib" extension.
	* emodules.c (emodules_doc_subr): Don't try to find the function
	associated with an autoload cookie.
	* emodules.h: Add MODULE_API markers.  Other part of
	EMODULES_DO_NOT_REDEFINE hack removal.  Define unstaticpro to
	unstaticpro_nodump for modules.
	* general-slots.h: Document and use SYMBOL_MODULE_API.
	* general.c (SYMBOL_MODULE_API): New.
	* lisp.h: Ditto.  Also define MODULE_API appropriately, and define
	SYMBOL_MODULE_API.
	* sysdll.c: Allow Cygin module building.
	* sysdll.c (dll_open): Use Unicode module names correctly.
	* sysdll.c (dll_error): Return an informative error message.
	* lisp-union.h: Add MODULE_API markers.
	* lrecord.h: Ditto.
	* mem-limits.h (get_lim_data): Ditto.
	* opaque.h: Ditto.
	* process.h: Ditto.
	* symeval.h: Ditto.
	* text.h: Ditto.

2003-08-18  Jerry James  <james@xemacs.org>

	* bytecode.c (execute_optimized_program): Setting a buffer-local
	variable with no default binding sets the default.

2003-08-18  Jerry James  <james@xemacs.org>

	* opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.

2003-08-12  Mike Sperber  <mike@xemacs.org>

	* bytecode.c (GCPRO_STACK): Added.
	(execute_optimized_program): Use GCPRO_STACK, fixing a space leak:
	Formerly, the byte-code engine would always hold on to the entire
	stack memory area, including the stuff above the top.  Now, we
	adjust the GCPRO record via GCPRO_STACK just before a GC may
	occur.

2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>

	* event-msw.c (mswindows_enqueue_mouse_button_event):
	* event-msw.c (mswindows_wnd_proc):
	enqueue button{4,5}up events for scrollwheel event when
	mswindows_handle_mousewheel_event doesn't handle it.

2003-07-29  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>
	    Markus Kaltenbach  <makalten@informatik.uni-tuebingen.de>

	* README.kkcc: Aligned to the changes.
	* alloc.c: Implemented the kkcc_gc_stack.
	(kkcc_gc_stack_init): 
	(kkcc_gc_stack_free): 
	(kkcc_gc_stack_realloc): 
	(kkcc_gc_stack_full): 
	(kkcc_gc_stack_empty): 
	(kkcc_gc_stack_push): 
	(kkcc_gc_stack_pop): 
	(kkcc_gc_stack_push_lisp_object): 
	(mark_object_maybe_checking_free): Push objects on kkcc stack instead 
	of marking.
	(mark_struct_contents): Push objects on kkcc stack instead of marking.
	(kkcc_marking): KKCC mark algorithm using the kkcc_gc_stack.
	(mark_object): Removed KKCC ifdefs.
	(garbage_collect_1): Push objects on kkcc stack instead of marking.
	* data.c: Added XD_FLAG_NO_KKCC to ephemeron_description and to
	weak_list_description.
	* data.c (finish_marking_weak_lists): Push objects on kkcc stack 
	instead of marking.
	(continue_marking_ephemerons): Push objects on kkcc stack instead 
	of marking.
	(finish_marking_ephemerons): Push objects on kkcc stack instead 
	of marking.
	* elhash.c (finish_marking_weak_hash_tables): Push objects on kkcc 
	stack instead of marking.
	* eval.c: Added XD_FLAG_NO_KKCC to subr_description.
	* lisp.h: Added prototype for kkcc_gc_stack_push_lisp_object.
	* profile.c (mark_profiling_info_maphash): Push keys on kkcc stack 
	instead of marking.

2003-07-30  Jerry James  <james@xemacs.org>

	* sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.

2003-07-24  Mike Sperber  <mike@xemacs.org>

	* lisp.h: 
	* data.c: 
	(init_marking_ephemerons): 
	(continue_marking_ephemerons): 
	(finish_marking_ephemerons): 
	(prune_ephemerons): 
	* alloc.c (garbage_collect_1): Rewrite the ephemeron marker once
	again to allow ephemerons to be used for implementing simple
	object finalization.
	* data.c (Fmake_ephemeron): Fix comments

2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>

	* .gdbinit (pobj): Fix printing of symbol names.

2003-07-02  Mike Sperber  <mike@xemacs.org>

	* toolbar.c (update_frame_toolbars_geometry): Update the frame
	size when correct information to compute it is actually available.
	Moreover, do it right via the frame method if it's available.

2003-06-30  Ilya N. Golubev  <gin@mo.msk.ru>

	* faces.c (complex_vars_of_faces): Fix missing commas in `fonts'
	initializer.

2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* data.c (eq_with_ebola_notice): Fix typo in comment.
	(Ftrue_list_p): Improve docstring.

2003-06-11  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	* opaque.c: added opaque_ptr_description

2003-05-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* alloc.c (allocate_big_string_chars): New.
	(make_uninit_string): Use it.
	(resize_string): Use it.  Bump cons counter on realloc, too.

	Based on analysis and patch by Martin Buchholz <martin@xemacs.org>:
	<15409.4809.288773.686482@gargle.gargle.HOWL>.

2003-06-01  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.14 "cassava" is released.

2003-05-20  Jerry James  <james@xemacs.org>

	* regex.c (re_match_2_internal): pos -> charpos to fix shadow warning.

2003-05-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* file-coding.c: DEFSYMBOL Qslightly_unlikely.
	(detection_result_number_to_symbol):
	(detection_result_symbol_to_number):
	Decode/encode corresponding result numbers.
	(detection_result_number_to_symbol):
	Use switch to get warnings about unhandled enumerators.
	(detect_coding_type): Add debug check for 0 detector categories.
	(undecided_init_coding_stream): Add debug output.

2003-05-15  Stephen J. Turnbull  <stephen@xemacs.org>

	* event-Xt.c (x_to_emacs_keysym): Fix typo in comment.

2003-05-10  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.13 "cauliflower" is released.

2003-05-09  Stephen J. Turnbull  <stephen@xemacs.org>

	* search.c (search_regs): Make comment reflect reality.
	(clear_search_regs): Unconditionally clear global regs.
	(set_search_regs): Call clear_search_regs to clear unused regs.
	(looking_at_1):
	(string_match_1):
	(search_buffer):
	(simple_search):
	(boyer_moore):
	Don't call clear_search_regs directly.
	(Flooking_at):
	(Fposix_looking_at):
	(Fstring_match):
	(Fposix_string_match):
	(Fsearch_backward):
	(Fsearch_forward):
	(Fword_search_backward):
	(Fword_search_forward):
	(Fre_search_backward): 
	(Fre_search_forward): 
	(Fposix_search_backward):
	(Fposix_search_forward):
	Document that search/match failure preserves match data.
	(Freplace_match):
	(Fstore_match_data):
	Improve docstrings.

	* regex.c (re_match_2_internal): Init syn1, syn2 to quiet compiler.

	* regex.h (struct re_registers): Add comment.

2003-05-09  Stephen J. Turnbull  <stephen@xemacs.org>

	Various cleanups against the possibility that <sys/stat.h> does
	#define stat ... .

	* lisp.h: Remove struct stat declaration.

2003-05-06  Stephen J. Turnbull  <stephen@xemacs.org>

	* broken-sun.h: Warn about possibility of #define stat.

2000-07-22  Ilya N. Golubev  <gin@mo.msk.ru>

	* lisp.h (filemodestring): Remove
	
	* sysfile.h (filemodestring): Put it here

	* filemode.c (filemodestring): Note in comment where it is
	declared.

2003-05-09  Martin Buchholz  <martin@xemacs.org>

	* dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
	Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
	Result: "temacs can only be run in -batch mode."
	Fix: Check xemacs executable candidate for directory-ness.

2003-05-06  Martin Buchholz  <martin@xemacs.org>

	* database.c: Berkeley DB wants __STDC__ to be defined.

2003-04-05  Martin Buchholz  <martin@xemacs.org>

	* EmacsFrameP.h (EmacsFramePart):
	Kludge to allow compiling with Motif1, but linking with Motif2.

2003-05-04  Robert Pluim  <rpluim@bigfoot.com>

	* database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
	  they conflict with <sys/types.h>.

2003-05-02  Andrew Begel  <abegel@CS.Berkeley.EDU>

	* lrecord.h: Added casts from int to enum lrecord_type to support
	externally defined lrecord types.

2003-05-01  Andrew Begel  <abegel@CS.Berkeley.EDU>

	* text.h (IBYTE_STRING_TO_ALLOCA): Removed a stray backslash from
	the preceding comment.

2003-05-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in (HAVE_INTPTR_T_IN_SYS_TYPES_H): New.
	lisp.h (intptr_t): Use it.

2003-04-24  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.12 "carrot" is released.

2003-04-24  Matthew O. Persico  <persicom@acedsl.com>

        * unicode.c: Removed trailing commas in some enums; older
        (Solaris 2.7 cc) compiler produced volumous warnings.

        * text.c: Replaced char initialization of static Ibyte
        strcasecmp_charmap[] with octal numeric init. Apparently older
        (Solaris 2.7 cc) compiler treats quoted octals as signed,
        causing 256 signed-assigned-to-unsigned warnings.

        * lrecord.h: Removed trailing commas in some enums; older
        (Solaris 2.7 cc) compiler produced volumous warnings.

        * lisp.h: Removed trailing commas in some enums; older
        (Solaris 2.7 cc) compiler produced volumous warnings.

        * frame.c:  Removed trailing commas in some enums; older
        (Solaris 2.7 cc) compiler produced volumous warnings.

        * file-coding.h: Removed trailing commas in some enums; older
        (Solaris 2.7 cc) compiler produced volumous warnings.

2003-04-17  Stephen J. Turnbull  <stephen@xemacs.org>

	Fix stale match data after failed search bug.

	* search.c (search_buffer):
	Don't find null string if repetition count is 0.
	(string_match_1): 
	(looking_at_1): 
	(search_buffer): 
	(simple_search):
	(boyer_moore):
	Clear all search regs as start, not unused ones on success.
	* regex.c (re_match_2_internal): Fix comment about clearing regs.

	* search.c (Freplace_match): Document error conditions in docstring.
	(These actually error now after a failed match.)

2003-04-16  Chris Palmer  <chris@nodewarrior.org>

	* sysdll.c (dll_open): Removed Objective C-ism to fix Mac build.

2003-04-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* menubar-gtk.c (gtk_xemacs_menubar_class_init):
	(gtk_xemacs_menubar_init):
	(gtk_xemacs_menubar_size_request):
	(menu_descriptor_to_widget_1):
	(menu_descriptor_to_widget):
	(popdown_menu_cb):
	(reinit_vars_of_menubar_gtk):
	* event-gtk.c (emacs_gtk_key_event_handler):
	(emacs_gtk_button_event_handler):
	(emacs_gtk_motion_event_handler):
	(reinit_vars_of_event_gtk):
	(event_name):
	Reformat function definitions correctly.

2003-04-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* symsinit.h (reinit_console_type_create_gtk):
	(reinit_vars_of_menubar_gtk):
	(reinit_vars_of_event_gtk):
	Declare.

2003-04-12  Malcolm Purvis  <malcolmpurvis@optushome.com.au>

	* event-gtk.c: Added missing declaration of
	non_fake_input_wait_mask.

2003-04-04  Daiki Ueno  <daiki@xemacs.org>

	* regex.c (re_match_2_internal): Fix charset/charset_not matching
	for extended characters.  Fixes KNOWN BUG matching ASCII character
	classes to mule characters.

2003-04-14  Steve Youngs  <youngs@xemacs.org>

	* glyphs.c:
	* glyphs.c (nothing_instantiate):
	* glyphs.c (Fmake_glyph_internal):
	* glyphs.c (Fglyphp):
	* glyphs.c (glyph_image_instance):
	* glyphs.c (glyph_image_instance_maybe):
	* glyphs.c (glyph_width):
	Work around a problem compiling with --use-union-type using
	Intel's ICC compiler.  From Martin Buchholz <martin@xemacs.org>
	See
	<http://list-archive.xemacs.org/xemacs-patches/200301/msg00132.html>

2003-04-08  Mike Sperber  <mike@xemacs.org>

	* Makefile.in.in ($(BLDSRC)/NEEDTODUMP): Depends on $(RAW_EXE).

2003-03-31  Mike Alexander  <mta@arbortext.com>

	* frame-msw.c (mswindows_set_frame_size): Call change_frame_size.

2003-03-25  Jerry James  <james@xemacs.org>

	* config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
	linking (from Andrew Begel).
	* sysdll.c: Factor common code into MAYBE_PREPEND_UNDERSCORE.
	Try DL_LAZY and DL_NOW if RTLD_LAZY and RTLD_NOW are undefined.
	Add Andrew Begel's support for loading bundles using the
	Darwin/MacOSX native API.
	* sysdll.c (dll_function): Use MAYBE_PREPEND_UNDERSCORE.
	* sysdll.c (dll_variable): Ditto.
	* sysdll.c (dll_open): Minor whitespace fix.

2003-03-25  Andrew Begel  <abegel@cs.berkeley.edu>

	* emodules.c (vars_of_module): Add .dylib as an acceptable shared
	library file extension to support MacOS X.

2003-03-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* database.c (Fopen_database): DB_AUTO_COMMIT is invalid in
	Berkeley db 4.1 unless you have a transaction environment.

2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* regex.c (re_match_2_internal): Fix matching degenerate word
	boundaries.

2003-03-09  Ben Wing  <ben@xemacs.org>

	* file-coding.c:
	* file-coding.c (look_for_coding_system_magic_cookie):
	Disable new check for the moment since it's all wrong and
	causes crashes.

2003-03-09  Ben Wing  <ben@xemacs.org>

	* file-coding.c:
	* file-coding.c (snarf_coding_system):
	* file-coding.c (look_for_coding_system_magic_cookie):
	* file-coding.c (vars_of_file_coding):
	Fix up internal magic-cookie code to also check for
	`;;;###coding system', already handled by the (redundant)
	code in files.el.
	
	* regex.c (re_match_2_internal):
	Fix problem with ordering of initializations and statements -- OK in
	C++, not in C.
	
	* search.c (fast_string_match):
	Indentation.

2003-03-06  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (build-the-mofo):
	* Makefile.in.in (.NO_PARALLEL): Removed.
	* Makefile.in.in (release): Removed.
	* Makefile.in.in (update-elc-2): Removed.
	* Makefile.in.in (link_deps):
	* Makefile.in.in (dump-id.c): New.
	* Makefile.in.in (load-shadows): Removed.
	* Makefile.in.in (.PHONY): Removed.
	* Makefile.in.in (FRC.needtodump): Removed.
	* Makefile.in.in (temacs_link_args):
	* Makefile.in.in (obj_src):
	Order sections in main build process and add comments.  Add
	additional dependencies to try and prevent later steps from
	happening when failures in earlier steps have occurred.

	* alloc.c (disksave_object_finalization):
	Don't arbitrarily clear Vconfigure_info_directory since it
	messes up separate build/source dirs.
	
	* console.c (get_console_variant):
	* console.c (Fvalid_console_type_p):
	* console.c (Fconsole_type):
	* console.h (console_variant):
	* device-msw.c:
	* device.c:
	Add accidentally omitted msprinter console and data descriptions.
	
	* print.c:
	* print.c (write_string_to_stdio_stream_1):
	* print.c (write_string_to_stdio_stream):
	* print.c (write_string_to_external_output_va):
	* print.c (stderr_out):
	* print.c (stdout_out):
	* print.c (debug_out):
	* print.c (fatal):
	* print.c (write_string_to_alternate_debugging_output):
	* print.c (debug_prin1):
	* print.c (ext_print_begin):
	* print.c (debug_print):
	* print.c (dpa):
	* print.c (debug_short_backtrace):
	* print.c (syms_of_print):
	* console-msw.c (write_string_to_mswindows_debugging_output):
	Add clear-left-side functionality to help keep stdio/stderr
	output from separate sources on separate lines.  Generalize
	the different kinds of debugging output. Add dpa().
	
	* profile.c:
	* profile.c (vars_of_profile):
	Add better docs on Unix/Windows differences.
	
	* regex.c:
	* regex.c (RE_TRANSLATE_1):
	* regex.c (REGEX_ALLOCATE_STACK):
	* regex.c (RE_MATCH_RELOCATE_MOVEABLE_DATA_POINTERS):
	* regex.c (RE_SEARCH_RELOCATE_MOVEABLE_DATA_POINTERS):
	* regex.c (re_search_2):
	* regex.c (re_match_2_internal):
	Fix problems with rel-alloc compilation caused by previous patch.

	* emacs.c (assert_failed):
	Seg fault rather than abort on Cygwin, since gdb doesn't trap
	aborts properly.
	
	* console-gtk-impl.h:
	* console-gtk-impl.h (struct gtk_frame):
	* console-gtk.h:
	* console-msw.h:
	* console-x-impl.h:
	* console-x-impl.h (struct x_frame):
	* console-x.h:
	* dialog-gtk.c:
	* dialog-x.c:
	* event-msw.c:
	* frame-gtk.c:
	* frame-gtk.c (allocate_gtk_frame_struct):
	* frame-gtk.c (gtk_mark_frame):
	* frame-x.c:
	* frame-x.c (allocate_x_frame_struct):
	* frame-x.c (x_mark_frame):
	* frameslots.h:
	* glyphs-gtk.c:
	* glyphs-x.c:
	* glyphs-x.c (x_redisplay_widget):
	* glyphs-x.c (x_button_redisplay):
	* glyphs-x.c (x_tab_control_redisplay):
	* gui-gtk.c:
	* gui-x.c:
	* gui-x.c (new_lwlib_id):
	* gui-x.c (struct widget_value_mapper):
	* gui-x.c (snarf_widget_value_mapper):
	* gui-x.c (snarf_widget_values_for_gcpro):
	* gui-x.c (gcpro_popup_callbacks):
	* gui-x.c (ungcpro_popup_callbacks):
	* gui-x.c (syms_of_gui_x):
	* gui-x.c (reinit_vars_of_gui_x):
	* inline.c:
	* menubar-gtk.c:
	* menubar-gtk.c (FRAME_GTK_MENUBAR_DATA):
	* menubar-gtk.c (set_frame_menubar):
	* menubar-gtk.c (gtk_update_frame_menubar_internal):
	* menubar-msw.c:
	* menubar-x.c:
	* menubar-x.c (MENUBAR_TYPE):
	* menubar-x.c (pre_activate_callback):
	* menubar-x.c (set_frame_menubar):
	* menubar-x.c (x_update_frame_menubar_internal):
	* menubar-x.c (x_free_frame_menubars):
	* menubar-x.c (command_builder_find_menu_accelerator):
	* menubar-x.c (Faccelerate_menu):
	* scrollbar-gtk.c:
	* scrollbar-x.c:
	* ui-gtk.c:
	Delete popup-data object.  Delete menubar_data field from frames,
	since its usage is frame-specific.  Delete menubar-msw.h,
	gui-x.h, gui-gtk.h.  Clean up handling of lwlib callback data
	GCPRO'ing and add missing GCPRO recomputation in widget code.

2003-03-01  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (xmalloc):
	* alloc.c (xcalloc):
	* alloc.c (xrealloc):
	* alloc.c (endif):
	* lisp.h (ALLOCA):
	* lisp.h (MALLOC_OR_ALLOCA):
	* lisp.h (DO_REALLOC):
	* ralloc.c:
	* ralloc.c (REGEX_MALLOC_CHECK):
	* ralloc.c (r_alloc):
	* ralloc.c (r_alloc_free):
	* ralloc.c (r_re_alloc):
	* regex.c:
	* regex.c (REGEX_ALLOCATE):
	* regex.c (REGEX_REALLOCATE):
	* regex.c (REGEX_ALLOCATE_STACK):
	* regex.c (TALLOC):
	* regex.c (INIT_FAIL_STACK):
	* regex.c (PUSH_FAILURE_POINT):
	* regex.c (EXTEND_BUFFER):
	* regex.c (FREE_STACK_RETURN):
	* regex.c (regex_compile):
	* regex.c (re_compile_fastmap):
	* regex.c (re_search_2):
	* regex.c (FREE_VARIABLES):
	* regex.c (re_match):
	* regex.c (re_match_2):
	* regex.c (re_match_2_internal):
	* regex.c (re_comp):
	* regex.c (regcomp):
	* regex.c (regexec):
	* regex.c (regfree):
	Use ALLOCA() in regex.c to avoid excessive stack allocation.
	Also fix subtle problem with REL_ALLOC() -- any call to malloc()
	(direct or indirect) may relocate rel-alloced data, causing
	buffer text to shift.  After any such call, regex must update
	all its pointers to such data.  Add a system, when
	ERROR_CHECK_MALLOC, whereby regex.c indicates all the places
	it is prepared to handle malloc()/realloc()/free(), and any
	calls anywhere in XEmacs outside of this will trigger an abort.

	* alloc.c (garbage_collect_1):
	* dialog-msw.c:
	* dialog-msw.c (dialog_proc):
	* eval.c:
	* eval.c (run_post_gc_hook):
	* eval.c (flagged_a_squirmer):
	* eval.c (issue_call_trapping_problems_warning):
	* eval.c (call_trapping_problems):
	* eval.c (run_hook_trapping_problems):
	* eval.c (safe_run_hook_trapping_problems):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (record_unwind_protect_restoring_int):
	* event-stream.c (run_pre_idle_hook):
	* event-stream.c (pre_command_hook):
	* event-stream.c (post_command_hook):
	* general-slots.h:
	* insdel.c:
	* insdel.c (signal_first_change):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
	* lisp.h (POSTPONE_WARNING_ISSUE):
	* lisp.h:
	* menubar-msw.c:
	* menubar-msw.c (unsafe_handle_wm_initmenu_1):
	* menubar-x.c (pre_activate_callback):
	Change *run_hook*_trapping_problems to take a warning class, not
	a string.  Factor out code to issue warnings, add flag to
	call_trapping_problems() to postpone warning issue, and make
	*run_hook*_trapping_problems issue their own warnings tailored
	to the hook, postponed in the case of safe_run_hook_trapping_problems()
	so that the appropriate message can be issued about resetting to
	nil only when not `quit'.  Make record_unwind_protect_restoring_int()
	non-static.

	* dumper.c:
	* dumper.c (pdump_unsupported_dump_type):
	* dumper.c (pdump_register_sub):
	* dumper.c (pdump_store_new_pointer_offsets):
	* dumper.c (pdump_reloc_one):
	* dumper.c (pdump_dump_root_struct_ptrs):
	Issue notes about incremental linking problems under Windows.
	
	* fileio.c:
	* fileio.c (barf_or_query_if_file_exists):
	* fileio.c (Fsysnetunam):
	* fileio.c (Fencrypt_string):
	* fileio.c (Fdecrypt_string):
	* fileio.c (Fdo_auto_save):
	Mule-ize encrypt/decrypt-string code.
	
	* text.h (DEC_IBYTEPTR):
	* text.h (EI_ALLOC):
	* text.h (eicpy_lstr):
	* text.h (eicpy_raw_fmt):
	* text.h (eicpy_ch):
	* text.h (eicat_ch):
	* text.h (eisub_ei):
	* text.h (eisub_ch):
	* text.h (eito_external):
	* text.h (EI_CASECHANGE):
	Spacing changes.

2003-02-28  Ben Wing  <ben@xemacs.org>

	* m/acorn.h:
	* m/alliant-2800.h (UNEXEC):
	* m/alliant.h:
	* m/altos.h (TERMCAP):
	* m/amdahl.h:
	* m/arm.h:
	* m/att3b.h:
	* m/aviion.h:
	* m/clipper.h:
	* m/cnvrgnt.h:
	* m/convex.h:
	* m/cydra5.h:
	* m/delta.h:
	* m/delta88k.h:
	* m/dpx2.h:
	* m/elxsi.h:
	* m/ews4800r.h:
	* m/gould.h:
	* m/hp800.h:
	* m/hp9000s300.h:
	* m/i860.h:
	* m/ibmps2-aix.h:
	* m/ibmrs6000.h:
	* m/ibmrt-aix.h:
	* m/ibmrt.h:
	* m/intel386.h:
	* m/iris4d.h:
	* m/iris5d.h:
	* m/iris6d.h:
	* m/irist.h:
	* m/m68k.h:
	* m/masscomp.h:
	* m/mg1.h:
	* m/mips-nec.h:
	* m/mips-siemens.h:
	* m/mips.h:
	* m/nh3000.h:
	* m/nh4000.h:
	* m/ns32000.h:
	* m/plexus.h:
	* m/powerpc.h (N_BADMAG):
	* m/sequent-ptx.h:
	* m/sequent.h:
	* m/sgi-challenge.h:
	* m/stride.h:
	* m/tad68k.h:
	* m/targon31.h:
	* m/tekxd88.h:
	* m/template.h:
	* m/tower32.h:
	* m/tower32v3.h:
	* m/ustation.h:
	* m/wicat.h:
	* m/xps100.h:
	* data.c:
	* data.c (init_data_very_early):
	* doc.c (get_doc_string):
	* doc.c (Fsnarf_documentation):
	* editfns.c (init_editfns):
	* emacs.c:
	* emacs.c (main_1):
	* emacs.c (syms_of_emacs):
	* lrecord.h (DUMPEDP):
	* ntheap.c:
	* process-unix.c:
	* process-unix.c (unix_init_process):
	* sysdep.c:
	* sysdep.c (init_system_name):
	* unexec.c:
	Delete all support for bit-rotten CANNOT_DUMP.  Just use pdump.

2003-02-28  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (all):
	* Makefile.in.in (PROGNAME): Removed.
	* Makefile.in.in (DUMP_ID): Removed.
	* Makefile.in.in (DUMP_TARGET): Removed.
	* Makefile.in.in (RECURSIVE_MAKE):
	* Makefile.in.in (EXE_TARGET): Removed.
	* Makefile.in.in (SHELL): Removed.
	* Makefile.in.in (RM): Removed.
	* Makefile.in.in (lispdir): Removed.
	* Makefile.in.in (moduledir): Removed.
	* Makefile.in.in (.SUFFIXES): Removed.
	* Makefile.in.in (libsrc): Removed.
	* Makefile.in.in (etcdir): Removed.
	* Makefile.in.in (srcdir): Removed.
	* Makefile.in.in (SRC): New.
	* Makefile.in.in (lwlib_libs): Removed.
	* Makefile.in.in (lwlib_deps): Removed.
	* Makefile.in.in (LWLIB_SRCDIR):
	* Makefile.in.in (LIBI18N): Removed.
	* Makefile.in.in (X11_libs): Removed.
	* Makefile.in.in (LISP): New.
	* Makefile.in.in (ETC): New.
	* Makefile.in.in (SRCMODULES): New.
	* Makefile.in.in (LIB_SRC): New.
	* Makefile.in.in (BLDSRC): New.
	* Makefile.in.in (BLDMODULES): New.
	* Makefile.in.in (ldap_objs):
	* Makefile.in.in (postgresql_objs):
	* Makefile.in.in (win32_objs):
	* Makefile.in.in (cppflags): Removed.
	* Makefile.in.in (cflags): Removed.
	* Makefile.in.in (ldflags): Removed.
	* Makefile.in.in (.c.o): Removed.
	* Makefile.in.in (.c.i): Removed.
	* Makefile.in.in (.c.s): Removed.
	* Makefile.in.in (lwlib_lib): New.
	* Makefile.in.in (other_files):
	* Makefile.in.in (LIBES):
	* Makefile.in.in (mo_file):
	* Makefile.in.in (mo_dir): Removed.
	* Makefile.in.in (DO_TEMACS):
	* Makefile.in.in (RAW_EXE): New.
	* Makefile.in.in (dump_temacs):
	* Makefile.in.in (debug_temacs): Removed.
	* Makefile.in.in (.NO_PARALLEL):
	* Makefile.in.in (release):
	* Makefile.in.in (update-elc-2):
	* Makefile.in.in (.PHONY):
	* Makefile.in.in (update-elc): Removed.
	* Makefile.in.in (FRC.needtodump): New.
	* Makefile.in.in (NEEDTODUMP): Removed.
	* Makefile.in.in (link_deps):
	* Makefile.in.in (temacs_deps):
	* Makefile.in.in (temacs_link_args):
	* Makefile.in.in (dump-id.c):
	* Makefile.in.in (obj_src):
	* Makefile.in.in (fastdump):
	* Makefile.in.in (all-elc):
	* Makefile.in.in (TopLevelEmacsShell.o):
	* Makefile.in.in (TopLevelEmacsShell.c.rtl):
	* Makefile.in.in (TransientEmacsShell.o):
	* Makefile.in.in (TransientEmacsShell.c.rtl):
	* Makefile.in.in (ExternalClient-Xm-shared.o):
	* Makefile.in.in (ExternalClient-Xt-shared.o):
	* Makefile.in.in (ExternalClient-Xlib-shared.o):
	* Makefile.in.in (ExternalClient-Xm-nonshared.o):
	* Makefile.in.in (ExternalClient-Xt-nonshared.o):
	* Makefile.in.in (ExternalClient-Xlib-nonshared.o):
	* Makefile.in.in (extw-Xt-shared.o):
	* Makefile.in.in (extw-Xlib-shared.o):
	* Makefile.in.in (extw-Xt-nonshared.o):
	* Makefile.in.in (extw-Xlib-nonshared.o):
	* Makefile.in.in (libextcli_Xm.a):
	* Makefile.in.in (libextcli_Xt.a):
	* Makefile.in.in (libextcli_Xlib.a):
	* Makefile.in.in (extw_link_end):
	* Makefile.in.in (libextcli_Xm.so.1):
	* Makefile.in.in (libextcli_Xt.so.1):
	* Makefile.in.in (libextcli_Xlib.so.1):
	* Makefile.in.in (config.h):
	* Makefile.in.in (allocax.o):
	* Makefile.in.in (sunplay.o):
	* Makefile.in.in (xemacs_res.o):
	* Makefile.in.in (dortl):
	* Makefile.in.in (lint):
	* Makefile.in.in (check-features):
	* Makefile.in.in (rtcmacs):
	* Makefile.in.in (run-rtcmacs):
	* Makefile.in.in (debug-temacs):
	* Makefile.in.in (PURIFY_FLAGS):
	* Makefile.in.in (puremacs):
	* Makefile.in.in (quantmacs):
	* Makefile.in.in (covmacs):
	* Makefile.in.in (extraclean):
	* Makefile.in.in (relock):
	* Makefile.in.in (install):
	* Makefile.in.in (depend):
	* Makefile.in.in (FRC.unicode-encapsulate): New.
	* Makefile.in.in (unicode-encapsulate): New.
	Lots o' cleanup.  Use names like LISP, SRC instead of
	lispdir, srcdir, for consistency with xemacs.mak and the
	conventions in the rest of the file.  Eliminate use of ${...}
	in favor of $(...), to make it easier to move code between
	this file and xemacs.mak.  Fix dependency handling wrt
	NEEDTODUMP to eliminate problems some people (e.g. Vin) have
	been seeing with non-GNU makes.  Write a long section about
	the subtle but oh-so-important differences in dependency
	processing between nmake, make, and GNU make.  Add
	unicode-encapsulate target, from xemacs.mak.

	* chartab.c (fill_char_table):
	* chartab.c (put_char_table):
	* lrecord.h:
	Fix crash due to attempt to free objects across dump/undump.

2003-02-20  Mike Sperber  <mike@xemacs.org>

	* Makefile.in.in (update-elc-2): Sequentialize dependencies even
	more.

2003-02-23  Ben Wing  <ben@xemacs.org>

	* eval.c (unbind_to_hairy):
	damn those off-by-one errors.

2003-02-21  Ben Wing  <ben@xemacs.org>

	* redisplay.c:
	* redisplay.c (run_post_redisplay_actions):
	Don't get in an infinite loop running post-redisplay actions.

2003-02-20  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (garbage_collect_1):
	Make gc_currently_forbidden static.
	
	* config.h.in:
	* lisp.h:
	Move some stuff to lisp.h.

	* console-gtk.h:
	* console-impl.h:
	* console-impl.h (struct console_methods):
	* console-msw.h:
	* console-x.h:
	* event-Xt.c (emacs_Xt_handle_magic_event):
	* event-msw.c (emacs_mswindows_drain_queue):
	* event-msw.c (mswindows_handle_paint):
	* event-msw.c (emacs_mswindows_event_pending_p):
	* redisplay-gtk.c:
	* redisplay-gtk.c (gtk_clear_to_window_end):
	* redisplay-msw.c:
	* redisplay-msw.c (mswindows_redisplay_deadbox):
	* redisplay-msw.c (mswindows_clear_region):
	* redisplay-msw.c (mswindows_clear_frame):
	* redisplay-msw.c (console_type_create_redisplay_mswindows):
	* redisplay-output.c:
	* redisplay-output.c (redisplay_output_window):
	* redisplay-output.c (redisplay_redraw_exposed_window):
	* redisplay-output.c (redisplay_redraw_exposed_area):
	* redisplay-x.c:
	* redisplay-x.c (x_generate_shadow_pixels):
	* gtk-xemacs.c (gtk_xemacs_paint):
	* gtk-xemacs.c (gtk_xemacs_expose):
	Remove duplicated code to redraw exposed area.  Add deadbox
	method needed by the generalized redraw code.  Defer redrawing
	if already in redisplay.

	* frame-msw.c (mswindows_set_frame_size):
	* event-stream.c (event_stream_drain_queue):
	* event-stream.c (detect_input_pending):
	* event-stream.c (Finput_pending_p):
	* event-stream.c (event_stream_quit_p):
	* event-stream.c (run_pre_idle_hook):
	* event-stream.c (Fdiscard_input):
	* frame.c:
	Add comments about calling Lisp.
	
	* debug.c:
	* debug.c (FROB):
	* debug.c (syms_of_debug):
	* general-slots.h:
	Move generalish symbols to general-slots.h.
	
	* doprnt.c (get_doprnt_args):
	* doprnt.c (emacs_doprnt_1):
	reindent.
	
	* lisp.h (Dynarr_reset):
	* lisp.h (Dynarr_add):
	* lisp.h (Dynarr_increment):
	* lisp.h (Dynarr_pop):
	* lisp.h (Dynarr_delete_object):
	* dynarr.c:
	* dynarr.c (Dynarr_resize):
	* dynarr.c (Dynarr_insert_many):
	* dynarr.c (Dynarr_delete_many):
	* dynarr.c (Dynarr_memory_usage):
	Add debug code for locking a dynarr to catch invalid mods.
	Use in redisplay.c.
	
	* eval.c:
	* eval.c (throw_or_bomb_out):
	* eval.c (Fsignal):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* eval.c (set_trapping_problems_flags):
	* eval.c (call_trapping_problems):

	* file-coding.c:
	* file-coding.c (complex_vars_of_file_coding):
	Define file-name as alias for native not vice-versa.
	
	* frame-gtk.c:
	* frame-gtk.c (syms_of_frame_gtk):
	* frame-x.c:
	* frame-x.c (syms_of_frame_x):
	Move Qwindow_id to general-slots.
	
	* dialog-msw.c (handle_question_dialog_box):
	* glyphs-gtk.c (gtk_tab_control_redisplay):
	* glyphs-msw.c:
	* glyphs-msw.c (mswindows_redisplay_widget):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-msw.c (mswindows_button_instantiate):
	* glyphs-msw.c (mswindows_button_redisplay):
	* glyphs-msw.c (mswindows_tab_control_instantiate):
	* glyphs-msw.c (mswindows_tab_control_redisplay):
	* glyphs-widget.c:
	* glyphs-widget.c (widget_normalize):
	* glyphs-widget.c (tab_control_order_only_changed):
	* glyphs-widget.c (layout_query_geometry):
	* glyphs-x.c:
	* glyphs-x.c (x_widget_instantiate):
	* glyphs-x.c (x_button_instantiate):
	* glyphs-x.c (x_progress_gauge_instantiate):
	* glyphs-x.c (x_tab_control_instantiate):
	* glyphs-x.c (x_tab_control_redisplay):
	* gui.c:
	* gui.c (gui_item_value):
	* gui.c (gui_item_active_p):
	* gui.c (gui_item_selected_p):
	* gui.c (gui_item_list_find_selected):
	* gui.c (gui_item_included_p):
	* gui.c (gui_value_equal):
	* gui.c (gui_item_equal_sans_selected):
	* gui.c (gui_item_equal):
	* gui.h:
	* menubar-msw.c (populate_menu_add_item):
	* menubar.c (Fmenu_find_real_submenu):
	Ensure that various glyph functions that eval within redisplay
	protect the evals.  Same for calls to internal_equal().
	Modify various functions, e.g. gui_item_*(), to protect evals
	within redisplay, taking an in_redisplay parameter if it's
	possible for them to be called both inside and outside of
	redisplay.
	
	* gutter.c:
	* gutter.c (calculate_gutter_size):
	* gutter.c (redraw_exposed_gutters):
	* gutter.c (Fset_default_gutter_position):
	* gutter.c (gutter_specs_changed):
	* gutter.c (gutter_geometry_changed_in_window):
	Defer specifier-changed updating till after redisplay, if
	necessary, since we need to enter redisplay to do it.
	
	* gutter.c (Fredisplay_gutter_area):
	Do nothing if in redisplay.
	
	* lisp.h:
	Add version of alloca() for use in function calls.
	
	* lisp.h (XCADR):
	Add XCAD[D+]R up to 6 D's, and aliases X1ST, X2ND, etc.
	
	* frame.c (invalidate_vertical_divider_cache_in_frame):
	* frame.c (adjust_frame_size):
	* frame.c (store_minibuf_frame_prop):
	* frame.c (Fset_frame_properties):
	* frame.c (internal_set_frame_size):
	* frame.c (Fset_frame_height):
	* frame.c (Fset_frame_pixel_height):
	* frame.c (Fset_frame_displayable_pixel_height):
	* frame.c (Fset_frame_width):
	* frame.c (Fset_frame_pixel_width):
	* frame.c (Fset_frame_displayable_pixel_width):
	* frame.c (Fset_frame_size):
	* frame.c (Fset_frame_pixel_size):
	* frame.c (Fset_frame_displayable_pixel_size):
	* frame.c (change_frame_size_1):
	* frame.c (change_frame_size):
	* frame.h:
	* redisplay.c:
	* redisplay.c (REDISPLAY_PREEMPTION_CHECK					\):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (regenerate_window):
	* redisplay.c (enter_redisplay_critical_section):
	* redisplay.c (exit_redisplay_critical_section):
	* redisplay.c (redisplay_frame):
	* redisplay.c (eval_within_redisplay):
	* redisplay.c (free_display_line):
	* redisplay.c (Fredisplay_echo_area):
	* redisplay.c (vars_of_redisplay):
	* redisplay.h:
	* signal.c (check_what_happened):
	* toolbar.c:
	* toolbar.c (Fset_default_toolbar_position):
	Redo critical-section code and move from frame.c to redisplay.c.
	Require that every place inside of redisplay catch errors itself,
	not at the edge of the critical section (thereby bypassing the
	rest of redisplay and leaving things in an inconsistent state).
	Introduce separate means of holding frame-size changes without
	entering a complete critical section.  Introduce "post-redisplay"
	methods for deferring things till after redisplay.  Abort if
	we enter redisplay reentrantly.  Disable all quit checking in
	redisplay since it's too dangerous.  Ensure that all calls to
	QUIT trigger an abort if unprotected.
	
	* redisplay.c:
	* scrollbar-gtk.c (gtk_update_frame_scrollbars):
	* scrollbar-x.c (x_update_frame_scrollbars):
	* scrollbar.c:
	* scrollbar.c (update_window_scrollbars):
	Create enter/exit_redisplay_critical_section_maybe() for code
	that needs to ensure it's in a critical section but doesn't
	interfere with an existing critical section.
	
	* sysdep.c:
	* sysdep.c (qxe_execve):
	Use _wexecve() when under Windows NT for Unicode correctness.
	
	* text.c:
	* text.c (new_dfc_convert_now_damn_it):
	* text.c (new_dfc_convert_malloc):
	* text.c (find_pos_of_existing_active_dfc_e2c):
	* text.c (new_dfc_convert_alloca):
	* text.c (new_dfc_convert_size):
	* text.c (reinit_vars_of_text):
	* text.h:
	* text.h (eicpy_ext_len):
	* text.h (eicpy_ext):
	* text.h (eito_external):
	* text.h (Qx_atom_name_encoding):
	Add new_dfc() functions, which return an alloca()ed value rather
	than requiring an lvalue. (Not really used yet; used in another
	workspace, to come.) Add some macros for SIZED_EXTERNAL.

	Update the encoding aliases after involved scrutinization of the
	X manual.
	
	* unicode.c:
	* unicode.c (init_blank_unicode_tables):
	* unicode.c (init_charset_unicode_tables):
	* unicode.c (syms_of_unicode):
	Answer the anonymous but suspiciously Turnbullian questions.
	Rename parse-unicode-translation-table to
	load-unicode-mapping-table, as suggested.

2003-02-19  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (all): New.
	* Makefile.in.in (EXE_TARGET):
	* Makefile.in.in (X11_libs):
	* Makefile.in.in (external_widget_objs):
	* Makefile.in.in (other_files):
	* Makefile.in.in (extw_link_beg): Removed.
	* Makefile.in.in (mo_file):
	* Makefile.in.in (extw_link_mid): Removed.
	* Makefile.in.in (extw_link_end): Removed.
	* Makefile.in.in (temacs_loadup): Removed.
	* Makefile.in.in (run_temacs): Removed.
	* Makefile.in.in (dump_temacs):
	* Makefile.in.in (DO_TEMACS): New.
	* Makefile.in.in (DO_XEMACS): New.
	* Makefile.in.in (debug_temacs):
	* Makefile.in.in (LISP): New.
	* Makefile.in.in (BATCH): New.
	* Makefile.in.in (BATCH_PACKAGES): New.
	* Makefile.in.in (TEMACS_BATCH): New.
	* Makefile.in.in (XEMACS_BATCH): New.
	* Makefile.in.in (XEMACS_BATCH_PACKAGES): New.
	* Makefile.in.in (temacs_loadup_args): New.
	* Makefile.in.in (dump_temacs_args): New.
	* Makefile.in.in (run_temacs_args): New.
	* Makefile.in.in (release):
	* Makefile.in.in (build-the-mofo): New.
	* Makefile.in.in (update-elc): New.
	* Makefile.in.in (update-elc-2): New.
	* Makefile.in.in (load-shadows): New.
	* Makefile.in.in (NEEDTODUMP): New.
	* Makefile.in.in (obj_src):
	* Makefile.in.in (FRC.update-elc.stamp): Removed.
	* Makefile.in.in (update-elc.stamp): Removed.
	* Makefile.in.in (dortl): Removed.
	* Makefile.in.in (link_deps): New.
	* Makefile.in.in (temacs_deps): New.
	* Makefile.in.in (temacs_link_args): New.
	* Makefile.in.in (dump-id.c): New.
	* Makefile.in.in (TopLevelEmacsShell.o):
	* Makefile.in.in (LINT.c): Removed.
	* Makefile.in.in (LINTFILES): Removed.
	* Makefile.in.in (LINTINCLUDES): Removed.
	* Makefile.in.in (LINTFLAGS): Removed.
	* Makefile.in.in (lint): Removed.
	* Makefile.in.in (dump_elcs): Removed.
	* Makefile.in.in (all-elc): New.
	* Makefile.in.in (dump-elcs): Removed.
	* Makefile.in.in (run-temacs): Removed.
	* Makefile.in.in (testdir): Removed.
	* Makefile.in.in (batch_test_emacs): Removed.
	* Makefile.in.in (check-temacs): Removed.
	* Makefile.in.in (rtc_patch.o): Removed.
	* Makefile.in.in (rtcmacs): Removed.
	* Makefile.in.in (run-rtcmacs): Removed.
	* Makefile.in.in (debug-temacs): Removed.
	* Makefile.in.in (PURIFY_PROG): Removed.
	* Makefile.in.in (PURIFY_LIBS): Removed.
	* Makefile.in.in (PURIFY_FLAGS): Removed.
	* Makefile.in.in (puremacs): Removed.
	* Makefile.in.in (libextcli_Xlib.a):
	* Makefile.in.in (QUANTIFY_PROG): Removed.
	* Makefile.in.in (QUANTIFY_HOME): Removed.
	* Makefile.in.in (QUANTIFY_FLAGS): Removed.
	* Makefile.in.in (quantmacs): Removed.
	* Makefile.in.in (PURECOV_PROG): Removed.
	* Makefile.in.in (covmacs): Removed.
	* Makefile.in.in (xemacs_res.o):
	* Makefile.in.in (clean):

	Major surgery.  Move all stuff related to building anything in the
	src/ directory from top-level Makefile.in.in to here.  Simplify
	the dependencies.  Rearrange into logical subsections.
	Synchronize the main compile/dump/build-elcs section with
	xemacs.mak, which is already clean and in good working order.
	Remove weirdo targets like `all-elc[s]', dump-elc[s], etc.  Add
	additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS,
	TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out
	duplicated stuff.  Clean up handling of "HEAP_IN_DATA" (Cygwin) so
	it doesn't need to ignore the return value from dumping.  Add
	.NO_PARALLEL since various aspects of building and dumping must be
	serialized but do not always have dependencies between them
	(this is impossible in some cases).  Everything related to src/
	now gets built in one pass in this directory by just running
	`make' (except the Makefiles themselves and config.h, paths.h,
	Emacs.ad.h, and other generated .h files).

	* console.c (Fvalid_console_type_p):
	Update list of possibly valid console types.
	
	* emacs.c:
	* emacs.c (check_compatible_window_system):
	* emacs.c (main_1):
	* emacs.c (standard_args):
	* emacs.c (sort_args):
	* emacs.c (main):
	Rationalize the specifying and handling of the type of the first
	frame.  This was originally prompted by a workspace in which I got
	GTK to compile under C++ and in the process fixed it so it could
	coexist with X in the same build -- hence, a combined
	TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However,
	you can't simultaneously *display* more than one kind of device
	connection -- but getting that to work is not that difficult.
	Perhaps a project for a bored grad student.  I (ben) would do it
	but don't see the use.)  To make sense of this, I added new
	switches that can be used to specifically indicate the window
	system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka
	--use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka
	--use-gnome, same as --use-gtk]. -nw continues as an alias for
	-tty.  When none have been given, XEmacs checks for other
	parameters implying particular device types (-t -> tty, -display
	-> x [or should it have same treatment as DISPLAY below?]), and
	has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or
	gtk?  perhaps should check whether gnome is running), else MS
	Windows if it exsits, else TTY if it exists, else stream, and you
	must be running in batch mode.  This also fixes an existing bug
	whereby compiling with no x, no mswin, no tty, when running non-
	interactively (e.g. to dump) I get "sorry, must have TTY support".
	
	* emacs.c (Frun_emacs_from_temacs):
	Turn on Vstack_trace_on_error so that errors are debuggable even
	when occurring extremely early in reinitialization.
	* emacs.c (pause_so_user_can_read_messages):
	Try to make sure that the user can see message output under
	Windows (i.e. it doesn't just disappear right away) regardless of
	when it occurs, e.g. in the middle of creating the first frame.
	* emacs.c (Femacs_run_status):
	* emacs.c (syms_of_emacs):
	Define new function `emacs-run-status', indicating whether XEmacs
	is noninteractive or interactive, whether raw,
	post-dump/pdump-load or run-temacs, whether we are dumping,
	whether pdump is in effect.
	
	* event-stream.c:
	It's "mommas are fat", not "momas are fat".
	Fix other typo.
	* event-stream.c (Fnext_event):
	Conditionalize in_menu_callback check on HAVE_MENUBARS,
	because it won't exist on w/o menubar support,
	
	* lisp.h:
	More hackery on RETURN_NOT_REACHED.  Cygwin v3.2 DOES complain here
	if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+.  So make it
	blank only for GCC 2.5 through 2.999999999999999. 
	
	Declare Vstack_trace_on_error.
	
	* profile.c:
	Need to include "profile.h" to fix warnings.
	
	* sheap.c (report_sheap_usage):
	Don't fatal() when need to rerun Make, just stderr_out() and exit(0).
	That way we can distinguish between a dumping failing expectedly
	(due to lack of stack space, triggering another dump) and unexpectedly,
	in which case, we want to stop building. (or go on, if -K is given)
	* syntax.c (Fmatching_paren):
	* syntax.c (find_start_of_comment):
	* syntax.h:
	Use ints where they belong, and enum syntaxcode's where they belong,
	and fix warnings thereby.

	* syntax.h:
	Fix crash caused by an edge condition in the syntax-cache macros.

	* text.h:
	* text.h (LISP_STRING_TO_ALLOCA):
	* text.h (alloca_ibytes):
	Spacing fixes.

	* xmotif.h:
	New file, to get around shadowing warnings.
	
	* EmacsManager.c:
	* event-Xt.c:
	* glyphs-x.c:
	* gui-x.c:
	* input-method-motif.c:
	* xmmanagerp.h:
	* xmprimitivep.h:
	Include xmotif.h.
	
	* alloc.c:
	Conditionalize in_malloc on ERROR_CHECK_MALLOC.
	
	* config.h.in:
	* file-coding.h:
	* fileio.c:
	* getloadavg.c (getloadavg):
	* select-x.c:
	* signal.c (qxe_setitimer):
	* sysdep.c (total_data_usage):
	* sysfile.h:
	* systime.h:
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* unicode.c (dfc_coding_system_is_unicode):
	Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead.
	Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY.
	
	* lisp.h:
	More futile attempts to walk and chew gum at the same time when
	dealing with subr's that don't return.
	
2003-02-19  Ben Wing  <ben@xemacs.org>

	* eval.c (unbind_to_hairy):
	Don't check_quit() unless we're unbinding a real Lisp
	`unwind-protect' since check_quit() does lots of weird things and
	not all callers are prepared for it.
	* frame.c:
	* frame.c (delete_frame_internal):
	Make absolutely sure there is no quit checking while we are in a
	"critical section" during frame deletion.

2003-02-16  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.11 "cabbage" is released.

2003-02-15  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (dynodump_deps):
	Don't delete the DOC file.  Implement quick-building here: not
	building the DOC file unless it doesn't exist, as the quick-build
	docs say.

	* config.h.in: Style changes.  Add HAVE_XLIKE.
	* emacs.c (main_1):
	* emacs.c (main):
	* emacs.c (Fdump_emacs):
	* emacs.c (voodoo_free_hook):
	* emacs.c (Fkill_emacs):
	* emacs.c (assert_failed):
	* emacs.c (vars_of_emacs):
	* emacs.c (__sti__iflPNGFile_c___):
	Nothing but niggly spacing changes -- one space before a paren
	starting a function-call arglist, please.

	* make-src-depend:
	When QUICK_BUILD, don't put lisp.h, config.h, and related as
	dependencies of all source files, so that changes to these files
	don't trigger total rebuilding of the src directory.
	Update info on what's a GTK-only and X-only file and use HAVE_XLIKE
	for files shared between GTK and X.

2003-02-14  Ben Wing  <ben@xemacs.org>

	* buffer.c:
	* syntax.c:
	Move syntax table description from buffer.c to syntax.c.
	
	* chartab.c:
	* chartab.c (set_char_table_dirty):
	* chartab.c (fill_char_table):
	* chartab.c (Fmake_char_table):
	* chartab.c (Fcopy_char_table):
	* chartab.c (get_range_char_table_1):
	* chartab.c (get_range_char_table):
	* chartab.c (put_char_table):
	* chartab.h:
	* chartab.h (struct Lisp_Char_Table):
	Free extra char table entries to avoid excessive garbage.
	Add flags for dirty and mirror_table_p to char tables.
	Add a back pointer from mirror tables to the original syntax table.
	When modifying a syntax table, don't update the mirror table right
	away, just mark as dirty.
	Add various asserts to make sure we are dealing with the right type
	of table (mirror or non-mirror).
	
	* font-lock.c:
	* font-lock.c (find_context):
	* syntax.c (init_syntax_cache):
	* syntax.c (setup_syntax_cache):
	* syntax.c (mark_buffer_syntax_cache):
	* syntax.c (init_buffer_syntax_cache):
	* syntax.c (syntax_cache_table_was_changed):
	* syntax.c (update_syntax_cache):
	* syntax.c (scan_lists):
	* syntax.c (scan_sexps_forward):
	* syntax.c (copy_if_not_already_present):
	* syntax.c (update_just_this_syntax_table):
	* syntax.c (update_syntax_table):
	* syntax.c (vars_of_syntax):
	* syntax.h:
	* syntax.h (struct syntax_cache):
	Add entry to syntax caches for the non-mirror table.  Set it
	appropriately when initializing the syntax table.  Use it, not
	the mirror table, for calls to syntax_match().
	Don't create a bogus float each time, just once at startup.
	Add some asserts, as in chartab.c.

	* syntax.h (SYNTAX_CODE_FROM_CACHE):
	When retrieving the syntax code, check the dirty flag and update
	the mirror tables as appropriate.
	Add some asserts, as above.
	
2003-02-14  Ben Wing  <ben@xemacs.org>

	* scrollbar.c (specifier_vars_of_scrollbar):
	Don't generate fallbacks for TTY's when not HAVE_TTY.

2003-02-13  Martin Buchholz  <martin@xemacs.org>

	Make XEmacs redisplay 10 times faster.
	If, that is, you're using a slow X connection and MoveOpaque.
	Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
	Use compress_motion = TRUE.
	* EmacsFrame.c (emacsFrameClassRec): 
	* EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
	* EmacsManager.c (emacsManagerClassRec):
	* xintrinsicp.h: Make sure XtExposeNoRegion is defined.

2003-02-13  Ben Wing  <ben@xemacs.org>

	* unicode.c (utf_16_detect):
	Don't get snafued w/division-by-zero.

2003-02-12  Ben Wing  <ben@xemacs.org>

	* profile.c:
	* profile.c (create_profile_tables):
	* profile.c (current_profile_function):
	* profile.c (profile_record_consing):
	* profile.c (profile_record_about_to_call):
	* profile.c (profile_record_just_called):
	* profile.c (sigprof_handler):
	* profile.c (Fstart_profiling):
	* profile.c (Fstop_profiling):
	* profile.c (Fclear_profiling_info):
	* profile.c (copy_hash_table_or_blank):
	* profile.c (Fget_profiling_info):
	* profile.c (set_profiling_info_timing_maphash):
	* profile.c (Fset_profiling_info):
	* profile.c (mark_profiling_info_maphash):
	* profile.c (mark_profiling_info):
	* profile.c (vars_of_profile):
	Major reworking.  Keep track of new information -- total
	function timing (includes descendants), GC usage, total GC usage
	(includes descendants).  New functions to be called appropriately
	from eval.c, alloc.c to keep track of this information.  Keep track
	of when we're actually in a function vs. in its profile, for more
	accurate timing counts.  Track profile overhead separately.  Create
	new mechanism for specifying "internal sections" that are tracked
	just like regular Lisp functions and even appear in the backtrace
	if `backtrace-with-internal-sections' is non-nil (t by default
	for error-checking builds).  Add some KKCC information for the
	straight (non-Elisp) hash table used by profile, which contains
	Lisp objects in its keys -- but not used yet.  Remove old ad-hoc
	methods for tracking garbage collection, redisplay (which was
	incorrect anyway when Lisp was called within these sections).
	Don't record any tick info when blocking under MS Windows, since
	the timer there is in real time rather than in process time.
	Make `start-profiling', `stop-profiling' interactive.  Be consistent
	wrt. recursive functions and functions currently on the stack when
	starting or stopping -- together these make implementing the
	`total' values extremely difficult.  When we start profiling, we
	act as if we just entered all the functions currently on the stack.
	Likewise when exiting.  Create vars in_profile for tracking
	time spent inside of profiling, and profiling_lock for setting
	exclusive access to the main hash table when reading from it or
	modifying it. (protects against getting screwed up by the signal
	handle going off at the same time.

	* profile.h: New file.
	Create macros for declaring internal profiling sections.
	
	* lisp.h:
	Move profile-related stuff to profile.h.

	* alloc.c:
	* alloc.c (INCREMENT_CONS_COUNTER_1):
	* alloc.c (DECREMENT_CONS_COUNTER):
	* alloc.c (garbage_collect_1):
	* alloc.c (vars_of_alloc):
	Keep track of total consing, for profile.
	Tell profile when we are consing.
	Use new profile-section method for noting garbage-collection.

	* alloc.c (xmalloc):
	* alloc.c (xcalloc):
	* alloc.c (xrealloc):
	* alloc.c (endif):
	Abort if we attempt to call the allocator reentrantly.

	* backtrace.h:
	* backtrace.h (FSET_FAST_UNSAFE):
	* eval.c:
	Add info for use by profile in the backtrace frame and transfer
	PUSH_BACKTRACE/POP_BACKTRACE from eval.c, for use with profile.

	* elhash.c: Author comment.

	* eval.c (vars_of_eval):
	* lisp.h:
	New Lisp var `backtrace-with-internal-sections'.  Set to t when
	error-checking is on.

	* eval.c:
	* eval.c (unwind_to_catch):
	When unwinding, 
	
	* eval.c (Fcommand_execute):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	Report to profile when we are about-to-call and just-called wrt. a
	function.

	* alloc.c (garbage_collect_1):
	* eval.c (backtrace_unevalled_args):
	* eval.c (Fbacktrace):
	* eval.c (Fbacktrace_frame):
	Allow for "fake" backtrace frames, for internal sections (used by
	profile and `backtrace-with-internal-sections'.

	* event-Xt.c:
	* event-Xt.c (emacs_Xt_next_event):
	* event-gtk.c:
	* event-gtk.c (emacs_gtk_next_event):
	* event-msw.c:
	* event-msw.c (mswindows_need_event):
	* event-tty.c:
	* event-tty.c (emacs_tty_next_event):
	Record when we are actually blocking on an event, for profile's sake.

	* event-stream.c:
	* event-stream.c (next_event_internal):
	* event-stream.c (Fnext_event):
	* event-stream.c (execute_internal_event):
	* event-stream.c (Fdispatch_event):
	* event-stream.c (syms_of_event_stream):
	* event-stream.c (vars_of_event_stream):
	Record internal profiling sections for getting, dispatching events.

	* extents.c:
	* extents.c (map_extents):
	* extents.c (vars_of_extents):
	Record internal profiling sections for map_extents.

	* hash.c: Author comment.
	* hash.c (grow_hash_table):
	* hash.h:
	Add pregrow_hash_table_if_necessary(). (Used in profile code
	since the signal handler is the main grower but can't allow
	a realloc().  We make sure, at critical points, that the table
	is large enough.)
	
	* lread.c:
	* lread.c (Fload_internal):
	* lread.c (done): New.
	* lread.c (syms_of_lread):
	* lread.c (vars_of_lread):
	Create internal profiling sections for `load' (which may be triggered
	internally by autoload, etc.).

	* redisplay.c:
	* redisplay.c (redisplay_without_hooks):
	* redisplay.c (vars_of_redisplay):
	Remove old profile_redisplay_flag.  Use new macros to declare
	internal profiling section for redisplay.

	* text.c (charbpos_to_bytebpos_func):
	* text.c (bytebpos_to_charbpos_func):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (vars_of_text):
	Use new macros to declare internal profiling sections for
	char-byte conversion and internal-external conversion.

	SEMI-UNRELATED CHANGES:
	-----------------------

	* text.c:
	Update the long comments.

2003-02-07  Mike Sperber  <mike@xemacs.org>

	* scrollbar.c (specifier_vars_of_scrollbar): 
	(specifier_vars_of_scrollbar): TTY devices don't have scrollbars.

2003-01-28  Martin Buchholz  <martin@xemacs.org>

	* config.h.in (_ALL_SOURCE): Guard against multiple definition.

2003-02-09  Ben Wing  <ben@xemacs.org>

	* console-stream.c:
	* console-stream.c (stream_clear_region):
	* console-stream.c (console_type_create_stream):
	Abort when any attempts to output a stream console are made.
	Should be caught sooner.
	
	* event-msw.c (mswindows_wnd_proc):
	Don't redisplay() during sizing when the frame has not yet been
	initialized completely.
	
	* event-stream.c (Fnext_event):
	* menubar-msw.c (mswindows_handle_wm_initmenupopup):
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value):
	* menubar.c:
	* menubar.h:
	Restore in_menu_callback.  Bind it in menubar-{msw,x}.c when
	calling filter functions and the like.  Conditionalize on it, not
	in_modal_loop, when issuing error in `next-event', otherwise we
	bite the dust immediately -- event-msw.c purposely calls
	Fnext_event() in a modal loop, and knows what it's doing.
	
	* redisplay-output.c (redisplay_unmap_subwindows_maybe):
	* redisplay-output.c (redisplay_unmap_subwindows_except_us):
	Formatting fixes.
	
	* redisplay.c:
	* redisplay.c (redisplay_frame):
	* redisplay.c (Fredisplay_echo_area):
	* redisplay.c (redisplay_no_pre_idle_hook):
	* redisplay.c (syms_of_redisplay):
	* redisplay.c (vars_of_redisplay):
	* window.c (Fwindow_pixel_edges):
	* window.c (syms_of_window):
	* winslots.h:
	Delete lots of carcasses of attempts to add redisplay support for
	font-lock -- `pre/post-redisplay-hook', unimplemented junk from
	FSF (redisplay-end-trigger, `window-scroll-functions',
	`window-size-change-functions').  If we want to port some
	redisplay support from FSF, port the `fontified' property.

	* redisplay.c (redisplay_frame):
	Put in a check here (as well as redisplay_device()) for a stream
	frame.  We can get here directly through Lisp fun
	`redisplay-frame'.  Abort if frame not initialized.
	
	* redisplay.c (Fredisplay_echo_area):
	* redisplay.c (Fforce_cursor_redisplay):
	Check for stream frames/devices.

2003-02-07  Mike Sperber  <mike@xemacs.org>

	* alloc.c (GC_CHECK_NOT_FREE): Pull this out of USE_KKCC.

2003-02-07  Ben Wing  <ben@xemacs.org>

	* lread.c (Fload_internal):
	Eliminate printing `done' messages noninteractively since it's now
	obvious which files are loaded by which others.

2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>

         * sysdll.c: Included lisp.h to define needed alloca_array.

2003-02-07  Jerry James  <james@xemacs.org>

	* sysdep.c (strlwr): Return the parameter.
	* sysdep.c (strupr): Ditto.  Depend on !HAVE_STRUPR.

2003-02-07  Ben Wing  <ben@xemacs.org>

	This contains two related changes:

	(1) Fix problems with reentrant calling of lwlib and associated
	    crashes when selecting menu items.
	(2) Improve redisplay handling of preemption.  Turn on lazy lock
	    and hold down page-down or page-up and you'll see what I mean.

	They are related because they both touch on the code that retrieves
	events and handles the internal queues.
	
	* console-msw.h:
	* event-msw.c:
	* event-msw.c (mswindows_unmodalize_signal_maybe):
	* event-msw.c (mswindows_unsafe_pump_events):
	* event-msw.c (mswindows_pump_outstanding_events):
	* event-msw.c (mswindows_need_event_in_modal_loop):
	* event-msw.c (mswindows_drain_windows_queue):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-stream.c (event_stream_protect_modal_loop):
	* events.h:
	* events.h (struct event_stream):
	* menubar-msw.c (struct handle_wm_initmenu):
	* menubar-msw.c (unsafe_handle_wm_initmenupopup):
	* menubar-msw.c (unsafe_handle_wm_initmenu):
	* menubar-msw.c (mswindows_handle_wm_initmenupopup):
	* menubar-msw.c (mswindows_handle_wm_initmenu):
	* menubar-x.c:
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value):
	* menubar-x.c (pre_activate_callback):
	* menubar.h:

	mswindows_protect_modal_loop() has been generalized to
	event_stream_protect_modal_loop(), and moved to event-stream.c.
	mswindows_in_modal_loop ->in_modal_loop likewise.  Changes in
	event-msw.c and menubar-msw.c for the new names and calling format
	(use structures instead of static variables in menubar-msw.c).
	Delete former in_menu_callback and use in_modal_loop in its place.
	Remove emacs_mswindows_quit_check_disallowed_p(), superseded by
	in_modal_loop.  Use event_stream_protect_modal_loop() in
	pre_activate_callback() so that we get no lwlib reentrancy.

	Rearrange some of the code in event-msw.c to be grouped better.
	Make mswindows_drain_windows_queue() respect in_modal_loop and
	do nothing if so.

	* cmdloop.c (command_loop_3):
	* event-stream.c (Fnext_event):
	Don't conditionalize on LWLIB_MENUBARS_LUCID when giving error when
	in_modal_loop, and give better error.

	* event-Xt.c (emacs_Xt_next_event):
	* event-Xt.c (emacs_Xt_drain_queue):
	* event-gtk.c (emacs_gtk_drain_queue):
	If in_modal_loop, only retrieve process and timeout events.
	Don't retrieve any X events because processing them can lead
	to reentrancy in lwlib -> death.
	
	* event-stream.c:
	* event-stream.c (check_event_stream_ok):
	* event-stream.c (event_stream_handle_magic_event):
	* event-stream.c (event_stream_format_magic_event):
	* event-stream.c (event_stream_compare_magic_event):
	* event-stream.c (event_stream_hash_magic_event):
	* event-stream.c (event_stream_add_timeout):
	* event-stream.c (event_stream_remove_timeout):
	* event-stream.c (event_stream_select_console):
	* event-stream.c (event_stream_unselect_console):
	* event-stream.c (event_stream_select_process):
	* event-stream.c (event_stream_unselect_process):
	* event-stream.c (event_stream_create_io_streams):
 	* event-stream.c (event_stream_delete_io_streams):
	* event-stream.c (event_stream_current_event_timestamp):
	* event-stream.c (event_stream_next_event):
	Remove unused parameter to check_event_stream_ok() and change
	all callers.
	
	* lisp.h:
	* event-stream.c (maybe_do_auto_save):
	* event-stream.c (emacs_handle_focus_change_preliminary):
	* event-stream.c (emacs_handle_focus_change_final):
	* event-stream.c (detect_input_pending):
	* event-stream.c (maybe_read_quit_event):
	* event-stream.c (remove_quit_p_event):
	* event-stream.c (event_stream_quit_p):
	* event-stream.c (event_stream_next_event):
	* event-stream.c (sit_for_unwind):
	* event-stream.c (Faccept_process_output):
	* event-stream.c (Fsleep_for):
	* event-stream.c (Fsit_for):
	* event-stream.c (maybe_kbd_translate):
	* event-stream.c (command_builder_find_leaf_no_mule_processing):
	* event-stream.c (reinit_vars_of_event_stream):
	Rearrange some functions for increased clarity -- in particular,
	group all the input-pending/QUIT-related stuff together, and
	put right next to next-event stuff, to which it's related.
	Add the concept of "HOW_MANY" -- when asking whether user input
	is pending, you can ask if at least HOW_MANY events are pending,
	not just if any are.  Add parameter to detect_input_pending()
	for this.  Change recursive_sit_for from a Lisp_Object (which
	could only be Qt or Qnil) to an int, like it should be.
	
	* event-Xt.c:
	* event-Xt.c (THIS_IS_X):
	* event-gtk.c:
	* event-gtk.c (THIS_IS_GTK):
	* event-xlike-inc.c: New file.
	Abstract out similar code in event_{Xt/gtk}_pending_p() and write
	only once, using include-file tricks.  Rewrite this function to
	implement HOW_MANY and only process events when not in_modal_loop.

	* event-msw.c (emacs_mswindows_event_pending_p):
	Implement HOW_MANY and only process events when not in_modal_loop.
	
	* event-tty.c:
	* event-tty.c (tty_timeout_to_emacs_event):
	* event-tty.c (emacs_tty_event_pending_p):
	Implement HOW_MANY.

	* redisplay.c:
	* redisplay.c (QUEUED_EVENTS_REQUIRED_FOR_PREEMPTION):
	* redisplay.c (init_redisplay):
	* redisplay.c (vars_of_redisplay):
	Add var `max-preempts' to control maximum number of preempts.
	(#### perhaps not useful) Rewrite preemption check so that,
	rather than preempting when any user events are available, only
	preempt when a certain number (currently 4) of them are backed up.
	This effectively allows redisplay to proceed to completion in the
	presence of a fast auto-repeat (usually the auto-repeating is
	generated dynamically as necessary), and you get much better
	display behavior with lazy-lock active.
	
	* event-unixoid.c:
	Comment changes.
	
	* event-stream.c (command_event_p_cb):
	* event-stream.c (Fdiscard_input):
	Rewrite discard-input much more simply and safely using the
	drain-queue functions.  I think the old version might loop
	forever if called when in_modal_loop.

	SEMI-UNRELATED CHANGES:
	-----------------------
	
	* event-stream.c (run_pre_idle_hook):
	Turn QUIT-checking back on when running the pre-idle hook so it
	can be quit out of.
	
	* indent.c:
	Document exact functioning of `vertical-motion' better, and its
	differences from GNU Emacs.
	
2003-02-06  Ben Wing  <ben@xemacs.org>

	* unicode.c:
	* unicode.c (struct utf_16_detector):
	* unicode.c (utf_16_detect):
	* unicode.c (struct utf_8_detector):
	* unicode.c (utf_8_detect):
	UTF-8 detector was totally bogus and detected almost anything as UTF-8.
	UTF-16 detector got overly happy with 0x2028's (line separator,
	also space+paren).

2003-02-06  Ben Wing  <ben@xemacs.org>

	* lread.c (Fload_internal):
	Oops.  Plain C can't handle declarations intermixed with statements.

2003-02-06  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (GC_CHECK_NOT_FREE):
	* alloc.c (mark_object_maybe_checking_free):
	* alloc.c (mark_with_description):
	* alloc.c (mark_object):
	Implement tail-recursion in KKCC when the last-marked object is
	a Lisp object, to avoid stack-overflow errors when marking long
	lists.  Factor out some duplicated error-checking into macros.

2003-02-05  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (update-elc.stamp):
	NOBYTECOMPILE -> BYTECOMPILE_CHANGE.

	* esd.c (esd_play_sound_data):
	Warning fixes.
	
	* fns.c:
	* fns.c (mark_bit_vector):
	* fns.c (Frequire):
	* fns.c (vars_of_fns):
	Eliminate bogus require-prints-loading-message; use already
	existent load-always-display-messages instead.  Make sure `load'
	knows we are coming from `require'.
	
	* lread.c:
	* lread.c (READCHARFUN_MAYBE):
	* lread.c (Fload_internal):
	* lread.c (PRINT_LOADING_MESSAGE_1):
	* lread.c (PRINT_LOADING_MESSAGE):
	* lread.c (vars_of_lread):
	Turn on `load-warn-when-source-newer' by default.  Change loading
	message to indicate when we are `require'ing.  Eliminate
	purify_flag hacks to display more messages; instead, loadup and
	friends specify this explicitly with
	`load-always-display-messages'.  Add spaces when batch to clearly
	indicate recursive loading.  Fassoc() does not GC so no need to
	gcpro.

	* gui-x.c:
	* gui-x.c (snarf_widget_values_for_gcpro):
	* gui-x.c (gcpro_popup_callbacks):
	* gui-x.h:
	* menubar-x.c:
	* menubar-x.c (pre_activate_callback):
	* menubar-x.c (set_frame_menubar):
	Fix up crashes when selecting menubar items due to lack of GCPROing
	of callbacks in lwlib structures.

	* eval.c (Fbacktrace):
	* lisp.h:
	* print.c:
	* print.c (canonicalize_printcharfun):
	Don't canonicalize to selected-frame when noninteractive, or
	backtraces get all screwed up as some values are printed through
	the stream console and some aren't.  Export
	canonicalize_printcharfun() and use in Fbacktrace().

2003-02-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in: New symbol: DLSYM_NEEDS_UNDERSCORE.

2003-01-09  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in: Restore USE_XFONTSET.

2003-02-04  Ben Wing  <ben@xemacs.org>

	* s/windowsnt.h:
	* s/windowsnt.h (HAVE_STRLWR):
	Windows has strupr(), strlwr().  Comment fixes.

2003-02-04  Ben Wing  <ben@xemacs.org>

	* text.h: Style fixes.

2003-01-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* alloc.c (mark_object_maybe_checking_free): C macro syntax
	requires paren to immediately follow definiendum.

2003-01-30  Stephen J. Turnbull  <stephen@xemacs.org>

	* file-coding.c (vars_of_file_coding): Fprovide here ...
	(syms_of_file_coding): ... not here.  Dem's da rules.

2003-01-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* toolbar-msw.c:
	* menubar-gtk.c (menu_descriptor_to_widget_1):
	* nt.c (mswindows_link):
	* event-msw.c (output_alt_keyboard_state):
	Change C++ style comments to C style.

2003-01-22  Vin Shelton  <acs@xemacs.org>

	* events.h: Change illegal (for C) // comment to /* */

2003-01-15  Jerry James  <james@eecs.ku.edu>

	* emodules.h: #undef everything we redefine for module code.

2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>

	* Makefile.in.in (ldflags): re-order sections for gcc 3.2.
	* s/cygwin.sc: new linker file.

2003-01-11  Mike Sperber  <mike@xemacs.org>

	* window.c (Fdelete_window): Make sure that
	f->last_nonminibuf_window is set to a live window once we're done.
	(contains_window): Abstract this code out of Fdelete_window.

2003-01-10  Mike Sperber  <mike@xemacs.org>

	* window.c (Fdelete_other_windows): Prevent crash for combination
	windows.

2003-01-08  Mike Sperber <mike@xemacs.org>

	* console.h (CDFW_CONSOLE): Don't lead to a crash if we're dealing
	with a dead window/frame/device/console.

2002-12-20  Mike Sperber <mike@xemacs.org>

	* ui-gtk.c: Fix typo from Ben's patch: emacs_ffi_data is a
	typedef, not a struct.  emacs_gtk_object_data is a typedef, not a
	struct.
	

	* gtk-glue.c (gdk_event_to_emacs_event): Fix typos from Ben's
	patch: le -> emacs_event + rearrange the code.

	* event-gtk.c (gtk_event_to_emacs_event): Fix typos from Ben's
	patch: ..._UNDERLYING_GDK_EVENT -> ..._GDK_EVENT, ev -> key_event.

	* device-gtk.c: Fix typo from Ben's patch: x_keysym_map_hash_table
	-> x_keysym_map_hashtable.

2002-12-19  Mike Sperber <mike@xemacs.org>

	* menubar-x.c (set_frame_menubar): Initialize protect_me field of
	popup_data.

2002-12-16  Ben Wing  <ben@xemacs.org>
	Major cleanup of KKCC, etc.

	KKCC, pdump-related:
	
	-- descriptions are written for all objects.  this required some
	   changes in the format of some objects, e.g. extents, popup-data,
	   coding system, lstream, lcrecord-list.
	-- KKCC now handles weakness in markers, hash tables, elsewhere
	   correctly (formerly, you'd eventually get a stack overflow due
	   to endlessly expanding markers).
	-- textual changes: lrecord_description -> memory_description,
	   struct_description -> sized_memory_description.
	-- extensive comment describing descriptions and pdump.
	-- redo XD_UNION so it works inline and change its format to provide
	   sufficient info for pdump.  implement XD_UNION in pdump.  also add
	   XD_UNION_DYNAMIC_SIZE, which works like XD_UNION except for when
	   auto-computing structure sizes.
	-- add support for XD_INDIRECT in description offsets (used by
	   extents).
	-- add support for "description maps", allowing for indirect
	   descriptions that are retrieved from an object at run-time.  this
	   generalizes XD_CODING_SYSTEM_END, XD_SPECIFIER_END, etc., which
	   have now been eliminated.
	-- add a fifth field "flags" to memory_description, to support flags
	   that can be specified for this particular line.  Currently defined
	   flags are XD_FLAG_NO_KKCC (KKCC should ignore this entry; useful
	   for the weakness above in markers, etc.), XD_FLAG_NO_PDUMP (pdump
	   should ignore this entry), XD_FLAG_UNION_DEFAULT_ENTRY (in
	   union maps, this specifies a "default" entry for all remaining
	   values), and XD_FLAG_FREE_LISP_OBJECT (for use with lcrecord-lists).
	-- clean up the kkcc-itis in events, so that the differences
	   between event data as separate objects and as a union are now
	   minimized to a small number of places.  with the new XD_UNION, we
	   no longer need event data as separate objects, so this code is no
	   longer ifdef USE_KKCC, but instead ifdef EVENT_DATA_AS_OBJECTS,
	   not used by default.  make sure that we explicitly free the
	   separate event data objects when no longer in use, to maintain the
	   invariant the event processing causes no consing.
	-- also remove other USE_KKCC ifdefs when not necessary.
	-- allow for KKCC compilation under MS Windows.
	-- fix README.kkcc.
	-- dump_add_root_object -> dump_add_root_lisp_object.
	-- implement dump_add_root_block and use this to handle
	   dump_add_opaque.
	-- factor out some code duplicated in kkcc and pdump.

	Other allocation/object-related:
	
	-- change various *slots.h so MARKED_SLOT() call no longer
	   includes semicolon.
	-- free_marker() takes a Lisp_Object not a direct pointer.
	-- make bit vectors lcrecords, like vectors, and eliminate code
	   that essentially duplicated the lcrecord handling.
	-- additional asserts in FREE_FIXED_TYPE, formerly duplicated in
	   the various callers of this.
	-- all lcrecord allocation functions now zero out the returned
	   lcrecords.  unnecessary calls to zero_lcrecord removed.  add long
	   comment describing these functions.
	-- extract out process and coding system slots, like for buffers,
	   frames, etc.
	-- lcrecords now set the type of items sitting on the free list to
	   lcrecord_type_free.
	-- changes to the way that gap arrays are allocated, for kkcc's
	   benefit -- now, one single memory block with a stretchy array on
	   the end, instead of a separate block holding the array.

	Error-checking-related:
	
	-- now can compile with C++ under MS Windows.  clean up compile errors
	   discovered that way. (a few were real problems)
	-- add C++ error-checking code to verify problems with mismatched
	   GCPRO/UNGCPRO. (there were a few in the kkcc code.) add long
	   comment about how to catch insufficient GCPRO (yes, it's possible
	   using C++).
	-- add debug_p4(), a simple object printer, when debug_print()
	   doesn't work.
	-- add dp() and db() as short synonyms of debug_print(),
	   debug_backtrace().
	-- `print' tries EXTREMELY hard to avoid core dumping when printing
	   when crashing or from debug_print(), and tries as hard as it
	   reasonably can in other situations.
	-- Correct the message output upon crashing to be more up-to-date.
	
	Event-related:
	
	-- document event-matches-key-specifier-p better.
	-- generalize the dispatch queues formerly duplicated in the
	   various event implementations.  add event methods to drain pending
	   events.  generalize and clean up QUIT handling, removing
	   event-specific quit processing.  allow arbitrary keystrokes, not
	   just ASCII, to be the QUIT char.  among other things, this should
	   fix some longstanding bugs in X quit handling.  long comment
	   describing the various event queues.
	-- implement delaying of XFlush() if there are pending expose events.
	   SOMEONE PLEASE TRY THIS OUT.
	-- Fix `xemacs -batch -l dunnet' under Cygwin.  Try to fix under
	   MS Windows but not quite there yet.

	Other:
	
	-- class -> class_ and no more C++ games with this item.
	   new -> new_ in the lwlib code, so far not elsewhere.
	-- use `struct htentry' not `struct hentry' in elhash.c to avoid
	   debugger confusion with hash.c.
	-- new macros ALIST_LOOP_3, ALIST_LOOP_4.

	* README.kkcc:
	* alloc.c:
	* alloc.c (deadbeef_memory):
	* alloc.c (allocate_lisp_storage):
	* alloc.c (copy_lisp_object):
	* alloc.c (ALLOCATE_FIXED_TYPE_1):
	* alloc.c (FREE_FIXED_TYPE):
	* alloc.c (make_vector_internal):
	* alloc.c (make_bit_vector_internal):
	* alloc.c (make_key_data):
	* alloc.c (make_button_data):
	* alloc.c (make_motion_data):
	* alloc.c (make_process_data):
	* alloc.c (make_timeout_data):
	* alloc.c (make_magic_data):
	* alloc.c (make_magic_eval_data):
	* alloc.c (make_eval_data):
	* alloc.c (make_misc_user_data):
	* alloc.c (struct string_chars_block):
	* alloc.c (mark_lcrecord_list):
	* alloc.c (make_lcrecord_list):
	* alloc.c (alloc_managed_lcrecord):
	* alloc.c (free_managed_lcrecord):
	* alloc.c (alloc_automanaged_lcrecord):
	* alloc.c (staticpro_1):
	* alloc.c (staticpro):
	* alloc.c (lispdesc_indirect_count_1):
	* alloc.c (lispdesc_indirect_description_1):
	* alloc.c (lispdesc_one_description_line_size):
	* alloc.c (lispdesc_structure_size):
	* alloc.c (mark_object_maybe_checking_free):
	* alloc.c (mark_with_description):
	* alloc.c (mark_struct_contents):
	* alloc.c (mark_object):
	* alloc.c (tick_lcrecord_stats):
	* alloc.c (free_cons):
	* alloc.c (free_key_data):
	* alloc.c (free_button_data):
	* alloc.c (free_motion_data):
	* alloc.c (free_process_data):
	* alloc.c (free_timeout_data):
	* alloc.c (free_magic_data):
	* alloc.c (free_magic_eval_data):
	* alloc.c (free_eval_data):
	* alloc.c (free_misc_user_data):
	* alloc.c (free_marker):
	* alloc.c (compact_string_chars):
	* alloc.c (gc_sweep):
	* alloc.c (garbage_collect_1):
	* alloc.c (Fgarbage_collect):
	* alloc.c (common_init_alloc_early):
	* alloc.c (init_alloc_early):
	* alloc.c (init_alloc_once_early):
	* buffer.c:
	* buffer.c (mark_buffer):
	* buffer.c (MARKED_SLOT):
	* buffer.c (cleanup_buffer_undo_lists):
	* buffer.c (Fget_file_buffer):
	* buffer.h (MARKED_SLOT):
	* bufslots.h:
	* bytecode.c:
	* callint.c:
	* casetab.c:
	* chartab.c:
	* chartab.c (symbol_to_char_table_type):
	* cmdloop.c:
	* cmdloop.c (Fcommand_loop_1):
	* config.h.in (new):
	* conslots.h:
	* console-gtk-impl.h (struct gtk_frame):
	* console-impl.h:
	* console-impl.h (struct console):
	* console-impl.h (MARKED_SLOT):
	* console-impl.h (CONSOLE_QUIT_EVENT):
	* console-msw-impl.h (XM_BUMPQUEUE):
	* console-msw.c (write_string_to_mswindows_debugging_output):
	* console-msw.h:
	* console-stream-impl.h:
	* console-stream-impl.h (struct stream_console):
	* console-stream.c:
	* console-stream.c (stream_init_console):
	* console-stream.h:
	* console-tty.c:
	* console-tty.h:
	* console-x.h:
	* console.c:
	* console.c (mark_console):
	* console.c (MARKED_SLOT):
	* console.c (allocate_console):
	* console.c (get_console_variant):
	* console.c (create_console):
	* console.c (delete_console_internal):
	* console.c (Fset_input_mode):
	* console.c (Fcurrent_input_mode):
	* console.c (common_init_complex_vars_of_console):
	* console.h:
	* console.h (console_variant):
	* console.h (device_metrics):
	* data.c:
	* data.c (Faref):
	* data.c (Faset):
	* data.c (decode_weak_list_type):
	* database.c:
	* debug.c (xemacs_debug_loop):
	* debug.c (FROB):
	* debug.c (Fadd_debug_class_to_check):
	* debug.c (Fdelete_debug_class_to_check):
	* debug.c (Fset_debug_classes_to_check):
	* debug.c (Fset_debug_class_types_to_check):
	* debug.c (Fdebug_types_being_checked):
	* debug.h (DASSERT):
	* device-gtk.c:
	* device-impl.h (struct device):
	* device-impl.h (MARKED_SLOT):
	* device-msw.c:
	* device-x.c:
	* device-x.c (x_init_device_class):
	* device-x.c (x_comp_visual_info):
	* device-x.c (x_try_best_visual_class):
	* device-x.c (x_init_device):
	* device-x.c (construct_name_list):
	* device-x.c (x_get_resource_prefix):
	* device-x.c (Fx_get_resource):
	* device-x.c (Fx_display_visual_class):
	* device.c:
	* device.c (MARKED_SLOT):
	* device.c (allocate_device):
	* device.c (Fmake_device):
	* device.c (delete_device_internal):
	* device.c (Fset_device_class):
	* device.h:
	* devslots.h:
	* devslots.h (MARKED_SLOT):
	* dialog-msw.c:
	* dired-msw.c (mswindows_ls_sort_fcn):
	* dired-msw.c (mswindows_get_files):
	* dired-msw.c (mswindows_format_file):
	* doprnt.c (parse_doprnt_spec):
	* dumper.c:
	* dumper.c (struct):
	* dumper.c (dump_add_root_block):
	* dumper.c (dump_add_root_struct_ptr):
	* dumper.c (dump_add_root_lisp_object):
	* dumper.c (pdump_struct_list_elt):
	* dumper.c (pdump_get_entry_list):
	* dumper.c (pdump_backtrace):
	* dumper.c (pdump_bump_depth):
	* dumper.c (pdump_register_sub):
	* dumper.c (pdump_register_object):
	* dumper.c (pdump_register_struct_contents):
	* dumper.c (pdump_register_struct):
	* dumper.c (pdump_store_new_pointer_offsets):
	* dumper.c (pdump_dump_data):
	* dumper.c (pdump_reloc_one):
	* dumper.c (pdump_allocate_offset):
	* dumper.c (pdump_scan_by_alignment):
	* dumper.c (pdump_dump_root_blocks):
	* dumper.c (pdump_dump_rtables):
	* dumper.c (pdump_dump_root_lisp_objects):
	* dumper.c (pdump):
	* dumper.c (pdump_load_finish):
	* dumper.c (pdump_file_get):
	* dumper.c (pdump_resource_get):
	* dumper.c (pdump_load):
	* editfns.c (save_excursion_restore):
	* editfns.c (user_login_name):
	* editfns.c (save_restriction_restore):
	* elhash.c:
	* elhash.c (htentry):
	* elhash.c (struct Lisp_Hash_Table):
	* elhash.c (HTENTRY_CLEAR_P):
	* elhash.c (LINEAR_PROBING_LOOP):
	* elhash.c (check_hash_table_invariants):
	* elhash.c (mark_hash_table):
	* elhash.c (hash_table_equal):
	* elhash.c (print_hash_table_data):
	* elhash.c (free_hentries):
	* elhash.c (make_general_lisp_hash_table):
	* elhash.c (decode_hash_table_weakness):
	* elhash.c (decode_hash_table_test):
	* elhash.c (Fcopy_hash_table):
	* elhash.c (resize_hash_table):
	* elhash.c (pdump_reorganize_hash_table):
	* elhash.c (find_htentry):
	* elhash.c (Fgethash):
	* elhash.c (Fputhash):
	* elhash.c (remhash_1):
	* elhash.c (Fremhash):
	* elhash.c (Fclrhash):
	* elhash.c (copy_compress_hentries):
	* elhash.c (elisp_maphash_unsafe):
	* elhash.c (finish_marking_weak_hash_tables):
	* elhash.c (prune_weak_hash_tables):
	* elhash.h:
	* emacs.c:
	* emacs.c (main_1):
	* emacs.c (main):
	* emacs.c (shut_down_emacs):
	* emodules.h (dump_add_root_lisp_object):
	* eval.c:
	* eval.c (unwind_to_catch):
	* eval.c (maybe_signal_error_1):
	* eval.c (maybe_signal_continuable_error_1):
	* eval.c (maybe_signal_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (maybe_signal_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (maybe_signal_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (maybe_syntax_error):
	* eval.c (maybe_sferror):
	* eval.c (maybe_invalid_argument):
	* eval.c (maybe_invalid_constant):
	* eval.c (maybe_invalid_operation):
	* eval.c (maybe_invalid_change):
	* eval.c (maybe_invalid_state):
	* eval.c (Feval):
	* eval.c (call_trapping_problems):
	* eval.c (call_with_suspended_errors):
	* eval.c (warn_when_safe_lispobj):
	* eval.c (warn_when_safe):
	* eval.c (vars_of_eval):
	* event-Xt.c:
	* event-Xt.c (maybe_define_x_key_as_self_inserting_character):
	* event-Xt.c (x_to_emacs_keysym):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (emacs_Xt_enqueue_focus_event):
	* event-Xt.c (emacs_Xt_format_magic_event):
	* event-Xt.c (emacs_Xt_compare_magic_event):
	* event-Xt.c (emacs_Xt_hash_magic_event):
	* event-Xt.c (emacs_Xt_handle_magic_event):
	* event-Xt.c (Xt_timeout_to_emacs_event):
	* event-Xt.c (Xt_process_to_emacs_event):
	* event-Xt.c (signal_special_Xt_user_event):
	* event-Xt.c (emacs_Xt_next_event):
	* event-Xt.c (emacs_Xt_event_handler):
	* event-Xt.c (emacs_Xt_drain_queue):
	* event-Xt.c (emacs_Xt_event_pending_p):
	* event-Xt.c (check_if_pending_expose_event):
	* event-Xt.c (reinit_vars_of_event_Xt):
	* event-Xt.c (vars_of_event_Xt):
	* event-gtk.c:
	* event-gtk.c (IS_MODIFIER_KEY):
	* event-gtk.c (emacs_gtk_format_magic_event):
	* event-gtk.c (emacs_gtk_compare_magic_event):
	* event-gtk.c (emacs_gtk_hash_magic_event):
	* event-gtk.c (emacs_gtk_handle_magic_event):
	* event-gtk.c (gtk_to_emacs_keysym):
	* event-gtk.c (gtk_timeout_to_emacs_event):
	* event-gtk.c (gtk_process_to_emacs_event):
	* event-gtk.c (dragndrop_data_received):
	* event-gtk.c (signal_special_gtk_user_event):
	* event-gtk.c (emacs_gtk_next_event):
	* event-gtk.c (gtk_event_to_emacs_event):
	* event-gtk.c (generic_event_handler):
	* event-gtk.c (emacs_shell_event_handler):
	* event-gtk.c (emacs_gtk_drain_queue):
	* event-gtk.c (emacs_gtk_event_pending_p):
	* event-gtk.c (reinit_vars_of_event_gtk):
	* event-gtk.c (vars_of_event_gtk):
	* event-msw.c:
	* event-msw.c (struct winsock_stream):
	* event-msw.c (winsock_reader):
	* event-msw.c (winsock_writer):
	* event-msw.c (mswindows_enqueue_dispatch_event):
	* event-msw.c (mswindows_enqueue_misc_user_event):
	* event-msw.c (mswindows_enqueue_magic_event):
	* event-msw.c (mswindows_enqueue_process_event):
	* event-msw.c (mswindows_enqueue_mouse_button_event):
	* event-msw.c (mswindows_enqueue_keypress_event):
	* event-msw.c (mswindows_dequeue_dispatch_event):
	* event-msw.c (emacs_mswindows_drain_queue):
	* event-msw.c (mswindows_need_event_in_modal_loop):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (mswindows_wm_timer_callback):
	* event-msw.c (dde_eval_string):
	* event-msw.c (Fdde_alloc_advise_item):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (remove_timeout_mapper):
	* event-msw.c (emacs_mswindows_remove_timeout):
	* event-msw.c (emacs_mswindows_event_pending_p):
	* event-msw.c (emacs_mswindows_format_magic_event):
	* event-msw.c (emacs_mswindows_compare_magic_event):
	* event-msw.c (emacs_mswindows_hash_magic_event):
	* event-msw.c (emacs_mswindows_handle_magic_event):
	* event-msw.c (emacs_mswindows_select_console):
	* event-msw.c (emacs_mswindows_unselect_console):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-msw.c (vars_of_event_mswindows):
	* event-stream.c:
	* event-stream.c (mark_command_builder):
	* event-stream.c (reset_command_builder_event_chain):
	* event-stream.c (allocate_command_builder):
	* event-stream.c (copy_command_builder):
	* event-stream.c (command_builder_append_event):
	* event-stream.c (event_stream_event_pending_p):
	* event-stream.c (event_stream_force_event_pending):
	* event-stream.c (maybe_read_quit_event):
	* event-stream.c (event_stream_drain_queue):
	* event-stream.c (remove_quit_p_event):
	* event-stream.c (event_stream_quit_p):
	* event-stream.c (echo_key_event):
	* event-stream.c (maybe_kbd_translate):
	* event-stream.c (execute_help_form):
	* event-stream.c (event_stream_generate_wakeup):
	* event-stream.c (enqueue_dispatch_event):
	* event-stream.c (enqueue_magic_eval_event):
	* event-stream.c (Fenqueue_eval_event):
	* event-stream.c (enqueue_misc_user_event):
	* event-stream.c (enqueue_misc_user_event_pos):
	* event-stream.c (next_event_internal):
	* event-stream.c (Fnext_event):
	* event-stream.c (Faccept_process_output):
	* event-stream.c (execute_internal_event):
	* event-stream.c (munge_keymap_translate):
	* event-stream.c (command_builder_find_leaf_no_mule_processing):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (lookup_command_event):
	* event-stream.c (is_scrollbar_event):
	* event-stream.c (execute_command_event):
	* event-stream.c (Fdispatch_event):
	* event-stream.c (Fread_key_sequence):
	* event-stream.c (dribble_out_event):
	* event-stream.c (vars_of_event_stream):
	* event-tty.c (tty_timeout_to_emacs_event):
	* event-tty.c (emacs_tty_next_event):
	* event-tty.c (emacs_tty_drain_queue):
	* event-tty.c (reinit_vars_of_event_tty):
	* event-unixoid.c:
	* event-unixoid.c (find_tty_or_stream_console_from_fd):
	* event-unixoid.c (read_event_from_tty_or_stream_desc):
	* event-unixoid.c (drain_tty_devices):
	* event-unixoid.c (poll_fds_for_input):
	* events.c:
	* events.c (deinitialize_event):
	* events.c (zero_event):
	* events.c (mark_event):
	* events.c (print_event_1):
	* events.c (print_event):
	* events.c (event_equal):
	* events.c (event_hash):
	* events.c (Fmake_event):
	* events.c (Fdeallocate_event):
	* events.c (Fcopy_event):
	* events.c (map_event_chain_remove):
	* events.c (character_to_event):
	* events.c (event_to_character):
	* events.c (Fevent_to_character):
	* events.c (format_event_object):
	* events.c (upshift_event):
	* events.c (downshift_event):
	* events.c (event_upshifted_p):
	* events.c (Fevent_live_p):
	* events.c (Fevent_type):
	* events.c (Fevent_timestamp):
	* events.c (CHECK_EVENT_TYPE):
	* events.c (CHECK_EVENT_TYPE2):
	* events.c (CHECK_EVENT_TYPE3):
	* events.c (Fevent_key):
	* events.c (Fevent_button):
	* events.c (Fevent_modifier_bits):
	* events.c (event_x_y_pixel_internal):
	* events.c (event_pixel_translation):
	* events.c (Fevent_process):
	* events.c (Fevent_function):
	* events.c (Fevent_object):
	* events.c (Fevent_properties):
	* events.c (syms_of_events):
	* events.c (vars_of_events):
	* events.h:
	* events.h (struct event_stream):
	* events.h (struct Lisp_Key_Data):
	* events.h (KEY_DATA_KEYSYM):
	* events.h (EVENT_KEY_KEYSYM):
	* events.h (struct Lisp_Button_Data):
	* events.h (EVENT_BUTTON_BUTTON):
	* events.h (struct Lisp_Motion_Data):
	* events.h (EVENT_MOTION_X):
	* events.h (struct Lisp_Process_Data):
	* events.h (EVENT_PROCESS_PROCESS):
	* events.h (struct Lisp_Timeout_Data):
	* events.h (EVENT_TIMEOUT_INTERVAL_ID):
	* events.h (struct Lisp_Eval_Data):
	* events.h (EVENT_EVAL_FUNCTION):
	* events.h (struct Lisp_Misc_User_Data):
	* events.h (EVENT_MISC_USER_FUNCTION):
	* events.h (struct Lisp_Magic_Eval_Data):
	* events.h (EVENT_MAGIC_EVAL_INTERNAL_FUNCTION):
	* events.h (struct Lisp_Magic_Data):
	* events.h (EVENT_MAGIC_UNDERLYING):
	* events.h (EVENT_MAGIC_GDK_EVENT):
	* events.h (struct Lisp_Event):
	* events.h (XEVENT_CHANNEL):
	* events.h (SET_EVENT_TIMESTAMP_ZERO):
	* events.h (SET_EVENT_CHANNEL):
	* events.h (SET_EVENT_NEXT):
	* events.h (XSET_EVENT_TYPE):
	* events.h (struct command_builder):
	* extents.c:
	* extents.c (gap_array_adjust_markers):
	* extents.c (gap_array_recompute_derived_values):
	* extents.c (gap_array_move_gap):
	* extents.c (gap_array_make_gap):
	* extents.c (gap_array_insert_els):
	* extents.c (gap_array_delete_els):
	* extents.c (gap_array_make_marker):
	* extents.c (gap_array_delete_marker):
	* extents.c (gap_array_move_marker):
	* extents.c (make_gap_array):
	* extents.c (free_gap_array):
	* extents.c (extent_list_num_els):
	* extents.c (extent_list_insert):
	* extents.c (mark_extent_auxiliary):
	* extents.c (allocate_extent_auxiliary):
	* extents.c (decode_extent_at_flag):
	* extents.c (verify_extent_mapper):
	* extents.c (symbol_to_glyph_layout):
	* extents.c (syms_of_extents):
	* faces.c:
	* file-coding.c:
	* file-coding.c (struct_detector_category_description =):
	* file-coding.c (detector_category_dynarr_description_1):
	* file-coding.c (struct_detector_description =):
	* file-coding.c (detector_dynarr_description_1):
	* file-coding.c (MARKED_SLOT):
	* file-coding.c (mark_coding_system):
	* file-coding.c (coding_system_extra_description_map):
	* file-coding.c (coding_system_description):
	* file-coding.c (allocate_coding_system):
	* file-coding.c (symbol_to_eol_type):
	* file-coding.c (Fcoding_system_aliasee):
	* file-coding.c (set_coding_stream_coding_system):
	* file-coding.c (struct convert_eol_coding_system):
	* file-coding.c (struct undecided_coding_system):
	* file-coding.c (undecided_mark_coding_stream):
	* file-coding.c (coding_category_symbol_to_id):
	* file-coding.c (struct gzip_coding_system):
	* file-coding.c (coding_system_type_create):
	* file-coding.h:
	* file-coding.h (struct Lisp_Coding_System):
	* file-coding.h (CODING_SYSTEM_SLOT_DECLARATION):
	* file-coding.h (coding_system_variant):
	* file-coding.h (struct coding_system_methods):
	* file-coding.h (DEFINE_CODING_SYSTEM_TYPE_WITH_DATA):
	* file-coding.h (INITIALIZE_CODING_SYSTEM_TYPE_WITH_DATA):
	* file-coding.h (struct coding_stream):
	* fileio.c (Fsubstitute_in_file_name):
	* floatfns.c:
	* fns.c:
	* fns.c (base64_encode_1):
	* frame-gtk.c:
	* frame-gtk.c (Fgtk_start_drag_internal):
	* frame-impl.h (struct frame):
	* frame-impl.h (MARKED_SLOT):
	* frame-msw.c:
	* frame-x.c:
	* frame-x.c (Fcde_start_drag_internal):
	* frame-x.c (Foffix_start_drag_internal):
	* frame.c:
	* frame.c (MARKED_SLOT):
	* frame.c (allocate_frame_core):
	* frame.c (delete_frame_internal):
	* frame.c (Fmouse_position_as_motion_event):
	* frameslots.h:
	* frameslots.h (MARKED_SLOT_ARRAY):
	* free-hook.c:
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-x.c:
	* glyphs-x.c (convert_EImage_to_XImage):
	* glyphs.c:
	* glyphs.c (process_image_string_instantiator):
	* glyphs.c (mark_image_instance):
	* glyphs.c (allocate_image_instance):
	* glyphs.c (unmap_subwindow):
	* glyphs.c (map_subwindow):
	* glyphs.c (syms_of_glyphs):
	* glyphs.c (specifier_type_create_image):
	* glyphs.h:
	* glyphs.h (struct text_image_instance):
	* glyphs.h (struct Lisp_Image_Instance):
	* gmalloc.c:
	* gmalloc.c ("C"):
	* gpmevent.c (Freceive_gpm_event):
	* gpmevent.c (gpm_next_event_cb):
	* gpmevent.c (vars_of_gpmevent):
	* gtk-glue.c (gdk_event_to_emacs_event):
	* gtk-xemacs.c (gtk_xemacs_class_init):
	* gui-msw.c:
	* gui-msw.c (mswindows_handle_gui_wm_command):
	* gui-msw.c (mswindows_translate_menu_or_dialog_item):
	* gui-x.c:
	* gui-x.c (mark_popup_data):
	* gui-x.c (snarf_widget_value_mapper):
	* gui-x.c (gcpro_popup_callbacks):
	* gui-x.c (ungcpro_popup_callbacks):
	* gui-x.c (free_popup_widget_value_tree):
	* gui-x.c (popup_selection_callback):
	* gui-x.h:
	* gui-x.h (struct popup_data):
	* gui.c:
	* gui.c (allocate_gui_item):
	* gutter.c (decode_gutter_position):
	* hash.c (NULL_ENTRY):
	* indent.c (vmotion_1):
	* indent.c (vmotion_pixels):
	* input-method-motif.c (res):
	* input-method-xlib.c (IMInstantiateCallback):
	* input-method-xlib.c (XIM_init_device):
	* input-method-xlib.c (res):
	* intl-encap-win32.c:
	* intl-encap-win32.c (qxeSHGetDataFromIDList):
	* intl-win32.c:
	* intl-win32.c (mswindows_multibyte_cp_type):
	* intl-win32.c (struct mswindows_multibyte_coding_system):
	* keymap.c:
	* keymap.c (make_key_description):
	* keymap.c (keymap_store):
	* keymap.c (get_keyelt):
	* keymap.c (keymap_lookup_1):
	* keymap.c (define_key_parser):
	* keymap.c (key_desc_list_to_event):
	* keymap.c (event_matches_key_specifier_p):
	* keymap.c (meta_prefix_char_p):
	* keymap.c (ensure_meta_prefix_char_keymapp):
	* keymap.c (Fdefine_key):
	* keymap.c (struct raw_lookup_key_mapper_closure):
	* keymap.c (raw_lookup_key):
	* keymap.c (raw_lookup_key_mapper):
	* keymap.c (lookup_keys):
	* keymap.c (lookup_events):
	* keymap.c (Flookup_key):
	* keymap.c (struct map_keymap_unsorted_closure):
	* keymap.c (map_keymap_unsorted_mapper):
	* keymap.c (map_keymap_sorted):
	* keymap.c (map_keymap_mapper):
	* keymap.c (map_keymap):
	* keymap.c (accessible_keymaps_mapper_1):
	* keymap.c (Faccessible_keymaps):
	* keymap.c (Fsingle_key_description):
	* keymap.c (raw_keys_to_keys):
	* keymap.c (format_raw_keys):
	* keymap.c (where_is_recursive_mapper):
	* keymap.c (where_is_internal):
	* keymap.c (describe_map_mapper_shadow_search):
	* keymap.c (keymap_lookup_inherited_mapper):
	* keymap.c (describe_map_mapper):
	* keymap.h (event_matches_key_specifier_p):
	* lisp.h:
	* lisp.h (this):
	* lisp.h (RETURN_NOT_REACHED):
	* lisp.h (struct Lisp_Vector):
	* lisp.h (struct Lisp_Bit_Vector):
	* lisp.h (UNGCPRO_1):
	* lisp.h (NUNGCPRO):
	* lisp.h (NNUNGCPRO):
	* lisp.h (DECLARE_INLINE_HEADER):
	* lrecord.h:
	* lrecord.h (struct lrecord_header):
	* lrecord.h (struct lcrecord_header):
	* lrecord.h (lrecord_type):
	* lrecord.h (struct lrecord_implementation):
	* lrecord.h (RECORD_DUMPABLE):
	* lrecord.h (memory_description_type):
	* lrecord.h (data_description_entry_flags):
	* lrecord.h (struct memory_description):
	* lrecord.h (struct sized_memory_description):
	* lrecord.h (XD_INDIRECT):
	* lrecord.h (XD_IS_INDIRECT):
	* lrecord.h (XD_DYNARR_DESC):
	* lrecord.h (DEFINE_BASIC_LRECORD_IMPLEMENTATION):
	* lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
	* lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION):
	* lrecord.h (alloc_lcrecord_type):
	* lstream.c:
	* lstream.c (Lstream_new):
	* lstream.c (lisp_buffer_marker):
	* lstream.h:
	* lstream.h (lstream_implementation):
	* lstream.h (DEFINE_LSTREAM_IMPLEMENTATION):
	* lstream.h (DEFINE_LSTREAM_IMPLEMENTATION_WITH_DATA):
	* marker.c:
	* marker.c (copy_marker_1):
	* mem-limits.h:
	* menubar-gtk.c:
	* menubar-gtk.c (gtk_popup_menu):
	* menubar-msw.c:
	* menubar-msw.c (mswindows_popup_menu):
	* menubar-x.c (make_dummy_xbutton_event):
	* menubar-x.c (command_builder_operate_menu_accelerator):
	* menubar-x.c (menu_accelerator_safe_compare):
	* menubar-x.c (menu_accelerator_safe_mod_compare):
	* mule-charset.c:
	* mule-charset.c (make_charset):
	* mule-charset.c (Fcharset_property):
	* mule-coding.c:
	* mule-coding.c (ccs_description_1):
	* mule-coding.c (ccs_description =):
	* mule-coding.c (ccsd_description_1):
	* mule-coding.c (ccsd_description =):
	* nt.c (getpwnam):
	* nt.c (init_mswindows_environment):
	* nt.c (get_cached_volume_information):
	* nt.c (mswindows_is_executable):
	* nt.c (read_unc_volume):
	* nt.c (mswindows_access):
	* nt.c (mswindows_link):
	* nt.c (mswindows_fstat):
	* nt.c (mswindows_stat):
	* nt.c (mswindows_executable_type):
	* nt.c (Fmswindows_short_file_name):
	* nt.c (Fmswindows_long_file_name):
	* objects-impl.h (struct Lisp_Color_Instance):
	* objects-impl.h (struct Lisp_Font_Instance):
	* objects-tty.c:
	* objects-x.c (allocate_nearest_color):
	* objects.c:
	* objects.c (Fmake_color_instance):
	* objects.c (Fmake_font_instance):
	* objects.c (font_instantiate):
	* opaque.c:
	* opaque.c (make_opaque):
	* opaque.c (make_opaque_ptr):
	* opaque.c (reinit_opaque_early):
	* opaque.c (init_opaque_once_early):
	* print.c:
	* print.c (printing_badness):
	* print.c (printing_major_badness):
	* print.c (print_internal):
	* print.c (debug_p4):
	* print.c (dp):
	* print.c (debug_backtrace):
	* process-nt.c (nt_create_process):
	* process-nt.c (get_internet_address):
	* process-unix.c:
	* process-unix.c (struct unix_process_data):
	* process-unix.c (get_internet_address):
	* process-unix.c (unix_alloc_process_data):
	* process-unix.c (unix_create_process):
	* process-unix.c (try_to_initialize_subtty):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (process_type_create_unix):
	* process.c:
	* process.c (mark_process):
	* process.c (MARKED_SLOT):
	* process.c (make_process_internal):
	* process.c (Fprocess_tty_name):
	* process.c (decode_signal):
	* process.h:
	* procimpl.h:
	* procimpl.h (struct process_methods):
	* procimpl.h (struct Lisp_Process):
	* rangetab.c:
	* realpath.c (readlink_and_correct_case):
	* redisplay-x.c (x_window_output_end):
	* redisplay-x.c (x_redraw_exposed_area):
	* redisplay-x.c (x_clear_frame):
	* redisplay.c:
	* redisplay.h:
	* redisplay.h (struct rune_dglyph):
	* redisplay.h (struct rune):
	* scrollbar.c:
	* scrollbar.c (create_scrollbar_instance):
	* specifier.c:
	* specifier.c (specifier_empty_extra_description_1):
	* specifier.c (make_specifier_internal):
	* specifier.c (decode_locale_type):
	* specifier.c (decode_how_to_add_specification):
	* specifier.h:
	* specifier.h (struct specifier_methods):
	* specifier.h (DEFINE_SPECIFIER_TYPE_WITH_DATA):
	* specifier.h (INITIALIZE_SPECIFIER_TYPE_WITH_DATA):
	* symbols.c:
	* symbols.c (Fsetplist):
	* symbols.c (default_value):
	* symbols.c (decode_magic_handler_type):
	* symbols.c (handler_type_from_function_symbol):
	* symbols.c (Fdefvaralias):
	* symbols.c (init_symbols_once_early):
	* symbols.c (reinit_symbols_early):
	* symsinit.h:
	* sysdep.c (sys_subshell):
	* sysdep.c (tty_init_sys_modes_on_device):
	* syswindows.h:
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (reinit_eistring_early):
	* text.c (init_eistring_once_early):
	* text.c (reinit_vars_of_text):
	* text.h:
	* text.h (INC_IBYTEPTR_FMT):
	* text.h (DEC_IBYTEPTR_FMT):
	* toolbar.c:
	* toolbar.c (decode_toolbar_position):
	* tooltalk.c:
	* ui-gtk.c:
	* unexnt.c:
	* unexnt.c (_start):
	* unexnt.c (unexec):
	* unexnt.c (get_section_info):
	* unicode.c:
	* unicode.c (vars_of_unicode):
	* window.c:
	* window.c (allocate_window):
	* window.c (new_window_mirror):
	* window.c (update_mirror_internal):
	* winslots.h:

2003-01-08  Andy Piper  <andy@xemacs.org>

	* unexcw.c (copy_executable_and_dump_data_section): Set the stack
	reserve size during unexec().

2002-12-17  Daiki Ueno  <daiki@xemacs.org>

	* process-unix.c (unix_create_process): Set pipe write descriptor
	non-blocking.

2003-01-04  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.10 "burdock" is released.

2002-12-15  Ben Wing  <ben@xemacs.org>

	* ChangeLog: Combine all ChangeLog files.
	* ChangeLog.1, ChangeLog.2: Deleted.

	* window.c (Fset_window_point): Correct to FSF behavior.  This
	fixes some bugs in GNUS reported by Jeff Miller.

2002-12-14  Ben Wing  <ben@xemacs.org>

	* frame.c (enter_redisplay_critical_section):
	* frame.c (exit_redisplay_critical_section):
	Inhibit GC during critical sections.

2002-12-12  Andy Piper  <andy@xemacs.org>

	* sheap.c (report_sheap_usage): fixup calculation.

2002-12-03  John Paul Wallington  <jpw@shootybangbang.com>

	* alloc.c (garbage_collection_messages): New variable.
	(vars_of_alloc): Declare and initialise it.
	(garbage_collect_1): Respect it.

2002-12-02  Mike Sperber <mike@xemacs.org>

	* The Great Window Configuration rewrite: Re-implement window
	configuration functionality in Emacs Lisp.

	* window.h (Fcurrent_window_configuration): Don't export anymore.
	(Qcurrent_window_configuration): Declare.
	(Qset_window_configuration): Declare.
	* event-stream.c (execute_help_form): 
	* bytecode.c (execute_rare_opcode): Call out to Lisp to save
	window excursion.
	* window.c (Qcurrent_window_configuration): Declare.
	(Qwindow_configurationp):
	(Vwindow_configuration_free_list):
	(Qset_window_configuration):
	(Qtemp_buffer_show_hook):
	(struct saved_window): 
	(struct window_config): 
	(SAVED_WINDOW_N): 
	(XWINDOW_CONFIGURATION): 
	(wrap_window_configuration): 
	(WINDOW_CONFIGURATIONP): 
	(CHECK_WINDOW_CONFIGURATION): 
	(mark_window_config): 
	(sizeof_window_config_for_n_windows): 
	(sizeof_window_config): 
	(print_window_config): 
	(saved_window_equal): 
	(window_config_equal): 
	(Fwindow_configuration_p): 
	(mark_windows_in_use_closure): 
	(mark_windows_in_use): 
	(free_window_configuration): 
	(Fset_window_configuration): 
	(count_windows): 
	(saved_window_index): 
	(save_window_save): 
	(Fcurrent_window_configuration): 
	(Fsave_window_excursion): Remove.
	(mark_window_as_deleted): Rectify comment about
	`set-window-configuration'.
	(Fset_window_buffer): Reinstate code not activated because of old
	implementation of window configurations.
	(temp_output_buffer_show): Don't run `temp-buffer-show-hook'
	anymore---this wasn't supposed to happen anyway according to the
	documentation of `temp-buffer-show-function'.
	(reinit_vars_of_window): Don't do the window configuration stuff
	no more
	(vars_of_window): Don't set up `temp-buffer-show-hook' any more.

2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>

	* database.c: Fix open_database. Berkeley DB API has changed in
	4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html

2002-11-25  Mike Sperber <mike@xemacs.org>

	* frame.c (frame_conversion_internal): Convert pixel_to_char
	argument to an enum; allow additional option
	CHAR_TO_DISPLAYABLE_PIXEL.
	* frame.c (Fset_frame_pixel_height): Make `set-frame-pixel-height'
	conform to `frame-pixel-height'.
	(Fset_frame_displayable_pixel_height): New function, equivalent to
	old `set-frame-pixel-height'.
	(Fset_frame_width): Make `set-frame-pixel-width conform to
	`frame-pixel-width'.
	(Fset_frame_displayable_pixel_width): New function, equivalent to
	old `set-frame-pixel-width'.
	(Fset_frame_pixel_size): Make `set-frame-pixel-size conform to
	`frame-pixel-height' and `frame-pixel-width'.
	(Fset_frame_displayable_pixel_size): New function, equivalent to
	old `set-frame-size'.

2002-11-30  Ben Wing  <ben@xemacs.org>

	* eval.c:
	* eval.c (signal_call_debugger):
	Fix up C debugger entrance -- first output the error message, then
	stack trace, then exiting message, then force debugger.
	
	* frame-msw.c (mswindows_init_frame_1): Use EQ not EQUAL to avoid
	QUIT tripping.
	
	* toolbar-msw.c (mswindows_clear_toolbar): Indentation fixes.

2002-11-27  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (garbage_collect_1):
	Better redisplay-related assert.
	
	* elhash.c (xhash_table): Comment change.
	
	* eval.c:
	* eval.c (signal_call_debugger):
	* eval.c (throw_or_bomb_out):
	* eval.c (check_proper_critical_section_gc_protection):
	* eval.c (Fsignal):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* eval.c (flagged_a_squirmer):
	* eval.c (call_trapping_problems):
	* eval.c (warning_will_be_discarded):
	* eval.c (warn_when_safe_lispobj):
	* eval.c (warn_when_safe):
	* eval.c (vars_of_eval):
	Don't generate large warning strings (e.g. backtraces) when they will
	be discarded.

	Implement debug-on-error as documented -- it will enter the
	debugger and crash when an uncaught signal happens noninteractively
	and we are --debug.

	Better redisplay-related asserts.
	
	* frame-msw.c (mswindows_init_frame_1):
	* frame.c (enter_redisplay_critical_section):
	* lisp.h:
	* redisplay.c (redisplay_frame):
	* scrollbar-gtk.c (gtk_update_frame_scrollbars):
	* scrollbar-x.c (x_update_frame_scrollbars):
	* signal.c (check_quit):
	* sysdep.c:
	* sysdep.c (qxe_interruptible_open):

	Fix up documentation related to QUIT (which CANNOT garbage-collect
	under any circumstances), and to redisplay critical sections.
	
	* lread.c:
	* lread.c (Fload_internal):
	* lread.c (PRINT_LOADING_MESSAGE_1):
	* lread.c (locate_file_open_or_access_file):
	* lread.c (locate_file_in_directory_mapper):
	* lread.c (vars_of_lread):
	Add load-ignore-out-of-date-elc-files,
	load-always-display-messages, load-show-full-path-in-messages for
	more robust package compilation and debugging.
	
	* profile.c:
	* profile.c (create_call_count_profile_table):
	* profile.c (profile_increase_call_count):
	* profile.c (Fstart_profiling):
	* profile.c (Fclear_profiling_info):
	* profile.c (get_profiling_info_timing_maphash):
	* profile.c (Fget_profiling_info):
	* profile.c (set_profiling_info_timing_maphash):
	* profile.c (Fset_profiling_info):
	* profile.c (Fprofiling_active_p):
	* profile.c (syms_of_profile):
	* profile.c (vars_of_profile):
	Overhaul profile code.  Change format to include call count and be
	extensible for further info.  Remove call-count-profile-table.
	Add set-profiling-info.  See related profile.el changes (which
	SHOULD ABSOLUTELY be in the core!  Get rid of xemacs-devel and
	xemacs-base packages *yesterday*!).
	
2002-11-22  Ben Wing  <ben@xemacs.org>

	* fileio.c: Fix crashes due to incorrectly ported code from
	FSF.

	* realpath.c: Don't return EIO when a filename is incorrect,
	since the I/O error gets passed all the way up.  Clean up this
	file and avoid using macros as a poor-man's dispatch mechanism --
	it just makes it impossible to follow the code.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* s/cygwin32.h:
	* s/cygwin32.h (TEXT_START):
	-fvtable-thunks is obsolete in GCC 3 and generates warnings.

	* s/mingw32.h:
	* s/windowsnt.h:
	Comment fixes.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* emodules.h:
	Fix warnings from redefining symbols.
	
	* eval.c:
	* eval.c (call_with_condition_handler):
	* eval.c (run_post_gc_hook):
	* eval.c (Ffuncall):
	Fix C++ errors -- no automatic casting between function pointers
	and void *, function declarations inside of functions not allowed.
	
	* event-Xt.c (emacs_Xt_enqueue_focus_event):
	Warning fixes.
	
	* fileio.c (Ffile_truename):
	Warning fixes.
	Use LOCAL_TO_WIN32_FILE_FORMAT rather than duplicating it.
	
	* glyphs-x.c:
	* glyphs-x.c (x_map_subwindow):
	Fix style.
	
	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.h:
	* intl-encap-win32.c:
	* intl-encap-win32.c (qxeRegConnectRegistry):
	* syswindows.h (RegConnectRegistry):
	DdeCreateStringHandle needs to be manual due to new Cygwin bug.
	
	* intl-win32.c:
	* intl-win32.c (wcscmp):
	* intl-win32.c (wcslen):
	wcslen/wcscmp don't seem to exist under G++ 3, Cygwin.
	
	* lisp.h:
	* lisp-union.h:
	* lisp-disunion.h:
	* process-unix.c (unix_send_process):
	Ugh, C needs volatile and C++ must not have volatile.  Remove
	previous volatile hacks, which don't seem to be working any more.
	
	* sheap.c (STATIC_HEAP_SLOP):
	Try to get a working Cygwin build with old unexec.
	
	* sheap.c (more_static_core):
	No NL's in literals allowed.
	
	* symbols.c (Fset):
	Fix C++ errors.
	
	* syswindows.h:
	* syswindows.h (struct):
	* syswindows.h (tagNMDATETIMEFORMATW):
	* syswindows.h (tagNMTTDISPIFNOA):
	* syswindows.h (tagNMTTDISPINFOW):
	Fix Cygwin complaints now that some missing structs have been added.

2002-10-14  Jerry James  <james@xemacs.org>

	* alloc.c: Unconditionally use LISP_FLOAT_TYPE code.
	* bytecode.c: Ditto.
	* data.c: Ditto.
	* ecrt0.c: Ditto.
	* emacs.c: Ditto.
	* event-stream.c: Ditto.
	* floatfns.c: Ditto.
	* lisp.h: Ditto.
	* lread.c: Ditto.
	* print.c: Ditto.
	* config.h.in: Remove LISP_FLOAT_TYPE entry.
	* s/windowsnt.h: Remove LISP_FLOAT_TYPE definition.

2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>

	* emacs.c (shut_down_emacs): Improve crash message.

2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>

	* nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
	using the NAS private array SoundFileInfo that no longer exists in
	NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
	and earlier.  This is broken for some versions between 1.5a and
	1.5f.

2002-10-20  Stephen Turnbull  <steve@tleepslib1>

	* ExternalClient.c (externalClientRealize): Suppress "unused" warning.

2002-10-19  Stephen Turnbull  <stephen@xemacs.org>

	* extw-Xt.c (isMine): Suppress signed-unsigned compare warning.

2002-10-19  Stephen Turnbull  <stephen@xemacs.org>

	* mule-canna.c (Fcanna_touroku_string):
	(Fcanna_change_mode):
	(Fcanna_do_function):
	Fix "unused variable" warnings.

2002-10-18  Stephen Turnbull  <stephen@xemacs.org>

	* event-Xt.c (enqueue_focus_event): Prototype it.

2002-10-24  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (layout_query_geometry): add in fiddle
	factor. Include border text in width layout calculation.
	(layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.

2002-10-24  John Paul Wallington  <jpw@shootybangbang.com>

	* fns.c (Frequire): Add optional `noerror' argument.

2002-10-24  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (layout_query_geometry): only resize dynamically
	if static sizes haven't been set.

2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* extents.c (Fset_extent_property): Document `syntax-table'
	property.

2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>

	* event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
	instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
	the xemacs process did not exit, but looped infinitely here.  This
	fixes that problem.

2002-10-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* regex.c (re_match_2_internal): Declare num_nonshy_regs in
	enclosing scope.

2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>

	* search.c (clear_unused_search_regs): New static function.
	(search_buffer): 
	(simple_search): 
	(boyer_moore):
	Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
	Minor clarifications in comments.

	* regex.c (re_match_2_internal): Ensure no stale submatches.

2002-09-26  Golubev I. N.  <gin@mo.msk.ru>

	* frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
	widget.

2002-09-22  Mike Sperber <mike@xemacs.org>

	* specifier.c (specifier_add_spec): Don't do anything if NILP
	(inst_list)---otherwise, assertions in the rest of the specifier
	code get violated.

2002-09-20  Mike Sperber <mike@xemacs.org>

	(This partially gets back my patch from 2002-07-20 without the
	bug.)
	* process-unix.c (child_setup): Remove Ben's comment noting
	confusion over the file descriptors >= 3: close_process_descs()
	doesn't close all.  Fix fd range to go up to MAXDESC-1 instead
	of 64.
	(unix_create_process): Call begin_dont_check_for_quit to inhibit
	unwanted interaction (and thus breaking of X event synchronicity)
	in the child.

2002-08-08  Jerry James  <james@xemacs.org>

	* Makefile.in.in: ldap.o and postgresql.o have moved.
	* alloc.c (unstaticpro_nodump_1): New function.
	* alloc.c (unstaticpro_nodump): Ditto.
	* depend: Regenerate.
	* eldap.c: Move to modules/ldap.
	* eldap.h: Ditto.
	* emacs.c (main_1): Call LDAP and PostgreSQL initialization
	functions only if they are not modules.
	* emodules.c: Define EMODULES_DO_NOT_REDEFINE to skip changes to
	core functions and macros made in emodules.h.
	* emodules.c (unloading_module): New variable to flag when a
	module unload is in progress.
	* emodules.c (emodules_list): New member unload, to hold a
	function for doing module cleanup at unload time.
	* emodules.c (Fload_module): Note that users should not call this
	function directly.
	* emodules.c (Funload_module): Ditto.  Compile it.  Call the
	module's unload function if it has one.
	* emodules.c (emodules_load): Stop working around formerly broken
	build_string() declaration.  Update load-history for module
	unloading.
	* emodules.c (syms_of_module): Add new symbols.
	* emodules.c (vars_of_module): Add unloading-module.  Make
	Vmodule_extensions use the new format.
	* emodules.h: Block paths from module code into the dump_add*
	functions.
	* emodules.h (EMODULES_VERSION): New version.
	* fileio.c: Add Qfile_name_nondirectory for use in emodules.c.
	* inline.c: eldap.h and postgresql.h have moved.
	* lisp.h: Add unstaticpro_nodump, unloading_module, Qmodule, and
	Qfile_name_sans_extension declarations.
	* lisp.h (Dynarr_delete_object): New macro.
	* lrecord.h (UNDEF_LRECORD_IMPLEMENTATION): New macro.
	* lrecord.h (UNDEF_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
	* postgresql.c: Move to modules/postgresql.
	* postgresql.h: Ditto.
	* symbols.c (reject_constant_symbols): Allow it if we are
	unloading a module.
	* symbols.c (Fset): Allow unbinding constant value forward symbols
	if we are unloading a module.
	* symbols.c (defsubr): Update the load history for modules.
	* symbols.c (defsubr_macro): Ditto.
	* symbols.c (defvar_magic): Ditto.

2002-08-29  Jerry James  <james@xemacs.org>

	* eldap.c: Put #endif tokens in a comment.

	* eldap.c (Fldap_status):
	* eldap.c (syms_of_eldap):
	* eldap.h:
	Change to Fldap_live_p to match Lisp name.

2002-08-19  Andy Piper  <andy@xemacs.org>

	* fileio.c (Ffile_truename): on cygwin using win32 normalize to
	win32 format.

	* realpath.c (xrealpath): normalize drive spec also so that dir
	sep chars are not mixed on cygwin.

2002-09-01  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (winsock_closer): Use closesocket, not CloseHandle
	to close a socket.

2002-08-31  Seiichi Ikiuo  <ikiuo@polyphony.co.jp>

	* file-coding.h (detection_result): fix DET_LOWEST.

	* mule-coding.c
	(big5_detector): Add member 'seen_euc_char'.
	(big5_detect): It was made not to become the trouble of EUC.
	(iso2022_detector): Add member 'longest_even_high_byte'.
	(iso2022_detect): Fix checking for even/odd_high_byte_group.
	The judgment of EUC is changed. 

	* unicode.c: Add DETECTOR_CATEGORY utf_8_bom.
	(utf_8_detector): Add member byteno, first_byte and second_byte.
	(utf_8_detect): The judgment of UTF-8-BOM is added.

2002-08-30  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.9 "brussels sprouts" is released.

2002-08-29  Jerry James  <james@xemacs.org>

	* lisp.h: structrures -> structures.

2002-08-21  Jerry James  <james@xemacs.org>

	* getloadavg.c: Substitute syssignal.h for signal.h.
	* malloc.c: Ditto.
	* unexhp9k3.c: Ditto.
	* syssignal.h: Put NSIG setting code for SVR4 here.
	* s/usg5-4.h: Don't include signal.h.  Remove NSIG setting code,
	since signal.h has not yet been included.

2002-08-16  Steve Youngs  <youngs@xemacs.org>

	* config.h.in (XEMACS_EXTRA_NAME): New.

	* emacs.c (vars_of_emacs): Use it.

2002-08-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* eval.c (do_autoload): GCPRO both arguments and a local Lisp_Object.

	* callint.c (Fcall_interactively):
	* eval.c (function_argcount):
	(Fmacroexpand_internal):
	(Fcommand_execute):
	(Feval):
	(Ffuncall):
	* keymap.c (get_keymap):
	* lisp.h (do_autoload):
	Add comment that do_autoload GCPROs both arguments.

2002-08-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* extents.c (SOE_DEBUG): Warn not to use this until debugging
	functions are rewritten.

2001-08-13  Dmitry Astapov  <adept@umc.com.ua>

	* event-Xt.c (maybe_define_x_key_as_self_inserting_character):
	Don't bogusly reinitialize ascii_character property.

2002-08-13  David Bush  <David.Bush@intel.com>

	* device-msw.c: Correct initialization list for devmode_description
	Add dumpable flag to msprinter-settings for USE_KKCC
	* dialog-msw.c: Add dumpable flag to mswindows-dialog-id for USE_KKCC
	* event-msw.c (mswindows_enqueue_misc_user_event): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_enqueue_magic_event): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_enqueue_process_event): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_enqueue_mouse_button_event): Reorder
	event setup so event type is set first to support USE_KKCC.
	For USE_KKCC use mutator macros to set event parameters
	* event-msw.c (mswindows_enqueue_keypress_event): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_dequeue_dispatch_event): With USE_KKCC
	use accessor to get and mutator macros to set event parameters
	* event-msw.c (mswindows_cancel_dispatch_event): With USE_KKCC
	use accessor macros to get event parameters
	* event-msw.c (mswindows_wm_timer_callback): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_dde_callback): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (mswindows_wnd_proc): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (emacs_mswindows_remove_timeout): With USE_KKCC
	use mutator macros to set event parameters
	* event-msw.c (emacs_mswindows_format_magic_event): With USE_KKCC
	use accessor macro to access magic event type
	* event-msw.c (emacs_mswindows_compare_magic_event): With USE_KKCC
	use accessor macro to access magic event type
	* event-msw.c (emacs_mswindows_hash_magic_event): With USE_KKCC
	use accessor macro to access magic event type
	* event-msw.c (emacs_mswindows_handle_magic_event): With USE_KKCC
	use accessor macro to access magic event type and event data
	* event-msw.c (emacs_mswindows_quit_p): With USE_KKCC use event
	accessor and mutator macros to get/set event parameters
	* gui-msw.c (mswindows_handle_gui_wm_command): For USE_KKCC
	use mutator macros to set event parameters.  Make the event
	data type match the event type.
	* menubar-msw.c (mswindows_popup_menu): With USE_KKCC use
	accessor macros to extract button position

2002-08-12  David Bush  <David.Bush@intel.com>

	* events.c: Use DEFINE_BASIC_LRECORD_IMPLEMENTATION instead of
	DEFINE_LRECORD_IMPLEMENTATION for the new event data objects to cause
	the objects to be flagged as basic.

2002-08-08  Jerry James  <james@xemacs.org>

	* s/linux.h: Turn ORDINARY_LINK on for Linux.

2002-08-02  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	Additions for USE_KKCC:
	* tooltalk.c: Add dumpable-flag to tooltalk_message and
	tooltalk_pattern.
	* ui-gtk.c: Add dumpable-flag to emacs_ffi and emacs_gtk_object.
	Add description for emacs_gtk_boxed.

2002-08-12  Mike Sperber <mike@xemacs.org>

	* event-Xt.c (x_to_emacs_keysym):
	(enqueue_focus_event): Properly initialize event type for USE_KKCC
	(due to suggestions from David Bush <David.Bush@intel.com>).

2002-08-06  Jerry James  <james@xemacs.org>

 	* window.c (Fsplit_window): Count only half of the divider width
 	against the left window when splitting horizontally.

2002-07-29  Jerry James  <james@xemacs.org>

	* lread.c (locate_file): Any nonnegative return value indicates
	success if MODE is nonnegative.

2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>

	* fns.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
	argument. 

2002-08-03  Steve Youngs  <youngs@xemacs.org>

	* objects-gtk.c: Fix '--with-mule' '--with-gtk' builds.
	From Vaclav Barta <vbar@comp.cz>.

2002-08-02  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>

	* postgresql.c: Add dumpable-flag to pgconn and pgresult for
	USE_KKCC.

2002-07-31  Didier Verna  <didier@xemacs.org>

	* file-coding.c (make_coding_system_1): Add missing call to
	`xfree (newname)'.

	* fix memory leak introduced by
	2002-04-14  Ben Wing  <ben@xemacs.org>:
	alloc.c (Fmake_byte_code): don't xnew_array of size 0.
	(sweep_compiled_functions): define ADDITIONAL_FREE_compiled_function
	to free the args field when needed.

2002-07-31  David Bush  <David.Bush@intel.com>

	* eldap.c: Add the dumpable-flag to the USE_KKCC version of 
	DEFINE_LRECORD_IMPLEMENTATION for "ldap"

2002-08-01  Mike Sperber <mike@xemacs.org>

	* event-stream.c:
	* event-Xt.c: 
	* events.h: 
	* events.c: 
	* alloc.c: Fix various kkcc-related nits that show up in MULE and
	union-type builds.

2002-07-31  David Bush  <David.Bush@intel.com>

	* events.c (event_equal): Correct comparison in MS Windows
	conditional code to use event structure defined for -use-kkcc.

2002-07-29  Sean MacLennan <seanm@seanm.ca>

	* glyphs-x.c (x_locate_pixmap_file): Test path not to be 0, before
	using it.

2002-07-29  Jonathan Harris  <jonathan@xemacs.org>

	* s/win32-native.h: Define HAVE_WCHAR_H for native Win32 build.

2002-07-17  Marcus Crestani  <crestani@informatik.uni-tuebingen.de>
	    Markus Kaltenbach  <makalten@informatik.uni-tuebingen.de>
	    Mike Sperber <mike@xemacs.org>

	configure flag to turn these changes on: --use-kkcc
	
	First we added a dumpable flag to lrecord_implementation. It shows,
	if the object is dumpable and should be processed by the dumper.
	* lrecord.h (struct lrecord_implementation): added dumpable flag
	(MAKE_LRECORD_IMPLEMENTATION): fitted the different makro definitions
	to the new lrecord_implementation and their calls.

	Then we changed mark_object, that it no longer needs a mark method for
	those types that have pdump descritions.
	* alloc.c: 
	(mark_object): If the object has a description, the new mark algorithm
	is called, and the object is marked according to its description. 
	Otherwise it uses the mark method like before.
	
	These procedures mark objects according to their descriptions. They 
	are modeled on the corresponding pdumper procedures.
	(mark_with_description): 
	(get_indirect_count): 
	(structure_size): 
	(mark_struct_contents): 
	These procedures still call mark_object, this is needed while there are
	Lisp_Objects without descriptions left.

	We added pdump descriptions for many Lisp_Objects:
	* extents.c: extent_auxiliary_description
	* database.c: database_description
	* gui.c: gui_item_description
	* scrollbar.c: scrollbar_instance_description
	* toolbar.c: toolbar_button_description
	* event-stream.c: command_builder_description
	* mule-charset.c: charset_description
	* device-msw.c: devmode_description
	* dialog-msw.c: mswindows_dialog_id_description
	* eldap.c: ldap_description
	* postgresql.c: pgconn_description
			pgresult_description
	* tooltalk.c: tooltalk_message_description
		      tooltalk_pattern_description
	* ui-gtk.c: emacs_ffi_description
	            emacs_gtk_object_description

	* events.c:
	* events.h:
	* event-stream.c:
	* event-Xt.c:
	* event-gtk.c:
	* event-tty.c:
	To write a pdump description for Lisp_Event, we converted every struct
	in the union event to a Lisp_Object. So we created nine new 
	Lisp_Objects: Lisp_Key_Data, Lisp_Button_Data, Lisp_Motion_Data,
	Lisp_Process_Data, Lisp_Timeout_Data, Lisp_Eval_Data, 
	Lisp_Misc_User_Data, Lisp_Magic_Data, Lisp_Magic_Eval_Data.
	We also wrote makro selectors and mutators for the fields of the new 
	designed Lisp_Event and added everywhere these new abstractions.


	We implemented XD_UNION support in (mark_with_description), so
	we can describe exspecially console/device specific data with XD_UNION.
	To describe with XD_UNION, we added a field to these objects, which 
	holds the variant type of the object. This field is initialized in 
	the appendant constructor. The variant is an integer, it has also to 
	be described in an description, if XD_UNION is used.

	XD_UNION is used in following descriptions:	
	* console.c: console_description
	(get_console_variant): returns the variant
	(create_console): added variant initialization
	* console.h (console_variant): the different console types
	* console-impl.h (struct console): added enum console_variant contype

	* device.c: device_description
	(Fmake_device): added variant initialization
	* device-impl.h (struct device): added enum console_variant devtype

	* objects.c: image_instance_description
	             font_instance_description
	(Fmake_color_instance): added variant initialization
	(Fmake_font_instance): added variant initialization
	* objects-impl.h (struct Lisp_Color_Instance): added color_instance_type
	* objects-impl.h (struct Lisp_Font_Instance): added font_instance_type

	* process.c: process_description
	(make_process_internal): added variant initialization
	* process.h (process_variant): the different process types

2002-07-27  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.8 "broccoli" is released.

2002-07-25  Steve Youngs  <youngs@xemacs.org>

	* process-unix.c (child_setup):
	(unix_create_process):
	Revert Mike's patch of 2002-07-20.

2002-07-20  Mike Sperber <mike@xemacs.org>

	* eval.c (run_post_gc_hook): Use more correct flags when running
	post-gc-hook.

2002-07-20  Mike Sperber <mike@xemacs.org>

	* process-unix.c (child_setup): Don't try to close file
	descriptors for chid process once again---it's already being done
	in close_process_descs.
	(unix_create_process): Call begin_dont_check_for_quit to inhibit
	unwanted interaction (and thus breaking of X event synchronicity)
	in the child.

2002-07-15  Jerry James  <james@xemacs.org>

	* lisp.h: Make Qdll_error visible globally.
	* symbols.c (check_sane_subr): Revert 2002-06-26 change.
	Check only if !initialized.
	* symbols.c (check_module_subr): Add parameter.  Duplicate
	check_sane_subr checks, but signal an error instead of asserting.
	* symbols.c (defsubr): Use check_module_subr parameter.
	* symbols.c (defsubr_macro): Ditto.

2002-07-09  Mike Sperber <mike@xemacs.org>

	* config.h.in: Add USE_KKCC variable to enable upcoming new GC
	algorithms.

2002-07-14  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (mswindows_need_event): Don't wait for a new message
	if the queue is not empty.  Suggested by Paul Moore.

2002-07-08  Stephen J. Turnbull  <stephen@xemacs.org>

	* lisp.h: Declare Fcdr_safe to be callable from C.

2002-07-08  Hrvoje Niksic  <hniksic@xemacs.org>

	* eval.c (Ffunctionp): Return nil for autoloaded macros and
	keymaps.

2002-07-08  Daiki Ueno  <daiki@xemacs.org>

	* glyphs-x.c (x_unmap_subwindow): Deal with the substantial windows.
	(x_map_subwindow): Likewise.

2002-07-08  Mike Sperber <mike@xemacs.org>

	* text.h: Only include wchar.h if we have it; define wcslen
	prototype if we don't.

	* config.h.in: Add stub for HAVE_WCHAR_H.

	* sysdep.c (wcslen): Added definition for systems which don't have
	it.

2002-07-08  Mike Sperber <mike@xemacs.org>

	* process.c (Fstart_process_internal): Do error checking before we
	fork off the child, so the child can't muck with the state of the
	parent.

2002-07-08  Mike Sperber <mike@xemacs.org>

	* ralloc.c (init_ralloc): Allocate properly for pdump.

	* emacs.c (main_1): Revert init_ralloc patch in favor of an
	easier-to-understand solution.

2002-07-05  David Bush  <David.Bush@intel.com>

	* console-msw-impl.h (struct Lisp_Devmode): Lisp_Devmode is typedef'ed
	in console-msw.h, don't do it again with the structure definition

2002-06-26  Jerry James  <james@xemacs.org>

	* symbols.c (check_sane_subr): Let the symbol be bound if it is an
	autoload cookie.

2002-06-24  Andy Piper  <andy@xemacs.org>

	* toolbar-x.c (console_type_create_toolbar_x): declare
	x_clear_frame_toolbars.
	* toolbar-gtk.c (console_type_create_toolbar_gtk): ditto.
	* toolbar-common.h (common_clear_frame_toolbars): ditto.

	* toolbar-common.c (COMMON_OUTPUT_BUTTONS_LOOP): output button if
	whole toolbar was cleared.

	* toolbar-msw.c (mswindows_clear_frame_toolbars): new
	function. Split out from mswindows_output_frame_toolbars.
	(mswindows_output_frame_toolbars): move clear pieces to
	mswindows_output_frame_toolbars.

	* toolbar-common.c (common_clear_frame_toolbars): new function. Split
	out from gtk_output_frame_toolbars.
	(common_output_frame_toolbars): move clear pieces to
	gtk_clear_frame_toolbars.

	* console-impl.h (struct console_methods): add
	clear_frame_toolbars_method.

	* redisplay.c (redisplay_frame): call
	update_frame_toolbars_geometry and re-order update_frame_toolbars.

	* toolbar.h: declare update_frame_toolbars_geometry.

	* toolbar.c (update_frame_toolbars_geometry): new function. Split
	out from update_frame_toolbars.  Call clear_frame_toolbars.
	(update_frame_toolbars): only output, do not change geometry.

	* redisplay.c: add frame_layout_changed.

	* redisplay.h: add frame_layout_changed.
	(CLASS_RESET_CHANGED_FLAGS): set it.
	(GLOBAL_RESET_CHANGED_FLAGS): ditto.
	(CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
	(GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.

	* device-impl.h (struct device): add frame_layout_changed.
	(MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.

	* frame-impl.h (struct frame): add frame_layout_changed.
	(MARK_FRAME_LAYOUT_CHANGED): new.

2002-07-02  Paul Moore  <gustav@morpheus.demon.co.uk>

	* console-msw.h:
	* device-msw.c:
	* device-msw.c (mswindows_init_dde):
	* device-msw.c (mswindows_delete_device):
	  Initialise extra DDE strings for remote execution, and change
	  DDE initialisation to send ADVISE and REQUEST notifications.
	
	* emacs.c (main_1):
	  Add symbols of event_mswindows.
	
	* event-msw.c:
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (syms_of_event_mswindows):
	  Add DDE support for remote execution.

2002-06-12  Andy Piper  <andy@xemacs.org>

	* glyphs.c (query_string_geometry): check the string.

	* glyphs-widget.c (widget_logical_unit_height): cope with nil
	widget names.

2002-06-12  Andy Piper  <andy@xemacs.org>

	* frame-msw.c (msprinter_init_frame_3): calculate the frame size
	for printing on accurately.

2002-06-09  Rick Rankin <rick_rankin@yahoo.com>

	* event-msw.c (mswindows_wnd_proc): Add a handler for the
	WM_ACTIVATE message. Make sure that the frame is visible if the
	window is visible. This seemss to fix the problem where XEmacs
	appears to freeze after switching desktops with certain virtual
	window managers.
	(debug_output_mswin_message): Added code to output message
	parameters for WM_WINDOWPOSCHANGED, 
	WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.

2002-07-05  Jonathan Harris  <jonathan@xemacs.org>

	* emacs.c (main_1): Conditionalise calls to
	syms_of_dired_mswindows() and vars_of_dired_mswindows() on
	WIN32_NATIVE instead of redundant HAVE_MSW_C_DIRED
	
2002-07-03  Mike Sperber <mike@xemacs.org>

	* emacs.c (main_1): We need to call init_ralloc twice for PDUMP,
	otherwice ralloc won't do anything for us.

2002-07-01  Mike Sperber <mike@xemacs.org>

	* process-unix.c (unix_send_process): Mark coding_outstream as
	non-open upon SIGPIPE.

	* event-stream.c (execute_internal_event): Reinstate code to
	deactivate a dead network connection that got lost during the
	stdout/stderr separation.

	* event-stream.c (Fnext_event): Reorder switch cases to something
	that makes sense.

2002-06-27  Olivier Galibert  <galibert@pobox.com>

	* input-method-motif.c: Fix the #includes.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* frame-impl.h (struct frame): Make comment refer to new file.

2002-06-27  Mike Sperber <mike@xemacs.org>

	* eval.c (Ffuncall): Run `post-gc-hook' if GC just happened.

	* alloc.c (garbage_collect_1): Delay running `post-gc-hook' until later.

	* data.c (prune_weak_boxes): Rewrite for better readability.

2002-06-23  Martin Köbele  <martin@mkoebele.de>
	    Jens Müller <jmueller@informatik.uni-tuebingen.de>
	    Mike Sperber <mike@xemacs.org>

        * lrecord.h (lrecord_type): add lrecord_type_ephemeron
	to lrecord_type enumeration.

	* lisp.h (XEPHEMERON): 
	(XEPHEMERON_REF): 
	(XEPHEMERON_NEXT): 
	(XEPHEMERON_FINALIZER): 
	(XSET_EPHEMERON_NEXT): 
	(XSET_EPHEMERON_VALUE): 
	(XSET_EPHEMERON_KEY): 
	(wrap_ephemeron): 
	(EPHEMERONP): 
	(CHECK_EPHEMERON): 
	(CONCHECK_EPHEMERON): 
        (struct ephemeron): Add representation of ephemerons.

        * alloc.c (garbage_collect_1):
        (finish_marking_ephemerons):
        (prune_ephemerons): Call.

        * data.c:
        (finish_marking_ephemerons):
        (prune_ephemerons):
        (mark_ephemeron):
        (print_ephemeron):
        (ephemeron_equal)
        (ephemeron_hash)::
        (make_ephemeron):
        (Fmake_ephemeron):
        (Fephemeronp):
        (Fephemeron_ref):
        (syms_of_data):
        (vars_of_data): Add implementation of ephemerons

2002-06-28  Steve Youngs  <youngs@xemacs.org>

	* inline.c: Include device-impl.h, extents-impl.h, frame-impl.h,
	and objects-impl.h to pick up some error_check_* functions.
	Remove console.h, extents.h, frame.h and objects.h because the
	*-impl.h files include them.
	
2002-06-17  Jerry James  <james@xemacs.org>

	* sysdll.c: Remove RTLD_GLOBAL initialization.
	* sysdll.c (dll_open): Do not use RTLD_GLOBAL.

2002-06-24  Mike Sperber  <mike@xemacs.org>

	* search.c (skip_chars): Fix a crash if NILP(lim).

2002-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* unicode.c: More comment and string fiddling.

2002-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* unicode.c: Improve top-level comments and many docstrings.

	(Fparse_unicode_translation_table): Use right function name in error.

	(unicode_to_ichar): Renamed from unicode_to_char.
	(Funicode_to_char): 
	(decode_unicode_char):
	Use new name.

	(add_charsets_to_precedence_list): Change the dynarr argument
	instead of the global precedence list.

	(Funicode_precedence_list): New function.
	(Fset_language_unicode_precedence_list,
	 Flanguage_unicode_precedence_list,
	 Fset_default_unicode_precedence_list,
	 Fdefault_unicode_precedence_list):
	Docstrings refer to docstring of Funicode_precedence_list.

	(set_unicode_conversion): Assert attempts to change Basic Latin
	(Unicode BMP, row 00).
	(Fset_unicode_conversion): Signal error on changes to Basic Latin.

2002-06-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>

	* dialog-gtk.c:
	* gpmevent.c:
	* gtk-glue.c:
	* gtk-xemacs.c:
	* menubar-gtk.c: Add required #include files to unbreak the build.

	* event-gtk.c (reinit_vars_of_event_gtk): Reinitialise new stream
	fields to unbreak the build.

2002-06-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* ExternalShell.c (hack_event_masks_1): Fix signed-unsigned warning.

	* eldap.c: #include process.h for report_process_error.

	* editfns.c: #include commands.h for zmacs_region_* declarations.

2002-06-22  Mike Sperber  <mike@xemacs.org>

	* faces.c (face_property_matching_instance): Only set cdr of
	matchspec if it's actually a cons.

	* console.h: Define opaque console_methods to unbreak the build.

	* objects.c (initialize_charset_font_caches): 
	(invalidate_charset_font_caches): Only define if we're MULE.
	(font_instantiate): Unbreak for non-MULE.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* s/cygwin32.h:
	Allow pdump to work under Cygwin (mmap is broken, so need to undefine
	HAVE_MMAP).
	
	* s/win32-common.h:
	* s/win32-common.h (NO_MATHERR):
	* s/windowsnt.h:

	Support for fastcall.  Add WIN32_ANY for identifying all Win32
	variants (Cygwin, native, MinGW).  Both of these are properly used
	in another ws.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (disksave_object_finalization):
	* alloc.c (garbage_collect_1):
	* balloon-x.c:
	* balloon-x.c (alloc_color):
	* balloon-x.c (init):
	* buffer.c:
	* buffer.c (Fkill_buffer):
	* bytecode.c:
	* callint.c:
	* cm.c:
	* cmdloop.c:
	* cmdloop.c (Frecursive_edit):
	* cmdloop.c (Fcommand_loop_1):
	* cmds.c:
	* console-gtk.c:
	* console-gtk.h:
	* console-msw.c:
	* console-msw.h:
	* console-msw.h (struct):
	* console-msw.h (wrap_mswindows_dialog_id):
	* console-stream.c:
	* console-stream.h:
	* console-stream.h (stream_canonicalize_device_connection):
	* console-tty.c:
	* console-tty.h:
	* console-x.c:
	* console-x.h:
	* console-x.h (Xt_SET_VALUE):
	* console.c:
	* console.c (Fcdfw_console):
	* console.h:
	* console.h (CDFW_CONSOLE):
	* device-gtk.c:
	* device-gtk.c (gtk_delete_device):
	* device-gtk.c (Fgtk_display_visual_class):
	* device-gtk.c (syms_of_device_gtk):
	* device-gtk.c (vars_of_device_gtk):
	* device-msw.c:
	* device-tty.c:
	* device-x.c:
	* device-x.c (x_init_device):
	* device-x.c (x_delete_device):
	* device-x.c (x_get_resource_prefix):
	* device-x.c (Fdefault_x_device):
	* device-x.c (vars_of_device_x):
	* device.c:
	* device.c (allocate_device):
	* device.c (device_console):
	* device.c (init_global_resources):
	* device.c (init_device_resources):
	* device.c (Fdefault_device):
	* device.c (Fmake_device):
	* device.c (delete_device_internal):
	* device.c (call_critical_lisp_code):
	* device.c (syms_of_device):
	* device.c (vars_of_device):
	* device.h:
	* devslots.h:
	* dialog-gtk.c:
	* dialog-msw.c:
	* dialog-x.c:
	* dialog.c:
	* dialog.c (Fmake_dialog_box_internal):
	* dired-msw.c:
	* editfns.c:
	* emacs.c:
	* event-Xt.c:
	* event-Xt.c (change_frame_visibility):
	* event-gtk.c:
	* event-gtk.c (change_frame_visibility):
	* event-gtk.c (gtk_event_to_emacs_event):
	* event-msw.c:
	* event-stream.c:
	* event-tty.c:
	* event-unixoid.c:
	* events.c:
	* extents.c:
	* extents.h:
	* extents.h (glyph_layout):
	* faces.c:
	* faces.c (face_property_matching_instance):
	* faces.c (init_global_faces):
	* faces.c (init_device_faces):
	* faces.c (complex_vars_of_faces):
	* fileio.c:
	* fns.c:
	* frame-gtk.c:
	* frame-gtk.c (INTERNAL_BORDER_WIDTH):
	* frame-msw.c:
	* frame-tty.c:
	* frame-x.c:
	* frame.c:
	* frame.c (decode_frame_or_selected):
	* frame.h:
	* frame.h (FW_FRAME):
	* frame.h (Value): Removed.
	* frame.h (0): Removed.
	* glyphs-eimage.c:
	* glyphs-gtk.c:
	* glyphs-gtk.c (gtk_locate_pixmap_file):
	* glyphs-msw.c:
	* glyphs-widget.c:
	* glyphs-x.c:
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs.c:
	* glyphs.c (decode_device_ii_format):
	* glyphs.c (Fimage_instance_instantiator):
	* glyphs.c (syms_of_glyphs):
	* glyphs.h:
	* gui-gtk.c:
	* gui-msw.c:
	* gui-x.c:
	* gui-x.c (popup_selection_callback):
	* gui.c:
	* gutter.c:
	* input-method-xlib.c:
	* intl-encap-win32.c:
	* intl-win32.c:
	* intl-win32.c (getacp):
	* intl-win32.c (mswindows_get_registry_charset):
	* intl-win32.c (syms_of_intl_win32):
	* intl-win32.c (vars_of_intl_win32):
	* keymap.c:
	* lisp.h:
	* macros.c:
	* menubar-gtk.c:
	* menubar-msw.c:
	* menubar-x.c:
	* menubar.c:
	* menubar.h:
	* minibuf.c:
	* mule-charset.c:
	* mule-charset.c (Fset_charset_ccl_program):
	* nt.c:
	* objects-gtk.c:
	* objects-gtk.c (gtk_initialize_font_instance):
	* objects-gtk.c (gtk_print_font_instance):
	* objects-gtk.c (gtk_font_instance_truename):
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (console_type_create_objects_gtk):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-gtk.h:
	* objects-msw.c:
	* objects-msw.c (charset_map):
	* objects-msw.c (font_enum_callback_2):
	* objects-msw.c (sort_font_list_function):
	* objects-msw.c (mswindows_enumerate_fonts):
	* objects-msw.c (parse_font_spec):
	* objects-msw.c (create_hfont_from_font_spec):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_list_fonts):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_2):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-msw.c (mswindows_find_charset_font):
	* objects-msw.h:
	* objects-msw.h (mswindows_color_to_string):
	* objects-tty.c:
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-tty.c (tty_find_charset_font):
	* objects-tty.h:
	* objects-x.c:
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_print_font_instance):
	* objects-x.c (x_font_instance_truename):
	* objects-x.c (x_font_spec_matches_charset):
	* objects-x.c (x_find_charset_font):
	* objects-x.c (console_type_create_objects_x):
	* objects-x.h:
	* objects.c:
	* objects.c (mark_font_instance):
	* objects.c (Fmake_font_instance):
	* objects.c (font_validate_matchspec):
	* objects.c (initialize_charset_font_caches):
	* objects.c (font_instantiate):
	* objects.c (reinit_vars_of_objects):
	* objects.h:
	* postgresql.c:
	* print.c:
	* process.h:
	* redisplay-gtk.c:
	* redisplay-msw.c:
	* redisplay-output.c:
	* redisplay-tty.c:
	* redisplay-x.c:
	* redisplay.c:
	* redisplay.c (text_cursor_visible_p_changed):
	* redisplay.h:
	* scrollbar-gtk.c:
	* scrollbar-msw.c:
	* scrollbar-x.c:
	* scrollbar.c:
	* select-gtk.c:
	* select-msw.c:
	* select-x.c:
	* select.c:
	* signal.c:
	* sound.c:
	* specifier.c:
	* specifier.c (print_specifier):
	* specifier.c (setup_device_initial_specifier_tags):
	* specifier.c (Fspecifier_matching_instance):
	* symbols.c:
	* syntax.c (signal_syntax_table_extent_changed):
	* sysdep.c:
	* syssignal.h:
	* syswindows.h:
	* toolbar-common.c:
	* toolbar-gtk.c:
	* toolbar-msw.c:
	* toolbar-msw.c (mswindows_clear_toolbar):
	* toolbar-msw.c (mswindows_free_frame_toolbars):
	* toolbar-x.c:
	* toolbar.c:
	* unicode.c:
	* window.c:
	* window.c (decode_window):
	* window.h:
	* window.h (WINDOW_XFRAME):
	* window.h (XWINDOW_FRAME):
	* window.h (CHECK_LIVE_WINDOW):
	* window.h (window_divider_width):

	The following are the major changes made:

	(1) Separation of various header files into an external and an
	internal version, similar to the existing separation of process.h
	and procimpl.h.  Eventually this should be done for all Lisp
	objects.  The external version has the same name as currently; the
	internal adds -impl.  The external file has XFOO() macros for
	objects, but the structure is opaque and defined only in the
	internal file.  It's now reasonable to move all prototypes in
	lisp.h into the appropriate external file, and this should be
	done.  Currently, separation has been done on extents.h,
	objects*.h, console.h, device.h, frame.h, and window.h.

	For c/d/f/w, the most basic properties are available in the
	external header file, with the macros resolving to functions.  In
	the internal header file, the macros are redefined to directly
	access the structure.  Also, the global MARK_FOO_CHANGED macros
	have been made into functions so that they can be accessed without
	needing to include lots of -impl headers -- they are used in
	almost exclusively in non-time-critical functions, and take up
	enough time that the function overhead will be negligible.
	Similarly, the function overhead from making the basic properties
	mentioned above into functions is negligible, and code that does
	heavy accessing of c/d/f/w structures inevitably ends up needing
	the internal header files, anyway.

	(2) More face changes.

	-- Major rewrite of objects-msw.c.  Now handles wildcard specs
	properly, rather than "truenaming" (or even worse, signalling an
	error, which previously happened with some of the fallbacks if you
	tried to use them in make-font-instance!).

	-- Split charset matching of fonts into two stages -- one to find
	a font specifically designed for a particular charset (by
	examining its registry), the second to find a Unicode font that
	can support the charset.  This needs to proceed as two complete,
	separate instantiations in order to work properly (otherwise many
	of the fonts in the HELLO page look wrong).  This should also make
	it easy to support iso10646 (Unicode) fonts under X.

	-- All default values for fonts are now completely specified in
	the fallbacks.  Stuff from mule-x-init.el has all been moved here,
	merged with the existing specs, and totally rethought so you get
	sensible results. (HELLO now looks much better!).

	-- Generalize the "default X/GTK device" stuff into a
	per-device-type "default device".

	-- Add mswindows-{set-}charset-registry.  In time,
	charset<->code-page conversion functions will be removed.

	-- Wrap protective code around calls to compute device specifier tags,
	and do this computation before calling the face initialization code
	because the latter may need these tags to be correctly updated.

	(3) Other changes.

	* EmacsFrame.c:
	* EmacsFrame.c (EmacsFrameSetValues):
	* glyphs-msw.c:
	* eval.c:
	* gui-x.c:
	* intl-encap-win32.c:
	* search.c (Fstore_match_data):
	* search.c:
	* signal.c:
	* toolbar-msw.c:
	* unicode.c:
	Warning fixes.
	
	* config.h.in:
	#undefs meant to be frobbed by configure *MUST* go inside of
	#ifndef WIN32_NO_CONFIGURE, and everything else *MUST* go outside!

	* eval.c (Fbacktrace):
	Let detailed backtraces be detailed.
	* specifier.c:
	Don't override user's print-string-length/print-length settings.
	
	* glyphs.c: New function image-instance-instantiator.
	
	* config.h.in:
	* sysdep.c (set_descriptor_non_blocking):
	* sysdep.c (SIG_PARAM_TYPE):
	* sysdep.c (struct save_signal):
	* sysdep.c (save_signal_handlers):
	* sysdep.c (retry_open):
	* sysdep.c (qxe_open):
	Changes for fastcall.

	* sysdep.c (qxe_rename):
	* nt.c (mswindows_rename):
	Fix up a previous botched patch that tried to add support for both
	EEXIST and EACCES.  IF THE BOTCHED PATCH WENT INTO 21.4, THIS FIXUP
	NEEDS TO GO IN, TOO.

	* search.c (skip_chars):
	Fix *evil* crash due to incorrect synching of syntax-cache code
	with 21.1.  THIS SHOULD GO INTO 21.4.

2002-06-07  William M. Perry  <wmperry@gnu.org>

	* frame-x.c (init_x_prop_symbols): Don't attempt to expose the
	toolbar pixels from the EmacsFrame widget, they no longer exist.
	(x_frame_properties): Ditto.
	(x_internal_frame_property_p): Don't check them for internal-ness
	either.

	* EmacsFrame.c: Removed references to the resources for toolbar
	colors.  These are now controlled completely by the 'toolbar'
	face.

	* EmacsFrameP.h: Removed obsolete toolbar pixel slots.

2002-06-05  Ben Wing  <ben@xemacs.org>

	* README.integral-types: Removed.
	* README.global-renaming: Added.

	Stuff specific to the integral types rename was moved to the
	Internals Manual.  The general scripts, suitable for any type
	of global search-and-replace, were moved to README.global-renaming.
	(In the internals manual, they need to be munged by replacing @
	with @@, and this precludes just cutting and pasting from the source
	file, which is what people are naturally going to do.)

2002-06-05  Ben Wing  <ben@xemacs.org>

	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (abbrev_oblookup):
	* abbrev.c (obarray_has_blank_p):
	* abbrev.c (abbrev_count_case):
	* alloc.c (make_uninit_string):
	* alloc.c (resize_string):
	* alloc.c (set_string_char):
	* alloc.c (Fmake_string):
	* alloc.c (Fstring):
	* alloc.c (init_string_ascii_begin):
	* alloc.c (make_string):
	* alloc.c (build_intstring):
	* alloc.c (build_string):
	* alloc.c (build_msg_intstring):
	* alloc.c (build_msg_string):
	* alloc.c (make_string_nocopy):
	* alloc.c (debug_string_purity_print):
	* alloc.c (garbage_collect_1):
	* buffer.c:
	* buffer.c (Fgenerate_new_buffer_name):
	* buffer.c (directory_is_current_directory):
	* buffer.c (get_initial_directory):
	* buffer.c (init_initial_directory):
	* buffer.h:
	* buffer.h (struct buffer_text):
	* buffer.h (VALIDATE_BYTEBPOS_BACKWARD):
	* buffer.h (VALIDATE_BYTEBPOS_FORWARD):
	* buffer.h (BYTE_BUF_FETCH_CHAR):
	* buffer.h (BYTE_BUF_FETCH_CHAR_RAW):
	* buffer.h (BYTE_BUF_ITEXT_COPY_ICHAR):
	* buffer.h (BUFFER_TEXT_LOOP):
	* buffer.h (BUFFER_ALLOC):
	* bytecode.c (invalid_byte_code):
	* bytecode.c (READ_INSTRUCTION_CHAR):
	* bytecode.c (optimize_byte_code):
	* bytecode.c (compiled_function_instructions):
	* callint.c (callint_prompt):
	* callint.c (PROMPT):
	* casefiddle.c (casify_object):
	* casefiddle.c (casify_region_internal):
	* casetab.c (compute_up_or_eqv_mapper):
	* casetab.c (convert_old_style_syntax_string):
	* casetab.c (complex_vars_of_casetab):
	* charset.h:
	* charset.h (ichar_charset):
	* charset.h (BREAKUP_ICHAR):
	* charset.h (struct Lisp_Charset):
	* charset.h (CHARSET_LEADING_BYTE):
	* charset.h (struct charset_lookup):
	* charset.h (ICHAR_FIELD1_MASK):
	* charset.h (ichar_field1):
	* charset.h (MIN_ICHAR_FIELD2_OFFICIAL):
	* charset.h (MIN_ICHAR_FIELD1_OFFICIAL):
	* charset.h (MIN_ICHAR_FIELD2_PRIVATE):
	* charset.h (MIN_ICHAR_FIELD1_PRIVATE):
	* charset.h (MIN_CHAR_OFFICIAL_TYPE9N):
	* charset.h (BREAKUP_ICHAR_1_UNSAFE):
	* chartab.c (get_non_ascii_char_table_value):
	* chartab.c (put_char_table):
	* chartab.c (map_over_charset_ascii_1):
	* chartab.c (map_over_charset_row):
	* chartab.c (map_over_other_charset):
	* chartab.c (map_char_table):
	* chartab.c (chartab_instantiate):
	* chartab.c (check_category_char):
	* chartab.c (Fcheck_category_at):
	* chartab.c (Fchar_in_category_p):
	* chartab.c (word_boundary_p):
	* chartab.h:
	* chartab.h (struct chartab_range):
	* cmds.c:
	* cmds.c (Fself_insert_command):
	* cmds.c (internal_self_insert):
	* console-gtk.h:
	* console-msw.c (GetConsoleHwnd):
	* console-msw.c (mswindows_output_console_string):
	* console-msw.c (Fmswindows_debugging_output):
	* console-msw.c (write_string_to_mswindows_debugging_output):
	* console-msw.c (DSTRING):
	* console-msw.c (DSYMNAME):
	* console-msw.h:
	* console-stream.c (stream_text_width):
	* console-tty.c (tty_init_console):
	* console-x.c (split_up_display_spec):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.h:
	* console.h (struct console_methods):
	* console.h (struct console):
	* data.c (Fsubr_interactive):
	* data.c (Faref):
	* device-msw.c (msprinter_default_printer):
	* device-msw.c (sync_printer_with_devmode):
	* device-x.c (sanity_check_geometry_resource):
	* device-x.c (signal_if_x_error):
	* device-x.c (x_IO_error_handler):
	* device-x.c (Fx_get_resource_prefix):
	* dialog-msw.c (button_width):
	* dialog-msw.c (handle_question_dialog_box):
	* dired-msw.c (struct):
	* dired-msw.c (mswindows_get_files):
	* dired-msw.c (mswindows_format_file):
	* dired-msw.c (Fmswindows_insert_directory):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion_stat):
	* dired.c (file_name_completion):
	* dired.c (struct user_name):
	* dired.c (user_name_completion):
	* dired.c (make_directory_hash_table):
	* dired.c (Ffile_attributes):
	* doc.c (unparesseuxify_doc_string):
	* doc.c (get_doc_string):
	* doc.c (weird_doc):
	* doc.c (Fsnarf_documentation):
	* doc.c (Fsubstitute_command_keys):
	* doprnt.c (union printf_arg):
	* doprnt.c (doprnt_2):
	* doprnt.c (parse_off_posnum):
	* doprnt.c (parse_doprnt_spec):
	* doprnt.c (get_doprnt_args):
	* doprnt.c (emacs_doprnt_1):
	* doprnt.c (emacs_doprnt_va):
	* doprnt.c (emacs_doprnt):
	* doprnt.c (emacs_vsprintf_string_lisp):
	* doprnt.c (emacs_sprintf_string_lisp):
	* doprnt.c (emacs_vsprintf_malloc_lisp):
	* doprnt.c (emacs_sprintf_malloc_lisp):
	* doprnt.c (emacs_vsprintf_string):
	* doprnt.c (emacs_sprintf_string):
	* doprnt.c (emacs_vsprintf_malloc):
	* doprnt.c (emacs_sprintf_malloc):
	* doprnt.c (emacs_vsprintf):
	* doprnt.c (emacs_sprintf):
	* editfns.c:
	* editfns.c (init_editfns):
	* editfns.c (Fchar_to_string):
	* editfns.c (Fstring_to_char):
	* editfns.c (Ftemp_directory):
	* editfns.c (Fuser_login_name):
	* editfns.c (user_login_name):
	* editfns.c (Fuser_full_name):
	* editfns.c (get_home_directory):
	* editfns.c (Fuser_home_directory):
	* editfns.c (Fcurrent_time_string):
	* editfns.c (Fcurrent_time_zone):
	* editfns.c (Finsert_char):
	* editfns.c (Fcompare_buffer_substrings):
	* editfns.c (Fsubst_char_in_region):
	* editfns.c (Ftranslate_region):
	* editfns.c (Fchar_equal):
	* eldap.c (Fldap_open):
	* emodules.c (emodules_load):
	* emodules.c (emodules_doc_subr):
	* emodules.c (emodules_doc_sym):
	* eval.c (print_subr):
	* eval.c (build_error_data):
	* eval.c (signal_error):
	* eval.c (maybe_signal_error):
	* eval.c (signal_continuable_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (signal_error_2):
	* eval.c (maybe_signal_error_2):
	* eval.c (signal_continuable_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (signal_ferror):
	* eval.c (maybe_signal_ferror):
	* eval.c (signal_continuable_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (signal_ferror_with_frob):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (signal_continuable_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (syntax_error):
	* eval.c (syntax_error_2):
	* eval.c (maybe_syntax_error):
	* eval.c (sferror):
	* eval.c (sferror_2):
	* eval.c (maybe_sferror):
	* eval.c (invalid_argument):
	* eval.c (invalid_argument_2):
	* eval.c (maybe_invalid_argument):
	* eval.c (invalid_constant):
	* eval.c (invalid_constant_2):
	* eval.c (maybe_invalid_constant):
	* eval.c (invalid_operation):
	* eval.c (invalid_operation_2):
	* eval.c (maybe_invalid_operation):
	* eval.c (invalid_change):
	* eval.c (invalid_change_2):
	* eval.c (maybe_invalid_change):
	* eval.c (invalid_state):
	* eval.c (invalid_state_2):
	* eval.c (maybe_invalid_state):
	* eval.c (wtaerror):
	* eval.c (stack_overflow):
	* eval.c (out_of_memory):
	* eval.c (printing_unreadable_object):
	* eval.c (struct call_trapping_problems):
	* eval.c (call_trapping_problems):
	* eval.c (va_call_trapping_problems):
	* eval.c (calln_trapping_problems):
	* eval.c (call0_trapping_problems):
	* eval.c (call1_trapping_problems):
	* eval.c (call2_trapping_problems):
	* eval.c (call3_trapping_problems):
	* eval.c (call4_trapping_problems):
	* eval.c (call5_trapping_problems):
	* eval.c (eval_in_buffer_trapping_problems):
	* eval.c (run_hook_trapping_problems):
	* eval.c (safe_run_hook_trapping_problems):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (warn_when_safe):
	* event-Xt.c (x_keysym_to_character):
	* event-Xt.c (x_to_emacs_keysym):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (check_for_tty_quit_char):
	* event-gtk.c (gtk_to_emacs_keysym):
	* event-gtk.c (dragndrop_data_received):
	* event-gtk.c (check_for_tty_quit_char):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-stream.c (allocate_command_builder):
	* event-stream.c (echo_key_event):
	* event-stream.c (maybe_kbd_translate):
	* event-stream.c (command_builder_find_leaf_no_mule_processing):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (lookup_command_event):
	* event-stream.c (dribble_out_event):
	* event-unixoid.c (read_event_from_tty_or_stream_desc):
	* event-unixoid.c (event_stream_unixoid_create_io_streams):
	* events.c (character_to_event):
	* events.c (event_to_character):
	* events.c (Fevent_to_character):
	* events.c (nth_of_key_sequence_as_event):
	* events.h:
	* events.h (struct key_data):
	* events.h (struct command_builder):
	* file-coding.c (setup_eol_coding_systems):
	* file-coding.c (make_coding_system_1):
	* file-coding.c (no_conversion_convert):
	* file-coding.c (convert_eol_convert):
	* file-coding.c (look_for_coding_system_magic_cookie):
	* file-coding.h:
	* fileio.c:
	* fileio.c (report_file_type_error):
	* fileio.c (report_error_with_errno):
	* fileio.c (report_file_error):
	* fileio.c (lisp_strerror):
	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (file_name_as_directory):
	* fileio.c (Ffile_name_as_directory):
	* fileio.c (directory_file_name):
	* fileio.c (Fdirectory_file_name):
	* fileio.c (Fmake_temp_name):
	* fileio.c (if):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Ffile_name_absolute_p):
	* fileio.c (check_writable):
	* fileio.c (Ffile_writable_p):
	* fileio.c (Ffile_symlink_p):
	* fileio.c (a_write):
	* filelock.c (struct):
	* filelock.c (MAKE_LOCK_NAME):
	* filelock.c (fill_in_lock_file_name):
	* filelock.c (lock_file_1):
	* filelock.c (current_lock_owner):
	* filelock.c (lock_if_free):
	* filelock.c (lock_file):
	* filelock.c (unlock_file):
	* filelock.c (Ffile_locked_p):
	* fns.c:
	* fns.c (Fstring_lessp):
	* fns.c (concat):
	* fns.c (split_string_by_ichar_1):
	* fns.c (split_external_path):
	* fns.c (split_env_path):
	* fns.c (Fsplit_string_by_char):
	* fns.c (Fsplit_path):
	* fns.c (Ffillarray):
	* fns.c (mapcar1):
	* fns.c (ADVANCE_INPUT):
	* fns.c (base64_encode_1):
	* fns.c (STORE_BYTE):
	* fns.c (base64_decode_1):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* fns.c (Fbase64_decode_string):
	* fns.c (vars_of_fns):
	* font-lock.c (struct context_cache):
	* font-lock.c (find_context):
	* frame-gtk.c (gtk_set_frame_text_value):
	* frame-gtk.c (gtk_set_title_from_ibyte):
	* frame-gtk.c (gtk_set_icon_name_from_ibyte):
	* frame-gtk.c (console_type_create_frame_gtk):
	* frame-msw.c (mswindows_set_title_from_ibyte):
	* frame-msw.c (console_type_create_frame_mswindows):
	* frame-x.c (color_to_string):
	* frame-x.c (x_set_frame_text_value):
	* frame-x.c (x_set_title_from_ibyte):
	* frame-x.c (x_set_icon_name_from_ibyte):
	* frame-x.c (x_cde_transfer_callback):
	* frame-x.c (Fx_window_id):
	* frame-x.c (console_type_create_frame_x):
	* frame.c:
	* frame.c (allocate_frame_core):
	* frame.c (Fmake_frame):
	* frame.c (generate_title_string):
	* frame.c (update_frame_title):
	* frame.c (init_frame):
	* glyphs-eimage.c (my_jpeg_output_message):
	* glyphs-eimage.c (gif_instantiate):
	* glyphs-msw.c (struct color_symbol):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (struct):
	* glyphs-msw.c (resource_name_to_resource):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (charset_of_text):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs-x.c (x_xface_instantiate):
	* glyphs-x.c (safe_XLoadFont):
	* glyphs-x.c (font_instantiate):
	* glyphs.c (print_image_instance):
	* glyphs.c (signal_image_error):
	* glyphs.c (signal_image_error_2):
	* glyphs.c (signal_double_image_error):
	* glyphs.c (signal_double_image_error_2):
	* glyphs.c (query_string_geometry):
	* glyphs.c (query_string_font):
	* glyphs.c (display_table_entry):
	* glyphs.h:
	* gpmevent.c (tty_get_foreign_selection):
	* gui-x.c (menu_separator_style_and_to_external):
	* gui-x.c (add_accel_and_to_external):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.h:
	* gui.c (separator_string_p):
	* gui.c (gui_name_accelerator):
	* gui.h:
	* hpplay.c (player_error_internal):
	* indent.c (column_at_point):
	* indent.c (string_column_at_point):
	* indent.c (byte_spaces_at_point):
	* indent.c (Fmove_to_column):
	* insdel.c (gap_left):
	* insdel.c (gap_right):
	* insdel.c (make_gap):
	* insdel.c (fixup_internal_substring):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (buffer_insert_raw_string_1):
	* insdel.c (buffer_insert_c_string_1):
	* insdel.c (buffer_insert_emacs_char_1):
	* insdel.c (buffer_insert_c_char_1):
	* insdel.c (buffer_delete_range):
	* insdel.c (buffer_replace_char):
	* insdel.h:
	* intl-win32.c (convert_multibyte_to_internal_malloc):
	* keymap.c (make_key_description):
	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (Fdefine_key):
	* keymap.c (Flookup_key):
	* keymap.c (map_keymap_sort_predicate):
	* keymap.c (Fkey_description):
	* keymap.c (Ftext_char_description):
	* keymap.c (describe_map):
	* keymap.c (vars_of_keymap):
	* line-number.c (insert_invalidate_line_number_cache):
	* line-number.h:
	* lisp-disunion.h:
	* lisp-union.h:
	* lisp.h:
	* lisp.h (struct):
	* lisp.h (struct Lisp_String):
	* lisp.h (XCHAR):
	* lisp.h (DECLARE_INLINE_HEADER):
	* lread.c:
	* lread.c (readchar):
	* lread.c (unreadchar):
	* lread.c (Fload_internal):
	* lread.c (locate_file_map_suffixes):
	* lread.c (locate_file_in_directory_mapper):
	* lread.c (locate_file_construct_suffixed_files_mapper):
	* lread.c (readevalloop):
	* lread.c (read0):
	* lread.c (read_escape):
	* lread.c (read_atom_0):
	* lread.c (read_atom):
	* lread.c (parse_integer):
	* lread.c (read_bit_vector):
	* lread.c (read_structure):
	* lread.c (reader_nextchar):
	* lread.c (read1):
	* lread.c (isfloat_string):
	* lread.c (sequence_reader):
	* lread.c (read_list_conser):
	* lread.c (read_list):
	* lread.c (read_vector):
	* lread.c (read_compiled_function):
	* lrecord.h:
	* lstream.c:
	* lstream.c (Lstream_really_write):
	* lstream.c (Lstream_read_1):
	* lstream.c (struct filedesc_stream):
	* lstream.c (filedesc_writer):
	* lstream.c (filedesc_stream_set_pty_flushing):
	* lstream.c (lisp_string_reader):
	* lstream.c (lisp_string_rewinder):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* lstream.h (Lstream_get_ichar):
	* md5.c (Fmd5):
	* menubar-msw.c:
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (displayable_menu_item):
	* menubar-msw.c (populate_menu_add_item):
	* menubar-msw.c (mswindows_char_is_accelerator):
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c (scmp_1):
	* minibuf.c (regexp_ignore_completion_p):
	* minibuf.c (Fall_completions):
	* minibuf.c (echo_area_append):
	* minibuf.c (echo_area_message):
	* minibuf.c (message_internal):
	* minibuf.c (message_append_internal):
	* minibuf.c (message_1):
	* minibuf.c (message_append_1):
	* mule-ccl.c:
	* mule-ccl.c (CCL_WRITE_CHAR):
	* mule-ccl.c (CCL_WRITE_STRING):
	* mule-ccl.c (CCL_MAKE_CHAR):
	* mule-charset.c (make_charset):
	* mule-charset.c (Fmake_charset):
	* mule-coding.c (shift_jis_convert):
	* mule-coding.c (Fdecode_shift_jis_char):
	* mule-coding.c (Fencode_shift_jis_char):
	* mule-coding.c (big5_convert):
	* mule-coding.c (decode_big5_char):
	* mule-coding.c (Fdecode_big5_char):
	* mule-coding.c (Fencode_big5_char):
	* mule-coding.c (charset_by_attributes_or_create_one):
	* mule-coding.c (iso2022_decode):
	* mule-coding.c (iso2022_encode):
	* mule-wnnfns.c (Fwnn_dict_list):
	* mule-wnnfns.c (Fwnn_fuzokugo_get):
	* mule-wnnfns.c (m2w):
	* ndir.h:
	* nt.c:
	* nt.c (getpwnam):
	* nt.c (parse_root):
	* nt.c (get_long_basename):
	* nt.c (mswindows_get_long_filename):
	* nt.c (is_unc_volume):
	* nt.c (nt_get_resource):
	* nt.c (init_mswindows_environment):
	* nt.c (volume_info_data):
	* nt.c (lookup_volume_info):
	* nt.c (add_volume_info):
	* nt.c (get_cached_volume_information):
	* nt.c (get_volume_info):
	* nt.c (is_exec):
	* nt.c (mswindows_opendir):
	* nt.c (mswindows_readdir):
	* nt.c (open_unc_volume):
	* nt.c (read_unc_volume):
	* nt.c (unc_volume_file_attributes):
	* nt.c (mswindows_access):
	* nt.c (mswindows_link):
	* nt.c (mswindows_rename):
	* nt.c (mswindows_unlink):
	* nt.c (mswindows_fstat):
	* nt.c (mswindows_stat):
	* nt.c (mswindows_getdcwd):
	* nt.c (open_input_file):
	* nt.c (open_output_file):
	* nt.c (mswindows_executable_type):
	* nt.c (Fmswindows_short_file_name):
	* nt.c (Fmswindows_long_file_name):
	* nt.c (init_nt):
	* objects-gtk.c (gtk_parse_nearest_color):
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-gtk.h:
	* objects-msw.c (hexval):
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (match_font):
	* objects-msw.c (font_enum_callback_2):
	* objects-msw.c (create_hfont_from_font_spec):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_list_fonts):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-tty.c (tty_initialize_font_instance):
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-tty.c (tty_find_charset_font):
	* objects-x.c (x_font_instance_properties):
	* objects-x.c (x_font_spec_matches_charset):
	* objects-x.c (x_find_charset_font):
	* objects.c (font_spec_matches_charset):
	* objects.h:
	* postgresql.c (init_postgresql_from_environment):
	* print.c:
	* print.c (write_string_to_stdio_stream):
	* print.c (std_handle_out_va):
	* print.c (stderr_out):
	* print.c (stdout_out):
	* print.c (debug_out):
	* print.c (fatal):
	* print.c (output_string):
	* print.c (write_string_1):
	* print.c (write_string):
	* print.c (write_c_string):
	* print.c (write_fmt_string):
	* print.c (write_fmt_string_lisp):
	* print.c (stderr_out_lisp):
	* print.c (Fwrite_char):
	* print.c (float_to_string):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_symbol):
	* print.c (Falternate_debugging_output):
	* print.c (write_string_to_alternate_debugging_output):
	* print.c (Fexternal_debugging_output):
	* process-nt.c (mswindows_compare_env):
	* process-nt.c (nt_create_process):
	* process-nt.c (nt_send_process):
	* process-unix.c:
	* process-unix.c (allocate_pty):
	* process-unix.c (relocate_fd):
	* process-unix.c (child_setup):
	* process-unix.c (unix_create_process):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_process_send_eof):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* process.c (read_process_output):
	* process.c (send_process):
	* process.c (status_message):
	* process.c (decode_signal):
	* process.c (getenv_internal):
	* process.c (putenv_internal):
	* process.c (Fgetenv):
	* process.c (egetenv):
	* process.c (eputenv):
	* process.c (init_xemacs_process):
	* procimpl.h:
	* realpath.c:
	* realpath.c (mswindows_readlink_and_correct_case):
	* realpath.c (cygwin_readlink_and_correct_case):
	* realpath.c (mswindows_abs_start):
	* realpath.c (qxe_realpath):
	* redisplay-gtk.c:
	* redisplay-gtk.c (separate_textual_runs):
	* redisplay-gtk.c (gtk_text_width):
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-gtk.c (gtk_output_string):
	* redisplay-msw.c (separate_textual_runs):
	* redisplay-msw.c (mswindows_output_cursor):
	* redisplay-msw.c (mswindows_output_string):
	* redisplay-msw.c (mswindows_output_display_block):
	* redisplay-msw.c (mswindows_text_width):
	* redisplay-output.c (redisplay_output_layout):
	* redisplay-tty.c:
	* redisplay-tty.c (tty_text_width):
	* redisplay-tty.c (tty_output_display_block):
	* redisplay-tty.c (tty_output_ibyte_string):
	* redisplay-tty.c (tty_output_ichar_dynarr):
	* redisplay-tty.c (substitute_in_dynamic_color_string):
	* redisplay-tty.c (set_foreground_to):
	* redisplay-tty.c (set_background_to):
	* redisplay-x.c:
	* redisplay-x.c (separate_textual_runs):
	* redisplay-x.c (x_text_width):
	* redisplay-x.c (x_output_display_block):
	* redisplay-x.c (x_output_string):
	* redisplay.c:
	* redisplay.c (position_redisplay_data_type):
	* redisplay.c (struct prop_block):
	* redisplay.c (redisplay_text_width_ichar_string):
	* redisplay.c (redisplay_text_width_string):
	* redisplay.c (redisplay_frame_text_width_string):
	* redisplay.c (add_ichar_rune_1):
	* redisplay.c (add_ichar_rune):
	* redisplay.c (add_ibyte_string_runes):
	* redisplay.c (ADD_NEXT_OCTAL_RUNE_CHAR):
	* redisplay.c (add_octal_runes):
	* redisplay.c (add_control_char_runes):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (create_overlay_glyph_block):
	* redisplay.c (generate_formatted_string_db):
	* redisplay.c (add_string_to_fstring_db_runes):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (decode_mode_spec):
	* redisplay.c (init_redisplay):
	* redisplay.h:
	* redisplay.h (struct rune):
	* regex.c:
	* regex.c (RE_TRANSLATE_1):
	* regex.c (itext_ichar):
	* regex.c (INC_IBYTEPTR):
	* regex.c (PATFETCH_RAW):
	* regex.c (PATUNFETCH):
	* regex.c (regex_compile):
	* regex.c (compile_range):
	* regex.c (compile_extended_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_search_2):
	* regex.c (re_match_2_internal):
	* search.c:
	* search.c (TRANSLATE):
	* search.c (fixup_search_regs_for_string):
	* search.c (fast_string_match):
	* search.c (byte_scan_buffer):
	* search.c (scan_buffer):
	* search.c (byte_find_next_ichar_in_string):
	* search.c (skip_chars):
	* search.c (trivial_regexp_p):
	* search.c (search_buffer):
	* search.c (simple_search):
	* search.c (boyer_moore):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (Fregexp_quote):
	* select-common.h (lisp_data_to_selection_data):
	* select-gtk.c (atom_to_symbol):
	* select-x.c (x_atom_to_symbol):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (Fx_store_cutbuffer_internal):
	* sound.h (sound_perror):
	* symbols.c (intern_int):
	* symbols.c (intern):
	* symbols.c (intern_converting_underscores_to_dashes):
	* symbols.c (oblookup):
	* symbols.c (hash_string):
	* symbols.c (init_symbols_once_early):
	* symbols.c (defsymbol_massage_name_1):
	* symbols.c (defsymbol_nodump):
	* symbols.c (defsymbol):
	* symbols.c (defvar_magic):
	* syntax.c (struct lisp_parse_state):
	* syntax.c (syntax_match):
	* syntax.c (WORD_BOUNDARY_P):
	* syntax.c (scan_words):
	* syntax.c (find_start_of_comment):
	* syntax.c (Fforward_comment):
	* syntax.c (scan_lists):
	* syntax.c (Fbackward_prefix_chars):
	* syntax.c (scan_sexps_forward):
	* syntax.c (complex_vars_of_syntax):
	* syntax.h:
	* sysdep.c:
	* sysdep.c (sys_subshell):
	* sysdep.c (get_eof_char):
	* sysdep.c (init_system_name):
	* sysdep.c (qxe_open):
	* sysdep.c (qxe_interruptible_open):
	* sysdep.c (qxe_fopen):
	* sysdep.c (qxe_chdir):
	* sysdep.c (qxe_mkdir):
	* sysdep.c (qxe_opendir):
	* sysdep.c (qxe_readdir):
	* sysdep.c (qxe_rmdir):
	* sysdep.c (qxe_allocating_getcwd):
	* sysdep.c (qxe_access):
	* sysdep.c (qxe_eaccess):
	* sysdep.c (qxe_lstat):
	* sysdep.c (qxe_readlink):
	* sysdep.c (qxe_stat):
	* sysdep.c (qxe_chmod):
	* sysdep.c (qxe_link):
	* sysdep.c (qxe_rename):
	* sysdep.c (qxe_symlink):
	* sysdep.c (qxe_unlink):
	* sysdep.c (qxe_execve):
	* sysdep.c (qxe_getpwnam):
	* sysdep.c (qxe_ctime):
	* sysdep.h:
	* sysdir.h:
	* sysdir.h (qxe_allocating_getcwd):
	* sysfile.h:
	* sysfile.h (DECLARE_INLINE_HEADER):
	* sysproc.h:
	* syspwd.h:
	* systime.h:
	* syswindows.h:
	* syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* syswindows.h (LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
	* syswindows.h (file_data):
	* syswindows.h (DECLARE_INLINE_HEADER):
	* termcap.c (tgetent):
	* tests.c (Ftest_data_format_conversion):
	* text.c:
	* text.c (qxesprintf):
	* text.c (qxestrcasecmp):
	* text.c (ascii_strcasecmp):
	* text.c (qxestrcasecmp_c):
	* text.c (qxestrcasecmp_i18n):
	* text.c (qxestrncasecmp):
	* text.c (ascii_strncasecmp):
	* text.c (qxestrncasecmp_c):
	* text.c (qxestrncasecmp_i18n):
	* text.c (qxememcmp):
	* text.c (qxememcmp4):
	* text.c (qxememcasecmp):
	* text.c (qxememcasecmp4):
	* text.c (qxetextcmp):
	* text.c (qxetextcmp_matching):
	* text.c (qxetextcasecmp):
	* text.c (qxetextcasecmp_matching):
	* text.c (lisp_strcasecmp):
	* text.c (convert_ibyte_string_into_ichar_dynarr):
	* text.c (convert_ibyte_string_into_ichar_string):
	* text.c (convert_ichar_string_into_ibyte_dynarr):
	* text.c (convert_ichar_string_into_malloced_string):
	* text.c (COPY_TEXT_BETWEEN_FORMATS):
	* text.c (copy_text_between_formats):
	* text.c (copy_buffer_text_out):
	* text.c (find_charsets_in_ibyte_string):
	* text.c (find_charsets_in_ichar_string):
	* text.c (ibyte_string_displayed_columns):
	* text.c (ichar_string_displayed_columns):
	* text.c (ibyte_string_nonascii_chars):
	* text.c (eistr_casefiddle_1):
	* text.c (eito_malloc_1):
	* text.c (eicmp_1):
	* text.c (eicpyout_malloc_fmt):
	* text.c (skip_ascii):
	* text.c (bytecount_to_charcount_fun):
	* text.c (charcount_to_bytecount_fun):
	* text.c (struct):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (non_ascii_set_itext_ichar):
	* text.c (non_ascii_itext_ichar):
	* text.c (non_ascii_valid_ichar_p):
	* text.c (non_ascii_itext_copy_ichar):
	* text.c (Lstream_get_ichar_1):
	* text.c (Lstream_fput_ichar):
	* text.c (Lstream_funget_ichar):
	* text.c (Fmake_char):
	* text.c (Fchar_charset):
	* text.c (Fchar_octet):
	* text.c (Fsplit_char):
	* text.c (lookup_composite_char):
	* text.c (composite_char_string):
	* text.c (Fcomposite_char_string):
	* text.c (reinit_vars_of_text):
	* text.h:
	* text.h (MAX_ICHAR_LEN):
	* text.h (ibyte_first_byte_p):
	* text.h (ibyte_leading_byte_p):
	* text.h (ichar_multibyte_p):
	* text.h (ichar_ascii_p):
	* text.h (ichar_16_bit_fixed_p):
	* text.h (ichar_to_raw):
	* text.h (valid_ibyteptr_p):
	* text.h (assert_valid_ibyteptr):
	* text.h (INC_IBYTEPTR):
	* text.h (INC_IBYTEPTR_FMT):
	* text.h (DEC_IBYTEPTR):
	* text.h (DEC_IBYTEPTR_FMT):
	* text.h (VALIDATE_IBYTEPTR_BACKWARD):
	* text.h (VALIDATE_IBYTEPTR_FORWARD):
	* text.h (validate_ibyte_string_backward):
	* text.h (itext_ichar_len):
	* text.h (INC_BYTECOUNT):
	* text.h (simple_itext_ichar):
	* text.h (itext_ichar):
	* text.h (valid_ichar_p):
	* text.h (CHAR_INTP):
	* text.h (ASSERT_VALID_BYTE_STRING_INDEX_UNSAFE):
	* text.h (LISP_STRING_TO_ALLOCA):
	* text.h (alloca_ibytes):
	* text.h (struct):
	* text.h (EI_ALLOC):
	* text.h (eicpy_lstr_off):
	* text.h (eicpy_raw_fmt):
	* text.h (eicpy_rawz_fmt):
	* text.h (eicpy_ch):
	* text.h (eireset):
	* text.h (eito_alloca):
	* text.h (DECLARE_INLINE_HEADER):
	* text.h (eigetch):
	* text.h (eicat_c):
	* text.h (eicat_raw):
	* text.h (eicat_rawz):
	* text.h (eicat_ch):
	* text.h (eisub_1):
	* text.h (eisub_ch):
	* text.h (EI_CASECHANGE):
	* text.h (DFC_LISP_STRING_USE_CONVERTED_DATA):
	* text.h (GET_STRERROR):
	* toolbar-common.c (common_output_toolbar_button):
	* tooltalk.c (check_status):
	* tooltalk.c (tt_message_arg_bval_vector):
	* ui-gtk.c (lisp_to_gtk_type):
	* unexnt.c (unexec):
	* unexnt.c (get_bss_info_from_map_file):
	* unicode.c:
	* unicode.c (sledgehammer_check_from_table):
	* unicode.c (sledgehammer_check_to_table):
	* unicode.c (set_unicode_conversion):
	* unicode.c (ichar_to_unicode):
	* unicode.c (unicode_to_char):
	* unicode.c (Fchar_to_unicode):
	* unicode.c (Funicode_to_char):
	* unicode.c (decode_unicode_char):
	* unicode.c (encode_unicode_char):
	* unicode.c (unicode_convert):
	* win32.c (urlify_filename):
	* win32.c (tstr_to_local_file_format):
	* win32.c (mswindows_canonicalize_filename):
	* win32.c (mswindows_lisp_error_1):
	* win32.c (Fmswindows_cygwin_to_win32_path):

	Text/char naming rationalization.

	[a] distinguish between "charptr" when it refers to operations on
	the pointer itself and when it refers to operations on text; and
	[b] use consistent naming for everything referring to internal
	format, i.e.
 
	Itext == text in internal format
	Ibyte == a byte in such text
	Ichar == a char as represented in internal character format
 
	thus e.g.
 
	set_charptr_emchar -> set_itext_ichar

	The pre and post tags on either side of this change are:
	
	pre-internal-format-textual-renaming
	post-internal-format-textual-renaming

	See the Internals Manual for details of exactly how this was done,
	how to handle the change in your workspace, etc.
	
2002-06-04  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_logical_unit_height): don't try and
	determine geometry of nil strings.

2002-06-03  Andy Piper  <andy@xemacs.org>

	* frame.c (frame_conversion_internal): add conversion appropriate
	for setting frame dimensions in pixels.

	* console.h (struct console_methods): add device-specific widget
	layout functions.

	* emacs.c (main_1): initialize glyph vars.

	* event-Xt.c (handle_focus_event_1): call handle_focus_event_2
	(handle_focus_event_2): new function. Allow focus to
	be set to a particular window and widget.
	(enqueue_focus_event): new function. Create a
	synthetic focus event.
	(emacs_Xt_handle_magic_event): call
	handle_focus_event_2.

	* frame.c (Fset_frame_pixel_height): new function. Allow
	pixel-based sizing. Does the right thing on character-oriented
	displays.
	(Fset_frame_pixel_width): ditto.
	(Fset_frame_pixel_size): ditto.
	(syms_of_frame): declare.

	* general-slots.h: add :vertically-justify and
	:horizontally-justify.

	* glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
	(mswindows_widget_border_width): new function.
	(mswindows_combo_box_instantiate): set border widths.
	(console_type_create_glyphs_mswindows): declare.

	* glyphs-widget.c:
	(check_valid_justification): allow vertical and horizontal
	justification.
	(widget_border_width): new function. Call device methods.
	(widget_instance_border_width): ditto.
	(logical_unit_height): new function. Determine the height of a
	logical-unit. Logical units are intended to provide grid-like
	layout for subcontrols in a layout. If the layout is
	:vertically-justify top then subcontrols will be positioned on
	logical-unit boundaries, thus allowing adjacent subcontrols to
	line up.
	(widget_logical_unit_height): ditto for widgets.
	(redisplay_widget): misc cleanup.
	(widget_spacing): new function. Call device specific
	methods. Intended to be the default gap between adjacent widgets.
	(widget_query_geometry): use new spacing functions to determine
	appropriate geometry.
	(initialize_widget_image_instance): initialize horizontal and
	vertical justification.
	(widget_instantiate): use logica-units where appropriate for
	sizing large widgets.
	(button_query_geometry): use widget_instance_border_width.
	(tree_view_query_geometry): ditto.
	(tab_control_query_geometry): ditto.
	(edit_field_query_geometry): new function.
	(layout_update): pick up :justify, :horizontally-justify and
	:vertically-justify none of which worked previously. :justify is
	used as a fallback for both horizontal and vertical justification.
	(layout_query_geometry): use logical units to size appropriately.
	(layout_layout): ditto.
	(Fwidget_logical_to_character_width): new function. Allow users to
	convert from logical units to characters so that frame sizes can
	be set appropriately.
	(Fwidget_logical_to_character_height): ditto.
	(syms_of_glyphs_widget): declare.
	(image_instantiator_edit_fields): add edit_field_query_geometry.
	(VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
	:horizontally-justify.
	(specifier_vars_of_glyphs_widget): new function. Declare
	Vwidget_border_width which is not yet used.

	* glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
	(x_widget_border_width): new function.
	(x_widget_instantiate): create a sensible name for widgets.
	(console_type_create_glyphs_x): declare x_widget_border_width.

	* glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
	(struct Lisp_Image_Instance): add :vertically-justify and
	:horizontally-justify.
	(LAYOUT_JUSTIFY_TOP): new.
	(IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
	(ROUND_UP): new macro. Round argument up to next integral
	interval.

	* redisplay-output.c (redisplay_output_layout): misc formatting.

	* symsinit.h: declare specifier_vars_of_glyphs_widget.

2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>

	* sysdep.c (sys_rename): Make sys_rename work for the case where
	Windows rename sets errno to EACCES if target file exists.

2002-05-21  Jonathan Harris  <jonathan@xemacs.org>

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Fix detection of metric units to work on Win95

2002-05-25  Andy Piper  <andy@xemacs.org>

	* select-x.c (vars_of_select_x): Fix docstring of
	x-selection-strict-motif-ownership

2002-05-07  Nix  <nix@esperi.demon.co.uk>

	Supersedes 2002-04-17 patch.

	* process.h (PROCESS_LIVE_P): Use the process status as
	evidence of health, not the state of the input stream.
	(PROCESS_READABLE_P): Say if the process is readable
	from. (It may be dead nonetheless.)
	(CHECK_READABLE_PROCESS): Test for that condition.

	* process.c (create_process): Use PROCESS_READABLE_P.
	(read_process_output, set_process_filter): Likewise.

	* process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
	(Fset_process_input_coding_system, Fprocess_coding_system): Likewise.

	This code is #if 0'd, this is not the time to add new functions:

	* process.c (Fprocess_readable_p): Report readability status.
	* process.c (Qprocess_readable_p): New, associated symbol...
	* process.c (syms_of_process): ... initialize it.

2002-05-06  Andy Piper  <andy@xemacs.org>

	* process.h (PROCESS_LIVE_P): revert previous change because of
	tty problems.

2002-04-27  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.

2002-04-26  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
	behavior.

	* config.h.in: pull in 21.5.x change to stop alloca warnings under
	cygwin.

2002-06-02  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* process.c (remove_process): Don't invalidate the process marker
	after the process has died to make point synchronization in
	`call-process-internal' possible.

2002-06-01  Ben Wing  <ben@xemacs.org>

	* buffer.c (init_initial_directory):
	Fix bug noted by someone.
	
	* console-tty.h:
	* device.h (struct device):
	* emacs.c:
	* filelock.c:
	* nt.c:
	* process-nt.c:
	* process-unix.c:
	* process.c:
	* redisplay-tty.c:
	* sysdep.c:
	* sysproc.h:
	* win32.c:
	Redo problem with syssignal.h/sysproc.h dependence noted by Didier
	-- rather than require one included before the other
	(error-prone), just include syssignal.h from sysproc.h
	where it's needed.
	
	* inline.c:
	Include sysfile.h due to inline funs in that header.
	
	* extents.c (Fset_extent_parent):
	Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>.
	
	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>.

	* process.c (syms_of_process):
	Add process-has-separate-stderr-p, used by call-process-internal.

2002-05-28  Martin Köbele <mkoebele@mkoebele.de>, Jens Müller <jmueller@informatik.uni-tuebingen.de>

	* lrecord.h (lrecord_type): Add lrecord_type_weak_box to
	lrecord_type enumeration.

	* alloc.c (garbage_collect_1): Call prune_weak_boxes().

	* lisp.h (struct weak_box): 
	* data.c: 
	(prune_weak_boxes): 
	(mark_weak_box): 
	(print_weak_box): 
	(weak_box_equal): 
	(weak_box_hash): 
	(make_weak_box): 
	(Fmake_weak_box): 
	(Fweak_box_ref): 
	(Fweak_boxp): 
	(syms_of_data): 
	(vars_of_data): Add implementation of weak boxes.

2002-05-29  Ben Wing  <ben@xemacs.org>

	* event-msw.c:
	Oops, paren in wrong place.
	Oops, manifest constant needed earlier than defined.

2002-05-29  Didier Verna  <didier@xemacs.org>

	* process-unix.c (unix_canonicalize_host_name): change gai_error
	to gai_err to avoid shadow declaration.
	* process-unix.c (unix_open_network_stream): ditto.

2002-05-28  Didier Verna  <didier@xemacs.org>

	* emacs.c: comment the inclusion order of syssignal.h and sysproc.h.
	* filelock.c: ditto.
	* nt.c: ditto.
	* sysproc.h: ditto.
	* process-nt.c: ditto.
	* process-unix.c: include syssignal.h before sysproc.h.
	* process.c: ditto.
	* sysdep.c: ditto.
	* win32.c: ditto.

2002-05-28  Ben Wing  <ben@xemacs.org>

	================================================================
   	       ALLOW SEPARATION OF STDOUT AND STDERR IN PROCESSES
	================================================================

	Standard output and standard error can be processed separately in
	a process.  Each can have its own buffer, its own mark in that buffer,
	and its filter function.  You can specify a separate buffer for stderr
	in `start-process' to get things started, or use the new primitives:

        set-process-stderr-buffer
        process-stderr-buffer
	process-stderr-mark
        set-process-stderr-filter
	process-stderr-filter

        Also, process-send-region takes a 4th optional arg, a buffer.

	Currently always uses a pipe() under Unix to read the error output.
	(#### Would a PTY be better?)

	* sysdep.h:
	* sysproc.h:
	* unexfreebsd.c (unexec):
	* unexsunos4.c (unexec):
	* nt.c (init_user_info):
	* emacs.c:
	* emacs.c (main_1):
	* callproc.c:
	* symsinit.h:
	* sysdep.c:
	* sysdep.c (wait_for_termination):
	* Makefile.in.in (objs):
	* process-unix.c (child_setup):
	Delete callproc.c.  Move child_setup() to process-unix.c.
	wait_for_termination() now only needed on a few really old systems.

	* console-msw.h:
	* event-Xt.c (emacs_Xt_select_process):
	* event-Xt.c (emacs_Xt_unselect_process):
	* event-Xt.c (emacs_Xt_create_io_streams):
	* event-Xt.c (emacs_Xt_delete_io_streams):
	* event-Xt.c (debug_process_finalization):
	* event-Xt.c (reinit_vars_of_event_Xt):
	* event-msw.c (get_process_stderr_waitable):
	* event-msw.c (emacs_mswindows_select_process):
	* event-msw.c (emacs_mswindows_unselect_process):
	* event-msw.c (emacs_mswindows_create_io_streams):
	* event-msw.c (emacs_mswindows_delete_io_streams):
	* event-msw.c (debug_process_finalization):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (lstream_type_create_mswindows_selectable):
	* event-stream.c (event_stream_select_process):
	* event-stream.c (event_stream_unselect_process):
	* event-stream.c (event_stream_create_io_streams):
	* event-stream.c (event_stream_delete_io_streams):
	* event-stream.c (Faccept_process_output):
	* event-tty.c (emacs_tty_select_process):
	* event-tty.c (emacs_tty_unselect_process):
	* event-tty.c (emacs_tty_create_io_streams):
	* event-tty.c (emacs_tty_delete_io_streams):
	* event-tty.c (reinit_vars_of_event_tty):
	* event-unixoid.c:
	* event-unixoid.c (get_process_infd):
	* event-unixoid.c (get_process_errfd):
	* event-unixoid.c (event_stream_unixoid_select_process):
	* event-unixoid.c (event_stream_unixoid_unselect_process):
	* event-unixoid.c (event_stream_unixoid_create_io_streams):
	* event-unixoid.c (event_stream_unixoid_delete_io_streams):
	* events.h:
	* events.h (struct event_stream):
	* process-nt.c:
	* process-nt.c (struct nt_process_data):
	* process-nt.c (nt_create_process):
	* process-nt.c (get_internet_address):
	* process-nt.c (nt_open_network_stream):
	* process-unix.c:
	* process-unix.c (struct unix_process_data):
	* process-unix.c (UNIX_DATA):
	* process-unix.c (close_process_descs_mapfun):
	* process-unix.c (close_process_descs):
	* process-unix.c (connect_to_file_descriptor):
	* process-unix.c (process_signal_char):
	* process-unix.c (unix_alloc_process_data):
	* process-unix.c (unix_init_process_io_handles):
	* process-unix.c (unix_create_process):
	* process-unix.c (io_failure): Removed.
	* process-unix.c (unix_tooltalk_connection_p):
	* process-unix.c (unix_set_window_size):
	* process-unix.c (unix_reap_exited_processes):
	* process-unix.c (unix_deactivate_process):
	* process-unix.c (unix_kill_child_process):
	* process.c:
	* process.c (mark_process):
	* process.c (get_process_streams):
	* process.c (get_process_from_usid):
	* process.c (get_process_selected_p):
	* process.c (set_process_selected_p):
	* process.c (make_process_internal):
	* process.c (init_process_io_handles):
	* process.c (create_process):
	* process.c (Fstart_process_internal):
	* process.c (Fopen_multicast_group_internal):
	* process.c (process_setup_for_insertion):
	* process.c (read_process_output):
	* process.c (Fset_process_stderr_buffer):
	* process.c (Fprocess_stderr_mark):
	* process.c (set_process_filter):
	* process.c (Fset_process_filter):
	* process.c (Fset_process_stderr_filter):
	* process.c (Fprocess_stderr_filter):
	* process.c (exec_sentinel_unwind):
	* process.c (exec_sentinel):
	* process.c (status_notify):
	* process.c (Fprocess_send_eof):
	* process.c (deactivate_process):
	* process.c (syms_of_process):
	* process.c (vars_of_process):
	* process.h:
	* procimpl.h:
	* procimpl.h (struct process_methods):
	* procimpl.h (struct Lisp_Process):
	* procimpl.h (DATA_ERRSTREAM):
	Rewrite the process methods to handle a separate channel for
	error input.  Create Lstreams for reading in the error channel.
	Many process methods need change.  In general the changes are
	fairly clear as they involve duplicating what's used for reading
	the normal stdout and changing for stderr -- although tedious,
	as such changes are required throughout the entire process code.
	Rewrote the code that reads process output to do two loops, one
	for stdout and one for stderr.

	* gpmevent.c (get_process_infd):
	* gpmevent.c (Fgpm_enable):
	* tooltalk.c:
	* tooltalk.c (init_tooltalk):
        set_process_filter takes an argument for stderr.

	================================================================
                          NEW ERROR-TRAPPING MECHANISM
	================================================================

        Totally rewrite error trapping code to be unified and support more
        features.  Basic function is call_trapping_problems(), which lets
	you specify, by means of flags, what sorts of problems you want
	trapped.  these can include

	-- quit
	-- errors
	-- throws past the function
	-- creation of "display objects" (e.g. buffers)
	-- deletion of already-existing "display objects" (e.g. buffers)
	-- modification of already-existing buffers
	-- entering the debugger
	-- gc
	-- errors->warnings (ala suspended errors)

	etc.  All other error funs rewritten in terms of this one.
	Various older mechanisms removed or rewritten.

	* window.c (mark_window_as_deleted):
	* window.c (Fdelete_window):
	* window.c (Fset_window_configuration):
	* insdel.c (prepare_to_modify_buffer):
	* insdel.c (buffer_insert_string_1):
	* console.c (create_console):
	* buffer.c (finish_init_buffer):
	* device.c (allocate_device):
	* device.c (Fmake_device):
	* frame.c:
	* frame.c (Fmake_frame):
	* frame.c (allocate_frame_core):
	* frame.c (setup_normal_frame):
	* frame.c (delete_frame_internal):
	* window.c (Fsplit_window):
	* device.c (delete_device_internal):
	* console.c (delete_console_internal):
	* buffer.c (Fkill_buffer):
	When creating a display object, added call to
	note_object_created(), for use with trapping_problems mechanism.
	When deleting, call check_allowed_operation() and note_object
	deleted().

	The trapping-problems code records the objects created since the
	call-trapping-problems began.  Those objects can be deleted, but
	none others (i.e. previously existing ones).

	* bytecode.c (execute_rare_opcode):
	* cmdloop.c:
	* cmdloop.c (initial_command_loop):
	* cmdloop.c (Frecursive_edit):
	* cmdloop.c (call_command_loop):
	internal_catch takes another arg.

	* eval.c:
        Add long comments describing the "five lists" used to maintain
	state (backtrace, gcpro, specbind, etc.) in the Lisp engine.

	* backtrace.h:
	* eval.c (current_warning_level):
	* eval.c (call_debugger):
	* eval.c (signal_call_debugger):
	* eval.c (Fwhen):
	* eval.c (Fcatch):
	* eval.c (internal_catch):
	* eval.c (unwind_to_catch):
	* eval.c (throw_or_bomb_out):
	* eval.c (condition_bind_unwind):
	* eval.c (condition_case_1):
	* eval.c (Fcall_with_condition_handler):
	* eval.c (call_with_condition_handler):
	* eval.c (Fsignal):
	* eval.c (check_catchlist_sanity):
	* eval.c (check_specbind_stack_sanity):
	* eval.c (signal_quit):
	* eval.c (Feval):
	* eval.c (run_hook_list_with_args):
	* eval.c (run_hook):
	* eval.c (get_inhibit_flags):
	* eval.c (check_allowed_operation):
	* eval.c (note_object_created):
	* eval.c (note_object_deleted):
	* eval.c (struct call_trapping_problems):
	* eval.c (flagged_a_squirmer):
	* eval.c (call_trapping_problems_2):
	* eval.c (call_trapping_problems_1):
	* eval.c (call_trapping_problems):
	* eval.c (struct va_call_trapping_problems):
	* eval.c (va_call_trapping_problems_1):
	* eval.c (va_call_trapping_problems):
	* eval.c (call_with_suspended_errors):
	* eval.c (struct calln_trapping_problems):
	* eval.c (calln_trapping_problems_1):
	* eval.c (calln_trapping_problems):
	* eval.c (call1_trapping_problems):
	* eval.c (call2_trapping_problems):
	* eval.c (call3_trapping_problems):
	* eval.c (call4_trapping_problems):
	* eval.c (call5_trapping_problems):
	* eval.c (eval_in_buffer_trapping_problems_1):
	* eval.c (eval_in_buffer_trapping_problems):
	* eval.c (run_hook_trapping_problems):
	* eval.c (safe_run_hook_trapping_problems_1):
	* eval.c (safe_run_hook_trapping_problems):
	* eval.c (struct run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems_1):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (va_run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (reinit_vars_of_eval):
	* eval.c (vars_of_eval):
	Implement trapping-problems mechanism, eliminate old mechanisms or
	redo in terms of new one.

	* frame.c (enter_redisplay_critical_section):
	* frame.c (exit_redisplay_critical_section):
	* gutter.c (redraw_exposed_gutters):
	* gutter.c (Fset_default_gutter_position):
	* gutter.c (Fredisplay_gutter_area):
	Flush out the concept of "critical display section", defined by
	the in_display() var.  Use an internal_bind() to get it reset,
	rather than just doing it at end, because there may be a non-local
	exit.

	* event-msw.c (struct mswindows_protect_modal_loop):
	* event-msw.c (mswindows_protect_modal_loop_1):
	* event-msw.c (mswindows_protect_modal_loop):
	* event-msw.c (mswindows_unmodalize_signal_maybe):
	* event-msw.c (mswindows_pump_outstanding_events):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c:
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (struct ntpipe_slurp_stream_shared_data):
	* event-msw.c (struct ntpipe_shove_stream):
	* event-stream.c (pre_command_hook):
	* event-stream.c (post_command_hook):
	* event-stream.c (vars_of_event_stream):
	* event-stream.c (run_pre_idle_hook):
	* console-msw.h:
	* device.c (call_critical_lisp_code): Rewrite.
	* dialog-msw.c (dialog_proc):
	* frame.c (adjust_frame_size):
	* frame.h:
	* intl.c (init_intl):
	* toolbar.c (Fset_default_toolbar_position):
	* toolbar.c (update_toolbar_button):
	* menubar-msw.c (unsafe_handle_wm_initmenu_1):
	* menubar-msw.c (mswindows_handle_wm_initmenupopup):
	* menubar-msw.c (mswindows_handle_wm_initmenu):
	* redisplay.c:
	* redisplay.c (call_redisplay_end_triggers):
	* redisplay.c (redisplay_frame):
	* redisplay.c (redisplay_no_pre_idle_hook):
	* redisplay.c (eval_within_redisplay):
	* redisplay.c (Fredisplay_echo_area):
	* alloc.c (garbage_collect_1):
	* menubar-x.c:
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (struct menu_item_descriptor_to_widget_value):
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value):
	* menubar-x.c (pre_activate_callback):
	Make use of new trapping-errors stuff and rewrite code based on
	old mechanisms.

	* glyphs-widget.c (widget_query_geometry):
	* glyphs-widget.c (layout_query_geometry):
	* redisplay.h:
        Protect calling Lisp in redisplay.

	* insdel.c (signal_first_change):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
        Protect hooks against deleting existing buffers.

	* frame-msw.c (mswindows_init_frame_1):
	Use EQ, not EQUAL in hash tables whose keys are just numbers.
	Otherwise we run into stickiness in redisplay because
	internal_equal() can QUIT.

	================================================================
                               SIGNAL, C-G CHANGES
	================================================================

	Here we change the way that C-g interacts with event reading.  The
	idea is that a C-g occurring while we're reading a user event
	should be read as C-g, but elsewhere should be a QUIT.  The former
	code did all sorts of bizarreness -- requiring that no QUIT occurs
	anywhere in event-reading code (impossible to enforce given the
	stuff called or Lisp code invoked), and having some weird system
	involving enqueue/dequeue of a C-g and interaction with Vquit_flag
	-- and it didn't work.

 	Now, we simply enclose all code where we want C-g read as an event
	with {begin/end}_dont_check_for_quit().  This completely turns off
	the mechanism that checks (and may remove or alter) C-g in the
	read-ahead queues, so we just get the C-g normal.

	Signal.c documents this very carefully.

	* cmdloop.c (Fcommand_loop_1):
        Correct use of dont_check_for_quit to new scheme, remove old
        out-of-date comments.

	* event-stream.c (maybe_echo_keys):
	* event-stream.c (enqueue_command_event_1):
	* event-stream.c (next_event_internal):
	* event-stream.c (Fnext_event):
	* event-stream.c (Fnext_command_event):
	* event-stream.c (Fdispatch_non_command_events):
	* event-stream.c (Fdiscard_input):
	* event-stream.c (Fsleep_for):
	* event-stream.c (Fsit_for):
	* event-stream.c (wait_delaying_user_input):
	* event-stream.c (execute_internal_event):
	* event-stream.c (lookup_command_event):
	* event-stream.c (Fread_key_sequence):
	* event-stream.c:
	* event-stream.c (event_stream_next_event):
	 Fix C-g handling to actually work.

	* device-x.c (get_device_from_display):
	* device-x.c (x_error_handler):
	* device-x.c (x_IO_error_handler):
	Disable quit checking when err out.

	* signal.c:
	* signal.c (handle_async_timeout_signal):
	* signal.c (check_what_happened):
	* signal.c (begin_dont_check_for_quit):
	* signal.c (check_quit):
        Cleanup.  Add large descriptive comment.

	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	* process-nt.c (nt_open_network_stream):
	* sysdep.c (retry_read_1):
	* sysdep.c (retry_write_1):
        Use QUIT instead of REALLY_QUIT.
        It's not necessary to use REALLY_QUIT and just confuses the issue.

	* lisp.h (INTERNAL_QUITP): Comment quit handlers.

	================================================================
                                 CONS CHANGES
	================================================================

	free_cons() now takes a Lisp_Object not the result of XCONS().
	car and cdr have been renamed so that they don't get used directly;
	go through XCAR(), XCDR() instead.

	* alloc.c (Fcons):
	* alloc.c (free_cons):
	* alloc.c (free_list):
	* alloc.c (free_alist):
	* dired.c (file_name_completion_unwind):
	* dired.c (user_name_completion_unwind):
	* editfns.c (save_excursion_save):
	* editfns.c (save_excursion_restore):
	* editfns.c (save_restriction_restore):
	* emodules.c (module_load_unwind):
	* fns.c:
	* fns.c (delq_no_quit_and_free_cons):
	* fns.c (merge_pred_function):
	* fns.c (tweaked_internal_equal):
	* glyphs-msw.c (extract_xpm_color_names):
	* glyphs-x.c (extract_xpm_color_names):
	* glyphs.c (image_instantiate_cache_result):
	* glyphs.c (image_instance_changed):
	* keymap.c (traverse_keymaps):
	* minibuf.c (read_minibuffer_internal_unwind):
	* search.c (free_created_dynarrs):
	* eval.c (specbind_unwind_local):
	* lread.c (various):
	* lisp.h (struct Lisp_Cons):
	* lisp.h (cons_car):
        Correct free_cons calling convention: now takes Lisp_Object,
        not Lisp_Cons

	* chartab.c (word_boundary_p):
        Eliminate direct use of ->car, ->cdr, should be black box.


	* callint.c (quotify_args):
        Rewrote using EXTERNAL_LIST_LOOP to avoid use of Lisp_Cons.

	================================================================
                           USE INTERNAL-BIND-*
	================================================================

	* eval.c (restore_lisp_object):
	* eval.c (restore_int):
	Cleanups of these funs.

	* alloc.c (begin_gc_forbidden):
	* fileio.c:
	* fileio.c (close_file_unwind):
	* fileio.c (Fdo_auto_save):
	* undo.c:
	* undo.c (Fprimitive_undo):
	* specifier.c:
	* specifier.c (unlock_ghost_specifiers_protected):
	* specifier.c (set_specifier_caching):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* profile.c (struct get_profiling_info_closure):
	* profile.c (Fget_profiling_info):
	* lread.c:
	* lread.c (load_unwind):
	* lread.c (Fload_internal):
	* lread.c (read0):
	* lread.c (read1):
	* lread.c (read_list_conser):
	* lread.c (read_vector):
	* lread.c (read_compiled_function):
	* redisplay.c (Fredraw_frame):
	* redisplay.c (Fredisplay_frame):
	* redisplay.c (Fredraw_device):
	* redisplay.c (Note): New.
	* redisplay.c (Fredisplay_device):
	* redisplay.c (redisplay_without_hooks):
	* menubar-x.c (pre_activate_callback):
	* macros.c (Fexecute_kbd_macro):
        Rewrote to use internal_bind_int() and internal_bind_lisp_object()
	in place of whatever varied and cumbersome mechanisms were
	formerly there.


	================================================================
                                SPECBIND SANITY
	================================================================

	* backtrace.h:
        - Improved comments

	* backtrace.h (SPECBIND):
	* backtrace.h (SPECBIND_FAST_UNSAFE):
	* backtrace.h (UNBIND_TO_GCPRO):
	* backtrace.h (UNBIND_TO):
	* backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
	* bytecode.c (execute_optimized_program):
	* eval.c (grow_specpdl):
	* eval.c (specbind):
	* eval.c (specbind_magic):
	* eval.c (record_unwind_protect):
	* eval.c (unbind_to_1):
	* eval.c (unbind_to_hairy):
        Add new mechanism check_specbind_stack_sanity() for sanity
	checking code each time the catchlist or specbind stack change.
	Removed older prototype of same mechanism.

	================================================================
                                    MISC
	================================================================

	* lisp.h:
	* insdel.c:
	* window.c:
	* device.c:
	* console.c:
	* buffer.c:
	 Fleshed out authorship.

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Correct bad Unicode-ization.

	* print.c (debug_print_no_newline):
	* print.c (debug_backtrace):
        Be more careful when not initialized or in fatal error handling.

	* search.c (looking_at_1):
	* search.c (string_match_1):
	* search.c (search_buffer):
	* search.c (Fstore_match_data):
        Eliminate running_asynch_code, an FSF holdover.

	* alloc.c (vars_of_alloc):
	* alloc.c:
	Added comments about gc-cons-threshold.

	* dialog-x.c:
	* dialog-x.c (dbox_descriptor_to_widget_value):
	Use begin_gc_forbidden() around code to build up a widget value
	tree, like in menubar-x.c.

	* gui.c (gui_item_id_hash): Use Qunbound not Qnil as the default for
	gethash.

	* lisp-disunion.h:
	* lisp-union.h:
        Added warnings on use of VOID_TO_LISP().

	* lisp.h:
	Use ERROR_CHECK_STRUCTURES to turn on
	ERROR_CHECK_TRAPPING_PROBLEMS and ERROR_CHECK_TYPECHECK

	* lisp.h (assert_with_message):
	Add assert_with_message.

	* lisp.h (GCPRO1_ARRAY):
	* lisp.h (NGCPRO1_ARRAY):
	* lisp.h (NNGCPRO1_ARRAY):
	Add macros for gcproing entire arrays. (You could do this before
	but it required manual twiddling the gcpro structure.)

	* lisp.h:
        Add prototypes for new functions defined elsewhere.

2002-05-23  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (objs):
	* Makefile.in.in (Emacs.ad.h):
	* Makefile.in.in (alloca.o): Removed.
	* Makefile.in.in (allocax.o): New.
	Add alloca.o.  Ensure that alloca.s doesn't compile into alloca.o,
	but allocax.o (not that it's currently used or anything.)

	* EmacsFrame.c (Xt_StringToScrollBarPlacement):
	* abbrev.c (abbrev_oblookup):
	* alloc.c:
	* alloc.c (allocate_lisp_storage):
	* alloc.c (recompute_funcall_allocation_flag):
	* alloc.c (recompute_need_to_garbage_collect):
	* alloc.c (common_init_alloc_once_early):
	* alloca.c:
	* alloca.c (hdr):
	* alloca.c (xemacs_c_alloca):
	* callint.c (Fcall_interactively):
	* callproc.c (Fold_call_process_internal):
	* config.h.in:
	* config.h.in (XEMACS_WANTS_C_ALLOCA):
	* device-msw.c (msprinter_default_printer):
	* device-msw.c (Fmswindows_printer_list):
	* device-x.c (x_init_device):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion_stat):
	* doc.c (get_doc_string):
	* editfns.c (Fformat_time_string):
	* emacs.c (main_1):
	* emodules.c (emodules_load):
	* eval.c (Ffuncall):
	* event-Xt.c (x_to_emacs_keysym):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-stream.c (Fnext_event):
	* file-coding.c (setup_eol_coding_systems):
	* fileio.c:
	* fileio.c (Fdirectory_file_name):
	* fileio.c (if):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Fencrypt_string):
	* fileio.c (Fdecrypt_string):
	* filelock.c (MAKE_LOCK_NAME):
	* filelock.c (lock_file_1):
	* filelock.c (current_lock_owner):
	* filelock.c (lock_file):
	* fns.c (concat):
	* fns.c (mapcar1):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* fns.c (Fbase64_decode_string):
	* glyphs-gtk.c (gtk_xface_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_widget_property):
	* glyphs-msw.c (mswindows_combo_box_property):
	* glyphs-x.c (x_xface_instantiate):
	* gui-x.c (add_accel_and_to_external):
	* input-method-xlib.c (EmacsXtCvtStringToXIMStyles):
	* intl-win32.c (Fmswindows_get_valid_keyboard_layouts):
	* lisp.h:
	* lisp.h (alloca_new):
	* lisp.h (NOTE): New.
	* lisp.h (MAX_STRING_ASCII_BEGIN):
	* lread.c (Fload_internal):
	* lread.c (locate_file_map_suffixes):
	* menubar-gtk.c (menu_descriptor_to_widget_1):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar.c (Fnormalize_menu_item_name):
	* mule-wnnfns.c (Fwnn_open):
	* nt.c (init_mswindows_environment):
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (mswindows_font_instance_truename):
	* process-nt.c (nt_create_process):
	* realpath.c (cygwin_readlink_and_correct_case):
	* redisplay-gtk.c:
	* redisplay-gtk.c (gtk_text_width):
	* redisplay-gtk.c (gtk_output_string):
	* redisplay-output.c:
	* redisplay-output.c (compare_runes_2):
	* redisplay-x.c:
	* redisplay-x.c (x_text_width):
	* redisplay-x.c (x_output_string):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (regenerate_window):
	* search.c (wordify):
	* search.c (Fregexp_quote):
	* select-msw.c (mswindows_own_selection):
	* sysdep.c (sys_subshell):
	* sysdep.c (init_system_name):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* text.c (convert_emchar_string_into_malloced_string):
	* text.h:
	* text.h (EI_ALLOC):
	* text.h (eito_alloca):
	* text.h (EI_CASECHANGE):
	* text.h (DFC_ALLOCA_USE_CONVERTED_DATA):
	* text.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA):
	* text.h (GET_STRERROR):
	* ui-byhand.c (Fgtk_curve_get_vector):
	* ui-byhand.c (Fgtk_curve_set_vector):

	Fix Raymond Toy's crash.  Repeat to self: 2^21 - 1 is NOT the
	same as (2 << 21) - 1.

	Fix crashes due to excessive alloca().  replace alloca() with
	ALLOCA(), which calls the C alloca() [which uses xmalloc()]
	when the size is too big.  Insert in various places calls to
	try to flush the C alloca() stored info if there is any.

	Add MALLOC_OR_ALLOCA(), for places that expect to be alloca()ing
	large blocks.  This xmalloc()s when too large and records an
	unwind-protect to free -- relying on the caller to unbind_to()
	elsewhere in the function.  Use it in concat().

	Use MALLOC instead of ALLOCA in select-msw.c.

2002-05-21  Jonathan Harris  <jonathan@xemacs.org>

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Fix detection of metric units to work on Win95

2002-05-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* eldap.c (print_ldap): swap arguments of write_c_string.

2002-05-16  Ben Wing  <ben@xemacs.org>

	* bytecode.c (execute_rare_opcode):
	* editfns.c:
	* editfns.c (save_restriction_save):
	* editfns.c (save_restriction_restore):
	* editfns.c (Fsave_restriction):
	* lisp.h:
	* lread.c (Feval_region):
	Fix save-restriction to use markers rather than pseudo-markers
	(integers representing the amount of text on either side of the
	region).  That way, all inserts are handled correctly, not just
	those inside old restriction.

	Add buffer argument to save_restriction_save().

	* process.c:
	* process.c (process_setup_for_insertion):
	* process.c (read_process_output):
	* process.c (status_notify):
	Clean up very dirty and kludgy code that outputs into a buffer --
	use proper unwind protects, etc.

	* font-lock.c (find_context):
	Do save-restriction/widen around the function -- otherwise, incorrect
	results will ensue when a buffer has been narrowed before a call to
	e.g. `buffer-syntactic-context' -- something that happens quite often.

	* fileio.c:
	* fileio.c (Fmake_temp_name):
	* fileio.c (syms_of_fileio):
	Look for a handler for make-temp-name.

	* window.c:
	* window.c (allocate_window):
	* window.c (Fset_window_point):
	* window.c (unshow_buffer):
	* window.c (Fset_window_buffer):
	* window.c (make_dummy_parent):
	* winslots.h:
	Try to solve this annoying problem: have two frames displaying the
	buffer, in different places; in one, temporarily switch away to
	another buffer and then back -- and you've lost your position;
	it's reset to the other one in the other frame.  My current
	solution involves window-level caches of buffers and points (also
	a cache for window-start); when set-window-buffer is called, it
	looks to see if the buffer was previously visited in the window,
	and if so, uses the most recent point at that time. (It's a
	marker, so it handles changes.)

	#### Note: It could be argued that doing it on the frame level
	would be better -- e.g. if you visit a buffer temporarily through
	a grep, and then go back to that buffer, you presumably want the
	grep's position rather than some previous position provided
	everything was in the same frame, even though the grep was in
	another window in the frame.  However, doing it on the frame level
	fails when you have two windows on the same frame.  Perhaps we
	keep both a window and a frame cache, and use the frame cache if
	there are no other windows on the frame showing the buffer, else
	the window's cache?  This is probably something to be configurable
	using a specifier.  Suggestions please please please?

	* window.c (window_scroll):
	* window.c (Fmove_to_window_line):
	Clean up a bit code that deals with the annoyance of window-point
	vs. point.

2002-05-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* select.c (Fown_selection_internal):
	* select.c (Fget_selection_internal):
	Revert Jerry James's 2002-04-23 patch.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* font-lock.c (find_context):
	Don't use off the beginning position to initiate syntax cache.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* text.c (copy_buffer_text_out): Fix bug leading to crashes
	with multibyte text.
	* win32.c (Fmswindows_shell_execute): Fix crash due to errant
	xfree().

2002-05-14  Ben Wing  <ben@xemacs.org>

	* callproc.c (Fold_call_process_internal):
	Use Fget_buffer_create() with a string buffer, as documented.

	* extents.c (signal_extent_changed): indentation.

	* lstream.c (lisp_buffer_reader): fix a bug in selective-display
	handling; not the crash we're seeing.

	* marker.c:
	* marker.c (byte_marker_position):
	* marker.c (set_byte_marker_position):
	delete superfluous error-checking -- it's already there in
	bytebpos_to_membpos() and vice-versa.

2002-05-13  Ben Wing  <ben@xemacs.org>

	* config.h.in:
	* font-lock.c:
	Reenable font-lock code since it's used by mouse.el.  The flag for
	this exists in config.h.in but not currently controllable through
	configure.

2002-05-13  Adrian Aichner  <adrian@xemacs.org>

	* callproc.c: Process-related docstring improvements spurred by
	Norbert Koch.

2002-05-09  Ben Wing  <ben@xemacs.org>

	* doprnt.c (emacs_doprnt_1):
	Use make_int() not make_char() when error about bad charval,
	or abort will occur.

	* extents.c (signal_extent_changed):
	Loop over children, not ourself -- avoid infinite loop.

	* lisp-disunion.h:
	* lisp-union.h:
	Rename make_char() to make_char_1 for error-checking purposes.

	* lread.c (read_escape):
	Syntax error if escape is outside of ISO-8859-1 range.
	Remove hopelessly broken (and unworkable) FSF_KEYS code.

	* mule-coding.c (Fdecode_shift_jis_char):
	* search.c (skip_chars):
	Spacing changes.

	* text.h:
	New make_char() -- verify that the char value is legal.

2002-04-23  Jerry James  <james@xemacs.org>

	* select.c (Fown_selection_internal): Document connection with
        interprogram-cut-function.
	* select.c (Fget_selection_internal): return Qnil if XEmacs owns
        the selection and it does not need coercion.
        Document connection with interprogram-paste-function.

2002-05-06  Jonathan Harris  <jonathan@xemacs.org>

	* console-msw.h:
	* event-msw.c (mswindows_wnd_proc):
	Condition references to menu accelerator functions on HAVE_MENUBARS.

	* frame-msw.c (mswindows_init_frame_3):
	Remove obsolete runemacs hack which called ShowWindow() twice.

	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.h:
	* intl-encap-win32.c:
	Use handwritten version of GetEnvironmentStrings() in
	intl-encap-win32.c.

	* ntproc.c: Removed.

	* s/windowsnt.h:
	Disable .data section renaming hack when using portable dumping.
	Force _WIN32_WINNT = 0x0400 since intl-auto-encap-win32.[ch]
	requires this.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (batch_test_emacs):

	Fix so that packages are around when testing.

	* abbrev.c (struct abbrev_match_mapper_closure):
	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (abbrev_match):
	* abbrev.c (Fexpand_abbrev):
	* alloc.c (deadbeef_memory):
	* alloc.c (STRING_FULLSIZE):
	* alloc.c (sledgehammer_check_ascii_begin):
	* alloc.c (make_uninit_string):
	* alloc.c (set_string_char):
	* alloc.c (init_string_ascii_begin):
	* alloc.c (make_string_nocopy):
	* alloc.c (compact_string_chars):
	* alloc.c (debug_string_purity_print):
	* buffer.c (mark_buffer):
	* buffer.c (print_buffer):
	* buffer.c (finish_init_buffer):
	* buffer.c (Fother_buffer):
	* buffer.c (Fkill_buffer):
	* buffer.h:
	* buffer.h (struct buffer_text):
	* buffer.h (struct buffer):
	* buffer.h (BYTE_BUF_BEG):
	* buffer.h (BYTE_BUF_BEGV):
	* buffer.h (BYTE_BUF_ZV):
	* buffer.h (BYTE_BUF_Z):
	* buffer.h (BYTE_BUF_PT):
	* buffer.h (INC_BYTEBPOS):
	* buffer.h (make_charbpos):
	* buffer.h (BYTE_BUF_FETCH_CHAR_RAW):
	* buffer.h (BYTE_BUF_CHARPTR_COPY_EMCHAR):
	* buffer.h (SET_BOTH_BUF_BEGV):
	* buffer.h (SET_BOTH_BUF_ZV):
	* buffer.h (BOTH_BUF_SET_PT):
	* buffer.h (BUF_NARROWED):
	* buffer.h (BYTE_BUF_CEILING_OF_IGNORE_ACCESSIBLE):
	* buffer.h (BYTE_BUF_FLOOR_OF_IGNORE_ACCESSIBLE):
	* bytecode.c (optimize_compiled_function):
	* bytecode.c (print_compiled_function):
	* bytecode.c (Fcompiled_function_annotation):
	* callint.c (Fcall_interactively):
	* casefiddle.c:
	* casefiddle.c (casify_object):
	* casefiddle.c (casify_region_internal):
	* casetab.c:
	* casetab.c (STRING256_P):
	* casetab.c (print_case_table):
	* casetab.c (allocate_case_table):
	* casetab.c (Fmake_case_table):
	* casetab.c (case_table_char):
	* casetab.c (Fget_case_table):
	* casetab.c (Fput_case_table):
	* casetab.c (Fput_case_table_pair):
	* casetab.c (Fcopy_case_table):
	* casetab.c (compute_canon_mapper):
	* casetab.c (compute_up_or_eqv_mapper):
	* casetab.c (recompute_case_table):
	* casetab.c (convert_old_style_syntax_string):
	* casetab.c (set_case_table):
	* casetab.c (Fset_standard_case_table):
	* casetab.c (syms_of_casetab):
	* casetab.c (complex_vars_of_casetab):
	* casetab.h:
	* casetab.h (struct Lisp_Case_Table):
	* charset.h:
	* charset.h (emchar_charset):
	* charset.h (leading_byte_private_p):
	* charset.h (private_leading_byte_prefix):
	* charset.h (CHARSET_PRIVATE_P):
	* charset.h (EMCHAR_FIELD1_MASK):
	* charset.h (emchar_field1):
	* charset.h (MIN_EMCHAR_FIELD2_OFFICIAL):
	* charset.h (MIN_EMCHAR_FIELD1_OFFICIAL):
	* charset.h (MIN_EMCHAR_FIELD2_PRIVATE):
	* charset.h (MIN_EMCHAR_FIELD1_PRIVATE):
	* charset.h (MIN_CHAR_OFFICIAL_TYPE9N):
	* charset.h (BREAKUP_EMCHAR_1_UNSAFE):
	* charset.h (BREAKUP_EMCHAR):
	* chartab.c:
	* chartab.c (char_table_entry_hash):
	* chartab.c (decode_char_table_range):
	* chartab.c (encode_char_table_range):
	* chartab.c (struct ptemap):
	* chartab.c (print_table_entry):
	* chartab.c (print_char_table):
	* chartab.c (char_table_equal):
	* chartab.c (char_table_hash):
	* chartab.c (set_char_table_default):
	* chartab.c (fill_char_table):
	* chartab.c (Freset_char_table):
	* chartab.c (Fmake_char_table):
	* chartab.c (get_non_ascii_char_table_value):
	* chartab.c (Fchar_table_default):
	* chartab.c (Fget_char_table):
	* chartab.c (copy_mapper):
	* chartab.c (copy_char_table_range):
	* chartab.c (get_range_char_table):
	* chartab.c (Fget_range_char_table):
	* chartab.c (put_char_table):
	* chartab.c (Fput_char_table):
	* chartab.c (Fremove_char_table):
	* chartab.c (map_over_charset_ascii_1):
	* chartab.c (map_over_charset_control_1):
	* chartab.c (map_over_charset_row):
	* chartab.c (map_over_other_charset):
	* chartab.c (map_char_table):
	* chartab.c (slow_map_char_table_fun):
	* chartab.c (Fmap_char_table):
	* chartab.c (check_category_char):
	* chartab.c (CATEGORY_SET):
	* chartab.c (word_boundary_p):
	* chartab.c (syms_of_chartab):
	* chartab.h:
	* chartab.h (struct Lisp_Char_Table):
	* cmds.c:
	* cmds.c (internal_self_insert):
	* console-msw.h:
	* console-stream.c (stream_clear_region):
	* console-stream.c (stream_ring_bell):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console.c (find_nonminibuffer_frame_not_on_console_predicate):
	* console.h:
	* data.c (eq_with_ebola_notice):
	* data.c (Faref):
	* data.c (Faset):
	* device-msw.c (print_devmode):
	* device.c (find_nonminibuffer_frame_not_on_device_predicate):
	* device.h:
	* device.h (struct pixel_to_glyph_translation_cache):
	* dialog-msw.c (dialog_proc):
	* dialog-x.c (maybe_run_dbox_text_callback):
	* dired-msw.c:
	* dired-msw.c (mswindows_get_files):
	* dired.c:
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion):
	* dired.c (user_name_completion):
	* doc.c (unparesseuxify_doc_string):
	* doprnt.c (emacs_doprnt_1):
	* dumper.c:
	* dumper.c (PDUMP_READ_ALIGNED):
	* dumper.c (pdump_structure_size):
	* dumper.c (pdump):
	* dumper.c (pdump_load_finish):
	* editfns.c:
	* editfns.c (Fstring_to_char):
	* editfns.c (Ftranslate_region):
	* editfns.c (Fdelete_region):
	* editfns.c (widen_buffer):
	* editfns.c (Fnarrow_to_region):
	* editfns.c (save_restriction_restore):
	* elhash.c (print_hash_table_data):
	* elhash.c (print_hash_table):
	* elhash.c (Finternal_hash_value):
	* emacs.c:
	* emacs.c (main_1):
	* emacs.c (standard_args):
	* eval.c (print_subr):
	* eval.c (Fuser_variable_p):
	* eval.c (backtrace_specials):
	* eval.c (Fbacktrace):
	* event-Xt.c (USE_CHARSET):
	* event-Xt.c (x_keysym_to_character):
	* event-Xt.c (emacs_Xt_format_magic_event):
	* event-gtk.c (emacs_gtk_format_magic_event):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (mswindows_find_frame):
	* event-msw.c (FROB):
	* event-msw.c (emacs_mswindows_format_magic_event):
	* event-stream.c (external_debugging_print_event):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (dribble_out_event):
	* events.c (print_event_1):
	* events.c (print_event):
	* events.c (nth_of_key_sequence_as_event):
	* events.c (Fevent_next):
	* events.c (Fset_event_next):
	* events.h:
	* extents.c:
	* extents.c (stack_of_extents):
	* extents.c (memxpos_to_startind):
	* extents.c (buffer_or_string_bytexpos_to_startind):
	* extents.c (buffer_or_string_bytexpos_to_endind):
	* extents.c (gap_array_adjust_markers):
	* extents.c (gap_array_move_gap):
	* extents.c (extent_list_locate_from_pos):
	* extents.c (extent_list_at):
	* extents.c (soe_dump):
	* extents.c (soe_move):
	* extents.c (extent_endpoint_byte):
	* extents.c (extent_endpoint_char):
	* extents.c (signal_single_extent_changed):
	* extents.c (signal_extent_changed):
	* extents.c (signal_extent_property_changed):
	* extents.c (extent_attach):
	* extents.c (extent_detach):
	* extents.c (extent_in_region_p):
	* extents.c (map_extents):
	* extents.c (adjust_extents):
	* extents.c (adjust_extents_for_deletion):
	* extents.c (extent_find_end_of_run):
	* extents.c (extent_find_beginning_of_run):
	* extents.c (extent_fragment_update):
	* extents.c (print_extent_1):
	* extents.c (print_extent):
	* extents.c (extent_remprop):
	* extents.c (extent_endpoint_external):
	* extents.c (Fextent_length):
	* extents.c (Fnext_extent_change):
	* extents.c (Fprevious_extent_change):
	* extents.c (Fset_extent_parent):
	* extents.c (set_extent_endpoints_1):
	* extents.c (set_extent_endpoints):
	* extents.c (set_extent_openness):
	* extents.c (make_extent):
	* extents.c (Fmake_extent):
	* extents.c (Fset_extent_endpoints):
	* extents.c (Fextent_in_region_p):
	* extents.c (Fmap_extents):
	* extents.c (struct slow_map_extent_children_arg):
	* extents.c (slow_map_extent_children_function):
	* extents.c (Fmap_extent_children):
	* extents.c (struct extent_at_arg):
	* extents.c (decode_extent_at_flag):
	* extents.c (extent_at):
	* extents.c (Fextent_at):
	* extents.c (Fextents_at):
	* extents.c (struct verify_extents_arg):
	* extents.c (verify_extent_modification):
	* extents.c (struct process_extents_for_insertion_arg):
	* extents.c (process_extents_for_insertion_mapper):
	* extents.c (process_extents_for_insertion):
	* extents.c (struct process_extents_for_deletion_arg):
	* extents.c (process_extents_for_deletion):
	* extents.c (report_extent_modification_mapper):
	* extents.c (report_extent_modification):
	* extents.c (set_extent_invisible):
	* extents.c (Fset_extent_face):
	* extents.c (Fset_extent_mouse_face):
	* extents.c (set_extent_glyph):
	* extents.c (Fset_extent_begin_glyph_layout):
	* extents.c (Fset_extent_end_glyph_layout):
	* extents.c (Fset_extent_priority):
	* extents.c (Fset_extent_property):
	* extents.c (extent_properties):
	* extents.c (ADD_PROP):
	* extents.c (Fextent_properties):
	* extents.c (do_highlight):
	* extents.c (run_extent_copy_paste_internal):
	* extents.c (run_extent_copy_function):
	* extents.c (run_extent_paste_function):
	* extents.c (run_extent_paste_function_char):
	* extents.c (insert_extent):
	* extents.c (struct add_string_extents_arg):
	* extents.c (add_string_extents_mapper):
	* extents.c (struct add_string_extents_the_hard_way_arg):
	* extents.c (add_string_extents_the_hard_way_mapper):
	* extents.c (add_string_extents):
	* extents.c (struct splice_in_string_extents_arg):
	* extents.c (splice_in_string_extents_mapper):
	* extents.c (struct splice_in_string_extents_the_hard_way_arg):
	* extents.c (splice_in_string_extents_the_hard_way_mapper):
	* extents.c (splice_in_string_extents):
	* extents.c (copy_string_extents_mapper):
	* extents.c (copy_string_extents):
	* extents.c (get_char_property):
	* extents.c (get_char_property_char):
	* extents.c (Fget_text_property):
	* extents.c (Fget_char_property):
	* extents.c (struct put_text_prop_arg):
	* extents.c (put_text_prop_mapper):
	* extents.c (put_text_prop_openness_mapper):
	* extents.c (put_text_prop):
	* extents.c (Fput_text_property):
	* extents.c (Fadd_text_properties):
	* extents.c (Fremove_text_properties):
	* extents.c (next_single_property_change):
	* extents.c (previous_single_property_change):
	* extents.h:
	* extents.h (struct extent):
	* faces.c (print_face):
	* faces.c (update_face_inheritance_mapper):
	* faces.c (ensure_face_cachel_complete):
	* faces.c (face_cachel_charset_font_metric_info):
	* file-coding.c (print_coding_system):
	* file-coding.c (print_coding_system_in_print_method):
	* file-coding.c (chain_print):
	* file-coding.c (no_conversion_convert):
	* file-coding.c (undecided_print):
	* file-coding.c (gzip_print):
	* file-coding.h (DECLARE_CODING_SYSTEM_TYPE):
	* file-coding.h (DECODE_ADD_BINARY_CHAR):
	* fileio.c (Ffile_truename):
	* fileio.c (expand_and_dir_to_file):
	* fns.c (print_bit_vector):
	* fns.c (Flength):
	* fns.c (Fstring_lessp):
	* fns.c (Fsplit_path):
	* fns.c (Ffillarray):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_string):
	* font-lock.c:
	* font-lock.c (find_context):
	* frame-gtk.c (gtk_set_frame_text_value):
	* frame-msw.c (mswindows_get_mouse_position):
	* frame-msw.c (mswindows_get_frame_parent):
	* frame-x.c:
	* frame-x.c (x_set_frame_text_value):
	* frame.c:
	* frame.c (allocate_frame_core):
	* frame.c (Fignore_event):
	* frame.h:
	* glade.c (connector):
	* glyphs-gtk.c:
	* glyphs-gtk.c (convert_EImage_to_GDKImage):
	* glyphs-gtk.c (gtk_print_image_instance):
	* glyphs-gtk.c (gtk_locate_pixmap_file):
	* glyphs-msw.c (mswindows_locate_pixmap_file):
	* glyphs-msw.c (mswindows_print_image_instance):
	* glyphs-msw.c (charset_of_text):
	* glyphs-msw.h:
	* glyphs-x.c (LISP_DEVICE_TO_X_SCREEN):
	* glyphs-x.c (convert_EImage_to_XImage):
	* glyphs-x.c (x_print_image_instance):
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs.c (check_instance_cache_mapper):
	* glyphs.c (print_image_instance):
	* glyphs.c (query_string_font):
	* glyphs.c (check_valid_xbm_inline):
	* glyphs.c (display_table_entry):
	* glyphs.h:
	* gui-msw.c (mswindows_handle_gui_wm_command):
	* gui-x.c (mark_widget_value_mapper):
	* gui-x.c (popup_selection_callback):
	* gui.h:
	* gutter.h (GUTTER_POS_LOOP):
	* hash.h:
	* indent.c:
	* indent.c (column_at_point):
	* indent.c (string_column_at_point):
	* indent.c (byte_spaces_at_point):
	* indent.c (Fcurrent_indentation):
	* indent.c (Fmove_to_column):
	* insdel.c (BYTE_BUF_GPT):
	* insdel.c (SET_BYTE_BUF_GPT):
	* insdel.c (SET_END_SENTINEL):
	* insdel.c (set_buffer_point):
	* insdel.c (gap_left):
	* insdel.c (gap_right):
	* insdel.c (move_gap):
	* insdel.c (merge_gap_with_end_gap):
	* insdel.c (make_gap):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (buffer_delete_range):
	* insdel.c (buffer_replace_char):
	* insdel.c (make_string_from_buffer_1):
	* insdel.c (init_buffer_text):
	* intl-win32.c:
	* intl-win32.c (Fmswindows_get_valid_code_pages):
	* intl-win32.c (Fmswindows_get_console_code_page):
	* intl-win32.c (Fmswindows_set_console_code_page):
	* intl-win32.c (Fmswindows_get_console_output_code_page):
	* intl-win32.c (Fmswindows_set_console_output_code_page):
	* intl-win32.c (Fmswindows_get_code_page_charset):
	* intl-win32.c (Fmswindows_get_valid_keyboard_layouts):
	* intl-win32.c (Fmswindows_get_keyboard_layout):
	* intl-win32.c (Fmswindows_set_keyboard_layout):
	* intl-win32.c (mswindows_multibyte_to_unicode_print):
	* intl.c:
	* intl.c (Fignore_defer_gettext):
	* keymap.c (print_keymap):
	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (Fdefine_key):
	* keymap.c (Flookup_key):
	* keymap.c (map_keymap_mapper):
	* keymap.c (Fkey_description):
	* lisp-disunion.h:
	* lisp-disunion.h (VALMASK):
	* lisp-disunion.h (VOID_TO_LISP):
	* lisp-union.h:
	* lisp-union.h (union Lisp_Object):
	* lisp-union.h (XPNTRVAL):
	* lisp-union.h (XREALINT):
	* lisp-union.h (INTP):
	* lisp.h:
	* lisp.h (DECLARE_POINTER_TYPE_ARITH_COUNT):
	* lisp.h (MAX_ALIGN_SIZE):
	* lisp.h (struct Lisp_String):
	* lisp.h (set_lispstringp_length):
	* lisp.h (XSET_STRING_LENGTH):
	* lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
	* lisp.h (SYMBOL_IS_KEYWORD):
	* lread.c:
	* lrecord.h:
	* lrecord.h (DECLARE_LRECORD):
	* lrecord.h (DECLARE_EXTERNAL_LRECORD):
	* lrecord.h (DECLARE_NONRECORD):
	* lstream.c (aligned_sizeof_lstream):
	* lstream.c (Lstream_really_write):
	* lstream.c (make_lisp_buffer_stream_1):
	* lstream.c (make_lisp_buffer_input_stream):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* marker.c (print_marker):
	* marker.c (byte_marker_position):
	* marker.c (marker_position):
	* marker.c (set_byte_marker_position):
	* marker.c (set_marker_position):
	* marker.c (Fbuffer_has_markers_at):
	* menubar-gtk.c (__torn_off_sir):
	* menubar-gtk.c (__activate_menu):
	* menubar-gtk.c (__generic_button_callback):
	* menubar-msw.c:
	* menubar-x.c (pre_activate_callback):
	* menubar-x.c (command_builder_operate_menu_accelerator):
	* menubar-x.c (command_builder_find_menu_accelerator):
	* menubar.c:
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c:
	* minibuf.c (Ftry_completion):
	* minibuf.c (Fall_completions):
	* minibuf.c (Fminibuffer_prompt):
	* minibuf.c (Fminibuffer_prompt_width):
	* minibuf.c (echo_area_append):
	* mule-ccl.c:
	* mule-ccl.c (CCL_WRITE_CHAR):
	* mule-ccl.c (CCL_WRITE_STRING):
	* mule-ccl.c (CCL_MAKE_CHAR):
	* mule-ccl.c (ccl_driver):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_from_attributes):
	* mule-coding.c (byte_shift_jis_two_byte_1_p):
	* mule-coding.c (byte_shift_jis_two_byte_2_p):
	* mule-coding.c (byte_shift_jis_katakana_p):
	* mule-coding.c (shift_jis_convert):
	* mule-coding.c (Fdecode_shift_jis_char):
	* mule-coding.c (Fencode_shift_jis_char):
	* mule-coding.c (byte_big5_two_byte_1_p):
	* mule-coding.c (byte_big5_two_byte_2_p):
	* mule-coding.c (big5_convert):
	* mule-coding.c (decode_big5_char):
	* mule-coding.c (Fencode_big5_char):
	* mule-coding.c (charset_by_attributes_or_create_one):
	* mule-coding.c (iso2022_decode):
	* mule-coding.c (iso2022_encode):
	* mule-coding.c (iso2022_print):
	* mule-coding.c (iso2022_detect):
	* mule-wnnfns.c (m2w):
	* nas.c:
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-x.c (x_font_instance_properties):
	* opaque.c (aligned_sizeof_opaque):
	* postgresql.c (print_pgconn):
	* postgresql.c (print_pgresult):
	* print.c:
	* print.c (output_string):
	* print.c (write_string_1):
	* print.c (write_string):
	* print.c (write_c_string):
	* print.c (write_eistring):
	* print.c (write_fmt_string):
	* print.c (write_fmt_string_lisp):
	* print.c (stderr_out_lisp):
	* print.c (Fterpri):
	* print.c (Fprint):
	* print.c (print_error_message):
	* print.c (print_vector_internal):
	* print.c (print_cons):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_float):
	* print.c (print_symbol):
	* process-nt.c (nt_create_process):
	* process-unix.c (close_process_descs_mapfun):
	* process.c (print_process):
	* process.c (get_process_from_usid):
	* process.c (Fstart_process_internal):
	* process.c (status_message):
	* process.c (status_notify):
	* process.c (Fprocess_connection):
	* process.c (getenv_internal):
	* process.c (putenv_internal):
	* process.h:
	* profile.c (get_profiling_info_maphash):
	* profile.c (mark_profiling_info_maphash):
	* rangetab.c (print_range_table):
	* rangetab.c (unified_range_table_copy_data):
	* rangetab.c (align_the_damn_table):
	* redisplay-gtk.c:
	* redisplay-gtk.c (separate_textual_runs):
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-msw.c (separate_textual_runs):
	* redisplay-msw.c (mswindows_output_display_block):
	* redisplay-output.c:
	* redisplay-output.c (ADJ_CHARPOS):
	* redisplay-output.c (redisplay_move_cursor):
	* redisplay-output.c (redisplay_update_line):
	* redisplay-x.c (separate_textual_runs):
	* redisplay-x.c (x_output_display_block):
	* redisplay.c:
	* redisplay.c (position_redisplay_data_type):
	* redisplay.c (struct prop_block):
	* redisplay.c (generate_display_line):
	* redisplay.c (add_hscroll_rune):
	* redisplay.c (add_emchar_rune_1):
	* redisplay.c (add_blank_rune):
	* redisplay.c (add_octal_runes):
	* redisplay.c (add_control_char_runes):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (add_margin_blank):
	* redisplay.c (generate_modeline):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (generate_string_display_line):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (REGEN_INC_FIND_START_END):
	* redisplay.c (regenerate_window_extents_only_changed):
	* redisplay.c (regenerate_window_incrementally):
	* redisplay.c (point_visible):
	* redisplay.c (point_at_center):
	* redisplay.c (update_internal_cache_list):
	* redisplay.c (UPDATE_CACHE_RETURN):
	* redisplay.c (pixel_to_glyph_translation):
	* redisplay.h:
	* redisplay.h (struct rune):
	* redisplay.h (struct display_line):
	* redisplay.h (struct extent_fragment):
	* regex.c:
	* regex.c (RE_TRANSLATE_1):
	* regex.c (charptr_emchar):
	* regex.c (INC_CHARPTR_FMT):
	* regex.c (SYNTAX):
	* regex.c (EXTEND_BUFFER):
	* regex.c (regex_compile):
	* regex.c (compile_range):
	* regex.c (compile_extended_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_search):
	* regex.c (re_search_2):
	* regex.c (REGEX_PREFETCH):
	* regex.c (WORDCHAR_P):
	* regex.c (re_match):
	* regex.c (re_match_2):
	* regex.c (re_match_2_internal):
	* regex.c (re_compile_pattern):
	* regex.c (re_comp):
	* regex.c (make-backup-files): Removed.
	* regex.c (version-control): Removed.
	* regex.c (trim-versions-without-asking): Removed.
	* regex.c (End): Removed.
	* regex.h:
	* regex.h (RE_LISP_SHORT_CONTEXT_ARGS_DECL):
	* scrollbar-msw.c (mswindows_free_scrollbar_instance):
	* scrollbar-msw.c (mswindows_handle_scrollbar_event):
	* scrollbar-msw.c (mswindows_handle_mousewheel_event):
	* search.c:
	* search.c (matcher_overflow):
	* search.c (compile_pattern_1):
	* search.c (compile_pattern):
	* search.c (fixup_search_regs_for_buffer):
	* search.c (looking_at_1):
	* search.c (Fposix_looking_at):
	* search.c (string_match_1):
	* search.c (fast_string_match):
	* search.c (byte_scan_buffer):
	* search.c (scan_buffer):
	* search.c (byte_find_next_newline_no_quit):
	* search.c (byte_find_next_emchar_in_string):
	* search.c (find_before_next_newline):
	* search.c (skip_chars):
	* search.c (search_command):
	* search.c (trivial_regexp_p):
	* search.c (search_buffer):
	* search.c (simple_search):
	* search.c (boyer_moore):
	* search.c (set_search_regs):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (match_limit):
	* search.c (Fmatch_data):
	* search.c (Fstore_match_data):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (Fx_store_cutbuffer_internal):
	* specifier.c (print_specifier):
	* specifier.c (aligned_sizeof_specifier):
	* specifier.c (recompute_cached_specifier_everywhere_mapfun):
	* specifier.h:
	* specifier.h (DECLARE_SPECIFIER_TYPE):
	* symbols.c (Fintern):
	* symsinit.h:
	* syntax.c:
	* syntax.c (struct lisp_parse_state):
	* syntax.c (find_defun_start):
	* syntax.c (Fset_syntax_table):
	* syntax.c (init_syntax_cache):
	* syntax.c (update_syntax_cache):
	* syntax.c (Fchar_syntax):
	* syntax.c (charset_syntax):
	* syntax.c (syntax_match):
	* syntax.c (Fmatching_paren):
	* syntax.c (WORD_BOUNDARY_P):
	* syntax.c (scan_words):
	* syntax.c (find_start_of_comment):
	* syntax.c (find_end_of_comment):
	* syntax.c (Fforward_comment):
	* syntax.c (scan_lists):
	* syntax.c (char_quoted):
	* syntax.c (Fbackward_prefix_chars):
	* syntax.c (scan_sexps_forward):
	* syntax.c (Fparse_partial_sexp):
	* syntax.c (copy_to_mirrortab):
	* syntax.c (copy_if_not_already_present):
	* syntax.c (update_just_this_syntax_table):
	* syntax.c (update_syntax_table):
	* syntax.c (syms_of_syntax):
	* syntax.c (vars_of_syntax):
	* syntax.c (complex_vars_of_syntax):
	* syntax.h:
	* syntax.h (SYNTAX_CODE):
	* syntax.h (SYNTAX_FROM_CODE):
	* syntax.h (SYNTAX_PREFIX):
	* syntax.h (struct syntax_cache):
	* syswindows.h:
	* tests.c (Ftest_data_format_conversion):
	* text.c:
	* text.c (convert_emchar_string_into_malloced_string):
	* text.c (COPY_TEXT_BETWEEN_FORMATS):
	* text.c (copy_buffer_text_out):
	* text.c (find_charsets_in_intbyte_string):
	* text.c (find_charsets_in_emchar_string):
	* text.c (intbyte_string_displayed_columns):
	* text.c (emchar_string_displayed_columns):
	* text.c (intbyte_string_nonascii_chars):
	* text.c (eicpyout_malloc_fmt):
	* text.c (skip_ascii):
	* text.c (charcount_to_bytecount_fun):
	* text.c (charbpos_to_bytebpos_func):
	* text.c (bytebpos_to_charbpos_func):
	* text.c (buffer_mule_signal_inserted_region):
	* text.c (buffer_mule_signal_deleted_region):
	* text.c (get_buffer_range_char):
	* text.c (get_buffer_range_byte):
	* text.c (get_string_pos_char):
	* text.c (get_string_range_char):
	* text.c (get_buffer_or_string_pos_char):
	* text.c (get_buffer_or_string_pos_byte):
	* text.c (get_buffer_or_string_range_char):
	* text.c (get_buffer_or_string_range_byte):
	* text.c (buffer_or_string_accessible_begin_char):
	* text.c (buffer_or_string_accessible_end_char):
	* text.c (buffer_or_string_accessible_begin_byte):
	* text.c (buffer_or_string_accessible_end_byte):
	* text.c (buffer_or_string_absolute_begin_char):
	* text.c (buffer_or_string_absolute_end_char):
	* text.c (buffer_or_string_absolute_begin_byte):
	* text.c (buffer_or_string_absolute_end_byte):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (non_ascii_set_charptr_emchar):
	* text.c (non_ascii_charptr_emchar):
	* text.c (non_ascii_valid_emchar_p):
	* text.c (non_ascii_charptr_copy_emchar):
	* text.c (Lstream_get_emchar_1):
	* text.c (Fmake_char):
	* text.c (Fchar_charset):
	* text.c (Fchar_octet):
	* text.c (Fsplit_char):
	* text.c (lookup_composite_char):
	* text.c (Fmake_composite_char):
	* text.c (Fcomposite_char_string):
	* text.h:
	* text.h (rep_bytes_by_first_byte):
	* text.h (byte_ascii_p):
	* text.h (intbyte_leading_byte_p):
	* text.h (emchar_multibyte_p):
	* text.h (emchar_ascii_p):
	* text.h (assert_valid_charptr):
	* text.h (INC_CHARPTR):
	* text.h (INC_CHARPTR_FMT):
	* text.h (DEC_CHARPTR_FMT):
	* text.h (VALIDATE_CHARPTR_BACKWARD):
	* text.h (validate_intbyte_string_backward):
	* text.h (simple_charptr_copy_emchar):
	* text.h (charptr_emchar):
	* text.h (valid_emchar_p):
	* text.h (CHAR_INTP):
	* text.h (eicpy_lstr):
	* text.h (eicpy_raw_fmt):
	* text.h (eicpy_raw):
	* text.h (eicpy_rawz_fmt):
	* text.h (eicpy_rawz):
	* text.h (eicpyout_alloca):
	* text.h (eicat_lstr):
	* text.h (GET_STRERROR):
	* tooltalk.c (tooltalk_message_callback):
	* tooltalk.c (tooltalk_pattern_callback):
	* ui-byhand.c (__generic_toolbar_callback):
	* ui-byhand.c (__emacs_gtk_ctree_recurse_internal):
	* ui-gtk.c (emacs_gtk_object_printer):
	* ui-gtk.c (__internal_callback_destroy):
	* ui-gtk.c (__internal_callback_marshal):
	* ui-gtk.c (emacs_gtk_boxed_printer):
	* ui-gtk.c (gtk_type_to_lisp):
	* unicode.c (sledgehammer_check_from_table):
	* unicode.c (sledgehammer_check_to_table):
	* unicode.c (set_unicode_conversion):
	* unicode.c (emchar_to_unicode):
	* unicode.c (unicode_to_char):
	* unicode.c (recalculate_unicode_precedence):
	* unicode.c (Fchar_to_unicode):
	* unicode.c (encode_unicode_char):
	* unicode.c (unicode_convert):
	* unicode.c (unicode_print):
	* win32.c:
	* win32.c (tstr_to_local_file_format):
	* win32.c (mswindows_lisp_error_1):
	* win32.c (Fmswindows_shell_execute):
	* window.c (print_window):
	* window.c (print_window_config):
	* window.c (Fcurrent_pixel_column):
	Another big Ben patch.

	-- FUNCTIONALITY CHANGES:

	add partial support for 8-bit-fixed, 16-bit-fixed, and
	32-bit-fixed formats.  not quite done yet. (in particular, needs
	functions to actually convert the buffer.) NOTE: lots of changes
	to regex.c here.  also, many new *_fmt() inline funs that take an
	Internal_Format argument.

	redo syntax cache code.  make the cache per-buffer; keep the cache
	valid across calls to functions that use it.  also keep it valid
	across insertions/deletions and extent changes, as much as is
	possible.  eliminate the junky regex-reentrancy code by passing in
	the relevant lisp info to the regex routines as local vars.

	add general mechanism in extents code for signalling extent changes.

	fix numerous problems with the case-table implementation; yoshiki
	never properly transferred many algorithms from old-style to
	new-style case tables.

	redo char tables to support a default argument, so that mapping
	only occurs over changed args.  change many chartab functions to
	accept Lisp_Object instead of Lisp_Char_Table *.

	comment out the code in font-lock.c by default, because
	font-lock.el no longer uses it.  we should consider eliminating it
	entirely.

	Don't output bell as ^G in console-stream when not a TTY.

	add -mswindows-termination-handle to interface with i.c, so we can
	properly kill a build.

	add more error-checking to buffer/string macros.

	add some additional buffer_or_string_() funs.

	-- INTERFACE CHANGES AFFECTING MORE CODE:

	switch the arguments of write_c_string and friends to be
	consistent with write_fmt_string, which must have printcharfun
	first.

	change BI_* macros to BYTE_* for increased clarity; similarly for
	bi_* local vars.

	change VOID_TO_LISP to be a one-argument function.  eliminate
	no-longer-needed CVOID_TO_LISP.

	-- char/string macro changes:

	rename MAKE_CHAR() to make_emchar() for slightly less confusion
	with make_char(). (The former generates an Emchar, the latter a
	Lisp object.  Conceivably we should rename make_char() -> wrap_char()
	and similarly for make_int(), make_float().)

	Similar changes for other *CHAR* macros -- we now consistently use
	names with `emchar' whenever we are working with Emchars.  Any
	remaining name with just `char' always refers to a Lisp object.

	rename macros with XSTRING_* to string_* except for those that
	reference actual fields in the Lisp_String object, following
	conventions used elsewhere.

	rename set_string_{data,length} macros (the only ones to work with
	a Lisp_String_* instead of a Lisp_Object) to set_lispstringp_*
	to make the difference clear.

	try to be consistent about caps vs. lowercase in macro/inline-fun
	names for chars and such, which wasn't the case before.  we now
	reserve caps either for XFOO_ macros that reference object fields
	(e.g. XSTRING_DATA) or for things that have non-function semantics,
	e.g. directly modifying an arg (BREAKUP_EMCHAR) or evaluating an
	arg (any arg) more than once.  otherwise, use lowercase.

	here is a summary of most of the macros/inline funs changed by all
	of the above changes:

	BYTE_*_P -> byte_*_p
	XSTRING_BYTE -> string_byte
	set_string_data/length -> set_lispstringp_data/length
	XSTRING_CHAR_LENGTH -> string_char_length
	XSTRING_CHAR -> string_emchar
	INTBYTE_FIRST_BYTE_P -> intbyte_first_byte_p
	INTBYTE_LEADING_BYTE_P -> intbyte_leading_byte_p
	charptr_copy_char -> charptr_copy_emchar
	LEADING_BYTE_* -> leading_byte_*
	CHAR_* -> EMCHAR_*
	*_CHAR_* -> *_EMCHAR_*
	*_CHAR -> *_EMCHAR
	CHARSET_BY_ -> charset_by_*
	BYTE_SHIFT_JIS* -> byte_shift_jis*
	BYTE_BIG5* -> byte_big5*
	REP_BYTES_BY_FIRST_BYTE -> rep_bytes_by_first_byte
	char_to_unicode -> emchar_to_unicode
	valid_char_p -> valid_emchar_p

2002-04-30  Charles G. Waldman <cgw@xemacs.org>

        * sysdep.c (sys_siglist): change "signum" to "signal"

2001-04-21  Martin Buchholz  <martin@xemacs.org>

	* s/darwin.h: New file.
	Thanks to Greg Parker <gparker@cs.stanford.edu>.
	
2002-04-23  Andreas Jaeger  <aj@suse.de>

	* s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
	which use lib64 for 64-bit libs.
        (START_FILES): Likewise.

2002-02-11  Mike Sperber  <mike@xemacs.org>

	* device-x.c: 
	(x_IO_error_handler):
	(x_init_device): Temporarily keep device in static variable
	`device_being_initialized' so we can recover gracefully from
	internal XOpenDevice failure.  (XOpenDevice is documented to
	return NULL on failure, but sometimes calls the IO error handler
	instead.)

2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>

	* dired.c (Ffile_name_all_completions): Change documentation --
	remove reference to completion-ignored-extensions.
	* dired.c (vars_of_dired): Change documentation for
	completion-ignored-extensions -- remove reference to
	file-name-all-completions.

2002-03-06  Jerry James  <james@xemacs.org>

	* emodules.c (emodules_load): Fix multiple loading of same module.

2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
	* sysdll.c (dll_open): Changed to use RTLD_NOW instead of
	RTLD_LAZY to avoid incorrect symbol binding when using nested
	shared libraries on Solaris.

2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>

	* fileio.c (Ffind_file_name_handler): Improve docstring.

2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* fns.c (Fmapconcat): Improve docstring.

2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>

	* device-gtk.c: Add prototype for
	emacs_gtk_selection_clear_event_handle.
	(gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
	selection.  Setup signal handler for "selection_clear_event"
	(emacs_gtk_selection_clear_event_handle).

	* select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
	other applications owning the clipboard (based on
	x_handle_selection_clear).

2001-12-23  William M. Perry  <wmperry@gnu.org>

	* menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
	
2002-01-04  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (define_key_alternate_name): Parenthesize EQ.

2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.6 "Common Lisp" is released.

	Change intbyte_strcmp -> qxestrcmp_c (duplicated functionality).

	-- INTERFACE CHANGES AFFECTING LESS CODE:

	use DECLARE_INLINE_HEADER in various places.

	remove '#ifdef emacs' from XEmacs-only files.

	eliminate CHAR_TABLE_VALUE(), which duplicated the functionality
	of get_char_table().

	add BUFFER_TEXT_LOOP to simplify iterations over buffer text.

	define typedefs for signed and unsigned types of fixed sizes
	(INT_32_BIT, UINT_32_BIT, etc.).

	create ALIGN_FOR_TYPE as a higher-level interface onto ALIGN_SIZE;
	fix code to use it.

	add charptr_emchar_len to return the text length of the character
	pointed to by a ptr; use it in place of
	charcount_to_bytecount(..., 1).  add emchar_len to return the text
	length of a given character.

	add types Bytexpos and Charxpos to generalize Bytebpos/Bytecount
	and Charbpos/Charcount, in code (particularly, the extents code
	and redisplay code) that works with either kind of index.  rename
	redisplay struct params with names such as `charbpos' to
	e.g. `charpos' when they are e.g. a Charxpos, not a Charbpos.

	eliminate xxDEFUN in place of DEFUN; no longer necessary with
	changes awhile back to doc.c.

	split up big ugly combined list of EXFUNs in lisp.h on a
	file-by-file basis, since other prototypes are similarly split.

	rewrite some "*_UNSAFE" macros as inline funs and eliminate the
	_UNSAFE suffix.

	move most string code from lisp.h to text.h; the string code and
	text.h code is now intertwined in such a fashion that they need
	to be in the same place and partially interleaved. (you can't
	create forward references for inline funs)

2002-04-30  Charles G. Waldman <cgw@xemacs.org>

        * sysdep.c (sys_siglist): change "signum" to "signal"

2002-04-24  Andy Piper  <andy@xemacs.org>

	* redisplay.c (create_text_block): Don't actually add propagation
	data if the line ends after we have added a glyph.

	* lisp.h (Dynarr_end): Fix definition.

2002-04-22  Andy Piper  <andy@xemacs.org>

	* extents.c (extent_fragment_update): check for glyphs we have
	previously displayed.
	* extents.c (print_extent_1): warning removal.
	* extents.h: change prototype.
	* redisplay-output.c (redisplay_normalize_glyph_area): calculate
	widths correctly for wide glyphs.
	* redisplay.c (position_redisplay_data_type): add end_glyph_width.
	* redisplay.c (prop_type): add PROP_GLYPH.
	* redisplay.c (struct prop_block): add glyph type
	* redisplay.c (add_glyph_rune): when adding part of a glyph add it
	to the propagation data.
	* redisplay.c (create_text_block): if there is a glyph in the
	propagation data use it to salt extent_fragment_update.
	* redisplay.c (create_string_text_block): ditto.

2002-04-13  Nix  <nix@esperi.demon.co.uk>

	* redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
	* redisplay-output.c (compare_runes): Compare them.
	* redisplay.c: Update copyright date.
	* redisplay.c (pos_data): Add need_baseline_computation field.
	* redisplay.c (add_glyph_rune): Update ascent, descent, and
	need_baseline_computation; zero yoffset. Set max_pixmap_height
	for all pixmaps, not just automatically positioned ones.
	* redisplay.c (calculate_yoffset): New, compute yoffset values.
	* redisplay.c (calculate_baseline): New, compute textual baseline.
	* redisplay.c (add_glyph_rune): Call them.
	* redisplay.c (create_text_block): Likewise.
	* redisplay.c (create_overlay_glyph_block): Likewise.
	* redisplay.c (add_margin_runes): Likewise.
	* redisplay.c (create_string_text_block): Likewise. Fix tabdamage.

	* redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
	* redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
	* redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
	* redisplay-msw.c (mswindows_output_string): Likewise.
	* redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
	* redisplay-gtk.c (gtk_output_display_block): Likewise.
	* redisplay-x.c (x_output_display_block): Likewise.

2002-04-02  Andy Piper  <andy@xemacs.org>

	* dired-msw.c (mswindows_get_files):
	* nt.c (mswindows_stat): SetErrorMode() so that file errors are
	completely handled by XEmacs. Suggested by Thomas Vogler
	<mail@thomas-vogler.de>.

2002-04-01  Andy Piper  <andy@xemacs.org>

	* emacs.c (Fkill_emacs): Only output message box in interactive
	mode.

2002-03-14  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (mswindows_unwait_process): New, remove process from
	wait list
	* process-nt.c (nt_finalize_process_data): Call
	mswindows_unwait_process
	* console-msw.h: Declare mswindows_unwait_process

2002-03-20  Andy Piper  <andy@xemacs.org>

	* menubar-msw.c (mswindows_popup_menu): warning removal.
	* dialog-msw.c (dialog_popped_down): ditto.

2002-02-13  Andy Piper  <andy@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): only mark the frame visible if
	we did in fact enqueue the XM_MAPFRAME event.

2002-02-06  Adrian Aichner  <adrian@xemacs.org>

	* src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
	operation.
	* src/buffer.c (kill_buffer): Undedicate windows showing BUF
	before replacing them.

	* redisplay.c (mark_redisplay): Remove call to
	update_frame_window_mirror.

	* src/window.c (undedicate_windows): Use it.
	* src/window.h: Add prototype.

2002-01-03  Andy Piper  <andy@xemacs.org>

	* realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
	letters.
	(xrealpath): ditto.

2001-12-11  Andy Piper  <andy@xemacs.org>

	* dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
	* dialog-msw.c (mswindows_make_dialog_box_internal): set
	popup_up_p.
	* menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
	* menubar-msw.c (mswindows_handle_wm_command): ditto.
	* menubar-msw.c (mswindows_popup_menu): ditto.

2001-11-24  Andy Piper  <andy@xemacs.org>

	* window.c (Fsplit_window): Doc return type.

2001-07-30  Adrian Aichner  <adrian@xemacs.org>

	* event-msw.c: Typo fix.
	* event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
	magic XM_MAPFRAME event has been sent.

2001-11-23  Andy Piper  <andy@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.

2001-11-21  Andy Piper  <andy@xemacs.org>

	* scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
	mouse events outside the frame.

2001-11-15  Andy Piper  <andy@xemacs.org>

	(Fmswindows_shell_execute): fix handling of URL's under cygwin (again).

2001-11-14  Andy Piper  <andy@xemacs.org>

	* nt.c (REG_ROOT): change registry key to XEmacs.

2001-10-29  Andy Piper  <andy@xemacs.org>

	* dialog-msw.c (handle_directory_dialog_box): quit if the user
	cancels.

2002-04-15  Ben Wing  <ben@xemacs.org>

	* process.c: Need sysdep.h for environ.

2002-04-14  Ben Wing  <ben@xemacs.org>

	* lisp.h:
	Add support for strong type-checking of Bytecount, Bytebpos,
	Charcount, Charbpos, and others, by making them classes,
	overloading the operators to provide integer-like operation and
	carefully controlling what operations are allowed.  Not currently
	enabled in C++ builds because there are still a number of compile
	errors, and it won't really work till we merge in my "8-bit-Mule"
	workspace, in which I make use of the new types Charxpos,
	Bytexpos, Memxpos, representing a "position" either in a buffer or
	a string. (This is especially important in the extent code.)

	* abbrev.c:
	* abbrev.c (abbrev_oblookup):
	* alloc.c (STRING_CHARS_BLOCK_SIZE):
	* alloc.c (allocate_string_chars_struct):
	* alloc.c (make_uninit_string):
	* alloc.c (set_string_char):
	* alloc.c (build_intstring):
	* eval.c (record_unwind_protect_restoring_lisp_object):
	* eval.c (record_unwind_protect_restoring_int):
	* buffer.c (init_initial_directory):
	* buffer.h (BI_BUF_PTR_BYTE_POS):
	* buffer.h (real_charbpos_to_bytebpos):
	* editfns.c (Fuser_full_name):
	* editfns.c (Finsert_char):
	* fns.c (Ffillarray):
	* text.h:
	* text.h (REP_BYTES_BY_FIRST_BYTE_1):
	* text.h (simple_set_charptr_emchar):
	* text.h (DECLARE_INLINE_HEADER):
	* text.h (endif):
	Warning fixes, some of them related to new C++ strict type
	checking of Bytecount, Charbpos, etc.

	* dired.c (file_name_completion):
	Caught an actual error due to strong type checking -- char len
	being passed when should be byte len.

	* alloc.c:
	* alloc.c (DECREMENT_CONS_COUNTER):
	* alloc.c (memory_full):
	* alloc.c (Fmake_byte_code):
	* alloc.c (garbage_collect_1):
	* alloc.c (recompute_need_to_garbage_collect):
	* alloc.c (common_init_alloc_once_early):
	* backtrace.h:
	* backtrace.h (SPECBIND_FAST_UNSAFE):
	* bytecode.c:
	* bytecode.c (execute_optimized_program):
	* bytecode.c (mark_compiled_function):
	* bytecode.h:
	* bytecode.h (struct Lisp_Compiled_Function):
	* eval.c:
	* eval.c (handle_compiled_function_with_and_rest):
	* eval.c (funcall_compiled_function):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* eval.c (function_argcount):
	* sysdep.c (total_data_usage):
	Further optimize Ffuncall:

	-- process arg list at compiled-function creation time, converting
	into an array for extra-quick access at funcall time.
	-- rewrite funcall_compiled_function to use it, and inline this
	function.
	-- change the order of check for magic stuff in
	SPECBIND_FAST_UNSAFE to be faster.
	-- move the check for need to garbage collect into the allocation
	code, so only a single flag needs to be checked in funcall.


	* buffer.c (Fstring_char_byte_converion_info):
	* buffer.c (syms_of_buffer):
	* symbols.c:
	* symbols.c (intern_converting_underscores_to_dashes):

	add debug funs to check on mule optimization info in buffers and
	strings.

	* eval.c (init_eval_semi_early):
	* emacs.c (main_1):
	* text.c (reinit_eistring_once_early):
	* regex.c (vars_of_regex):
	* scrollbar-msw.c (vars_of_scrollbar_mswindows):
	* search.c (vars_of_search):
	Fix evil crashes due to eistrings not properly reinitialized under
	pdump.  Redo a bit some of the init routines; convert some
	complex_vars_of() into simple vars_of(), because they didn't need
	complex processing.

	* callproc.c:
	* callproc.c (call_process_kill):
	* callproc.c (call_process_cleanup):
	* callproc.c (Fold_call_process_internal):
	* callproc.c (child_setup):
	* callproc.c (syms_of_callproc):
	* callproc.c (getenv): Removed.
	* emacs.c:
	* emacs.c (main_1):
	* event-stream.c (check_event_stream_ok):
	* event-stream.c (init_event_stream):
	* nt.c:
	* nt.c (init_mswindows_environment):
	* nt.c (Fmswindows_long_file_name):
	* nt.c (init_nt):
	* process.c:
	* process.c (init_process_io_handles):
	* process.c (Fstart_process_internal):
	* process.c (getenv_internal):
	* process.c (putenv_internal):
	* process.c (getenv): New.
	* process.c (DEFUN):
	* process.c (Fgetenv):
	* process.c (egetenv):
	* process.c (init_xemacs_process):
	* process.c (syms_of_process):
	* process.c (vars_of_process):
	* process.h:
	* sysdep.c (wait_for_termination):
	* sysdep.c (init_baud_rate):
	* sysdep.c (emacs_get_tty):
	* sysdep.c (emacs_set_tty):
	* sysdep.c (tty_init_sys_modes_on_device):
	* sysdep.h:
	* syssignal.h:
	* syswindows.h:
	* ntproc.c: Delete.  Hallelujah, praise the Lord, there is no god
	but Allah!!!

	fix so that processes can be invoked in bare temacs -- thereby
	eliminating any need for callproc.c. (currently only eliminated
	under NT.) remove all crufty and unnecessary old process code in
	ntproc.c and elsewhere.  move non-callproc-specific stuff (mostly
	environment) into process.c, so callproc.c can be left out under
	NT.

	* console-tty.c (tty_init_console):
	* doc.c:
	* doc.c (unparesseuxify_doc_string):
	* doc.c (get_doc_string):
	* doc.c (Fsnarf_documentation):
	* file-coding.c:
	* file-coding.c (coding_reader):
	* file-coding.c (set_coding_character_mode):
	* file-coding.c (make_coding_stream_1):
	* file-coding.c (make_coding_output_stream):
	* file-coding.c (detect_coding_stream):
	* file-coding.h:
	* file-coding.h (struct coding_stream):
	* file-coding.h (LSTREAM_FL_NO_CLOSE_OTHER):
	* lstream.c:
	* lstream.c (Lstream_read_1):
	* lstream.c (Lstream_read):
	* lstream.c (Lstream_fgetc):
	* lstream.h (lstream_implementation):

	fix doc string handling so it works with Japanese, etc docs.
	change handling of "character mode" so callers don't have to
	manually set it (quite error-prone).

	* event-msw.c (init_event_mswindows_late): spacing fixes.

	* lread.c:
	* lread.c (pas_de_holgazan_ici):
	* lread.c (load_force_doc_string_unwind):
	* lread.c (readevalloop):
	* lread.c (read_list_conser):
	* lread.c (read_vector):

	eliminate unused crufty vintage-19 "FSF defun hack" code.

	* lrecord.h: improve pdump description docs.

	* buffer.c:
	* ntheap.c:
	* ntheap.c (round_to_next):
	* ntheap.c (get_data_start):
	* ntheap.c (get_data_end):
	* ntheap.c (allocate_heap):
	* ntheap.c (sbrk):
	* ntheap.c (recreate_heap):
	* unexnt.c:
	* unexnt.c (_start):
	* unexnt.c (unexec):
	* unexnt.c (get_bss_info_from_map_file):
	* unexnt.c (get_section_info):
	* unexnt.c (copy_executable_and_dump_data_section):
	* unexnt.c (dump_bss_and_heap):
	* unexnt.c (read_in_bss):
	* unexnt.c (map_in_heap):
	* win32.c:
	* win32.c (mswindows_get_module_file_name):
	* emacs.c (make_arg_list_1):
	* emacs.c (Fdump_emacs):
	Mule-ize some unexec and startup code.  It was pseudo-Mule-ized
	before by simply always calling the ...A versions of functions,
	but that won't cut it -- eventually we want to be able to run
	properly even if XEmacs has been installed in a Japanese
	directory. (The current problem is the timing of the loading of
	the Unicode tables; this will eventually be fixed.) Go through and
	fix various other places where the code was not Mule-clean.
	Provide a function mswindows_get_module_file_name() to get our own
	name without resort to PATH_MAX and such.  Add a big comment in
	main() about the problem with Unicode table load timing that I
	just alluded to.

	* emacs.c (guts_of_fatal_error_signal):
	* emacs.c (mswindows_handle_hardware_exceptions_1):
	When error-checking is enabled (interpreted as "user is developing
	XEmacs"), don't ask user to "pause to read messages" when a fatal
	error has occurred, because it will wedge if we are in an inner
	modal loop (typically when a menu is popped up) and make us unable
	to get a useful stack trace in the debugger.

	* text.c (update_entirely_ascii_p_flag):
	* text.c (charbpos_to_bytebpos_func):
	* text.c (bytebpos_to_charbpos_func):
	Correct update_entirely_ascii_p_flag to actually work.

	* lisp.h:
	* symsinit.h:
	 declarations for above changes.

2002-04-13  Jonathan Harris  <jonathan@xemacs.org>

	* unexnt.c (_start):
	* unexnt.c (unexec):
	* unexnt.c (map_in_heap):
	Clean up one remaining file where nonintercepted Windows calls
	were being used.

2002-04-07  William M. Perry  <wmperry@gnu.org>

	* event-gtk.c:
	* device-gtk.c:
	* glyphs-gtk.c:
	* frame-gtk.c:
	* gtk-xemacs.c:
	* menubar-gtk.c:
	* redisplay-gtk.c: Need to include device.h and window.h in a few
	places.  Not sure which .h has changed that was transparently
	pulling them in before, but...

2002-03-06  Jerry James  <james@xemacs.org>

	* emodules.c (emodules_load): Fix multiple loading of same module.

2002-04-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.6 "bok choi" is released.

2002-04-03  Ben Wing  <ben@xemacs.org>

	* console-tty.c (tty_init_console):
	* eval.c:
	* eval.c (restore_lisp_object):
	* eval.c (restore_int):
	* eval.c (record_unwind_protect_restoring_int):
	* event-unixoid.c (read_event_from_tty_or_stream_desc):
	* file-coding.c (coding_reader):
	* file-coding.c (make_coding_stream_1):
	* file-coding.c (make_coding_input_stream):
	* file-coding.c (make_coding_output_stream):
	* file-coding.c (detect_coding_stream):
	* file-coding.h:
	* file-coding.h (DETECTOR_HAS_METHOD):
	* file-coding.h (struct coding_stream):
	* lisp.h:
	* print.c (Fprin1):
	* print.c (Fprin1_to_string):
	* print.c (Fprinc):
	* print.c (Fprint):
	* print.c (print_internal):
	* print.c (debug_print_no_newline):
	* print.c (debug_backtrace):
	* sysdep.c (total_data_usage):

	Fix data corruption error in print.c from print_depth becoming
	negative.  Borrow primitives internal_bind_int,
	internal_bind_lisp_object from my stderr-proc ws, soon to be
	integrated; use them to properly bind print_depth et al.

	First fix for TTY problem.  The basic problem is I switched things
	so that the TTY I/O is filtered through a coding system, for the
	support of kterm and such, that speak JIS or similar
	encodings. (#### I ***swear*** I had this working way back in
	19.12.) Anyway, this introduced buffering issues, in which instead
	of one char being read, it tried to read 1024 chars.  I tried
	setting the stdin descriptor non-blocking, but it doesn't appear
	to work on Cygwin. (#### Andy, do you know anything about this?)
	So I fixed it elsewhere.  If you get weirdness on the TTY, look in
	console-tty.c and see how it gets the coding system; maybe there's
	a way to change it (and if not, there should be!).

	Also fix warning in sysdep.c.

2002-03-31  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (INCREMENT_CONS_COUNTER):
	* alloc.c (xmalloc):
	* alloc.c (xcalloc):
	* alloc.c (xrealloc):
	* alloc.c (Fmemory_limit):
	* alloc.c (Fmemory_usage):
	* alloc.c (common_init_alloc_once_early):
	* alloc.c (syms_of_alloc):
	* alloc.c (vars_of_alloc):
	* bytecode.c:
	* bytecode.c (Ffetch_bytecode):
	* chartab.c (symbol_to_char_table_type):
	* chartab.c (Fget_range_char_table):
	* chartab.c (check_valid_char_table_value):
	* data.c (Faref):
	* data.c (Faset):
	* data.c (Fquo):
	* data.c (Fmod):
	* data.c (decode_weak_list_type):
	* data.c (encode_weak_list_type):
	* elhash.c (decode_hash_table_weakness):
	* elhash.c (decode_hash_table_test):
	* emacs.c (main):
	* eval.c:
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* event-Xt.c (x_to_emacs_keysym):
	* event-unixoid.c:
	* event-unixoid.c (poll_fds_for_input):
	* extents.c (decode_extent_at_flag):
	* extents.c (symbol_to_glyph_layout):
	* file-coding.c (symbol_to_eol_type):
	* file-coding.c (Fcoding_system_aliasee):
	* file-coding.c (coding_category_symbol_to_id):
	* fileio.c (report_file_type_error):
	* fileio.c (Fsubstitute_in_file_name):
	* fns.c:
	* fns.c (Fcompare_strings):
	* fns.c (internal_equalp):
	* fns.c (syms_of_fns):
	* glyphs.c (process_image_string_instantiator):
	* gutter.c (decode_gutter_position):
	* lisp-union.h:
	* lisp.h:
	* lisp.h (RETURN_NOT_REACHED):
	* mule-charset.c (Fcharset_property):
	* nt.c (mswindows_stat):
	* process-unix.c (unix_create_process):
	* process.c (decode_signal):
	* specifier.c (decode_locale_type):
	* specifier.c (decode_how_to_add_specification):
	* symbols.c (decode_magic_handler_type):
	* symbols.c (handler_type_from_function_symbol):
	* sysdep.c:
	* sysdep.c (start_of_data):
	* sysdep.c (total_data_usage):
	* sysdep.h (total_data_usage):
	* text.c:
	* text.c (qxestrncasecmp_i18n):
	* text.c (qxememcmp4):
	* text.c (qxememcasecmp4):
	* text.c (qxetextcmp):
	* text.c (qxetextcmp_matching):
	* text.c (qxetextcasecmp):
	* text.c (qxetextcasecmp_matching):
	* text.c (lisp_strcasecmp_i18n):
	* text.c (eicmp_1):
	* toolbar.c (decode_toolbar_position):
	* toolbar.c (Fset_default_toolbar_position):
	Try to implement GC triggering based on percentage of total memory
	usage.  Not currently activated (percentage set to 0) because not
	quite working.  Add `memory-usage' primitive to return XEmacs'
	idea of its memory usage.

	Add primitive compare-strings, compatible with FSF 21.1 -- can
	compare any part of two strings, optionally ignoring case.
	Improve qxe() functions in text.c for text comparison.

	Use RETURN_NOT_REACHED to try to avoid warnings about unreachable
	code.

	Add volatile_make_int() to fix warning in unix_send_process().


2002-03-31  Ben Wing  <ben@xemacs.org>

	* s/windowsnt.h:
	Use new ERROR_CHECK_ALL; not related to DEBUG_XEMACS.

2002-03-31  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (resize_string):
	* alloc.c (make_string):
	* alloc.c (make_string_nocopy):
	* alloc.c (common_init_alloc_once_early):
	* backtrace.h:
	* buffer.c:
	* buffer.c (print_buffer):
	* buffer.c (Fkill_buffer):
	* buffer.h:
	* buffer.h (membpos_to_bytebpos):
	* bytecode.c (print_compiled_function):
	* callproc.c (Fold_call_process_internal):
	* casetab.c (print_case_table):
	* charset.h (CHARSET_BY_LEADING_BYTE):
	* charset.h (MAKE_CHAR):
	* charset.h (breakup_char_1):
	* chartab.c:
	* chartab.c (print_chartab_range):
	* chartab.c (print_chartab_two_byte_charset):
	* chartab.c (print_char_table):
	* chartab.c (Fchar_table_p):
	* chartab.c (Fchar_table_type_list):
	* chartab.c (Fvalid_char_table_type_p):
	* chartab.c (Fchar_table_type):
	* chartab.c (Fput_char_table):
	* chartab.c (check_category_char):
	* cmdloop.c:
	* config.h.in:
	* console-msw.c (GetConsoleHwnd):
	* console-stream.c:
	* console-tty.c:
	* console-tty.c (tty_init_console):
	* console.c:
	* console.c (print_console):
	* console.h (error_check_console_type):
	* data.c (print_weak_list):
	* device-msw.c:
	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	* device-msw.c (print_devmode):
	* device.c:
	* device.c (print_device):
	* device.h (error_check_device_type):
	* dired-msw.c:
	* dired-msw.c (Fmswindows_insert_directory):
	* dired.c:
	* dumper.c:
	* dumper.c (pdump_file_get):
	* dumper.c (pdump_resource_get):
	* dumper.c (pdump_load):
	* editfns.c:
	* editfns.c (save_excursion_save):
	* eldap.c (print_ldap):
	* elhash.c:
	* elhash.c (check_hash_table_invariants):
	* elhash.c (print_hash_table_data):
	* elhash.c (print_hash_table):
	* elhash.c (free_hentries):
	* emacs.c (vars_of_emacs):
	* eval.c:
	* eval.c (internal_catch):
	* eval.c (unwind_to_catch):
	* eval.c (condition_case_1):
	* eval.c (check_error_state_sanity):
	* event-Xt.c:
	* event-Xt.c (x_to_emacs_keysym):
	* event-gtk.c (gtk_to_emacs_keysym):
	* event-msw.c:
	* event-msw.c (mswindows_wnd_proc):
	* event-stream.c:
	* events.c:
	* events.c (print_event):
	* events.c (transfer_event_chain_pointer):
	* extents.c (print_extent_1):
	* extents.c (print_extent):
	* faces.c (print_face):
	* file-coding.c:
	* file-coding.c (print_coding_system_in_print_method):
	* file-coding.c (coding_closer):
	* file-coding.c (make_coding_stream_1):
	* file-coding.c (make_coding_input_stream):
	* file-coding.c (make_coding_output_stream):
	* file-coding.c (encode_decode_coding_region):
	* file-coding.c (chain_init_coding_streams_1):
	* file-coding.c (undecided_convert):
	* file-coding.c (detect_coding_stream):
	* file-coding.h:
	* file-coding.h (_coding_system_data):
	* file-coding.h (XSETCODING_SYSTEM_OF_TYPE):
	* file-coding.h (struct coding_stream):
	* fileio.c:
	* frame-msw.c:
	* frame.c:
	* frame.c (print_frame):
	* frame.h:
	* frame.h (error_check_frame_type):
	* glyphs-gtk.c:
	* glyphs-gtk.c (gtk_print_image_instance):
	* glyphs-gtk.c (write_lisp_string_to_temp_file):
	* glyphs-msw.c:
	* glyphs-msw.c (mswindows_print_image_instance):
	* glyphs-msw.c (mswindows_progress_gauge_redisplay):
	* glyphs-shared.c:
	* glyphs-widget.c:
	* glyphs-x.c (x_print_image_instance):
	* glyphs-x.c (x_progress_gauge_redisplay):
	* glyphs.c:
	* glyphs.c (print_image_instance):
	* glyphs.c (print_glyph):
	* glyphs.h:
	* glyphs.h (GLYPH_CACHEL_WIDTH):
	* glyphs.h (GLYPH_CACHEL_GLYPH):
	* insdel.c (fixup_internal_substring):
	* insdel.c (buffer_insert_lisp_string_1):
	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.c (qxeGetLongPathName):
	* intl-auto-encap-win32.h:
	* intl-encap-win32.c:
	* intl-encap-win32.c (qxeDefMDIChildProc):
	* intl-win32.c (mswindows_multibyte_to_unicode_print):
	* keymap.c (print_keymap):
	* lisp-union.h:
	* lisp-union.h (wrap_pointer_1):
	* lisp.h:
	* lread.c (Fload_internal):
	* lrecord.h:
	* lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
	* lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION):
	* lrecord.h (wrap_record_1):
	* lstream.c (print_lstream):
	* lstream.h (error_check_lstream_type):
	* macros.c:
	* marker.c:
	* marker.c (print_marker):
	* marker.c (unchain_marker):
	* marker.c (bi_marker_position):
	* marker.c (set_bi_marker_position):
	* md5.c:
	* md5.c (Fmd5):
	* menubar-x.c:
	* menubar-x.c (command_builder_operate_menu_accelerator):
	* menubar.c:
	* mule-coding.c (iso2022_print):
	* mule-coding.c (FROB):
	* ntproc.c (_DebPrint):
	* ntproc.c (new_child):
	* ntproc.c (create_child):
	* ntproc.c (find_child_console):
	* ntproc.c (kill_will_disappear_soon):
	* objects-gtk.c (gtk_print_color_instance):
	* objects-gtk.c (gtk_print_font_instance):
	* objects-msw.c:
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-x.c:
	* objects-x.c (x_print_color_instance):
	* objects-x.c (x_print_font_instance):
	* objects.c:
	* objects.c (print_color_instance):
	* objects.c (print_font_instance):
	* opaque.c:
	* opaque.c (print_opaque):
	* opaque.c (print_opaque_ptr):
	* print.c:
	* print.c (write_string_1):
	* print.c (default_object_printer):
	* print.c (internal_object_printer):
	* print.c (print_internal):
	* process-nt.c (send_signal_the_95_way):
	* process-nt.c (get_internet_address):
	* process-unix.c (unix_send_process):
	* process.c:
	* process.c (print_process):
	* process.c (init_process_io_handles):
	* rangetab.c:
	* rangetab.c (print_range_table):
	* redisplay-msw.c:
	* redisplay-output.c (sync_display_line_structs):
	* redisplay.c:
	* redisplay.c (ensure_modeline_generated):
	* redisplay.c (redisplay_without_hooks):
	* redisplay.c (sledgehammer_check_redisplay_structs_1):
	* regex.c:
	* regex.c (re_match_2_internal):
	* scrollbar-msw.c:
	* select-msw.c:
	* select-msw.c (mswindows_selection_data_type_name):
	* signal.c:
	* specifier.c:
	* specifier.c (print_specifier):
	* specifier.h:
	* specifier.h (_specifier_data):
	* symbols.c (mark_symbol_value_buffer_local):
	* symbols.c (print_symbol_value_magic):
	* sysdep.c:
	* syswindows.h:
	* syswindows.h (ERROR_WHEN_NONINTERCEPTED_FUNS_USED):
	* text.c:
	* text.c (bytecount_to_charcount):
	* text.c (charcount_to_bytecount):
	* text.c (charbpos_to_bytebpos_func):
	* text.c (bytebpos_to_charbpos_func):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (Lstream_get_emchar_1):
	* text.h:
	* text.h (DECLARE_INLINE_HEADER):
	* toolbar-msw.c:
	* tooltalk.c (print_tooltalk_message):
	* tooltalk.c (print_tooltalk_pattern):
	* ui-gtk.c (ffi_object_printer):
	* ui-gtk.c (emacs_gtk_object_printer):
	* ui-gtk.c (emacs_gtk_boxed_printer):
	* unicode.c:
	* unicode.c (Fchar_to_unicode):
	* unicode.c (unicode_print):
	* unicode.c (syms_of_unicode):
	* window.c:
	* window.c (print_window):
	* window.c (print_window_config):

	Redo error-checking macros: ERROR_CHECK_TYPECHECK ->
	ERROR_CHECK_TYPES, ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add
	ERROR_CHECK_DISPLAY, ERROR_CHECK_STRUCTURES.  Document these in
	config.h.in.  Fix code to follow docs.  Fix *_checking_assert()
	in accordance with new names.

	Attempt to fix periodic redisplay crash freeing display line
	structures.  Add first implementation of sledgehammer redisplay
	check.

	Redo print_*() to use write_fmt_string(), write_fmt_string_lisp().

	Fix bug in md5 handling.

	Rename character-to-unicode to char-to-unicode; same for
	unicode-to-char{acter}.

	Move chartab documentation to `make-char-table'.

	Some header cleanup.

	Clean up remaining places where nonintercepted Windows calls are
	being used.

2002-03-29  Jonathan Harris  <jonathan@xemacs.org>

	* device-msw.c (plist_get_margin): Add arg specifying mm or inches
	* device-msw.c (plist_set_margin): Fix multiplicand used for mm
	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Detect and handle case where machine is set up for metric units

	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.h:
	* intl-encap-win32.c:
	Add Get & SetLocaleInfo from winnls.h

2002-03-29  William M. Perry  <wmperry@gnu.org>

	* ui-gtk.c (Fgtk_import_function_internal):
	(emacs_gtk_object_finalizer):
	(build_gtk_object):
	(build_gtk_boxed): Use wrap_emacs_*() instead of wrap_*()
	for gtk_boxed, gtk_object, ffi

2002-03-24  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (gui_objs):
	* Makefile.in.in (objs):
	Always include gui.c, to fix compile error when TTY-only.

	* EmacsFrame.c (EmacsFrameSetValues):
	* abbrev.c:
	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (Fexpand_abbrev):
	* alloc.c:
	* alloc.c (malloc_warning):
	* alloc.c (allocate_lisp_storage):
	* alloc.c (Fcons):
	* alloc.c (noseeum_cons):
	* alloc.c (make_float):
	* alloc.c (make_vector):
	* alloc.c (Fvector):
	* alloc.c (make_bit_vector_internal):
	* alloc.c (make_bit_vector):
	* alloc.c (make_bit_vector_from_byte_vector):
	* alloc.c (Fbit_vector):
	* alloc.c (make_compiled_function):
	* alloc.c (Fmake_symbol):
	* alloc.c (allocate_event):
	* alloc.c (Fmake_marker):
	* alloc.c (noseeum_make_marker):
	* alloc.c (mark_string):
	* alloc.c (string_plist_ptr):
	* alloc.c (allocate_string_chars_struct):
	* alloc.c (make_uninit_string):
	* alloc.c (resize_string):
	* alloc.c (set_string_char):
	* alloc.c (Fmake_string):
	* alloc.c (init_string_ascii_begin):
	* alloc.c (make_string_nocopy):
	* alloc.c (make_lcrecord_list):
	* alloc.c (allocate_managed_lcrecord):
	* alloc.c (ADDITIONAL_FREE_marker):
	* alloc.c (verify_string_chars_integrity):
	* alloc.c (compact_string_chars):
	* alloc.c (debug_string_purity_print):
	* alloc.c (UNMARK_string):
	* alloc.c (common_init_alloc_once_early):
	* buffer.c (Fdecode_buffer):
	* buffer.c (finish_init_buffer):
	* buffer.c (Fother_buffer):
	* buffer.c (Fcurrent_buffer):
	* buffer.c (Fbury_buffer):
	* buffer.c (common_init_complex_vars_of_buffer):
	* buffer.h (wrap_buffer):
	* buffer.h (buffer_or_string_charbpos_to_bytebpos):
	* buffer.h (buffer_or_string_bytebpos_to_charbpos):
	* buffer.h (buffer_or_string_charbpos_to_membpos):
	* buffer.h (buffer_or_string_membpos_to_charbpos):
	* bytecode.c (execute_optimized_program):
	* bytecode.h (wrap_compiled_function):
	* callint.c:
	* callint.c (Fcall_interactively):
	* callproc.c:
	* callproc.c (call_process_cleanup):
	* callproc.c (Fold_call_process_internal):
	* casetab.c:
	* casetab.c (allocate_case_table):
	* casetab.c (set_case_table):
	* casetab.h (wrap_case_table):
	* charset.h (wrap_charset):
	* chartab.c:
	* chartab.c (mark_char_table):
	* chartab.c (print_char_table):
	* chartab.c (Fmake_char_table):
	* chartab.c (make_char_table_entry):
	* chartab.c (copy_char_table_entry):
	* chartab.c (Fcopy_char_table):
	* chartab.h:
	* chartab.h (wrap_char_table_entry):
	* chartab.h (struct Lisp_Char_Table):
	* chartab.h (wrap_char_table):
	* cmds.c (Fpoint_at_bol):
	* console-msw.c:
	* console-msw.c (DSYMNAME):
	* console-msw.h (wrap_devmode):
	* console-msw.h (wrap_mswindows_dialog_id):
	* console-tty.c (tty_init_console):
	* console-tty.c (decode_tty_console):
	* console-x.c:
	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.h:
	* console.c (allocate_console):
	* console.c (create_console):
	* console.c (delete_console_internal):
	* console.c (common_init_complex_vars_of_console):
	* console.h (wrap_console):
	* data.c:
	* data.c (Faref):
	* data.c (Faset):
	* data.c (make_weak_list):
	* database.c:
	* database.c (wrap_database):
	* database.c (print_database):
	* database.c (finalize_database):
	* database.c (Fopen_database):
	* device-gtk.c (decode_gtk_device):
	* device-gtk.c (gtk_init_device):
	* device-gtk.c (gtk_delete_device):
	* device-msw.c (ensure_not_printing):
	* device-msw.c (Fmsprinter_get_settings):
	* device-msw.c (Fmsprinter_select_settings):
	* device-msw.c (Fmsprinter_apply_settings):
	* device-msw.c (finalize_devmode):
	* device-msw.c (allocate_devmode):
	* device-x.c:
	* device-x.c (decode_x_device):
	* device-x.c (x_init_device):
	* device-x.c (x_delete_device):
	* device-x.c (x_error_handler):
	* device-x.c (x_IO_error_handler):
	* device.c (allocate_device):
	* device.c (Fset_device_selected_frame):
	* device.c (Fmake_device):
	* device.c (delete_device_internal):
	* device.c (Fset_device_class):
	* device.h (wrap_device):
	* dialog-msw.c (handle_question_dialog_box):
	* doc.c:
	* doc.c (weird_doc):
	* doc.c (kludgily_ignore_lost_doc_p):
	* doc.c (verify_doc_mapper):
	* doprnt.c:
	* doprnt.c (NEXT_ASCII_BYTE):
	* doprnt.c (emacs_doprnt_1):
	* dumper.c (pdump_reloc_one):
	* dynarr.c (Dynarr_insert_many):
	* editfns.c (Fstring_to_char):
	* editfns.c (user_login_name):
	* editfns.c (Fuser_real_login_name):
	* editfns.c (Ftranslate_region):
	* eldap.c (make_ldap):
	* eldap.h (wrap_ldap):
	* elhash.c (make_general_lisp_hash_table):
	* elhash.c (Fcopy_hash_table):
	* elhash.h (wrap_hash_table):
	* emacs.c (mswindows_handle_hardware_exceptions_1):
	* eval.c:
	* eval.c (Fuser_variable_p):
	* eval.c (throw_or_bomb_out):
	* eval.c (Fsignal):
	* eval.c (restore_current_warning_level):
	* eval.c (call_with_suspended_errors_1):
	* eval.c (call_with_suspended_errors):
	* eval.c (maybe_signal_error_1):
	* eval.c (maybe_signal_continuable_error_1):
	* eval.c (eval_in_buffer_trapping_errors):
	* eval.c (warn_when_safe_lispobj):
	* eval.c (warn_when_safe):
	* eval.c (vars_of_eval):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (handle_focus_event_1):
	* event-Xt.c (change_frame_visibility):
	* event-Xt.c (handle_map_event):
	* event-Xt.c (handle_client_message):
	* event-Xt.c (emacs_Xt_handle_magic_event):
	* event-Xt.c (emacs_Xt_select_process):
	* event-Xt.c (emacs_Xt_select_console):
	* event-Xt.c (emacs_Xt_unselect_console):
	* event-Xt.c (emacs_Xt_next_event):
	* event-gtk.c (handle_focus_event_1):
	* event-gtk.c (change_frame_visibility):
	* event-gtk.c (handle_map_event):
	* event-gtk.c (handle_client_message):
	* event-gtk.c (emacs_gtk_handle_magic_event):
	* event-gtk.c (emacs_gtk_select_process):
	* event-gtk.c (emacs_gtk_select_console):
	* event-gtk.c (emacs_gtk_unselect_console):
	* event-gtk.c (dragndrop_data_received):
	* event-gtk.c (emacs_gtk_next_event):
	* event-gtk.c (gtk_event_to_emacs_event):
	* event-gtk.c (emacs_shell_event_handler):
	* event-msw.c (make_ntpipe_input_stream):
	* event-msw.c (make_ntpipe_output_stream):
	* event-msw.c (make_winsock_stream_1):
	* event-msw.c (mswindows_enqueue_process_event):
	* event-msw.c (emacs_mswindows_next_event):
	* event-msw.c (get_process_input_waitable):
	* event-msw.c (emacs_mswindows_select_process):
	* event-stream.c (wrap_command_builder):
	* event-stream.c (event_stream_next_event):
	* event-stream.c (echo_key_event):
	* event-stream.c (munge_keymap_translate):
	* event-stream.c (pre_command_hook):
	* event-stream.c (dribble_out_event):
	* event-tty.c (emacs_tty_next_event):
	* event-unixoid.c (read_event_from_tty_or_stream_desc):
	* events.c:
	* events.c (print_event_1):
	* events.c (print_event):
	* events.c (nth_of_key_sequence_as_event):
	* events.c (format_event_object):
	* events.c (Fevent_window):
	* events.h:
	* events.h (wrap_timeout):
	* events.h (wrap_event):
	* extents.c:
	* extents.c (allocate_extent_auxiliary):
	* extents.c (mark_extent_info):
	* extents.c (allocate_extent_info):
	* extents.c (decode_buffer_or_string):
	* extents.c (buffer_or_string_extent_info):
	* extents.c (buffer_or_string_extent_info_force):
	* extents.c (print_extent_2):
	* extents.c (extent_fragment_update):
	* extents.c (Fnext_extent):
	* extents.c (Fprevious_extent):
	* extents.c (Fnext_e_extent):
	* extents.c (Fprevious_e_extent):
	* extents.c (Fset_extent_parent):
	* extents.c (set_extent_endpoints_1):
	* extents.c (copy_extent):
	* extents.c (destroy_extent):
	* extents.c (Fmake_extent):
	* extents.c (Fcopy_extent):
	* extents.c (slow_map_extents_function):
	* extents.c (slow_map_extent_children_function):
	* extents.c (extent_at_mapper):
	* extents.c (report_extent_modification_mapper):
	* extents.c (Fextent_properties):
	* extents.c (Fforce_highlight_extent):
	* extents.c (run_extent_copy_paste_internal):
	* extents.c (insert_extent):
	* extents.c (splice_in_string_extents):
	* extents.c (put_text_prop_mapper):
	* extents.c (put_text_prop_openness_mapper):
	* extents.c (put_text_prop):
	* extents.h (wrap_extent):
	* extents.h (wrap_extent_auxiliary):
	* extents.h (wrap_extent_info):
	* faces.c:
	* faces.c (face_property_matching_instance):
	* faces.c (Fmake_face):
	* faces.c (init_device_faces):
	* faces.c (init_frame_faces):
	* faces.c (ensure_face_cachel_contains_charset):
	* faces.c (add_face_cachel):
	* faces.c (get_builtin_face_cache_index):
	* faces.c (get_extent_fragment_face_cache_index):
	* faces.c (update_frame_face_values):
	* faces.c (complex_vars_of_faces):
	* faces.h (wrap_face):
	* faces.h (FACE_PROPERTY_INSTANCE):
	* faces.h (FACE_FONT):
	* file-coding.c:
	* file-coding.c (setup_eol_coding_systems):
	* file-coding.c (make_coding_system_1):
	* file-coding.c (Fcopy_coding_system):
	* file-coding.c (make_coding_stream_1):
	* file-coding.c (convert_eol_print):
	* file-coding.c (convert_eol_putprop):
	* file-coding.c (convert_eol_getprop):
	* file-coding.c (detected_coding_system):
	* file-coding.c (complex_vars_of_file_coding):
	* file-coding.h:
	* file-coding.h (wrap_coding_system):
	* file-coding.h (XSETCODING_SYSTEM_OF_TYPE):
	* fileio.c (build_annotations):
	* fileio.c (auto_save_expand_name_error):
	* fileio.c (Fdo_auto_save):
	* filelock.c (lock_file):
	* fns.c (Fstring_equal):
	* fns.c (Fstring_lessp):
	* fns.c (Fstring_modified_tick):
	* fns.c (bump_string_modiff):
	* fns.c (Fsubstring):
	* fns.c (bad_bad_bunny):
	* fns.c (bad_bad_turtle):
	* fns.c (Ffillarray):
	* frame-gtk.c (decode_gtk_frame):
	* frame-gtk.c (gtk_set_frame_properties):
	* frame-gtk.c (resize_event_cb):
	* frame-gtk.c (delete_event_cb):
	* frame-gtk.c (cleanup_deleted_frame):
	* frame-gtk.c (gtk_get_mouse_position):
	* frame-gtk.c (gtk_update_frame_external_traits):
	* frame-msw.c:
	* frame-msw.c (mswindows_init_frame_1):
	* frame-msw.c (mswindows_set_frame_properties):
	* frame-msw.c (error_frame_unsizable):
	* frame-tty.c (tty_schedule_frame_select):
	* frame-x.c:
	* frame-x.c (decode_x_frame):
	* frame-x.c (x_wm_maybe_store_wm_command):
	* frame-x.c (x_set_frame_properties):
	* frame-x.c (x_get_mouse_position):
	* frame-x.c (x_update_frame_external_traits):
	* frame.c (allocate_frame_core):
	* frame.c (setup_normal_frame):
	* frame.c (setup_minibuffer_frame):
	* frame.c (Fmake_frame):
	* frame.c (adjust_frame_size):
	* frame.c (device_selected_frame):
	* frame.c (Flast_nonminibuf_frame):
	* frame.c (Fset_frame_selected_window):
	* frame.c (Fnext_frame):
	* frame.c (Fprevious_frame):
	* frame.c (other_visible_frames):
	* frame.c (delete_frame_internal):
	* frame.c (Fdelete_frame):
	* frame.c (Fmouse_pixel_position):
	* frame.c (Fmouse_position):
	* frame.c (store_minibuf_frame_prop):
	* frame.c (dissect_as_face_setting):
	* frame.c (Fset_frame_properties):
	* frame.c (Fframe_property):
	* frame.c (Fframe_properties):
	* frame.c (Fset_frame_height):
	* frame.c (Fset_frame_width):
	* frame.c (Fset_frame_size):
	* frame.c (frame_conversion_internal):
	* frame.c (change_frame_size_1):
	* frame.c (update_frame_icon):
	* frame.h (wrap_frame):
	* free-hook.c (Freally_free):
	* general-slots.h:
	* glyphs-eimage.c:
	* glyphs-eimage.c (png_instantiate):
	* glyphs-gtk.c (extract_xpm_color_names):
	* glyphs-gtk.c (gtk_xpm_instantiate):
	* glyphs-gtk.c (gtk_redisplay_widget):
	* glyphs-msw.c (init_image_instance_from_dibitmap):
	* glyphs-msw.c (extract_xpm_color_names):
	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (init_image_instance_from_xbm_inline):
	* glyphs-widget.c (check_valid_item_list):
	* glyphs-x.c (extract_xpm_color_names):
	* glyphs-x.c (x_xpm_instantiate):
	* glyphs-x.c (x_redisplay_widget):
	* glyphs.c:
	* glyphs.c (check_window_subwindow_cache):
	* glyphs.c (allocate_image_instance):
	* glyphs.c (decode_error_behavior_flag):
	* glyphs.c (encode_error_behavior_flag):
	* glyphs.c (invalidate_glyph_geometry_maybe):
	* glyphs.c (image_going_to_add):
	* glyphs.c (allocate_glyph):
	* glyphs.c (glyph_image_instance_maybe):
	* glyphs.c (Fglyph_width):
	* glyphs.c (Fglyph_ascent):
	* glyphs.c (Fglyph_descent):
	* glyphs.c (Fglyph_height):
	* glyphs.c (set_glyph_dirty_p):
	* glyphs.c (glyph_baseline):
	* glyphs.c (glyph_contrib_p):
	* glyphs.c (glyph_query_geometry):
	* glyphs.c (glyph_do_layout):
	* glyphs.c (update_glyph_cachel_data):
	* glyphs.c (mark_glyph_cachels_as_clean):
	* glyphs.c (unmap_subwindow):
	* glyphs.c (map_subwindow):
	* glyphs.c (add_glyph_animated_timeout):
	* glyphs.c (disable_glyph_animated_timeout):
	* glyphs.h:
	* glyphs.h (IMAGE_SPECIFIERP):
	* glyphs.h (wrap_image_instance):
	* glyphs.h (wrap_glyph):
	* gpmevent.c:
	* gpmevent.c (struct __gpm_state):
	* gpmevent.c (store_gpm_state):
	* gpmevent.c (restore_gpm_state):
	* gpmevent.c (clear_gpm_state):
	* gpmevent.c (Freceive_gpm_event):
	* gpmevent.c (turn_off_gpm):
	* gpmevent.c (tty_get_foreign_selection):
	* gpmevent.c (tty_selection_exists_p):
	* gpmevent.c (tty_own_selection):
	* gpmevent.c (tty_get_mouse_position):
	* gpmevent.c (tty_set_mouse_position):
	* gpmevent.c (gpm_event_pending_p):
	* gpmevent.c (gpm_next_event_cb):
	* gpmevent.c (hook_event_callbacks_once):
	* gpmevent.c (hook_console_methods_once):
	* gpmevent.c (Fgpm_enabled_p):
	* gpmevent.c (Fgpm_enable):
	* gpmevent.c (vars_of_gpmevent):
	* gpmevent.c (syms_of_gpmevent):
	* gtk-xemacs.c (smash_scrollbar_specifiers):
	* gtk-xemacs.c (smash_toolbar_specifiers):
	* gui-msw.c (mswindows_handle_gui_wm_command):
	* gui-x.c:
	* gui-x.c (gcpro_popup_callbacks):
	* gui-x.c (popup_selection_callback):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.h (wrap_popup_data):
	* gui.c:
	* gui.c (FROB):
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (allocate_gui_item):
	* gui.c (make_gui_item_from_keywords_internal):
	* gui.c (update_gui_item_keywords):
	* gui.c (gui_parse_item_keywords_no_errors):
	* gui.c (gui_item_display_flush_right):
	* gui.c (print_gui_item):
	* gui.c (finalize_gui_item):
	* gui.c (gui_error):
	* gui.c (gui_error_2):
	* gui.h (wrap_gui_item):
	* gutter.c (output_gutter):
	* gutter.h (GUTTER_SPECIFIERP):
	* indent.c:
	* indent.c (last_visible_position):
	* indent.c (string_column_at_point):
	* indent.c (Findent_to):
	* indent.c (Fcurrent_indentation):
	* indent.c (Fmove_to_column):
	* input-method-xlib.c:
	* input-method-xlib.c (XIM_init_device):
	* input-method-xlib.c (XIM_init_frame):
	* insdel.c:
	* insdel.c (begin_multiple_change):
	* insdel.c (signal_first_change):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
	* insdel.c (prepare_to_modify_buffer):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (barf_if_buffer_read_only):
	* keymap.c:
	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (make_keymap):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (key_desc_list_to_event):
	* keymap.c (Fdefine_key):
	* keymap.c (Flookup_key):
	* keymap.c (get_relevant_keymaps):
	* keymap.c (minor_mode_keymap_predicate):
	* keymap.c (map_keymap_sort_predicate):
	* keymap.c (Fkey_description):
	* keymap.c (Fsingle_key_description):
	* keymap.c (where_is_to_char):
	* keymap.c (format_raw_keys):
	* keymap.c (where_is_recursive_mapper):
	* keymap.c (where_is_internal):
	* keymap.h (wrap_keymap):
	* lisp-disunion.h:
	* lisp-union.h (XPNTRVAL):
	* lisp-union.h (make_int):
	* lisp-union.h (make_char):
	* lisp-union.h (wrap_pointer_1):
	* lisp.h:
	* lisp.h (dynarr):
	* lisp.h (error_behavior):
	* lisp.h (wrap_cons):
	* lisp.h (struct Lisp_String):
	* lisp.h (wrap_string):
	* lisp.h (set_string_char):
	* lisp.h (wrap_vector):
	* lisp.h (wrap_bit_vector):
	* lisp.h (struct Lisp_Symbol):
	* lisp.h (SYMBOL_IS_KEYWORD):
	* lisp.h (wrap_symbol):
	* lisp.h (XSYMBOL_NEXT):
	* lisp.h (wrap_subr):
	* lisp.h (wrap_marker):
	* lisp.h (wrap_float):
	* lisp.h (FLOATP):
	* lisp.h (wrap_weak_list):
	* lisp.h (wrap_lcrecord_list):
	* lread.c (Fread_from_string):
	* lrecord.h:
	* lrecord.h (wrap_toolbar_button):
	* lrecord.h (wrap_record_1):
	* lstream.c (Lstream_delete):
	* lstream.c (make_stdio_stream_1):
	* lstream.c (make_filedesc_stream_1):
	* lstream.c (make_lisp_string_input_stream):
	* lstream.c (make_fixed_buffer_input_stream):
	* lstream.c (make_fixed_buffer_output_stream):
	* lstream.c (make_resizing_buffer_output_stream):
	* lstream.c (make_dynarr_output_stream):
	* lstream.c (make_lisp_buffer_stream_1):
	* lstream.h (wrap_lstream):
	* marker.c (mark_marker):
	* marker.c (Fmarker_buffer):
	* marker.c (init_buffer_markers):
	* menubar-gtk.c (__generic_button_callback):
	* menubar-gtk.c (menu_descriptor_to_widget_1):
	* menubar-msw.c (mswindows_handle_wm_command):
	* menubar-x.c (pre_activate_callback):
	* menubar-x.c (set_frame_menubar):
	* menubar-x.c (x_popup_menu):
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c:
	* minibuf.c (Ftry_completion):
	* minibuf.c (Fall_completions):
	* minibuf.c (clear_echo_area_internal):
	* minibuf.c (echo_area_append):
	* minibuf.c (echo_area_status):
	* mule-canna.c (Fcanna_touroku_string):
	* mule-canna.c (Fcanna_change_mode):
	* mule-canna.c (Fcanna_do_function):
	* mule-ccl.c (Fccl_execute):
	* mule-charset.c:
	* mule-charset.c (print_charset):
	* mule-charset.c (make_charset):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_id):
	* mule-charset.c (syms_of_mule_charset):
	* mule-wnnfns.c (Fwnn_inspect):
	* native-gtk-toolbar.c (gtk_output_toolbar):
	* objects-msw.c:
	* objects-msw.c (mswindows_print_color_instance):
	* objects-msw.c (mswindows_color_instance_equal):
	* objects-msw.c (mswindows_color_instance_hash):
	* objects-msw.c (mswindows_print_font_instance):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-tty.c:
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-x.c (x_font_instance_truename):
	* objects.c:
	* objects.c (finalose):
	* objects.c (Fmake_color_instance):
	* objects.c (font_instance_equal):
	* objects.c (font_instance_hash):
	* objects.c (Fmake_font_instance):
	* objects.c (Flist_fonts):
	* objects.c (reinit_vars_of_objects):
	* objects.h (COLOR_SPECIFIERP):
	* objects.h (FONT_SPECIFIERP):
	* objects.h (FACE_BOOLEAN_SPECIFIERP):
	* objects.h (wrap_color_instance):
	* objects.h (wrap_font_instance):
	* opaque.c (make_opaque):
	* opaque.h (wrap_opaque):
	* opaque.h (wrap_opaque_ptr):
	* postgresql.c (make_pgconn):
	* postgresql.c (make_pgresult):
	* postgresql.h (wrap_pgconn):
	* postgresql.h (wrap_pgresult):
	* print.c:
	* print.c (output_string):
	* print.c (write_eistring):
	* print.c (temp_output_buffer_setup):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_symbol):
	* process-unix.c:
	* process-unix.c (unix_canonicalize_host_name):
	* process.c (make_process_internal):
	* process.c (init_process_io_handles):
	* process.c (Fprocess_send_region):
	* process.c (status_message):
	* process.c (status_notify):
	* process.c (decode_signal):
	* process.c (handle_signal):
	* process.h (PROCESSP):
	* process.h (wrap_process):
	* rangetab.c (Fmake_range_table):
	* rangetab.c (Fcopy_range_table):
	* rangetab.h (wrap_range_table):
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-gtk.c (gtk_output_string):
	* redisplay-gtk.c (gtk_output_pixmap):
	* redisplay-gtk.c (gtk_clear_to_window_end):
	* redisplay-gtk.c (gtk_output_eol_cursor):
	* redisplay-gtk.c (gtk_clear_frame):
	* redisplay-gtk.c (gtk_flash):
	* redisplay-msw.c:
	* redisplay-msw.c (mswindows_output_string):
	* redisplay-msw.c (mswindows_output_pixmap):
	* redisplay-msw.c (mswindows_output_display_block):
	* redisplay-output.c:
	* redisplay-output.c (compare_runes):
	* redisplay-output.c (get_cursor_size_and_location):
	* redisplay-output.c (clear_left_border):
	* redisplay-output.c (clear_right_border):
	* redisplay-output.c (output_display_line):
	* redisplay-output.c (redisplay_output_subwindow):
	* redisplay-output.c (redisplay_output_layout):
	* redisplay-output.c (redisplay_output_pixmap):
	* redisplay-output.c (redisplay_clear_top_of_window):
	* redisplay-output.c (redisplay_clear_to_window_end):
	* redisplay-tty.c:
	* redisplay-tty.c (tty_output_display_block):
	* redisplay-tty.c (tty_clear_to_window_end):
	* redisplay-tty.c (tty_turn_on_frame_face):
	* redisplay-tty.c (tty_turn_off_frame_face):
	* redisplay-x.c:
	* redisplay-x.c (x_output_display_block):
	* redisplay-x.c (x_output_string):
	* redisplay-x.c (x_output_eol_cursor):
	* redisplay-x.c (x_clear_frame):
	* redisplay-x.c (x_flash):
	* redisplay.c:
	* redisplay.c (redisplay_text_width_emchar_string):
	* redisplay.c (redisplay_frame_text_width_string):
	* redisplay.c (add_emchar_rune_1):
	* redisplay.c (add_intbyte_string_runes):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (create_overlay_glyph_block):
	* redisplay.c (create_left_glyph_block):
	* redisplay.c (create_right_glyph_block):
	* redisplay.c (generate_formatted_string_db):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (call_redisplay_end_triggers):
	* redisplay.c (redisplay_frame):
	* redisplay.c (start_with_point_on_display_line):
	* redisplay.c (glyph_to_pixel_translation):
	* redisplay.c (pixel_to_glyph_translation):
	* scrollbar-gtk.c (gtk_scrollbar_pointer_changed_in_window):
	* scrollbar-msw.c (mswindows_handle_mousewheel_event):
	* scrollbar-x.c (x_scrollbar_pointer_changed_in_window):
	* scrollbar.c (init_frame_scrollbars):
	* scrollbar.c (init_device_scrollbars):
	* scrollbar.h (wrap_scrollbar_instance):
	* search.c:
	* search.c (fixup_search_regs_for_string):
	* search.c (looking_at_1):
	* search.c (string_match_1):
	* search.c (bi_find_next_emchar_in_string):
	* search.c (search_buffer):
	* search.c (set_search_regs):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (Fstore_match_data):
	* select-gtk.c (gtk_own_selection):
	* select-x.c:
	* sound.c:
	* sound.c (Fding):
	* sound.c (vars_of_sound):
	* specifier.c:
	* specifier.c (make_specifier_internal):
	* specifier.c (canonicalize_tag_set):
	* specifier.c (setup_device_initial_specifier_tags):
	* specifier.c (NOTE): New.
	* specifier.c (recompute_one_cached_specifier_in_window):
	* specifier.c (recompute_one_cached_specifier_in_frame):
	* specifier.h:
	* specifier.h (wrap_specifier):
	* specifier.h (GENERIC_SPECIFIERP):
	* specifier.h (INTEGER_SPECIFIERP):
	* specifier.h (NATNUM_SPECIFIERP):
	* specifier.h (BOOLEAN_SPECIFIERP):
	* specifier.h (DISPLAYTABLE_SPECIFIERP):
	* strftime.c (add_num_time_t):
	* symbols.c:
	* symbols.c (mark_symbol):
	* symbols.c (Fintern):
	* symbols.c (Fintern_soft):
	* symbols.c (Funintern):
	* symbols.c (oblookup):
	* symbols.c (map_obarray):
	* symbols.c (Fsymbol_name):
	* symbols.c (set_up_buffer_local_cache):
	* symbols.c (flush_all_buffer_local_cache):
	* symbols.c (Fset):
	* symbols.c (Fdefvaralias):
	* symbols.c (init_symbols_once_early):
	* symbols.c (defsubr):
	* symbols.c (defsubr_macro):
	* symbols.c (defvar_magic):
	* symeval.h:
	* symeval.h (wrap_symbol_value_magic):
	* syntax.h:
	* syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
	* syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
	* text.c (get_buffer_pos_char):
	* text.c (get_buffer_range_char):
	* text.c (get_string_pos_byte):
	* text.c (get_string_range_byte):
	* text.h:
	* text.h (eiinit):
	* text.h (eiinit_malloc):
	* toolbar-common.c:
	* toolbar-common.c (common_output_toolbar_button):
	* toolbar-common.c (common_output_toolbar):
	* toolbar-common.c (common_clear_toolbar):
	* toolbar-msw.c:
	* toolbar-msw.c (mswindows_output_toolbar):
	* toolbar-msw.c (mswindows_handle_toolbar_wm_command):
	* toolbar.c (update_toolbar_button):
	* toolbar.c (init_frame_toolbars):
	* toolbar.c (init_device_toolbars):
	* toolbar.h (wrap_toolbar_button):
	* toolbar.h (TOOLBAR_SPECIFIERP):
	* tooltalk.c (make_tooltalk_message):
	* tooltalk.c (make_tooltalk_pattern):
	* tooltalk.c (init_tooltalk):
	* tooltalk.h (wrap_tooltalk_message):
	* tooltalk.h (wrap_tooltalk_pattern):
	* ui-gtk.c (Fgtk_import_function_internal):
	* ui-gtk.c (emacs_gtk_object_finalizer):
	* ui-gtk.c (build_gtk_object):
	* ui-gtk.c (build_gtk_boxed):
	* ui-gtk.c (lisp_to_gtk_type):
	* ui-gtk.h (wrap_emacs_ffi):
	* ui-gtk.h (wrap_emacs_gtk_object):
	* ui-gtk.h (wrap_emacs_gtk_boxed):
	* undo.c (undo_prelude):
	* vm-limit.c:
	* vm-limit.c (memory_warnings):
	* window.c:
	* window.c (allocate_window):
	* window.c (window_is_leftmost):
	* window.c (window_is_rightmost):
	* window.c (window_is_highest):
	* window.c (window_is_lowest):
	* window.c (margin_width_internal):
	* window.c (Fnext_window):
	* window.c (Fprevious_window):
	* window.c (Fnext_vertical_window):
	* window.c (window_loop):
	* window.c (buffer_window_count):
	* window.c (Fdelete_other_windows):
	* window.c (list_windows):
	* window.c (make_dummy_parent):
	* window.c (window_pixel_height_to_char_height):
	* window.c (window_char_height_to_pixel_height):
	* window.c (window_displayed_height):
	* window.c (window_pixel_width_to_char_width):
	* window.c (window_char_width_to_pixel_width):
	* window.c (change_window_height):
	* window.c (Fmove_to_window_line):
	* window.c (wrap_window_configuration):
	* window.c (Fcurrent_window_configuration):
	* window.h (wrap_window):
	* window.h (wrap_window_mirror):
	Eliminate XSETFOO.  Replace all usages with wrap_foo().

	Make symbol->name a Lisp_Object, not Lisp_String *.  Eliminate
	nearly all uses of Lisp_String * in favor of Lisp_Object, and
	correct macros so most of them favor Lisp_Object.

	Create new error-behavior ERROR_ME_DEBUG_WARN -- output warnings,
	but at level `debug' (usually ignored).  Use it when instantiating
	specifiers, so problems can be debugged.  Move
	log-warning-minimum-level into C so that we can optimize
	ERROR_ME_DEBUG_WARN.

	Fix warning levels consistent with new definitions.

	Add default_ and parent fields to char table; not yet implemented.

	New fun Dynarr_verify(); use for further error checking on Dynarrs.

	Rearrange code at top of lisp.h in conjunction with dynarr changes.

	Fix eifree().  Use Eistrings in various places
	(format_event_object(), where_is_to_char(), and callers thereof)
	to avoid fixed-size strings buffers.  New fun write_eistring().

	Reindent and fix GPM code to follow standards.

	Set default MS Windows font to Lucida Console (same size as
	Courier New but less interline spacing, so more lines fit).
	Increase default frame size on Windows to 50 lines. (If that's too
	big for the workspace, the frame will be shrunk as necessary.)

	Fix problem with text files with no newlines (). (Change
	`convert-eol' coding system to use `nil' for autodetect,
	consistent with make-coding-system.)

	Correct compile warnings in vm-limit.c.

	Fix handling of reverse-direction charsets to avoid errors when
	opening (e.g.) mule-ucs/lisp/reldata/uiso8859-6.el.

	Recode some object printing methods to use write_fmt_string()
	instead of a fixed buffer and sprintf.

	Turn on display of png comments as warnings (level `info'), now
	that they're unobtrusive.

	Revamped the sound documentation.

	Fixed bug in redisplay w.r.t. hscroll/truncation/continuation
	glyphs causing jumping up and down of the lines, since they're
	bigger than the line size. (It was seen most obviously when
	there's a horizontal scroll bar, e.g. do C-h a glyph or something
	like that.) The problem was that the glyph-contrib-p setting on
	glyphs was ignored even if it was set properly, which it wasn't
	until now.

2002-03-14  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (mswindows_unwait_process): New, remove process from
	wait list
	* process-nt.c (nt_finalize_process_data): Call
	mswindows_unwait_process
	* console-msw.h: Declare mswindows_unwait_process

2002-03-21  William M. Perry  <wmperry@gnu.org>

	* event-gtk.c (emacs_gtk_force_event_pending): Bogus definition
	that does nothing right now.
	(reinit_vars_of_event_gtk): Register a force_event_pending
	handler.  This seems to cure the crashes at startup caused by the
	progress bar.

2002-03-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>

	* event-gtk.c (emacs_gtk_format_magic_event):  Fixed compilation
	typos.

2002-03-20  Ben Wing  <ben@xemacs.org>

	* chartab.c:
	* chartab.c (Fcheck_category_at):
	* chartab.c (Fchar_in_category_p):
	Fix bugs in implementation and doc strings.

	* config.h.in (type_checking_assert_at_line):
	Add foo_checking_assert_at_line() macros.  Not clear whether these
	are actually useful, though; I'll take them out if not.

	* symsinit.h:
	* emacs.c:
	* emacs.c (main_1):
	Some improvements to the timeline.  Rearrange a bit the init
	calls.  Add call for reinit_vars_of_object_mswindows() and
	declare in symsinit.h.

	* event-Xt.c:
	* event-Xt.c (emacs_Xt_format_magic_event):
	* event-Xt.c (describe_event_window):
	* event-Xt.c (describe_event):
	* event-Xt.c (emacs_Xt_event_handler):
	* event-Xt.c (reinit_vars_of_event_Xt):
	* event-gtk.c:
	* event-gtk.c (emacs_gtk_format_magic_event):
	* event-gtk.c (reinit_vars_of_event_gtk):
	* event-msw.c:
	* event-msw.c (emacs_mswindows_format_magic_event):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-stream.c:
	* event-stream.c (event_stream_operation):
	* event-stream.c (check_event_stream_ok):
	* event-stream.c (event_stream_handle_magic_event):
	* event-tty.c:
	* event-tty.c (emacs_tty_format_magic_event):
	* event-tty.c (reinit_vars_of_event_tty):
	* events.c:
	* events.c (event_equal):
	* events.c (event_hash):
	* events.c (format_event_object):
	* events.h:
	* events.h (struct event_stream):
	* events.h (union magic_data):

	Introduce new event methods for printing, comparing, and hashing
	magic events, to avoid event-type-specific stuff that had crept
	into events.c. (And was crashing, since the channel in MS Windows
	magic events may be nil.)  Implement the methods in
	event-{tty,gtk,Xt,mswindows}.c.  Make wrapping functions
	event_stream_{compare,hash,format}_magic_event() to check if
	everything's OK and call the actual callback.  Fix events.c to use
	the new methods.  Add a new event-stream-operation
	EVENT_STREAM_NOTHING -- event stream not actually required to be
	able to do anything, just be open. (#### This
	event-stream-operation stuff needs to be rethought.)

	Fixed describe_event() in event-Xt.c to print its output to a
	stream, not always to stderr, so it can be used
	elsewhere. (e.g. in print-event when a magic event is
	encountered?)

	* lisp.h:
	* lisp.h (XCHAR_1):
	* lisp.h (XCHAR):
	* lisp.h (XINT_1):
	* lisp.h (XCHAR_OR_INT_1):
	* lrecord.h:
	* lrecord.h (DECLARE_LRECORD):
	* lrecord.h (DECLARE_EXTERNAL_LRECORD):
	* lrecord.h (DECLARE_NONRECORD):
	* lrecord.h (XRECORD):
	* lrecord.h (wrap_record_1):
	* lrecord.h (wrap_record):
	Define new assert_at_line(), for use in asserts inside of inline
	functions.  The assert will report the line and file of the inline
	function, which is almost certainly not what you want as it's
	useless.  what you want to see is where the pseudo-macro was
	called from.  So, when error-checking is on, we pass in the line
	and file into the macros, for accurate printout using
	assert_at_line().  Happens only when error-checking is defined so
	doesn't slow down non-error-checking builds.  Fix XCHAR, XINT,
	XCHAR_OR_INT, XFOO, and wrap_foo() in this fashion.

	* lstream.c:
	* lstream.c (resizing_buffer_stream_ptr):
	* lstream.h:
	Add resizing_buffer_to_lisp_string().

	* objects-gtk.c (gtk_find_charset_font): Fix typo.

	* objects-msw.c:
	* objects-msw.c (create_hfont_from_font_spec):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-msw.c (reinit_vars_of_object_mswindows):
	* objects-msw.c (vars_of_objects_mswindows):
	Implement a smarter way of determining whether a font matches a
	charset.  Formerly we just looked at the "script" element of the
	font spec, converted it to a code page, and compared it with the
	code page derived from the charset.  Now, as well as doing this,
	we ask the font for the list of unicode ranges it supports, see
	what range the charset falls into (#### bogus! need to do this
	char-by-char), and see if any of the font's supported ranges
	include the charset's range.  also do some caching in
	Vfont_signature_data of previous inquiries.

	* charset.h:
	* text.c (Fmake_char):
	* mule-charset.c (get_charset_limits): New fun; extracted out of
	Fmake_char() and declare prototype in charset.h.

	* text.h: introduce assert_by_line() to make
	REP_BYTES_BY_FIRST_BYTE report the file and line more accurately
	in an assertion failure.

	* unicode.c (char_to_unicode):
	make non-static (used in objects-msw.c), declare in charset.h.

2002-03-18  Ben Wing  <ben@xemacs.org>

	* process.c:
	* process.c (init_process_io_handles):
	Obey coding-system-for-{read,write} if set.

2002-03-18  Ben Wing  <ben@xemacs.org>

	* fns.c:
	* fns.c (Frequire):
	* fns.c (vars_of_fns):
	* lread.c:
	* lread.c (Fload_internal):
	* lread.c (PRINT_LOADING_MESSAGE_1):
	Add variable require-prints-loading-message to cause loading
	messages to get printed when a file is loading during a `require',
	which normally doesn't happen.  This can be set using env var
	XEMACSDEBUG to debug problems with non-interactive compilation.
	Modify load-internal so it prints "Requiring: ..." instead of
	"Loading: ..." when appropriate.

2002-03-16  Ben Wing  <ben@xemacs.org>

	* cm.c (cmgoto):
	* file-coding.c:
	* file-coding.c (detection_result_symbol_to_number):
	fix warnings.

2002-03-16  IKEYAMA Tomonori <tomonori@suiyokai.org>

        * unicode.c (add_charsets_to_precedence_list): Fix passing wrong
        argument to XCHARSET_LEADING_BYTE.

2002-03-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>

        * intl-encap-win32.c (copy_shfileinfoa_to_shfileinfow):
          Take size parameter and assert it's big enough.
        * intl-encap-win32.c (qxeSHGetFileInfo):
          Deal with the case where no fileinfo structure is passed in.

2002-03-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>

        * intl-encap-win32.c: Remove EncryptFile, DecryptFile &
          mciGetDeviceIDFromElementID - APIs are not available on Win98
        * intl-auto-encap-win32.c: ditto
        * intl-auto-encap-win32.h: ditto
        * intl-encap-win32.c: Remove 'dir' command.

2002-03-13  William M. Perry  <wmperry@gnu.org>

        * ui-gtk.c (__allocate_object_storage): Make static to avoid
        warnings.
        (type_to_marshaller_type): Ditto.

        * symsinit.h: Added some missing *_gtk_* functions to avoid
        warnings.

        * select-gtk.c: Add extern definitions of lisp_to_time and
        time_to_lisp to avoid warnings.

        * redisplay-gtk.c (gtk_flash): reorder select/poll stuff to avoid
        warning about 'poll' being implicitly defined.  Mirrors change
        made to redisplay-x.c some time ago.
        (gtk_bevel_area): Fix unused variable warning.

        * gtk-xemacs.c (smash_face_fallbacks): ifdef this out to avoid
        warnings.

        * glyphs-gtk.c (write_lisp_string_to_temp_file): Fix 'grpro3'
        typo.
        (gtk_locate_pixmap_file): Use split_external_path instead of
        decode_path.

        * gccache-gtk.c (gc_cache_hash): Fix signed/unsigned warning.

        * event-gtk.c: event-mods.h no longer needed.  event-gtk.h is.

        * emacs-marshals.c (our_string_hash): Make this function static to
        avoid warnings.

        * device-gtk.c (gtk_event_name): Fix signed/unsigned warning.

        * event-gtk.h: New header file to hold declarations from
        event-gtk.c that are used in other files.  The quest to remove
        compilation warnings from GTK files begins.

2002-03-15  Ben Wing  <ben@xemacs.org>

	* config.h.in:
	* sysdep.c:
	* sysdep.c (get_process_times_1):
	* sysfile.h:
	* systime.h:
	add HAVE_SYS_TIMES_H and use it to include sys/times.h, used for
	struct tms in new POSIX() function times().

2002-03-15  Ben Wing  <ben@xemacs.org>

	* .cvsignore:
	ignore .tmp files that are getting auto-created by VC.

	* Makefile.in.in (release):
	* Makefile.in.in (fastdump):
	* Makefile.in.in (dynodump_deps):
	* Makefile.in.in (dump-elcs):
	* Makefile.in.in (batch_test_emacs):
	* Makefile.in.in (run-rtcmacs):
	Use -no-packages to avoid problems with package files shadowing
	core files (e.g. unicode.el in mule-ucs).

	* alloc.c (disksave_object_finalization):
	* emacs.c:
	* emacs.c (argmatch):
	* emacs.c (main_1):
	* emacs.c (standard_args):
	* emacs.c (vars_of_emacs):
	* lisp.h:
	add new -no-packages.  make sure list of args for sorting is
	actually correct.  clean up arg parsing code.

2002-03-12  Ben Wing  <ben@xemacs.org>

	* The Great Mule Merge: placeholder.

2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>

	* dired.c (Ffile_name_all_completions): Change documentation --
	remove reference to completion-ignored-extensions.
	* dired.c (vars_of_dired): Change documentation for
	completion-ignored-extensions -- remove reference to
	file-name-all-completions.

2002-03-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.5 "beets" is released.

2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* fileio.c (Fwrite_region_internal): Document use of start == Qnil.

2001-09-04   Daiki Ueno  <ueno@unixuser.org>

	* insdel.c (prepare_to_modify_buffer): Don't call the function
	ask-user-about-supersession-threat when CLASH_DETECTION is set.

2002-02-13  Ben Wing  <ben@xemacs.org>

	* event-stream.c (reset_key_echo):
	* event-stream.c (reset_this_command_keys):
	* event-stream.c (execute_command_event):
	If console is dead as a result of C-x 5 0, then post-command stuff
	needs to be careful and do only non-console-specific stuff.

2002-02-11  Mike Sperber  <mike@xemacs.org>

	* device-x.c:
	(x_IO_error_handler):
	(x_init_device): Temporarily keep device in static variable
	`device_being_initialized' so we can recover gracefully from
	internal XOpenDevice failure.  (XOpenDevice is documented to
	return NULL on failure, but sometimes calls the IO error handler
	instead.)

2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>

	* fileio.c (Ffind_file_name_handler): Improve docstring.

2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* fns.c (Fmapconcat): Improve docstring.

2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>

	* device-gtk.c: Add prototype for
	emacs_gtk_selection_clear_event_handle.
	(gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
	selection.  Setup signal handler for "selection_clear_event"
	(emacs_gtk_selection_clear_event_handle).

	* select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
	other applications owning the clipboard (based on
	x_handle_selection_clear).

2002-02-02  William M. Perry  <wmperry@gnu.org>

	* winslots.h: New toolbar_shadow_thickness slot.

	* toolbar.c (Vtoolbar_shadow_thickness): New specifier to control
	thickness of toolbar shadows instead of relying on X resourcs.
	(toolbar_shadows_changed): New function to redraw toolbars if the
	thickness specifier is changed.
	(specifier_vars_of_toolbar): Arrange for caching and defaults for
	toolbar-shadow-thickness.

	* toolbar-x.c: Use the new redisplay-based toolbar code.

	* toolbar-common.c (__prepare_button_area): Look at
	toolbar-shadow-thickness specifier instead of window-system
	specific stuff.

	* gtk-xemacs.c (smash_scrollbar_specifiers): New function to set
	the toolbar-shadow-thickness specifier from GTK styles.

	* frameslots.h: New toolbar_shadow_thickness slot.

	* glyphs-gtk.c (extract_xpm_color_names): Resurrect the xpm color
	symbols stuff because the GTK XPM libraries do very weird things
	if you don't specify the transparency at all.  Reverting the patch
	of 12/22/01.

2002-01-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* ChangeLog (2001-09-19 Ben Wing): Entry dosed with Dramamine.
	* README.integral-types: New file excised from ChangeLog.

2002-01-19  Jan Vroonhof  <jan@xemacs.org>

	* cmdloop.c: New variable Qdisabled_command_loop.
			Move Vdisabled_command_loop declaration here.
	* cmdloop.c (syms_of_cmdloop): Declare Qdisabled_command_loop.
	* eval.c (Fcommand_execute): Use the value of the symbol not
		the value of the value as the hook to run.
	* event-stream.c: Remove declaration of Vdisabled_command_loop
	* lisp.h: Declare Qdisabled_command_loop

2002-01-15  Adrian Aichner  <adrian@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
	to fix problem switching between virtual desktops under virtuawin
	virtual window manager.

2002-01-10  Stephen J. Turnbull  <stephen@xemacs.org>

	* mule-charset.c (global):
	(syms_of_mule_charset):
	(complex_vars_of_mule_charset):
	Declare and initialize Vcharset_latin_iso8859_15.

	* mule-charset.h (LEADING_BYTE_OFFICIAL_1): Add LATIN_ISO8859_15.

2002-01-08  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.4 "bamboo" is released.

2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
	* process-unix.c (unix_canonicalize_host_name):
	sysdep.c (init_system_name):
	Use it to conditionally support IPv6 canonicalization.

2002-01-04  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (define_key_alternate_name): Parenthesize EQ.

2001-12-22  William M. Perry  <wmperry@gnu.org>

	* glyphs-gtk.c (gtk_xpm_instantiate): Don't bother doing the
	xpm-color-symbols checks, they are impossible to implement with
	GTK's XPM implementation. :(

2001-12-13  William M. Perry  <wmperry@gnu.org>

	* select-gtk.c (gtk_own_selection): Update to follow the new
	method signature.  Ignore owned_p as it appears to only be used
	for motif hacks.

	* redisplay-gtk.c (gtk_output_string): Fixed some warnings about
	signed/unsigned comparison.
	(gtk_output_gdk_pixmap): Remove clipping code as per change by
	andy@xemacs.org to the X11 code.
	(gtk_output_pixmap): Make this follow the output_pixmap method
	conventions and expose it.
	(gtk_output_horizontal_line): Renamed from output_hline, and
	expose it in our method structure.
	(gtk_ring_bell): Don't ring the bell if volume <= 0

	* toolbar-gtk.c (gtk_output_toolbar_button):
	(gtk_output_frame_toolbars):
	(gtk_redraw_exposed_toolbars):
	(gtk_redraw_frame_toolbars): These are now just aliases for the
	common_XXX() routines in toolbar-common.c

	* toolbar-common.c: New common toolbar implementation.  This file
	uses only the redisplay_XXX() functions and device methods to draw
	the toolbar, and so should be portable across all windowing
	systems (other than tty, and even then I imagine text-based stuff
	would work if you had a way to select it).

2001-12-11  Andy Piper  <andy@xemacs.org>

	* dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
	* dialog-msw.c (mswindows_make_dialog_box_internal): set
	popup_up_p.
	* menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
	* menubar-msw.c (mswindows_handle_wm_command): ditto.
	* menubar-msw.c (mswindows_popup_menu): ditto.

2001-11-24  Andy Piper  <andy@xemacs.org>

	* window.c (Fsplit_window): Doc return type.

2001-07-30  Adrian Aichner  <adrian@xemacs.org>

	* event-msw.c: Typo fix.
	* event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
	magic XM_MAPFRAME event has been sent.

2001-11-23  Andy Piper  <andy@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.

2001-11-21  Andy Piper  <andy@xemacs.org>

	* scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
	mouse events outside the frame.

2001-11-15  Andy Piper  <andy@xemacs.org>

	(Fmswindows_shell_execute): fix handling of URL's under cygwin (again).

2001-11-14  Andy Piper  <andy@xemacs.org>

	* nt.c (REG_ROOT): change registry key to XEmacs.

2001-10-29  Andy Piper  <andy@xemacs.org>

	* dialog-msw.c (handle_directory_dialog_box): quit if the user
	cancels.

2001-12-16  Torsten Duwe  <duwe@caldera.de>

	* search.c (Freplace_match): Add missing sub-expression functionality.

	* buffer.c (decode_buffer): Add a check for pointer type to
	decode_buffer, before gcc's CSE optimization reorders a
	dereference in front of the allow_string test.

2001-11-16  Darryl Okahata  <darrylo@xemacs.org>

	* window.c (window_loop): Fix bug that sometimes prevented
	window_loop() from iterating across multiple devices.  Also, at
	Ben's request, changed infloop-detecting code to abort() instead
	of silently terminating window_loop().

2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>

	Based on analysis and patch by Simon Josefson <jas@extundo.com>.
	* editfns.c (make_time): New function.
	(Fencode_time): Use it instead of wasteful_word_to_lisp.
	* lisp.h (make_time): Prototype and comment it.
	* dired.c (wasteful_word_to_lisp): Deprecate.
	(Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().

2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>

	* fileio.c (auto_save_1): Use current coding system, not
	escape-quoted.

2001-11-13  Ben Wing  <ben@xemacs.org>

	* window.c:
	* window.c (window_truncation_on):
	* window.c (syms_of_window):
	truncate-partial-width-windows should respect the buffer being
	displayed, like other redisplay vars.

2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>

	* event-stream.c (Fread_key_sequence): save current buffer.

2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>

	* ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).

2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>

	* alloc.c (lcrecord_stats): Add space for types defined in modules.

2001-12-18  Adrian Aichner  <adrian@xemacs.org>

	* .cvsignore: Sort lines, add dump-id.c.

2001-12-13  William M. Perry  <wmperry@gnu.org>

	* glyphs-gtk.c (gtk_map_subwindow): Make sure that we always call
	gtk_fixed_put, even if the size allocations are the same.
	(gtk_subwindow_instantiate): Fixed compilation warnings.

2001-10-26  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.

2001-10-25  Andy Piper  <andy@xemacs.org>

	* ChangeLog:
	* dialog-msw.c (handle_directory_proc): new function.
	 (handle_directory_dialog_box): new fucntion.
	 (handle_file_dialog_box): use new directory dialog support.
	 (mswindows_make_dialog_box_internal): ditto.
	* event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
	handling.
	(mswindows_find_frame): make global.
	* fileio.c (Fexpand_file_name): build fix.
	* general-slots.h: add Qdirectory.
	* scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
	handling.
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
	cygwin not leaving win32 paths unchanged.
	* win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
	cygwin runtime to do path conversion.
	(Fmswindows_shell_execute): fix cygwin handling of URLs.
	(syms_of_win32): add new function.
	* window.c (window_loop): build fix.

2001-10-15  Andy Piper  <andy@xemacs.org>

	(Fmswindows_shell_execute): fix handling of URL's under cygwin.

2001-08-30   Daiki Ueno  <ueno@unixuser.org>

	* process-unix.c (unix_open_multicast_group): Remove too much
	conversion between host and network byte order.

2001-09-19  Ben Wing  <ben@xemacs.org>

	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (abbrev_oblookup):
	* abbrev.c (obarray_has_blank_p):
	* abbrev.c (abbrev_count_case):
	* abbrev.c (Fexpand_abbrev):
	* alloc.c (xmalloc):
	* alloc.c (xcalloc):
	* alloc.c (xmalloc_and_zero):
	* alloc.c (xrealloc):
	* alloc.c (deadbeef_memory):
	* alloc.c (allocate_lisp_storage):
	* alloc.c (alloc_lcrecord):
	* alloc.c (size_vector):
	* alloc.c (vector_hash):
	* alloc.c (make_vector_internal):
	* alloc.c (make_vector):
	* alloc.c (make_bit_vector_internal):
	* alloc.c (make_bit_vector):
	* alloc.c (make_bit_vector_from_byte_vector):
	* alloc.c (Fmake_marker):
	* alloc.c (noseeum_make_marker):
	* alloc.c (make_uninit_string):
	* alloc.c (resize_string):
	* alloc.c (set_string_char):
	* alloc.c (Fmake_string):
	* alloc.c (Fstring):
	* alloc.c (make_string):
	* alloc.c (build_string):
	* alloc.c (build_translated_string):
	* alloc.c (make_string_nocopy):
	* alloc.c (make_lcrecord_list):
	* alloc.c (tick_lcrecord_stats):
	* alloc.c (garbage_collect_1):
	* alloc.c (malloced_storage_size):
	* alloc.c (fixed_type_block_overhead):
	* blocktype.c (Blocktype_newf):
	* blocktype.h:
	* blocktype.h (Blocktype_declare):
	* buffer.c:
	* buffer.c (Fkill_buffer):
	* buffer.c (compute_buffer_text_usage):
	* buffer.c (struct):
	* buffer.c (reinit_vars_of_buffer):
	* buffer.c (directory_is_current_directory):
	* buffer.h:
	* buffer.h (struct buffer_text):
	* buffer.h (struct buffer):
	* buffer.h (VALID_CHARPTR_P):
	* buffer.h (REAL_INC_CHARBYTEBPOS):
	* buffer.h (INC_CHARBYTEBPOS):
	* buffer.h (DEC_CHARPTR):
	* buffer.h (VALIDATE_CHARPTR_FORWARD):
	* buffer.h (charptr_n_addr):
	* buffer.h (simple_set_charptr_emchar):
	* buffer.h (charptr_emchar):
	* buffer.h (set_charptr_emchar):
	* buffer.h (charptr_copy_char):
	* buffer.h (BI_BUF_BEG):
	* buffer.h (BI_BUF_PTR_BYTE_POS):
	* buffer.h (BUF_PTR_BYTE_POS):
	* buffer.h (BI_BUF_BYTE_ADDRESS):
	* buffer.h (BUF_BYTE_ADDRESS):
	* buffer.h (BI_BUF_BYTE_ADDRESS_BEFORE):
	* buffer.h (BUF_BYTE_ADDRESS_BEFORE):
	* buffer.h (valid_membpos_p):
	* buffer.h (bytebpos_to_membpos):
	* buffer.h (membpos_to_bytebpos):
	* buffer.h (membpos_to_charbpos):
	* buffer.h (buffer_or_string_bytebpos_to_membpos):
	* buffer.h (buffer_or_string_membpos_to_bytebpos):
	* buffer.h (buffer_or_string_charbpos_to_bytebpos):
	* buffer.h (VALID_BYTEBPOS_P):
	* buffer.h (ASSERT_VALID_BYTEBPOS_UNSAFE):
	* buffer.h (VALIDATE_BYTEBPOS_BACKWARD):
	* buffer.h (VALIDATE_BYTEBPOS_FORWARD):
	* buffer.h (INC_BYTEBPOS):
	* buffer.h (DEC_BYTEBPOS):
	* buffer.h (prev_bytebpos):
	* buffer.h (next_bytebpos):
	* buffer.h (BYTEBPOS_INVALID):
	* buffer.h (real_charbpos_to_bytebpos):
	* buffer.h (real_bytebpos_to_charbpos):
	* buffer.h (charbpos_to_bytebpos):
	* buffer.h (make_charbpos):
	* buffer.h (BUF_FETCH_CHAR):
	* buffer.h (BUF_CHARPTR_COPY_CHAR):
	* buffer.h (union):
	* buffer.h (DFC_LISP_STRING_USE_CONVERTED_DATA):
	* buffer.h (BUF_CEILING_OF):
	* buffer.h (BUF_FLOOR_OF):
	* buffer.h (BUF_CEILING_OF_IGNORE_ACCESSIBLE):
	* buffer.h (BUF_FLOOR_OF_IGNORE_ACCESSIBLE):
	* buffer.h (BUFFER_ALLOC):
	* buffer.h (intbyte_strcmp):
	* buffer.h (intbyte_memcmp):
	* bytecode.c (invalid_byte_code):
	* bytecode.c (optimize_byte_code):
	* bytecode.c (compiled_function_hash):
	* bytecode.c (compiled_function_instructions):
	* callint.c (check_mark):
	* callint.c (callint_prompt):
	* callint.c (PROMPT):
	* callint.c (Fcall_interactively):
	* callproc.c (Fold_call_process_internal):
	* callproc.c (getenv_internal):
	* callproc.c (Fgetenv):
	* callproc.c (egetenv):
	* callproc.c (init_callproc):
	* casefiddle.c (casify_object):
	* casefiddle.c (casify_region_internal):
	* casefiddle.c (casify_word):
	* chartab.c (char_table_entry_hash):
	* chartab.c (char_table_hash):
	* cmds.c (Fforward_char):
	* cmds.c (Fforward_line):
	* cmds.c (Fdelete_char):
	* config.h.in:
	* console-msw.c (mswindows_output_console_string):
	* console-msw.c (Fmswindows_debugging_output):
	* console-msw.c (DSTRING):
	* console-msw.c (DSYMNAME):
	* console-msw.c (mswindows_lisp_error):
	* console-msw.h:
	* console-x.c (split_up_display_spec):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console.c (stuff_buffered_input):
	* console.h (struct console_methods):
	* data.c (weak_list_hash):
	* database.c (berkdb_get):
	* database.c (berkdb_map):
	* device-msw.c (msprinter_default_printer):
	* device-msw.c (hash_devmode):
	* device-msw.c (Fmswindows_printer_list):
	* device-x.c (validify_resource_component):
	* device-x.c (Fx_get_resource_prefix):
	* device.h (struct pixel_to_glyph_translation_cache):
	* dialog-msw.c (push_intbyte_string_as_unicode):
	* dialog-msw.c (handle_question_dialog_box):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion):
	* dired.c (struct user_name):
	* dired.c (user_name_completion):
	* dired.c (make_directory_hash_table):
	* dired.c (Ffile_attributes):
	* doc.c (string_join):
	* doc.c (Fsnarf_documentation):
	* doc.c (Fsubstitute_command_keys):
	* doprnt.c (union printf_arg):
	* doprnt.c (doprnt_1):
	* doprnt.c (parse_off_posnum):
	* doprnt.c (parse_doprnt_spec):
	* doprnt.c (get_doprnt_args):
	* doprnt.c (emacs_doprnt_1):
	* doprnt.c (emacs_doprnt_2):
	* doprnt.c (emacs_doprnt_c):
	* doprnt.c (emacs_doprnt_va):
	* doprnt.c (emacs_doprnt_lisp):
	* doprnt.c (emacs_doprnt_lisp_2):
	* doprnt.c (emacs_doprnt_string_c):
	* doprnt.c (emacs_doprnt_string_va):
	* doprnt.c (emacs_doprnt_string_lisp):
	* doprnt.c (emacs_doprnt_string_lisp_2):
	* dumper.c:
	* dumper.c (struct):
	* dumper.c (dump_add_opaque):
	* dumper.c (pdump_align_stream):
	* dumper.c (pdump_size_to_align):
	* dumper.c (pdump_entry_list_elt):
	* dumper.c (pdump_add_entry):
	* dumper.c (pdump_get_indirect_count):
	* dumper.c (pdump_register_sub):
	* dumper.c (pdump_dump_data):
	* dumper.c (pdump_reloc_one):
	* dumper.c (pdump_allocate_offset):
	* dumper.c (pdump_dump_root_struct_ptrs):
	* dumper.c (pdump_dump_root_objects):
	* dumper.c (pdump_load_finish):
	* dumper.c (pdump_resource_get):
	* dumper.c (pdump_file_get):
	* dynarr.c (Dynarr_memory_usage):
	* editfns.c (Fchar_to_string):
	* editfns.c (buildmark):
	* editfns.c (charbpos_clip_to_bounds):
	* editfns.c (bytebpos_clip_to_bounds):
	* editfns.c (Fgoto_char):
	* editfns.c (save_excursion_save):
	* editfns.c (beginning_of_line_p):
	* editfns.c (Fchar_after):
	* editfns.c (Fchar_before):
	* editfns.c (Fformat_time_string):
	* editfns.c (Fcurrent_time_string):
	* editfns.c (Finsert_char):
	* editfns.c (Fbuffer_substring):
	* editfns.c (Fbuffer_substring_no_properties):
	* editfns.c (Finsert_buffer_substring):
	* editfns.c (Fcompare_buffer_substrings):
	* editfns.c (Fsubst_char_in_region):
	* editfns.c (Ftranslate_region):
	* editfns.c (Fdelete_region):
	* editfns.c (Fnarrow_to_region):
	* editfns.c (save_restriction_restore):
	* editfns.c (transpose_markers):
	* editfns.c (Ftranspose_regions):
	* eldap.c (Fldap_open):
	* eldap.c (Fldap_add):
	* eldap.c (Fldap_modify):
	* elhash.c:
	* elhash.c (struct Lisp_Hash_Table):
	* elhash.c (HASHCODE):
	* elhash.c (hash_table_size):
	* elhash.c (lisp_string_hash):
	* elhash.c (lisp_object_eql_hash):
	* elhash.c (lisp_object_equal_hash):
	* elhash.c (hash_table_hash):
	* elhash.c (compute_hash_table_derived_values):
	* elhash.c (make_standard_lisp_hash_table):
	* elhash.c (make_general_lisp_hash_table):
	* elhash.c (make_lisp_hash_table):
	* elhash.c (decode_hash_table_size):
	* elhash.c (resize_hash_table):
	* elhash.c (pdump_reorganize_hash_table):
	* elhash.c (enlarge_hash_table):
	* elhash.c (find_hentry):
	* elhash.c (remhash_1):
	* elhash.c (internal_array_hash):
	* elhash.c (internal_hash):
	* elhash.h:
	* emacs.c (split_string_by_emchar_1):
	* emacs.c (decode_path):
	* emacs.c (vars_of_emacs):
	* emodules.c (emodules_load):
	* emodules.c (emodules_doc_subr):
	* emodules.c (emodules_doc_sym):
	* eval.c (print_subr):
	* eval.c (build_error_data):
	* eval.c (signal_error):
	* eval.c (maybe_signal_error):
	* eval.c (signal_continuable_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (signal_error_2):
	* eval.c (maybe_signal_error_2):
	* eval.c (signal_continuable_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (signal_ferror):
	* eval.c (maybe_signal_ferror):
	* eval.c (signal_continuable_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (signal_ferror_with_frob):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (signal_continuable_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (syntax_error):
	* eval.c (syntax_error_2):
	* eval.c (maybe_syntax_error):
	* eval.c (sferror):
	* eval.c (sferror_2):
	* eval.c (maybe_sferror):
	* eval.c (invalid_argument):
	* eval.c (invalid_argument_2):
	* eval.c (maybe_invalid_argument):
	* eval.c (invalid_constant):
	* eval.c (invalid_constant_2):
	* eval.c (maybe_invalid_constant):
	* eval.c (invalid_operation):
	* eval.c (invalid_operation_2):
	* eval.c (maybe_invalid_operation):
	* eval.c (invalid_change):
	* eval.c (invalid_change_2):
	* eval.c (maybe_invalid_change):
	* eval.c (invalid_state):
	* eval.c (invalid_state_2):
	* eval.c (maybe_invalid_state):
	* eval.c (wtaerror):
	* eval.c (stack_overflow):
	* eval.c (out_of_memory):
	* eval.c (printing_unreadable_object):
	* eval.c (caught_a_squirmer):
	* eval.c (eval_in_buffer_trapping_errors):
	* eval.c (run_hook_trapping_errors):
	* eval.c (safe_run_hook_trapping_errors):
	* eval.c (call0_trapping_errors):
	* eval.c (call1_trapping_errors):
	* eval.c (call2_trapping_errors):
	* eval.c (warn_when_safe):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (describe_event_window):
	* event-gtk.c (dragndrop_data_received):
	* event-msw.c (ntpipe_slurp_reader):
	* event-msw.c (ntpipe_shove_writer):
	* event-msw.c (struct winsock_stream):
	* event-msw.c (winsock_initiate_read):
	* event-msw.c (winsock_reader):
	* event-msw.c (winsock_writer):
	* event-msw.c (emacs_mswindows_create_stream_pair):
	* event-stream.c:
	* event-stream.c (allocate_command_builder):
	* event-stream.c (echo_key_event):
	* event-stream.c (lookup_command_event):
	* event-stream.c (dribble_out_event):
	* event-unixoid.c (event_stream_unixoid_create_stream_pair):
	* events.c (event_hash):
	* events.c (format_event_object):
	* events.c (event_pixel_translation):
	* events.c (Fevent_point):
	* events.c (Fevent_closest_point):
	* events.h (struct command_builder):
	* extents.c:
	* extents.c (stack_of_extents):
	* extents.c (membpos_to_startind):
	* extents.c (bytebpos_to_startind):
	* extents.c (buffer_or_string_bytebpos_to_startind):
	* extents.c (buffer_or_string_bytebpos_to_endind):
	* extents.c (gap_array_adjust_markers):
	* extents.c (gap_array_move_gap):
	* extents.c (extent_list_locate_from_pos):
	* extents.c (extent_list_at):
	* extents.c (soe_dump):
	* extents.c (soe_move):
	* extents.c (extent_endpoint_bytebpos):
	* extents.c (extent_endpoint_charbpos):
	* extents.c (extent_changed_for_redisplay):
	* extents.c (extent_in_region_p):
	* extents.c (map_extents_bytebpos):
	* extents.c (map_extents):
	* extents.c (adjust_extents):
	* extents.c (adjust_extents_for_deletion):
	* extents.c (extent_find_end_of_run):
	* extents.c (extent_find_beginning_of_run):
	* extents.c (extent_fragment_update):
	* extents.c (extent_hash):
	* extents.c (extent_endpoint_external):
	* extents.c (Fextent_length):
	* extents.c (Fnext_extent_change):
	* extents.c (Fprevious_extent_change):
	* extents.c (set_extent_endpoints_1):
	* extents.c (set_extent_endpoints):
	* extents.c (make_extent_internal):
	* extents.c (copy_extent):
	* extents.c (Fmake_extent):
	* extents.c (Fset_extent_endpoints):
	* extents.c (Fextent_in_region_p):
	* extents.c (Fmap_extents):
	* extents.c (struct slow_map_extent_children_arg):
	* extents.c (slow_map_extent_children_function):
	* extents.c (Fmap_extent_children):
	* extents.c (struct extent_at_arg):
	* extents.c (extent_at_bytebpos):
	* extents.c (Fextent_at):
	* extents.c (Fextents_at):
	* extents.c (struct verify_extents_arg):
	* extents.c (verify_extent_modification):
	* extents.c (struct process_extents_for_insertion_arg):
	* extents.c (process_extents_for_insertion_mapper):
	* extents.c (process_extents_for_insertion):
	* extents.c (struct process_extents_for_deletion_arg):
	* extents.c (process_extents_for_deletion):
	* extents.c (report_extent_modification_mapper):
	* extents.c (report_extent_modification):
	* extents.c (run_extent_copy_paste_internal):
	* extents.c (run_extent_copy_function):
	* extents.c (run_extent_paste_function):
	* extents.c (update_extent):
	* extents.c (insert_extent):
	* extents.c (Finsert_extent):
	* extents.c (struct add_string_extents_arg):
	* extents.c (add_string_extents_mapper):
	* extents.c (add_string_extents):
	* extents.c (struct splice_in_string_extents_arg):
	* extents.c (splice_in_string_extents_mapper):
	* extents.c (splice_in_string_extents):
	* extents.c (copy_string_extents_mapper):
	* extents.c (copy_string_extents):
	* extents.c (get_text_property_bytebpos):
	* extents.c (get_text_property_1):
	* extents.c (struct put_text_prop_arg):
	* extents.c (put_text_prop_mapper):
	* extents.c (put_text_prop_openness_mapper):
	* extents.c (put_text_prop):
	* extents.c (Fput_text_property):
	* extents.c (Fadd_text_properties):
	* extents.c (Fremove_text_properties):
	* extents.h:
	* extents.h (struct extent):
	* faces.c (face_hash):
	* file-coding.c:
	* file-coding.c (detect_eol_type):
	* file-coding.c (detect_coding_type):
	* file-coding.c (determine_real_coding_system):
	* file-coding.c (Fdetect_coding_region):
	* file-coding.c (decoding_reader):
	* file-coding.c (decoding_writer):
	* file-coding.c (mule_decode):
	* file-coding.c (Fdecode_coding_region):
	* file-coding.c (encoding_reader):
	* file-coding.c (encoding_writer):
	* file-coding.c (mule_encode):
	* file-coding.c (Fencode_coding_region):
	* file-coding.c (detect_coding_sjis):
	* file-coding.c (decode_coding_sjis):
	* file-coding.c (encode_coding_sjis):
	* file-coding.c (detect_coding_big5):
	* file-coding.c (decode_coding_big5):
	* file-coding.c (encode_coding_big5):
	* file-coding.c (decode_ucs4):
	* file-coding.c (detect_coding_ucs4):
	* file-coding.c (decode_coding_ucs4):
	* file-coding.c (encode_coding_ucs4):
	* file-coding.c (detect_coding_utf8):
	* file-coding.c (decode_coding_utf8):
	* file-coding.c (encode_coding_utf8):
	* file-coding.c (detect_coding_iso2022):
	* file-coding.c (decode_coding_iso2022):
	* file-coding.c (encode_coding_iso2022):
	* file-coding.c (decode_coding_no_conversion):
	* file-coding.c (encode_coding_no_conversion):
	* file-coding.h (INTBYTE_FIRST_BYTE_P):
	* fileio.c (normalize_filename):
	* fileio.c (report_file_type_error):
	* fileio.c (report_error_with_errno):
	* fileio.c (report_file_error):
	* fileio.c (read_allowing_quit):
	* fileio.c (write_allowing_quit):
	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (Fmake_temp_name):
	* fileio.c (Fexpand_file_name):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (barf_or_query_if_file_exists):
	* fileio.c (Ffile_name_absolute_p):
	* fileio.c (Ffile_symlink_p):
	* fileio.c (Fdo_auto_save):
	* filelock.c (MAKE_LOCK_NAME):
	* filelock.c (fill_in_lock_file_name):
	* floatfns.c (float_hash):
	* fns.c (print_bit_vector):
	* fns.c (bit_vector_hash):
	* fns.c (size_bit_vector):
	* fns.c (Flength):
	* fns.c (Fsafe_length):
	* fns.c (Fstring_lessp):
	* fns.c (copy_list):
	* fns.c (concat):
	* fns.c (Ffillarray):
	* fns.c (bytecode_nconc2):
	* fns.c (Fnconc):
	* fns.c (mapcar1):
	* fns.c (Fmapcar):
	* fns.c (Fmapvector):
	* fns.c (ADVANCE_INPUT):
	* fns.c (base64_encode_1):
	* fns.c (base64_decode_1):
	* fns.c (XMALLOC_OR_ALLOCA):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* fns.c (Fbase64_decode_string):
	* font-lock.c (struct context_cache):
	* font-lock.c (font_lock_maybe_update_syntactic_caches):
	* font-lock.c (beginning_of_defun):
	* font-lock.c (end_of_defun):
	* font-lock.c (setup_context_cache):
	* font-lock.c (find_context):
	* font-lock.c (Fsyntactically_sectionize):
	* frame-gtk.c (gtk_set_frame_text_value):
	* frame-gtk.c (gtk_set_title_from_intbyte):
	* frame-gtk.c (gtk_set_icon_name_from_intbyte):
	* frame-gtk.c (console_type_create_frame_gtk):
	* frame-msw.c (mswindows_set_title_from_intbyte):
	* frame-msw.c (console_type_create_frame_mswindows):
	* frame-x.c (x_set_frame_text_value):
	* frame-x.c (x_set_title_from_intbyte):
	* frame-x.c (x_set_icon_name_from_intbyte):
	* frame-x.c (x_set_frame_properties):
	* frame-x.c (x_cde_transfer_callback):
	* frame-x.c (console_type_create_frame_x):
	* frame.c (Fmake_frame):
	* frame.c (Fmouse_position):
	* frame.c (generate_title_string):
	* frame.c (update_frame_title):
	* gif_io.c (GifStdRead):
	* gif_io.c (GifStdWrite):
	* gif_io.c (GifRead):
	* gif_io.c (GifWrite):
	* gifrlib.h:
	* glyphs-eimage.c (jpeg_memory_src):
	* glyphs-eimage.c (jpeg_instantiate):
	* glyphs-eimage.c (gif_memory_storage):
	* glyphs-eimage.c (gif_read_from_memory):
	* glyphs-eimage.c (gif_instantiate):
	* glyphs-eimage.c (struct png_memory_storage):
	* glyphs-eimage.c (png_read_from_memory):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (tiff_memory_storage):
	* glyphs-eimage.c (tiff_memory_read):
	* glyphs-eimage.c (tiff_instantiate):
	* glyphs-msw.c (mswindows_xpm_instantiate):
	* glyphs-msw.c (bmp_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_image_instance_hash):
	* glyphs-msw.c (mswindows_widget_property):
	* glyphs-msw.c (mswindows_combo_box_property):
	* glyphs-x.c (x_image_instance_hash):
	* glyphs-x.c (write_lisp_string_to_temp_file):
	* glyphs.c (image_instance_hash):
	* glyphs.c (incompatible_image_types):
	* glyphs.c (query_string_geometry):
	* glyphs.c (query_string_font):
	* glyphs.c (instantiator_eq_hash):
	* glyphs.c (glyph_hash):
	* glyphs.h (struct Lisp_Image_Instance):
	* gpmevent.c (tty_get_foreign_selection):
	* gui-x.c (menu_separator_style_and_to_external):
	* gui-x.c (add_accel_and_to_external):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.h:
	* gui.c (separator_string_p):
	* gui.c (gui_name_accelerator):
	* gui.c (gui_item_hash):
	* gui.h:
	* gutter.c (gutter_extent_signal_changed_region_maybe):
	* gutter.h:
	* hash.c:
	* hash.c (memory_hash):
	* hash.c (string_hash):
	* hash.c (hash_table_size):
	* hash.c (gethash):
	* hash.c (make_hash_table):
	* hash.c (make_general_hash_table):
	* hash.c (grow_hash_table):
	* hash.c (puthash):
	* hash.c (rehash):
	* hash.c (remhash):
	* hash.h:
	* hash.h (struct hash_table):
	* hpplay.c (player_error_internal):
	* indent.c:
	* indent.c (last_visible_position):
	* indent.c (column_at_point):
	* indent.c (string_column_at_point):
	* indent.c (Findent_to):
	* indent.c (bi_spaces_at_point):
	* indent.c (Fcurrent_indentation):
	* indent.c (Fmove_to_column):
	* indent.c (vmotion_1):
	* indent.c (vmotion):
	* indent.c (vertical_motion_1):
	* indent.c (vmotion_pixels):
	* indent.c (Fvertical_motion_pixels):
	* insdel.c:
	* insdel.c (MAX_CHARBPOS_GAP_SIZE_3):
	* insdel.c (bytecount_to_charcount):
	* insdel.c (charcount_to_bytecount):
	* insdel.c (charbpos_to_bytebpos_func):
	* insdel.c (bytebpos_to_charbpos_func):
	* insdel.c (buffer_mule_signal_inserted_region):
	* insdel.c (buffer_mule_signal_deleted_region):
	* insdel.c (charbpos_to_bytebpos):
	* insdel.c (bytebpos_to_charbpos):
	* insdel.c (get_buffer_pos_char):
	* insdel.c (get_buffer_pos_byte):
	* insdel.c (get_buffer_range_char):
	* insdel.c (get_buffer_range_byte):
	* insdel.c (get_string_range_char):
	* insdel.c (get_buffer_or_string_pos_char):
	* insdel.c (get_buffer_or_string_pos_byte):
	* insdel.c (get_buffer_or_string_range_char):
	* insdel.c (get_buffer_or_string_range_byte):
	* insdel.c (buffer_or_string_accessible_begin_char):
	* insdel.c (buffer_or_string_accessible_end_char):
	* insdel.c (buffer_or_string_accessible_begin_byte):
	* insdel.c (buffer_or_string_accessible_end_byte):
	* insdel.c (buffer_or_string_absolute_begin_char):
	* insdel.c (buffer_or_string_absolute_end_char):
	* insdel.c (buffer_or_string_absolute_begin_byte):
	* insdel.c (buffer_or_string_absolute_end_byte):
	* insdel.c (JUST_SET_POINT):
	* insdel.c (set_buffer_point):
	* insdel.c (do_marker_adjustment):
	* insdel.c (adjust_markers):
	* insdel.c (adjust_markers_for_insert):
	* insdel.c (gap_left):
	* insdel.c (gap_right):
	* insdel.c (move_gap):
	* insdel.c (merge_gap_with_end_gap):
	* insdel.c (make_gap):
	* insdel.c (buffer_signal_changed_region):
	* insdel.c (buffer_extent_signal_changed_region):
	* insdel.c (cancel_multiple_change):
	* insdel.c (begin_multiple_change):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
	* insdel.c (prepare_to_modify_buffer):
	* insdel.c (fixup_internal_substring):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (buffer_insert_raw_string_1):
	* insdel.c (buffer_insert_lisp_string_1):
	* insdel.c (buffer_insert_c_string_1):
	* insdel.c (buffer_insert_emacs_char_1):
	* insdel.c (buffer_insert_c_char_1):
	* insdel.c (buffer_insert_from_buffer_1):
	* insdel.c (buffer_delete_range):
	* insdel.c (buffer_replace_char):
	* insdel.c (make_string_from_buffer_1):
	* insdel.c (make_string_from_buffer):
	* insdel.c (make_string_from_buffer_no_extents):
	* insdel.c (barf_if_buffer_read_only):
	* insdel.c (find_charsets_in_intbyte_string):
	* insdel.c (intbyte_string_displayed_columns):
	* insdel.c (convert_intbyte_string_into_emchar_dynarr):
	* insdel.c (convert_intbyte_string_into_emchar_string):
	* insdel.c (convert_emchar_string_into_intbyte_dynarr):
	* insdel.c (convert_emchar_string_into_malloced_string):
	* insdel.c (reinit_vars_of_insdel):
	* insdel.c (init_buffer_text):
	* insdel.h:
	* insdel.h (struct buffer_text_change_data):
	* keymap.c (make_key_description):
	* keymap.c (make_keymap):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (Fsingle_key_description):
	* keymap.c (Ftext_char_description):
	* keymap.c (vars_of_keymap):
	* line-number.c (invalidate_line_number_cache):
	* line-number.c (insert_invalidate_line_number_cache):
	* line-number.c (delete_invalidate_line_number_cache):
	* line-number.c (get_nearest_line_number):
	* line-number.c (add_position_to_cache):
	* line-number.c (buffer_line_number):
	* line-number.h:
	* line-number.h (buffer_line_number):
	* lisp.h:
	* lisp.h (DO_REALLOC):
	* lisp.h (struct):
	* lisp.h (struct Lisp_Buffer_Cons):
	* lisp.h (struct Lisp_String):
	* lisp.h (set_string_char):
	* lisp.h (struct Lisp_Bit_Vector):
	* lisp.h (bit_vector_bit):
	* lisp.h (set_bit_vector_bit):
	* lisp.h (struct Lisp_Marker):
	* lisp.h (struct lcrecord_list):
	* lisp.h (struct overhead_stats):
	* lread.c:
	* lread.c (readchar):
	* lread.c (Fload_internal):
	* lread.c (read_atom):
	* lread.c (parse_integer):
	* lread.c (isfloat_string):
	* lrecord.h:
	* lrecord.h (struct lrecord_implementation):
	* lrecord.h (lrecord_description_type):
	* lrecord.h (struct struct_description):
	* lstream.c:
	* lstream.c (aligned_sizeof_lstream):
	* lstream.c (sizeof_lstream):
	* lstream.c (Lstream_flush_out):
	* lstream.c (Lstream_adding):
	* lstream.c (Lstream_write_1):
	* lstream.c (Lstream_write):
	* lstream.c (Lstream_raw_read):
	* lstream.c (Lstream_read_more):
	* lstream.c (Lstream_read):
	* lstream.c (Lstream_unread):
	* lstream.c (Lstream_fputc):
	* lstream.c (stdio_reader):
	* lstream.c (stdio_writer):
	* lstream.c (struct filedesc_stream):
	* lstream.c (filedesc_reader):
	* lstream.c (filedesc_writer):
	* lstream.c (filedesc_stream_set_pty_flushing):
	* lstream.c (lisp_string_reader):
	* lstream.c (lisp_string_rewinder):
	* lstream.c (struct fixed_buffer_stream):
	* lstream.c (make_fixed_buffer_input_stream):
	* lstream.c (make_fixed_buffer_output_stream):
	* lstream.c (fixed_buffer_reader):
	* lstream.c (fixed_buffer_writer):
	* lstream.c (struct resizing_buffer_stream):
	* lstream.c (resizing_buffer_writer):
	* lstream.c (dynarr_writer):
	* lstream.c (make_lisp_buffer_stream_1):
	* lstream.c (make_lisp_buffer_input_stream):
	* lstream.c (make_lisp_buffer_output_stream):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.c (lisp_buffer_stream_startpos):
	* lstream.h:
	* lstream.h (lstream_implementation):
	* lstream.h (struct lstream):
	* malloc.c:
	* marker.c (marker_equal):
	* marker.c (marker_hash):
	* marker.c (set_marker_internal):
	* marker.c (bi_marker_position):
	* marker.c (marker_position):
	* marker.c (set_bi_marker_position):
	* marker.c (set_marker_position):
	* md5.c (Fmd5):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (displayable_menu_item):
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (menu_accelerator_junk_on_error):
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c (scmp_1):
	* minibuf.c (regexp_ignore_completion_p):
	* minibuf.c (clear_echo_area_internal):
	* minibuf.c (echo_area_append):
	* minibuf.c (echo_area_message):
	* minibuf.c (message_internal):
	* minibuf.c (message_append_internal):
	* minibuf.c (message_1):
	* minibuf.c (message_append_1):
	* mule-ccl.c (CCL_WRITE_CHAR):
	* mule-ccl.c (CCL_WRITE_STRING):
	* mule-charset.c (non_ascii_set_charptr_emchar):
	* mule-charset.c (non_ascii_charptr_emchar):
	* mule-charset.c (non_ascii_charptr_copy_char):
	* mule-charset.c (Lstream_get_emchar_1):
	* mule-charset.c (Lstream_fput_emchar):
	* mule-charset.c (Lstream_funget_emchar):
	* mule-charset.c (make_charset):
	* mule-charset.c (lookup_composite_char):
	* mule-charset.h:
	* mule-charset.h (LEADING_BYTE_PREFIX_P):
	* mule-charset.h (INTBYTE_FIRST_BYTE_P):
	* mule-charset.h (INTBYTE_LEADING_BYTE_P):
	* mule-charset.h (struct Lisp_Charset):
	* mule-charset.h (CHARSET_LEADING_BYTE):
	* mule-charset.h (CHARSET_BY_LEADING_BYTE):
	* mule-charset.h (REP_BYTES_BY_FIRST_BYTE):
	* mule-charset.h (CHAR_LEADING_BYTE):
	* mule-wnnfns.c (Fwnn_dict_list):
	* mule-wnnfns.c (Fwnn_fuzokugo_get):
	* mule-wnnfns.c (m2w):
	* objects-gtk.c (gtk_parse_nearest_color):
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-gtk.h:
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-tty.c (tty_initialize_font_instance):
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-tty.c (tty_find_charset_font):
	* objects-x.c (x_font_instance_properties):
	* objects-x.c (x_font_spec_matches_charset):
	* objects-x.c (x_find_charset_font):
	* objects.c (font_spec_matches_charset):
	* objects.h:
	* opaque.c (aligned_sizeof_opaque):
	* opaque.c (sizeof_opaque):
	* opaque.c (make_opaque):
	* opaque.c (equal_opaque):
	* opaque.h:
	* opaque.h (Lisp_Opaque):
	* print.c (std_handle_out_external):
	* print.c (std_handle_out_va):
	* print.c (write_string_to_stdio_stream):
	* print.c (output_string):
	* print.c (write_char_internal):
	* print.c (write_string_1):
	* print.c (write_c_string):
	* print.c (Fwrite_char):
	* print.c (float_to_string):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_symbol):
	* print.c (Falternate_debugging_output):
	* print.c (Fexternal_debugging_output):
	* process-nt.c (alloc_process_memory):
	* process-nt.c (run_in_other_process):
	* process-nt.c (nt_send_process):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_process_send_eof):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* process.c:
	* process.c (read_process_output):
	* process.c (send_process):
	* process.c (Fprocess_send_region):
	* process.c (status_notify):
	* process.c (decode_signal):
	* procimpl.h:
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-output.c:
	* redisplay-output.c (compare_runes):
	* redisplay-output.c (ADJ_CHARBPOS):
	* redisplay-output.c (redisplay_move_cursor):
	* redisplay-output.c (redisplay_output_layout):
	* redisplay-output.c (redisplay_update_line):
	* redisplay-tty.c:
	* redisplay-tty.c (tty_output_intbyte_string):
	* redisplay-tty.c (tty_output_emchar_dynarr):
	* redisplay-tty.c (substitute_in_dynamic_color_string):
	* redisplay-tty.c (set_foreground_to):
	* redisplay-tty.c (set_background_to):
	* redisplay.c:
	* redisplay.c (position_redisplay_data_type):
	* redisplay.c (struct prop_block):
	* redisplay.c (redisplay_text_width_string):
	* redisplay.c (redisplay_frame_text_width_string):
	* redisplay.c (generate_display_line):
	* redisplay.c (add_hscroll_rune):
	* redisplay.c (add_emchar_rune):
	* redisplay.c (add_intbyte_string_runes):
	* redisplay.c (add_blank_rune):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (create_overlay_glyph_block):
	* redisplay.c (add_margin_blank):
	* redisplay.c (generate_formatted_string_db):
	* redisplay.c (generate_modeline):
	* redisplay.c (add_string_to_fstring_db_runes):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (generate_string_display_line):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (regenerate_window):
	* redisplay.c (REGEN_INC_FIND_START_END):
	* redisplay.c (regenerate_window_extents_only_changed):
	* redisplay.c (regenerate_window_incrementally):
	* redisplay.c (regenerate_window_point_center):
	* redisplay.c (point_visible):
	* redisplay.c (line_at_center):
	* redisplay.c (point_at_center):
	* redisplay.c (redisplay_window):
	* redisplay.c (call_redisplay_end_triggers):
	* redisplay.c (window_line_number):
	* redisplay.c (decode_mode_spec):
	* redisplay.c (update_internal_cache_list):
	* redisplay.c (line_start_cache_start):
	* redisplay.c (line_start_cache_end):
	* redisplay.c (point_in_line_start_cache):
	* redisplay.c (point_would_be_visible):
	* redisplay.c (start_end_of_last_line):
	* redisplay.c (start_of_last_line):
	* redisplay.c (end_of_last_line):
	* redisplay.c (end_of_last_line_may_error):
	* redisplay.c (start_with_line_at_pixpos):
	* redisplay.c (start_with_point_on_display_line):
	* redisplay.c (update_line_start_cache):
	* redisplay.c (UPDATE_CACHE_RETURN):
	* redisplay.c (pixel_to_glyph_translation):
	* redisplay.c (init_redisplay):
	* redisplay.h:
	* redisplay.h (struct line_start_cache):
	* redisplay.h (struct rune):
	* redisplay.h (struct display_line):
	* redisplay.h (struct extent_fragment):
	* regex.c (struct):
	* regex.c (PATFETCH_EXTENDED):
	* regex.c (PATFETCH_RAW_EXTENDED):
	* regex.c (regex_compile):
	* regex.c (compile_extended_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_match_2_internal):
	* regex.c (regerror):
	* regex.h (Elemcount):
	* scrollbar-gtk.h (struct gtk_scrollbar_data):
	* scrollbar-msw.c (mswindows_handle_mousewheel_event):
	* scrollbar-x.h (struct x_scrollbar_data):
	* scrollbar.c (scrollbar_point):
	* scrollbar.c (update_scrollbar_instance):
	* scrollbar.c (scrollbar_reset_cursor):
	* scrollbar.c (Fscrollbar_page_up):
	* scrollbar.c (Fscrollbar_vertical_drag):
	* search.c:
	* search.c (fixup_search_regs_for_buffer):
	* search.c (looking_at_1):
	* search.c (fast_string_match):
	* search.c (bi_scan_buffer):
	* search.c (scan_buffer):
	* search.c (bi_find_next_newline_no_quit):
	* search.c (find_next_newline_no_quit):
	* search.c (find_next_newline):
	* search.c (bi_find_next_emchar_in_string):
	* search.c (find_before_next_newline):
	* search.c (skip_chars):
	* search.c (search_command):
	* search.c (trivial_regexp_p):
	* search.c (search_buffer):
	* search.c (simple_search):
	* search.c (boyer_moore):
	* search.c (set_search_regs):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (Fmatch_data):
	* search.c (Fregexp_quote):
	* select-common.h (selection_data_to_lisp_data):
	* select-common.h (lisp_data_to_selection_data):
	* select-gtk.c (atom_to_symbol):
	* select-gtk.c (emacs_gtk_selection_handle):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (x_reply_selection_request):
	* select-x.c (x_handle_selection_request):
	* select-x.c (copy_multiple_data):
	* select-x.c (x_get_window_property):
	* select-x.c (receive_incremental_selection):
	* select-x.c (x_get_window_property_as_lisp_data):
	* select-x.c (Fx_get_cutbuffer_internal):
	* select-x.c (Fx_store_cutbuffer_internal):
	* sheap.c (report_sheap_usage):
	* sound.c (Fplay_sound):
	* sound.h (sound_perror):
	* sound.h (sound_warn):
	* specifier.c (aligned_sizeof_specifier):
	* specifier.c (sizeof_specifier):
	* specifier.c (make_specifier_internal):
	* symbols.c (intern):
	* symbols.c (oblookup):
	* symbols.c (hash_string):
	* symbols.c (init_symbols_once_early):
	* symbols.c (defsymbol_massage_name_1):
	* symbols.c (defsymbol_nodump):
	* symbols.c (defsymbol):
	* symbols.c (defvar_magic):
	* syntax.c:
	* syntax.c (struct lisp_parse_state):
	* syntax.c (find_defun_start):
	* syntax.c (scan_words):
	* syntax.c (Fforward_word):
	* syntax.c (find_start_of_comment):
	* syntax.c (find_end_of_comment):
	* syntax.c (Fforward_comment):
	* syntax.c (scan_lists):
	* syntax.c (char_quoted):
	* syntax.c (Fbackward_prefix_chars):
	* syntax.c (scan_sexps_forward):
	* syntax.c (Fparse_partial_sexp):
	* syntax.h:
	* syntax.h (struct syntax_cache):
	* syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
	* syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
	* sysdep.c (get_eof_char):
	* sysdep.c (init_system_name):
	* sysdep.c (sys_readdir):
	* sysdep.h:
	* syswindows.h:
	* syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* tests.c (Ftest_data_format_conversion):
	* toolbar-gtk.c (gtk_output_toolbar_button):
	* toolbar-x.c (x_output_toolbar_button):
	* tooltalk.c (check_status):
	* tooltalk.c (tt_message_arg_bval_vector):
	* tparam.c:
	* undo.c:
	* undo.c (record_insert):
	* undo.c (record_delete):
	* undo.c (record_change):
	* undo.c (record_property_change):
	* undo.c (Fprimitive_undo):
	* win32.c (tstr_to_local_file_format):
	* window.c (Fpos_visible_in_window_p):
	* window.c (Fwindow_end):
	* window.c (unshow_buffer):
	* window.c (Fdelete_other_windows):
	* window.c (Fselect_window):
	* window.c (window_scroll):
	* window.c (Fcenter_to_window_line):
	* window.c (Fmove_to_window_line):
	* window.c (sizeof_window_config_for_n_windows):
	* window.c (sizeof_window_config):
	* window.c (Fcurrent_pixel_column):
	* window.h (struct window):

	The great integral types renaming.

	Rationalize the names used for various integral types, so that
	they match their intended uses and follow consist conventions, and
	eliminate types that were not semantically different from each
	other.  The following global substitutions were made:

	Memory_Count		Bytecount
	Lstream_Data_Count	Bytecount
	Element_Count		Elemcount
	Hash_Code		Hashcode
	extcount		bytecount
	bufpos			charbpos
	bytind			bytebpos
	memind			membpos
	bufbyte			intbyte
	Extcount		Bytecount
	Bufpos			Charbpos
	Bytind			Bytebpos
	Memind			Membpos
	Bufbyte			Intbyte
	EXTCOUNT		BYTECOUNT
	BUFPOS			CHARBPOS
	BYTIND			BYTEBPOS
	MEMIND			MEMBPOS
	BUFBYTE			INTBYTE
	MEMORY_COUNT		BYTECOUNT
	LSTREAM_DATA_COUNT	BYTECOUNT
	ELEMENT_COUNT		ELEMCOUNT
	HASH_CODE		HASHCODE

	This resulted in some duplications.

	* lisp.h: removed duplicate declarations of Bytecount.

	* lstream.h: removed duplicate declaration of Bytecount.
	Rewrote the comment about this type.

	* dumper.c: remove duplicate case tag XD_BYTECOUNT, and the
	accompanying duplicate code, from 4 switchs tatements.

	[[See README.integral-types in this directory for more
	details.]] --invalid.

	See the Internals Manual, under Major Type Changes, and also
	README.global-renaming.
	

2001-09-17  Ben Wing  <ben@xemacs.org>

	* fileio.c (normalize_filename):
	* fileio.c (Fexpand_file_name):
	Fix various C++ compile errors in Andy's recent code.

	* callint.c (Fcall_interactively):
	* editfns.c (Ftemp_directory):
	* editfns.c (Fuser_full_name):
	* emacs.c (argmatch):
	* lread.c (locate_file_map_suffixes):
	* redisplay-x.c (x_ring_bell):
	Fix sign-compare warnings.

	* scrollbar-msw.c:
	* scrollbar-msw.c (mswindows_handle_scrollbar_event):
	Fix crash under MS Windows.  See comment around line 223 for
	explanation.

2001-09-08  Andy Piper  <andy@xemacs.org>

	* device-msw.c (mswindows_finish_init_device): remove dde
	initialization.
	* device-msw.c (mswindows_init_dde): factor out from
	mswindows_finish_init_device()
	* device-msw.c (init_mswindows_very_early): new function
	initialize but don't enable dde.
	* emacs.c (main_1): call init_mswindows_very_early.
	* event-msw.c:
	* event-msw.c (mswindows_dde_callback): only execute when we are
	ready.
	* symsinit.h: declare init_mswindows_very_early.

2001-09-08  Andy Piper  <andy@xemacs.org>

	* fileio.c (normalize_filename): copied from nt.c
	* (Ffile_name_directory): enable win32 paths under cygwin.
	* (Ffile_name_nondirectory): ditto.
	* (directory_file_name): ditto.
	* (Fexpand_file_name): ditto.
	* (Ffile_truename): ditto.
	* (Fsubstitute_in_file_name): ditto.
	* (Ffile_name_absolute_p): ditto.
	* (Ffile_readable_p): ditto.

2001-09-07  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.3 "asparagus" is released.

2001-04-19  Glynn Clements  <glynn.clements@virgin.net>

	* input-method-motif.c (XIM_delete_frame): New callback.
	(XIM_init_frame): Register it.

2001-08-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* buffer.h (valid_char_p): Make negative integers invalid again.

2001-08-13  Ben Wing  <ben@xemacs.org>

	* regex.c: need to include stddef.h for ptrdiff_t on Solaris, when
	regex.c is compiled as part of lib-src.

2001-06-24  Ben Wing  <ben@xemacs.org>

	* EmacsFrame.c (EmacsFrameSetValues):
	* alloc.c:
	* alloc.c (xmalloc):
	* alloc.c (xcalloc):
	* alloc.c (xmalloc_and_zero):
	* alloc.c (xrealloc):
	* alloc.c (deadbeef_memory):
	* alloc.c (allocate_lisp_storage):
	* alloc.c (alloc_lcrecord):
	* alloc.c (Fmake_list):
	* alloc.c (size_vector):
	* alloc.c (vector_hash):
	* alloc.c (make_vector_internal):
	* alloc.c (make_vector):
	* alloc.c (make_bit_vector_internal):
	* alloc.c (make_bit_vector):
	* alloc.c (make_bit_vector_from_byte_vector):
	* alloc.c (Fmake_string):
	* alloc.c (make_lcrecord_list):
	* alloc.c (GC_CHECK_LHEADER_INVARIANTS):
	* alloc.c (tick_lcrecord_stats):
	* alloc.c (sweep_strings):
	* alloc.c (UNMARK_string):
	* alloc.c (ADDITIONAL_FREE_string):
	* alloc.c (garbage_collect_1):
	* alloc.c (Fgarbage_collect):
	* alloc.c (malloced_storage_size):
	* alloc.c (fixed_type_block_overhead):
	* backtrace.h:
	* backtrace.h (SPECPDL_RESERVE):
	* blocktype.c (Blocktype_newf):
	* blocktype.h:
	* blocktype.h (Blocktype_declare):
	* buffer.c:
	* buffer.c (compute_buffer_text_usage):
	* buffer.c (DEFVAR_BUFFER_LOCAL_1):
	* buffer.h (struct buffer_text):
	* buffer.h (MAP_INDIRECT_BUFFERS):
	* buffer.h (valid_char_p):
	* buffer.h (union):
	* buffer.h (bufbyte_memcmp):
	* bytecode.c (optimize_byte_code):
	* bytecode.c (compiled_function_hash):
	* callproc.c (Fold_call_process_internal):
	* chartab.c (char_table_entry_hash):
	* chartab.c (char_table_hash):
	* chartab.c (check_category_char):
	* chartab.c (Fcheck_category_at):
	* chartab.c (Fchar_in_category_p):
	* chartab.h:
	* console-x.c (x_semi_canonicalize_console_connection):
	* console.h (struct console_methods):
	* data.c (Faref):
	* data.c (Faset):
	* data.c (weak_list_hash):
	* device-msw.c (msprinter_init_device):
	* device-msw.c (Fmsprinter_select_settings):
	* device-msw.c (hash_devmode):
	* device-msw.c (Fmswindows_printer_list):
	* device-x.c (validify_resource_component):
	* device-x.c (Fx_put_resource):
	* dialog-msw.c:
	* dialog-msw.c (dialog_proc):
	* dialog-msw.c (button_width):
	* dialog-msw.c (ALIGN_TEMPLATE):
	* dialog-msw.c (handle_question_dialog_box):
	* dired.c (struct user_name):
	* dired.c (user_name_completion):
	* doc.c (get_doc_string):
	* doc.c (Fsnarf_documentation):
	* doprnt.c (parse_off_posnum):
	* doprnt.c (emacs_doprnt_1):
	* dumper.c:
	* dumper.c (struct):
	* dumper.c (dump_add_opaque):
	* dumper.c (pdump_align_stream):
	* dumper.c (pdump_size_to_align):
	* dumper.c (pdump_entry_list_elt):
	* dumper.c (pdump_add_entry):
	* dumper.c (pdump_get_indirect_count):
	* dumper.c (pdump_register_sub):
	* dumper.c (pdump_dump_data):
	* dumper.c (pdump_reloc_one):
	* dumper.c (pdump_allocate_offset):
	* dumper.c (pdump_dump_root_struct_ptrs):
	* dumper.c (pdump_dump_root_objects):
	* dumper.c (pdump_load_finish):
	* dumper.c (pdump_resource_get):
	* dumper.c (pdump_file_get):
	* dynarr.c (Dynarr_memory_usage):
	* editfns.c (Fformat_time_string):
	* editfns.c (Fcurrent_time_string):
	* eldap.c (Fldap_add):
	* eldap.c (Fldap_modify):
	* elhash.c:
	* elhash.c (struct Lisp_Hash_Table):
	* elhash.c (lisp_string_hash):
	* elhash.c (lisp_object_eql_hash):
	* elhash.c (lisp_object_equal_hash):
	* elhash.c (hash_table_hash):
	* elhash.c (print_hash_table):
	* elhash.c (compute_hash_table_derived_values):
	* elhash.c (make_standard_lisp_hash_table):
	* elhash.c (make_general_lisp_hash_table):
	* elhash.c (make_lisp_hash_table):
	* elhash.c (decode_hash_table_size):
	* elhash.c (resize_hash_table):
	* elhash.c (enlarge_hash_table):
	* elhash.c (remhash_1):
	* elhash.c (internal_array_hash):
	* elhash.c (internal_hash):
	* elhash.h:
	* emacs.c:
	* eval.c (grow_specpdl):
	* event-Xt.c (x_event_to_emacs_event):
	* event-msw.c:
	* event-msw.c (ntpipe_slurp_reader):
	* event-msw.c (ntpipe_shove_writer):
	* event-msw.c (struct winsock_stream):
	* event-msw.c (winsock_reader):
	* event-msw.c (winsock_writer):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (assert):
	* event-msw.c (mswindows_current_layout_has_AltGr):
	* event-msw.c (debug_output_mswin_message):
	* events.c (event_hash):
	* extents.c (extent_list_locate):
	* faces.c (face_hash):
	* file-coding.c:
	* file-coding.c (detect_eol_type):
	* file-coding.c (detect_coding_type):
	* file-coding.c (determine_real_coding_system):
	* file-coding.c (Fdetect_coding_region):
	* file-coding.c (decoding_reader):
	* file-coding.c (decoding_writer):
	* file-coding.c (mule_decode):
	* file-coding.c (Fdecode_coding_region):
	* file-coding.c (encoding_reader):
	* file-coding.c (encoding_writer):
	* file-coding.c (mule_encode):
	* file-coding.c (Fencode_coding_region):
	* file-coding.c (detect_coding_sjis):
	* file-coding.c (decode_coding_sjis):
	* file-coding.c (encode_coding_sjis):
	* file-coding.c (DECODE_BIG5):
	* file-coding.c (ENCODE_BIG5):
	* file-coding.c (detect_coding_big5):
	* file-coding.c (decode_coding_big5):
	* file-coding.c (encode_coding_big5):
	* file-coding.c (Fset_ucs_char):
	* file-coding.c (detect_coding_ucs4):
	* file-coding.c (decode_coding_ucs4):
	* file-coding.c (encode_coding_ucs4):
	* file-coding.c (detect_coding_utf8):
	* file-coding.c (decode_coding_utf8):
	* file-coding.c (encode_coding_utf8):
	* file-coding.c (detect_coding_iso2022):
	* file-coding.c (decode_coding_iso2022):
	* file-coding.c (iso2022_designate):
	* file-coding.c (encode_coding_iso2022):
	* file-coding.c (decode_coding_no_conversion):
	* file-coding.c (encode_coding_no_conversion):
	* fileio.c (read_allowing_quit):
	* fileio.c (write_allowing_quit):
	* filelock.c (struct):
	* filelock.c (LOCK_PID_MAX):
	* filelock.c (fill_in_lock_file_name):
	* filelock.c (lock_file_1):
	* filelock.c (lock_file):
	* floatfns.c (float_hash):
	* fns.c (print_bit_vector):
	* fns.c (bit_vector_hash):
	* fns.c (size_bit_vector):
	* fns.c (Flength):
	* fns.c (Fsafe_length):
	* fns.c (copy_list):
	* fns.c (Fnthcdr):
	* fns.c (Ffillarray):
	* fns.c (bytecode_nconc2):
	* fns.c (Fnconc):
	* fns.c (mapcar1):
	* fns.c (Fmapcar):
	* fns.c (Fmapvector):
	* fns.c (XMALLOC_OR_ALLOCA):
	* font-lock.c:
	* font-lock.c (SYNTAX_END_STYLE):
	* font-lock.c (SINGLE_SYNTAX_STYLE):
	* font-lock.c (find_context):
	* frame-x.c (x_set_initial_frame_size):
	* frame-x.c (Fcde_start_drag_internal):
	* frame-x.c (Foffix_start_drag_internal):
	* frame.h (struct frame):
	* getloadavg.c:
	* getloadavg.c (getloadavg):
	* gif_io.c (GifStdRead):
	* gif_io.c (GifStdWrite):
	* gif_io.c (GifRead):
	* gif_io.c (GifWrite):
	* gifrlib.h:
	* glyphs-eimage.c (message):
	* glyphs-eimage.c (our_skip_input_data):
	* glyphs-eimage.c (jpeg_memory_src):
	* glyphs-eimage.c (gif_instantiate_unwind):
	* glyphs-eimage.c (gif_read_from_memory):
	* glyphs-eimage.c (gif_memory_close):
	* glyphs-eimage.c (gif_error_func):
	* glyphs-eimage.c (png_read_from_memory):
	* glyphs-eimage.c (tiff_memory_read):
	* glyphs-eimage.c (tiff_memory_write):
	* glyphs-eimage.c (tiff_memory_seek):
	* glyphs-eimage.c (tiff_memory_close):
	* glyphs-eimage.c (tiff_map_noop):
	* glyphs-eimage.c (tiff_unmap_noop):
	* glyphs-eimage.c (tiff_memory_size):
	* glyphs-eimage.c (tiff_error_func):
	* glyphs-eimage.c (tiff_warning_func):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (xbm_create_bitmap_from_data):
	* glyphs-msw.c (mswindows_image_instance_hash):
	* glyphs-shared.c (read_bitmap_data):
	* glyphs-shared.c (read_bitmap_data_from_file):
	* glyphs-x.c (x_image_instance_hash):
	* glyphs-x.c (write_lisp_string_to_temp_file):
	* glyphs-x.c (check_pointer_sizes):
	* glyphs-x.c (x_xpm_instantiate):
	* glyphs-x.c (x_subwindow_instantiate):
	* glyphs.c (image_instance_hash):
	* glyphs.c (bitmap_to_lisp_data):
	* glyphs.c (instantiator_eq_hash):
	* glyphs.c (glyph_hash):
	* glyphs.h:
	* glyphs.h (INITIALIZE_DEVICE_IIFORMAT):
	* glyphs.h (struct Lisp_Image_Instance):
	* glyphs.h (struct expose_ignore):
	* gmalloc.c (_free_internal):
	* gpmevent.c (tty_get_foreign_selection):
	* gui-x.c (add_accel_and_to_external):
	* gui.c (gui_item_display_flush_left):
	* gui.c (gui_item_display_flush_right):
	* gui.c (gui_item_hash):
	* gui.h:
	* hash.c:
	* hash.c (memory_hash):
	* hash.c (string_hash):
	* hash.c (hash_table_size):
	* hash.c (gethash):
	* hash.c (make_hash_table):
	* hash.c (make_general_hash_table):
	* hash.c (grow_hash_table):
	* hash.c (puthash):
	* hash.c (rehash):
	* hash.c (remhash):
	* hash.h:
	* hash.h (struct hash_table):
	* hftctl.c (RD_BUF):
	* imgproc.c (build_EImage_quantable):
	* insdel.c (bytecount_to_charcount):
	* keymap.c:
	* keymap.c (make_keymap):
	* keymap.c (relevant_map_push):
	* line-number.c (insert_invalidate_line_number_cache):
	* linuxplay.c (linux_play_data_or_file):
	* lisp.h:
	* lisp.h (DO_REALLOC):
	* lisp.h (struct Lisp_Bit_Vector):
	* lisp.h (bit_vector_bit):
	* lisp.h (set_bit_vector_bit):
	* lisp.h (struct lcrecord_list):
	* lisp.h (struct overhead_stats):
	* lrecord.h:
	* lrecord.h (struct lrecord_implementation):
	* lrecord.h (lrecord_description_type):
	* lrecord.h (struct lrecord_description):
	* lrecord.h (struct struct_description):
	* lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION):
	* lrecord.h (RECORD_TYPEP):
	* lrecord.h (DECLARE_EXTERNAL_LRECORD):
	* lstream.c:
	* lstream.c (aligned_sizeof_lstream):
	* lstream.c (sizeof_lstream):
	* lstream.c (Lstream_flush_out):
	* lstream.c (Lstream_adding):
	* lstream.c (Lstream_write_1):
	* lstream.c (Lstream_write):
	* lstream.c (Lstream_raw_read):
	* lstream.c (Lstream_read_more):
	* lstream.c (Lstream_read):
	* lstream.c (Lstream_unread):
	* lstream.c (Lstream_fputc):
	* lstream.c (stdio_reader):
	* lstream.c (stdio_writer):
	* lstream.c (filedesc_reader):
	* lstream.c (filedesc_writer):
	* lstream.c (lisp_string_reader):
	* lstream.c (struct fixed_buffer_stream):
	* lstream.c (make_fixed_buffer_input_stream):
	* lstream.c (make_fixed_buffer_output_stream):
	* lstream.c (fixed_buffer_reader):
	* lstream.c (fixed_buffer_writer):
	* lstream.c (struct resizing_buffer_stream):
	* lstream.c (resizing_buffer_writer):
	* lstream.c (dynarr_writer):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* lstream.h (lstream_implementation):
	* lstream.h (struct lstream):
	* malloc.c:
	* malloc.c (malloc):
	* malloc.c (free):
	* malloc.c (realloc):
	* md5.c (Fmd5):
	* menubar-msw.c (displayable_menu_item):
	* mule-ccl.c (ccl_driver):
	* mule-charset.c (non_ascii_charptr_copy_char):
	* mule-charset.c (Lstream_get_emchar_1):
	* mule-charset.h (struct Lisp_Charset):
	* mule-charset.h (CHARSET_BY_ATTRIBUTES):
	* mule-wnnfns.c (m2w):
	* ntheap.c (recreate_heap):
	* ntproc.c (find_child_pid):
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (mswindows_initialize_color_instance):
	* objects-msw.c (mswindows_valid_color_name_p):
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (truename_via_FONT_prop):
	* objects-x.c (x_font_instance_properties):
	* offix.c (DndDragButtons):
	* offix.h:
	* opaque.c (aligned_sizeof_opaque):
	* opaque.c (sizeof_opaque):
	* opaque.c (make_opaque):
	* opaque.c (equal_opaque):
	* opaque.c (reinit_opaque_once_early):
	* opaque.h:
	* opaque.h (Lisp_Opaque):
	* postgresql.h (message):
	* process-nt.c (alloc_process_memory):
	* process-nt.c (run_in_other_process):
	* process-nt.c (nt_send_process):
	* process-unix.c (unix_send_process):
	* rangetab.c (get_range_table):
	* redisplay-msw.c (mswindows_output_cursor):
	* redisplay-x.c (x_output_string):
	* redisplay-x.c (x_output_vertical_divider):
	* redisplay.c (add_hscroll_rune):
	* redisplay.c (add_octal_runes):
	* redisplay.c (add_control_char_runes):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (redisplay_window):
	* redisplay.c (point_in_line_start_cache):
	* redisplay.c (glyph_to_pixel_translation):
	* regex.c:
	* regex.c (init_syntax_once):
	* regex.c (print_fastmap):
	* regex.c (print_double_string):
	* regex.c (struct):
	* regex.c (PUSH_FAILURE_POINT):
	* regex.c (POP_FAILURE_POINT):
	* regex.c (union):
	* regex.c (SET_REGS_MATCHED):
	* regex.c (GET_BUFFER_SPACE):
	* regex.c (regex_compile):
	* regex.c (compile_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_set_registers):
	* regex.c (re_search_2):
	* regex.c (re_match_2_internal):
	* regex.c (regcomp):
	* regex.c (regexec):
	* regex.c (regerror):
	* regex.h:
	* regex.h (Element_Count):
	* regex.h (struct re_pattern_buffer):
	* regex.h (struct re_registers):
	* search.c (skip_chars):
	* select-gtk.c:
	* select-gtk.c (symbol_to_gtk_atom):
	* select-gtk.c (atom_to_symbol):
	* select-gtk.c (PROCESSING_GTK_CODE):
	* select-gtk.c (emacs_gtk_selection_handle):
	* select-gtk.c (gtk_get_window_property):
	* select-gtk.c (receive_incremental_selection):
	* select-gtk.c (gtk_get_window_property_as_lisp_data):
	* select-x.c:
	* select-x.c (symbol_to_x_atom):
	* select-x.c (PROCESSING_X_CODE):
	* select-x.c (x_reply_selection_request):
	* select-x.c (x_handle_selection_request):
	* select-x.c (copy_multiple_data):
	* select-x.c (x_get_window_property):
	* select-x.c (receive_incremental_selection):
	* select-x.c (x_get_window_property_as_lisp_data):
	* select-x.c (Fx_get_cutbuffer_internal):
	* select-x.c (Fx_store_cutbuffer_internal):
	* sheap.c (report_sheap_usage):
	* specifier.c (aligned_sizeof_specifier):
	* specifier.c (sizeof_specifier):
	* specifier.c (make_specifier_internal):
	* symbols.c (defsymbol_massage_name_1):
	* symbols.c (defkeyword_massage_name):
	* symbols.c (deferror_massage_name_and_message):
	* sysdep.c (get_eof_char):
	* sysdep.c (tty_init_sys_modes_on_device):
	* sysdep.c (init_system_name):
	* sysdir.h (select):
	* tests.c (Ftest_data_format_conversion):
	* tparam.c:
	* unexaix.c (copy_sym):
	* unexconvex.c (sptr;):
	* unexconvex.c (copy_sym):
	* unexcw.c:
	* unexcw.c (unexec):
	* unexcw.c (ALLOC_MASK):
	* unexcw.c (CHECK_AOUT_POS):
	* unexcw.c (get_section_info):
	* unexcw.c (copy_executable_and_dump_data_section):
	* unexcw.c (dup_file_area):
	* unexcw.c (write_int_to_bss):
	* unexec.c (make_hdr):
	* unexec.c (copy_sym):
	* window.c (struct window_config):
	* window.c (mark_window_config):
	* window.c (sizeof_window_config_for_n_windows):
	* window.c (sizeof_window_config):
	* window.c (window_config_equal):
	* window.c (free_window_configuration):
	* window.c (Fset_window_configuration):
	* window.c (count_windows):
	* window.c (Fcurrent_window_configuration):
	* window.c (reinit_vars_of_window):
	* xgccache.c (gc_cache_hash):
	* xmu.c (XmuCursorNameToIndex):
	Create types Memory_Count, Element_Count, Hash_Code.  The first
	two are EMACS_INT, the last EMACS_UINT.  Use them to replace
	size_t, and to replace int/unsigned int where appropriate
	(there are probably more such places).

	Eliminate size_t and hashcode_t everywhere except in ancillary
	code that is borrowed from elsewhere. (Use Memory_Count,
	Element_Count, Hash_Code, Bytecount, Extcount, or EMACS_INT.)
	Eliminate use of unsigned everywhere except in the same code, when
	(a) it holds a simple count (rather than a bit flag and such); (b)
	it refers to an int or long, not something smaller; (c) it's not
	necessary specifically to call an external API with such a
	parameter (we treat such parameters like Extbyte, and convert at
	the point of entry/exit); and (d) there's no reasonable
	possibility it will refer to a value greater than 2G, or if it
	could, other things in XEmacs would break.

	Put parens around all sizeof args in case we decide to macro-ize
	this. (I don't think it's necessary.  Now that we've turned
	sign-compare warnings back on, we will get warnings wherever the
	unsigned return value of sizeof might cause problems.  That's
	what the warnings are for, after all.)

	Eliminate dumper type XD_SIZE_T and replace with XD_MEMORY_COUNT,
	XD_ELEMENT_COUNT, XD_HASH_CODE.

	Rename Lstream_data_count to Lstream_Data_Count, following the
	capitalization conventions used in other types.

	* elhash.c (hash_table_size):
	Hash table sizes are signed now, so comment out the two highest
	(post-2G) numbers in the primes list.

	* event-msw.c (mswindows_current_layout_has_AltGr):
	Rewrite to be a bit more correct and fix unsigned problems.

	* extents.c (extent_hash):
	* extents.c (set_extent_glyph):
	* extents.c (Fset_extent_begin_glyph_layout):
	* extents.c (Fset_extent_end_glyph_layout):
	* extents.h:
	* extents.h (set_extent_normal_field):
	* extents.h (extent_begin_glyph_layout):
	To eliminate warnings, create set functions for the enum fields
	in struct extent.

	* filelock.c: Use pid_t instead of unsigned long to represent a pid.
	(#### Perhaps a bad idea.  Generally using unknown types of this
	sort is bad.)

	* gif_io.c:
	Include lisp.h.

	* glyphs-eimage.c (jpeg_instantiate):
	* glyphs-eimage.c (gif_memory_storage):
	* glyphs-eimage.c (gif_instantiate):
	* glyphs-eimage.c (struct png_memory_storage):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (tiff_memory_storage):
	* glyphs-eimage.c (tiff_instantiate):
	Replace Extbyte with more correct UChar_Binary, Extcount with
	Memory_Count.

	* glyphs-shared.c (read_bitmap_data):
	Replace char with Char_ASCII.

	* gui-x.c:
	Replace unsigned int with more correct LWLIB_ID for lwlib_id_tick.

	* hftctl.c:
	This was trying to include "lisp.h" to encapsulated file functions
	(where they once were encapsulated, but no more); so include
	sysfile.h.  This only affects read().

	* imgproc.c (get_histogram):
	replace unsigned char with UChar_Binary.

	* lisp.h:
	Move basic types to top of file since we need them in some
	macros just below.

	* redisplay-x.c:
	Convert various variables that were declared as unsigned due to
	return values from X functions to be signed, and create "external"
	versions of the variables to retrieve the unsigned value, which is
	then immediately converted to signed.

	* tparam.c:
	Eliminate useless non-#ifdef emacs code.

	* select-common.h:
	* select-gtk.c:
	* select-x.c:
	Abstract out hairy and duplicated code from select-x/gtk.c and
	put into select-common.h.  Use ifdefs to handle the (small
	number of) differences.

	* select-x.c (x_reply_selection_request):
	* select-x.c (x_handle_selection_request):
	* select-x.c (copy_multiple_data):
	* select-x.c (x_get_window_property):
	* select-x.c (receive_incremental_selection):
	* select-x.c (x_get_window_property_as_lisp_data):
	* select-x.c (Fx_get_cutbuffer_internal):
	* select-x.c (Fx_store_cutbuffer_internal):
	Replace uses of `unsigned char' and `Extbyte' with UChar_Binary.

	* sysdep.c (init_baud_rate):
	Fix warning when HAVE_TTY not defined.

	* glyphs-eimage.c:
	* postgresql.h:
	* sysdir.h:
	Do some hackery to avoid shadowing warnings.

	* s\esix.h:
	* m\tad68k.h:
	Comment out redefinition of select (we don't have our own version
	anyway, and we play preprocessor games with select in sysdir.h).

2001-08-04  Adrian Aichner  <adrian@xemacs.org>

	* console.c: Fix of compile error on darwin, as suggested by Toby
	Smith.

2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.2 "artichoke" is released.

2001-07-27  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_progress_gauge_redisplay):
	* glyphs.c (check_for_ignored_expose):
	* glyphs.c (find_matching_subwindow):
	* glyphs.h:
	* gutter.c (output_gutter):
	* gutter.c (redraw_exposed_gutter): warning elimination.

2001-07-26  Adrian Aichner  <adrian@xemacs.org>

	* event-Xt.c (handle_map_event): Fix word duplication typos.
	* glyphs-eimage.c (gif_instantiate): Ditto.
	* ntproc.c (vars_of_ntproc): Ditto.
	* process-nt.c (vars_of_process_nt): Ditto.
	* redisplay-output.c (compare_runes): Ditto.
	* redisplay.c (create_string_text_block): Ditto.

2001-07-11  Matt Tucker  <tuck@whistlingfish.net>

	* syntax.c (find_start_of_comment):
	Fix `unbalanced parentheses' bug when dealing with mixed comment
	styles in c++/java/etc. mode

2001-06-21  Ben Wing  <ben@xemacs.org>

	* dired-msw.c (Fmswindows_insert_directory):
	Fix problem noted by Michael Sperber with directories containing
	[] and code that destructively modifies an existing string.

2001-06-18  Ben Wing  <ben@xemacs.org>

	* dumper.c (pdump_dump_root_objects):
	* dumper.c (pdump_load_finish):
	wrap_record_1 -> wrap_pointer_1.

2001-06-18  Ben Wing  <ben@xemacs.org>

	* window.c:
	* window.c (mark_window_as_deleted):
	* window.c (WINDOW_SLOT):
	We can't actually zero out everything in the window when deleting
	it.  set-window-configuration assumes that various slots of the
	deleted window are still accurate.

2001-06-17  Ben Wing  <ben@xemacs.org>

	---------------------------------------------------------------
 	                     DOCUMENTATION FIXES:
	---------------------------------------------------------------

	* eval.c (Ffunction_min_args):
	* eval.c (Ffunction_max_args):
	Correct documentation.

	* elhash.c (Fremhash): Doc correction.

	---------------------------------------------------------------
	                     LISP OBJECT CLEANUP:
	---------------------------------------------------------------

	* bytecode.h (wrap_compiled_function):
	* buffer.h (wrap_buffer):
	* casetab.h (wrap_case_table):
	* chartab.h (wrap_char_table_entry):
	* chartab.h (wrap_char_table):
	* console-msw.h (wrap_devmode):
	* console-msw.h (wrap_mswindows_dialog_id):
	* console.h (wrap_console):
	* database.c (wrap_database):
	* device.h (wrap_device):
	* eldap.h (wrap_ldap):
	* elhash.h (wrap_hash_table):
	* events.h (wrap_timeout):
	* events.h (wrap_event):
	* extents.h (wrap_extent):
	* extents.h (wrap_extent_auxiliary):
	* extents.h (wrap_extent_info):
	* faces.h (wrap_face):
	* file-coding.h (wrap_coding_system):
	* frame.h (wrap_frame):
	* glyphs.h (wrap_image_instance):
	* glyphs.h (wrap_glyph):
	* gui-x.h (wrap_popup_data):
	* gui.h (wrap_gui_item):
	* keymap.h (wrap_keymap):
	* lisp-disunion.h (wrap_pointer_1):
	* lisp-union.h (wrap_pointer_1):
	* lisp.h (wrap_cons):
	* lisp.h (wrap_string):
	* lisp.h (wrap_vector):
	* lisp.h (wrap_bit_vector):
	* lisp.h (wrap_symbol):
	* lisp.h (wrap_subr):
	* lisp.h (wrap_marker):
	* lisp.h (wrap_float):
	* lisp.h (wrap_weak_list):
	* lisp.h (wrap_lcrecord_list):
	* lrecord.h (wrap_record_1):
	* lstream.h (wrap_lstream):
	* mule-charset.h (wrap_charset):
	* objects.h (wrap_color_instance):
	* objects.h (wrap_font_instance):
	* opaque.h (wrap_opaque):
	* opaque.h (wrap_opaque_ptr):
	* postgresql.h (wrap_pgconn):
	* postgresql.h (wrap_pgresult):
	* process.h (wrap_process):
	* rangetab.h (wrap_range_table):
	* specifier.h (wrap_specifier):
	* toolbar.h (wrap_toolbar_button):
	* tooltalk.h (wrap_tooltalk_message):
	* tooltalk.h (wrap_tooltalk_pattern):
	* ui-gtk.h (wrap_emacs_ffi):
	* ui-gtk.h (wrap_emacs_gtk_object):
	* ui-gtk.h (wrap_emacs_gtk_boxed):
	* lstream.h (wrap_lstream):
	* device.h (wrap_device): New.
	* frame.h (wrap_frame): New.
	* lisp-disunion.h (wrap_object):
	* lisp-disunion.h (XSETOBJ):
	* lrecord.h:
	Add wrap_* to all objects (it was already there for a few of them)
	-- an expression to encapsulate a pointer into a Lisp object,
	rather than the inconvenient XSET*.  "wrap" was chosen because
	"make" as in make_int(), make_char() is not appropriate. (It
	implies allocation.  The issue does not exist for ints and chars
	because they are not allocated.)

	Full error checking has been added to these expressions.  When
	used without error checking, non-union build, use of these
	expressions will incur no loss of efficiency. (In fact, XSET* is
	now defined in terms of wrap_* in a non-union build.) In a union
	build, you will also get no loss of efficiency provided that you
	have a decent optimizing compiler, and a compiler that either
	understands inlines or automatically inlines those particular
	functions. (And since people don't normally do their production
	builds on union, it doesn't matter.)

	Update the sample Lisp object definition in lrecord.h accordingly.

	* dumper.c (pdump_dump_root_objects):
	* dumper.c (pdump_load_finish):
	Fix places in dumper that referenced wrap_object to reference
	its new name, wrap_pointer_1.

	* buffer.c (mark_buffer):
	* buffer.c (reset_buffer_local_variables):
	* buffer.c (Fbuffer_local_variables):
	* buffer.c (nuke_all_buffer_slots):
	* buffer.c (complex_vars_of_buffer):
	* bufslots.h:
	* conslots.h:
	* console.c:
	* console.c (mark_console):
	* console.c (nuke_all_console_slots):
	* console.c (delete_console_internal):
	* console.c (common_init_complex_vars_of_console):
	* console.c (complex_vars_of_console):
	* console.h (struct console):
	* devslots.h: NEW FILE.
	* device.c:
	* device.c (MARKED_SLOT):
	* device.c (mark_device):
	* device.c (nuke_all_device_slots):
	* device.c (allocate_device):
	* device.c (Fset_device_selected_frame):
	* device.c (delete_device_internal):
	* device.c (vars_of_device):
	* device.h (struct device):
	* device.h (MARKED_SLOT):
	* frame.c (nuke_all_frame_slots):
	* frame.c (allocate_frame_core):
	* frame.c (delete_frame_internal):
	* frame.h (struct frame):
	* frame.h (FRAME_LIVE_P):
	* frameslots.h:
	* window.c (mark_window):
	* window.c (WINDOW_SLOT):
	* window.c (allocate_window):
	* window.c (mark_window_as_deleted):
	* window.c (wrap_window_configuration):
	* window.c (Fset_window_configuration):
	* window.h:
	* window.h (struct window):
	* window.h (WINDOW_SLOT):
	* winslots.h:
	-- Extract out the Lisp objects of `struct device' into devslots.h,
	just like for the other structures.
	-- Extract out the remaining (not copied into the window config)
	Lisp objects in `struct window' into winslots.h; use different
	macros (WINDOW_SLOT vs. WINDOW_SAVED_SLOT) to differentiate them.
	-- Eliminate the `dead' flag of `struct frame', since it
	duplicates information already available in `framemeths', and fix
	FRAME_LIVE_P accordingly. (Devices and consoles already work this
	way.)
	-- In *slots.h, switch to system where MARKED_SLOT is automatically
	undef'd at the end of the file. (Follows what winslots.h already
	does.)
	-- Update the comments at the beginning of *slots.h to be accurate.
	-- When making any of the above objects dead, zero it out entirely
	and reset all Lisp object slots to Qnil. (We were already doing
	this somewhat, but not consistently.) This (1) Eliminates the
	possibility of extra objects hanging around that ought to be
	GC'd, (2) Causes an immediate crash if anyone tries to access a
	structure in one of these objects, (3) Ensures consistent behavior
	wrt dead objects.

	* dialog-msw.c:
	Use internal_object_printer, since this object should not escape.

	---------------------------------------------------------------
 	  FIXING A CRASH THAT I HIT ONCE (AND A RELATED BAD BEHAVIOR):
	---------------------------------------------------------------

	* eval.c (unwind_to_catch):
	* eval.c (condition_bind_unwind):
	* eval.c (condition_case_unwind):
	* eval.c (condition_case_1):
	Fix up some comments about the FSF implementation.
	Fix two nasty bugs:

	(1) condition_case_unwind frees the conses sitting in the
	catch->tag slot too quickly, resulting in a crash that I hit.
	(2) catches need to be unwound one at a time when calling
	unwind-protect code, rather than all at once at the end; otherwise,
	incorrect behavior can result. (A comment shows exactly how.)

	* backtrace.h:
	Improve comment about FSF differences in the handler stack.

	---------------------------------------------------------------
	FIXING A CRASH THAT I REPEATEDLY HIT WHEN USING THE MOUSE WHEEL
	UNDER MSWINDOWS:
	---------------------------------------------------------------

	Basic idea: My crash is due either to a dead, non-marked,
	GC-collected frame inside of a window mirror, or a prematurely
	freed window mirror.  We need to mark the Lisp objects inside of
	window mirrors.  Tracking the lifespan of window mirrors and
	scrollbar instances is extremely hard, and there may well be
	lurking bugs where such objects are freed too soon.  The only safe
	way to fix these problems (and it fixes both problems at once) is
	to make both of these structures Lisp objects.

	* lrecord.h (lrecord_type):
	* emacs.c (main_1):
	* inline.c:
	* scrollbar-gtk.c (gtk_create_scrollbar_instance):
	* scrollbar-gtk.c (find_scrollbar_window_mirror):
	* scrollbar-gtk.c (scrollbar_cb):
	* scrollbar-gtk.c (gtk_scrollbar_pointer_changed_in_window):
	* scrollbar-gtk.c (gtk_update_frame_scrollbars):
	* scrollbar-msw.c:
	* scrollbar-msw.c (mswindows_create_scrollbar_instance):
	* scrollbar-msw.c (mswindows_free_scrollbar_instance):
	* scrollbar-msw.c (mswindows_update_scrollbar_instance_values):
	* scrollbar-msw.c (mswindows_handle_scrollbar_event):
	* scrollbar-msw.c (syms_of_scrollbar_mswindows):
	* scrollbar-msw.c (vars_of_scrollbar_mswindows):
	* scrollbar-msw.c (complex_vars_of_scrollbar_mswindows):
	* scrollbar-x.c (find_scrollbar_window_mirror):
	* scrollbar-x.c (x_update_frame_scrollbars):
	* scrollbar.c:
	* scrollbar.c (mark_scrollbar_instance):
	* scrollbar.c (free_scrollbar_instance):
	* scrollbar.c (free_frame_scrollbars):
	* scrollbar.c (create_scrollbar_instance):
	* scrollbar.c (syms_of_scrollbar):
	* scrollbar.h:
	* scrollbar.h (struct scrollbar_instance):
	* symsinit.h:
	Make scrollbar instances actual Lisp objects.  Mark the window
	mirrors in them.  inline.c needs to know about scrollbar.h now.
	Record the new type in lrecord.h.  Fix up scrollbar-*.c
	appropriately.  Create a hash table in scrollbar-msw.c so that the
	scrollbar instances stored in scrollbar HWND's are properly
	GC-protected.  Create complex_vars_of_scrollbar_mswindows() to
	create the hash table at startup, and call it from emacs.c.  Don't
	store the scrollbar instance as a property of the GTK scrollbar,
	as it's not used and if we did this, we'd have to separately
	GC-protect it in a hash table, like in MS Windows.

	* lrecord.h (lrecord_type):
	* frame.h (struct frame):
	* frame.c (delete_frame_internal):
	* frameslots.h:
	* redisplay.c:
	* window.c:
	* window.c (mark_window_mirror):
	* window.c (new_window_mirror):
	* window.c (update_frame_window_mirror):
	* window.c (free_window_mirror):
	* window.c (find_window_mirror):
	* window.c (syms_of_window):
	* window.c (real_window):
	* window.h (struct window_mirror):
	Move mark_window_mirror from redisplay.c to window.c.  Make window
	mirrors actual Lisp objects.  Tell lrecord.h about them.  Change
	the window mirror member of struct frame from a pointer to a Lisp
	object, and add XWINDOW_MIRROR in appropriate places.  Mark the
	scrollbar instances in the window mirror.

	* redisplay.c:
	* redisplay.h:
	* alloc.c (garbage_collect_1):
	Delete mark_redisplay.  Don't call mark_redisplay.  We now mark
	frame-specific structures in mark_frame.

	NOTE: I also deleted an extremely questionable call to
	update_frame_window_mirrors().  It was extremely questionable
	before, and now totally impossible, since it will create
	Lisp objects during redisplay.

	* frame.c (mark_frame):
	Mark the scrollbar instances, which are now Lisp objects.
	Call mark_gutter() here, not in mark_redisplay().

	* gutter.c:
	Update comments about correct marking.

	---------------------------------------------------------------
 	                  ISSUES BROUGHT UP BY MARTIN:
	---------------------------------------------------------------

	* buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA):
	Put back these macros the way Steve T and I think they ought to be.
	I already explained in a previous changelog entry why I think these
	macros should be the way I'd defined them.  Once again:

	We fix these macros so they don't care about the type of their
	lvalues.  The non-C-string equivalents of these already function
	in the same way, and it's correct because it should be OK to pass
	in a CBufbyte *, a BufByte *, a Char_Binary *, an UChar_Binary *,
	etc.  The whole reason for these different types is to work around
	errors caused by signed-vs-unsigned non-matching types.  Any
	possible error that might be caught in a DFC macro would also be
	caught wherever the argument is used elsewhere.  So creating
	multiple macro versions would add no useful error-checking and
	just further complicate an already complicated area.

	As for Martin's "ANSI aliasing" bug, XEmacs is not ANSI-aliasing
	clean and probably never will be.  Unless the board agrees to
	change XEmacs in this way (and we really don't want to go down
	that road), this is not a bug.

	* sound.h (sound_perror):
	Undo Martin's type change.

	* signal.c (qxe_setitimer):
	Fix problem identified by Martin with Linux and g++ due to
	non-standard declaration of setitimer().

	* systime.h:
	Update the docs for "qxe_" to point out why making the
	encapsulation explicit is always the right way to go. (setitimer()
	itself serves as an example.)

2001-06-11  Martin Buchholz  <martin@xemacs.org>

	* buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA):
	* buffer.h (DFC_C_STRING_MALLOC_USE_CONVERTED_DATA):
	Revert to doing type-checking on `sink'.

	* sound.h (sound_perror): Bufbyte -> CBufbyte
	* sound.h (sound_warn): Bufbyte -> CBufbyte

2001-06-12  Martin Buchholz  <martin@xemacs.org>

	* config.h.in (alloca): All feature test macros must be defined
	before the first system header file inclusion.  So move alloca
	twiddling after the feature test definitions, but before the first
	"real" code.

2001-06-11  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (DECIMAL_PRINT_SIZE): Don't use floating point.
	Sun cc (buggily?) cannot use floating point computations to define
	a compile-time integral constant.

2001-06-10  Ben Wing  <ben@xemacs.org>


	------ signal-code changes ------

	* data.c (init_data_very_early):
	* device-tty.c (init_device_tty):
	* emacs.c (fatal_error_signal):
	* emacs.c (memory_warning_signal):
	* floatfns.c (init_floatfns_very_early):
	* linuxplay.c (linux_play_data_or_file):
	* nas.c (*):
	* process-unix.c (unix_init_process):
	* process-unix.c (unix_create_process):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_deactivate_process):
	* signal.c (handle_signal_if_fatal):
	* signal.c (init_signals_very_early):
	* signal.c (init_interrupts_late):
	* sunplay.c (play_sound_file):
	* sunplay.c (play_sound_data):
	* sysdep.c (save_signal_handlers):
	* sysdep.c (restore_signal_handlers):
	* sysdep.c (setup_pty):
	* syssignal.h (EMACS_SIGNAL):
	use EMACS_SIGNAL everywhere instead of playing preprocessing
	games with signal().

	* s\windowsnt.h:
	* s\mingw32.h:
	* syssignal.h:
	Remove mswindows signal code from s+m headers and move to
	syssignal.h as one of the five ways of signal handling, instead of
	playing preprocessing games.

	* fileio.c:
	* sysdep.c (qxe_reliable_signal):
	Rename sys_do_signal to qxe_reliable_signal.

	* signal.c (set_timeout_signal):
	* process-unix.c (close_safely):
	* profile.c (Fstart_profiling):
	* profile.c (Fstop_profiling):
	* signal.c (init_async_timeouts):
	* signal.c (start_async_timeouts):
	Create set_timeout_signal(); use instead of just EMACS_SIGNAL to
	establish a signal handler on a timeout signal; this does special
	things under Cygwin.

	* nt.c (init_ntproc):
	Eliminate term_ntproc(), which is blank; used as a SIGABRT handler,
	which was wrong anyway.

	* nt.c:
	* win32.c:
	* win32.c (sigmask):
	* win32.c (mswindows_sigset):
	* win32.c (mswindows_sighold):
	* win32.c (mswindows_sigrelse):
	* win32.c (mswindows_raise):
	* win32.c (setitimer_helper_proc):
	* win32.c (syms_of_win32):
	Move signal code from nt.c to win32.c, since Cygwin needs it
	too when dealing with timeout signals.

	* s\cygwin32.h:
	Define CYGWIN_BROKEN_SIGNALS.


	------ other changes ------

	* s\mingw32.h:
	Fix problems with NOT_C_CODE being in the wrong place and
	excluding defines needed when building Makefile.in.in.

	* filelock.c:
	* mule-canna.c:
	* mule-canna.c (Fcanna_initialize):
	* mule-canna.c (Fcanna_finalize):
	* mule-ccl.c:
	* mule-ccl.h:
	* ralloc.c:
	* unexalpha.c:
	* unexapollo.c:
	* unexcw.c:
	* unexelfsgi.c:
	* unexnt.c:
	* unexsni.c:
	* s\aix3-1.h:
	* s\bsd4-1.h:
	* s\bsd4-2.h:
	* s\bsd4-3.h:
	* s\cxux.h:
	* s\cygwin32.h:
	* s\dgux.h:
	* s\dgux5-4r2.h:
	* s\dgux5-4r3.h:
	* s\dgux5-4r4.h:
	* s\ewsux5r4.h:
	* s\gnu.h:
	* s\hpux.h:
	* s\iris3-5.h:
	* s\iris3-6.h:
	* s\irix3-3.h:
	* s\linux.h:
	* s\mingw32.h:
	* s\newsos5.h:
	* s\nextstep.h:
	* s\ptx.h:
	* s\riscix1-1.h:
	* s\riscix1-2.h:
	* s\rtu.h:
	* s\sco4.h:
	* s\sco5.h:
	* s\template.h:
	* s\ultrix.h:
	* s\umax.h:
	* s\umips.h:
	* s\unipl5-0.h:
	* s\unipl5-2.h:
	* s\usg5-0.h:
	* s\usg5-2-2.h:
	* s\usg5-2.h:
	* s\usg5-3.h:
	* s\usg5-4.h:
	* s\windowsnt.h:
	* s\xenix.h:
	Rename 'GNU Emacs' to XEmacs in the copyright and comments.

	* nas.c (NAS_LITTLE_ENDIAN):
	* nas.c (XTOOLKIT):
	* nas.c (nas_play_sound_file):
	* nas.c (nas_play_sound_data):
	* nas.c (CatchIoErrorAndJump):
	* nas.c (DataReadS):
	* nas.c (DataReadL):
	* nas.c (readChunk):
	* nas.c (WaveOpenDataForReading):
	Stylistic cleanup.
	Avoid preprocessing games with names such as play_sound_file.


2001-06-08  Ben Wing  <ben@xemacs.org>

	------ gc-in-window-procedure fixes ------

	* alloc.c:
	* alloc.c (struct post_gc_action):
	* alloc.c (register_post_gc_action):
	* alloc.c (run_post_gc_actions):
	* alloc.c (garbage_collect_1):
	Create "post-gc actions", to avoid those dreaded "GC during window
	procedure" problems.

	* event-msw.c:
	Abort, clean and simple, when GC in window procedure.  We want
	to flush these puppies out.

	* glyphs-msw.c:
	* glyphs-msw.c (finalize_destroy_window):
	* glyphs-msw.c (mswindows_finalize_image_instance):
	Use a post-gc action when destroying subwindows.

	* lisp.h:
	Declare register_post_gc_action().

	* scrollbar-msw.c:
	* scrollbar-msw.c (unshow_that_mofo):
	Use a post-gc action when unshowing scrollbar windows, if in gc.

	* redisplay.c (mark_redisplay):
	Add comment about the utter evilness of what's going down here.

	------ cygwin setitimer fixes ------

	* Makefile.in.in (sheap_objs):
	* Makefile.in.in (profile_objs):
	* Makefile.in.in (objs):
	Compile profile.c only when HAVE_SETITIMER.

	* nt.c (mswindows_sigset):
	* nt.c (mswindows_sighold):
	* nt.c (mswindows_sigrelse):
	* nt.c (mswindows_sigpause):
	* nt.c (mswindows_raise):
	* nt.c (close_file_data):
	Style fixes.

	* nt.c:
	Move setitimer() emulation to win32.c, because Cygwin needs it too.

	* profile.c:
	* profile.c (Fstart_profiling):
	* profile.c (Fstop_profiling):
	Make sure we don't compile if no setitimer().  Use qxe_setitimer()
	instead of just plain setitimer().

	* signal.c:
	* signal.c (set_one_shot_timer):
	* signal.c (alarm):
	Define qxe_setitimer() as an encapsulation around setitimer() --
	call setitimer() directly unless Cygwin or MS Win, in which case
	we use our simulated version in win32.c.

	* systime.h:
	* systime.h (struct itimerval):
	* systime.h (ITIMER_REAL):
	Prototype mswindows_setitimer() and qxe_setitimer().  Long
	comment about "qxe" and the policy regarding encapsulation.

	* win32.c:
	* win32.c (setitimer_helper_proc):
	* win32.c (setitimer_helper_period):
	* win32.c (setitimer_helper):
	* win32.c (mswindows_setitimer):
	Move setitimer() emulation here, so Cygwin can use it.
	Rename a couple of functions and variables to be longer and more
	descriptive.  In setitimer_helper_proc(), send the signal
	using either mswindows_raise() or (on Cygwin) kill().  If for
	some reason we are still getting lockups, we'll change the kill()
	to directly invoke the signal handlers.

	------ windows shell fixes ------

	* callproc.c:
	* ntproc.c:
	Comments about how these two files must die.

	* callproc.c (init_callproc):
	On MS Windows, init shell-file-name from SHELL, then COMSPEC,
	not just COMSPEC. (more correct and closer to FSF.) Don't
	force a value for SHELL into the environment. (Comments added
	to explain why not.)

	* nt.c (init_user_info):
	Don't shove a fabricated SHELL into the environment.  See above.

	------ misc fixes ------

	* glyphs-shared.c (read_bitmap_data): static.
	* glyphs-shared.c (read_bitmap_data_from_file):
	Style correction.



2001-06-06  Ben Wing  <ben@xemacs.org>

	* emodules.c (emodules_load):
	* tooltalk.c (check_status):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	Fix warnings pointed out by Martin.

	* lisp.h:
	Correct usage of CBufbyte.

	* esd.c (esd_play_sound_file):
	* esd.c (esd_play_sound_data):
	indentation changes.

	* bytecode.c (invalid_byte_code):
	* eval.c (print_subr):
	* eval.c (build_error_data):
	* eval.c (signal_error):
	* eval.c (maybe_signal_error):
	* eval.c (signal_continuable_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (signal_error_2):
	* eval.c (maybe_signal_error_2):
	* eval.c (signal_continuable_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (signal_ferror):
	* eval.c (maybe_signal_ferror):
	* eval.c (signal_continuable_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (signal_ferror_with_frob):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (signal_continuable_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (syntax_error):
	* eval.c (syntax_error_2):
	* eval.c (maybe_syntax_error):
	* eval.c (sferror):
	* eval.c (sferror_2):
	* eval.c (maybe_sferror):
	* eval.c (invalid_argument):
	* eval.c (invalid_argument_2):
	* eval.c (maybe_invalid_argument):
	* eval.c (invalid_constant):
	* eval.c (invalid_constant_2):
	* eval.c (maybe_invalid_constant):
	* eval.c (invalid_operation):
	* eval.c (invalid_operation_2):
	* eval.c (maybe_invalid_operation):
	* eval.c (invalid_change):
	* eval.c (invalid_change_2):
	* eval.c (maybe_invalid_change):
	* eval.c (invalid_state):
	* eval.c (invalid_state_2):
	* eval.c (maybe_invalid_state):
	* eval.c (wtaerror):
	* eval.c (stack_overflow):
	* eval.c (out_of_memory):
	* eval.c (printing_unreadable_object):
	* eval.c (caught_a_squirmer):
	* eval.c (eval_in_buffer_trapping_errors):
	* eval.c (run_hook_trapping_errors):
	* eval.c (safe_run_hook_trapping_errors):
	* eval.c (call0_trapping_errors):
	* eval.c (call1_trapping_errors):
	* eval.c (call2_trapping_errors):
	* eval.c (warn_when_safe):
	* fileio.c (report_file_type_error):
	* fileio.c (report_error_with_errno):
	* fileio.c (report_file_error):
	Use CBufbyte instead of char for error/warning functions.

	* linuxplay.c:
	* linuxplay.c (DONT_ENCAPSULATE):
	* miscplay.c:
	* miscplay.c (DONT_ENCAPSULATE):
	* sgiplay.c:
	* sgiplay.c (DONT_ENCAPSULATE):
	* sunplay.c:
	* sunplay.c (DONT_ENCAPSULATE):
	Define DONT_ENCAPSULATE. (All encapsulation is removed in my
	pending Mule workspace.)

	* sgiplay.c (play_sound_data):
	* sgiplay.c (play_internal):
	Put back #include <audio.h> accidentally removed.
	Make play_sound_data return an int, like all other
	such functions in *play.c.

	* sound.c:
	Fix up documentation of `play-sound'.

	* sysfile.h:
	Don't include sys/fcntl.h, as per Martin's advice.


2001-06-04  William M. Perry  <wmperry@gnu.org>

	* gpmevent.c (KG_CTRL): Just define these unconditionally.  The
	linux headers are so lame that they do not expose these to
	userland programs and you cannot gracefully include the kernel
	headers.

2001-06-03  William M. Perry  <wmperry@gnu.org>

	* scrollbar-gtk.c (gtk_create_scrollbar_instance): Make calling of
	gtk_size_request unconditional.

2001-06-02  William M. Perry  <wmperry@gnu.org>

	* emacs-marshals.c: Regenerated.

2001-06-01  William M. Perry  <wmperry@gnu.org>

	* glyphs-shared.c (read_bitmap_data): Common definition of
	read_bitmap_data_from_file added.  This does not attempt to use
	the Xmu based code at all - lets us be consistent across
	platforms.

	* glyphs-gtk.c: Removed definition of read_bitmap_data_from_file -
	this is now in glyphs-shared.c

	* glyphs-msw.c: Ditto.

	* glyphs-x.c: Ditto.

2001-06-01  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (ldflags):
	eliminate that pesky "defaulting to 00401000" warning.
	* nt.h:
	eliminate warnings.

2001-06-01  Ben Wing  <ben@xemacs.org>

	* nt.c (mswindows_utime):
	* nt.c (close_file_data):
	fix off-by-one-indirection error.

2001-06-01  Ben Wing  <ben@xemacs.org>

	* event-msw.c (debug_mswin_messages):
	conditionalize the messages that were causing compile errors.
	(if only macros could generate #ifdef statements ...)

2001-06-01  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (DECIMAL_PRINT_SIZE): New.
	* data.c (Fnumber_to_string): Use DECIMAL_PRINT_SIZE
	* print.c (print_internal): Likewise.
	* redisplay.c (window_line_number): Likewise.
	* redisplay.c (decode_mode_spec): Likewise.
	* tooltalk.c (tt_message_arg_ival_string): Likewise.
	Fix a bunch of 128-bit bugs; make code more readable && efficient.

2001-05-30  Ben Wing  <ben@xemacs.org>

	* s\cygwin32.h:
	Don't unilaterally include ntplay, but only when we're compiling
	with native sound (look in configure now).

2001-05-30  Ben Wing  <ben@xemacs.org>

	For 21.4:

	(Stephen, just take all event-msw.c patches.  This includes
	the "iconify" fix below.)

	* event-msw.c:
	* event-msw.c (mswindows_dequeue_dispatch_event):
	* event-msw.c (assert):
	* event-msw.c (emacs_mswindows_quit_p):
	* event-msw.c (debug_mswin_messages):
	* event-msw.c (debug_output_mswin_message):
	* event-msw.c (vars_of_event_mswindows):
	Fix yet more problems with C-g handling.
	Implement debug-mswindows-events.

	For 21.5:

	* event-stream.c:
	* event-stream.c (add_low_level_timeout):
	* event-stream.c (event_stream_generate_wakeup):
	* event-stream.c (event_stream_resignal_wakeup):
	* event-stream.c (event_stream_disable_wakeup):
	* event-stream.c (event_stream_wakeup_pending_p):
	* events.h:
	* signal.c:
	* signal.c (handle_async_timeout_signal):
	* signal.c (signal_remove_async_interval_timeout):
	* signal.c (alarm):
	* signal.c (Fwaiting_for_user_input_p):
	* signal.c (start_interrupts):
	* signal.c (establish_slow_interrupt_timer):
	* signal.c (slow_down_interrupts):
	* signal.c (check_what_happened):
	* signal.c (alarm_signal):
	* signal.c (interrupt_signal):
	* sysdep.h:
	Rearrange the signal-handling code to eliminate the former
	spaghetti logic paths in it.  Document clearly what
	"low-level" and "high-level" timeouts are.  Rename some
	functions with unclear names (e.g. "...alarm...") to names
	that reflect what they actually do (e.g. "...async_timeout...").
	Fix numerous bugs discovered in the process.

	* console-x.h:
	* event-Xt.c:
	* event-Xt.c (update_frame_iconify_status):
	* event-Xt.c (handle_map_event):
	* event-Xt.c (emacs_Xt_handle_magic_event):
	* event-Xt.c (emacs_Xt_event_pending_p):
	* event-msw.c:
	* frame-x.c:
	* frame-x.c (x_frame_window_state):
	* frame-x.c (x_frame_iconified_p):
	* frame-x.c (x_frame_visible_p):
	Hopefully make XEmacs properly maintain the "iconified"
	state on frames at all times.  This should fix the "can't
	delete a frame with C-x 5 0 when there's another iconified
	frame out there" bug.

	Put a notice in of further changes that should probably
	be made to clean up the frame-visibility support.
	(especially directed at Jan Vroonhof)

	* lisp.h:
	* miscplay.c (sndcnv8S_2mono):
	* miscplay.c (sndcnv2monounsigned):
	* miscplay.c (int2ulaw):
	* miscplay.c (sndcnv2byteLE):
	* miscplay.c (sndcnv2byteBE):
	* miscplay.c (sndcnv2monobyteLE):
	* miscplay.c (sndcnv2monobyteBE):
	Rename SBufbyte to CBufbyte to avoid a misleading name.
	Eliminate UChar, which is not used anywhere and contributes
	no semantic info.  Add a comment about the documentation-only
	properties of the char/unsigned char typedefs.  Add
	SChar_Binary as an explicitly `signed' version of Char_Binary
	and put back the `signed' declarations in miscplay.c.

	* alloc.c (build_string):
	* alloc.c (build_ext_string):
	* alloc.c (build_translated_string):
	Use char typedefs.

	* console-msw.c (mswindows_lisp_error):
	* device-msw.c (sync_printer_with_devmode):
	* device-msw.c (handle_devmode_changes):
	* device-msw.c (Fmsprinter_select_settings):
	* device-msw.c (Fmswindows_printer_list):
	* dialog-msw.c:
	* dialog-msw.c (ALIGN_TEMPLATE):
	* dialog-msw.c (handle_question_dialog_box):
	* editfns.c (user_login_name):
	* fileio.c (Ffile_readable_p):
	* glyphs-eimage.c (tiff_memory_seek):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (populate_menu_add_item):
	* ntplay.c:
	* ntplay.c (DONT_ENCAPSULATE):
	* ntplay.c (play_sound_file):
	* ntplay.c (play_sound_data_1):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_list_fonts):
	* realpath.c (cygwin_readlink):
	* redisplay-msw.c (mswindows_text_width_single_run):
	* select-msw.c (symbol_to_ms_cf):
	* select-msw.c (mswindows_register_selection_data_type):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* win32.c (Fmswindows_shell_execute):
	Eliminate numerous C++ errors.

	* frame-msw.c (mswindows_set_title_from_bufbyte):
	Eliminate numerous C++ errors and Mule-ize.

	* glyphs-msw.c (convert_EImage_to_DIBitmap):
	* glyphs-msw.c (mswindows_init_image_instance_from_eimage):
	* glyphs-msw.c (set_mono_pixel):
	* glyphs-msw.c (mswindows_initialize_image_instance_mask):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (mswindows_xpm_instantiate):
	* glyphs-msw.c (read_bitmap_data):
	* glyphs-msw.c (read_bitmap_data_from_file):
	* glyphs-msw.c (xbm_create_bitmap_from_data):
	* glyphs-msw.c (init_image_instance_from_xbm_inline):
	* glyphs-msw.c (xbm_instantiate_1):
	* glyphs-msw.c (mswindows_xbm_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	Eliminate numerous C++ errors and use char typedefs.

2001-05-29  Adrian Aichner  <adrian@xemacs.org>

	* fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
	because set_file_times() now takes Lisp_Object path, instead of
	char*.
	* nt.c: Include buffer.h.
	* nt.c (convert_from_time_t): New.
	* nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
	not set mtime correctly.
	* nt.h: Declare mswindows_utime().
	* sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
	path, instead of char*.
	* systime.h: Include <sys/utime.h> on WIN32_NATIVE.

2001-05-30  William M. Perry  <wmperry@gnu.org>

	* emacs-marshals.c: Regenerated from lisp.

	* emacs-widget-accessors.c: Regenerated from lisp.

	* event-gtk.c (gtk_event_to_emacs_event): Buttons are now
	modifiers, so selection with the mouse works again.

2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* redisplay.c (redisplay_device): Allow preemption on redisplay.

	* event-msw.c (WM_DROPFILES): Use correct type for OLE characters.

2001-05-29  Mike Alexander  <mta@arbortext.com>

	* console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
	FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT

2001-05-26  Ben Wing  <ben@xemacs.org>

	* buffer.c:
	* buffer.c (syms_of_buffer):
	* data.c:
	* data.c (init_errors_once_early):
	move text-conversion-error into data.c, along with other errors.

2001-05-26  Martin Buchholz  <martin@xemacs.org>

	* print.c (print_internal): Fix compile error.

2001-05-25  Ben Wing  <ben@xemacs.org>

	* device-msw.c (msprinter_default_printer):
	* eldap.c (Fldap_open):
	* emodules.c (emodules_load):
	* hpplay.c (player_error_internal):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* sound.h (sound_perror):
	* sound.h (sound_warn):
	* tooltalk.c (check_status):
	* win32.c (tstr_to_local_file_format):
	Revert Martin's attempted compile-warnings fix.  It does fix
	the warnings, but not the right way.  We are trying to eliminate
	the raw use of `char' and `unsigned char' absolutely everywhere.
	There is never an occasion to reintroduce these.

	* buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA):
	* buffer.h (DFC_C_STRING_MALLOC_USE_CONVERTED_DATA):
	Instead, we fix these macros so they don't care about the type of
	their lvalues.  We already do this for the non-C-string
	equivalents of these, and it's correct because it should be OK to
	pass in an SBufbyte *, for example.  In any case, we do not need
	any type-correctness checking here -- errors will be caught for
	sure as soon as we remove the -Wno-sign-compare switch.

	* mule-charset.c (Fmake_charset):
	Use invalid_argument, not generic signal_error (Qerror, ).

	* alloc.c:
	* chartab.c (check_valid_char_table_value):
	* chartab.c (chartab_type_validate):
	* chartab.c (chartab_data_validate):
	* console-gtk.c (gtk_device_to_console_connection):
	* console-gtk.c (gtk_semi_canonicalize_console_connection):
	* console-gtk.c (gtk_canonicalize_console_connection):
	* console-gtk.c (gtk_semi_canonicalize_device_connection):
	* console-gtk.c (gtk_canonicalize_device_connection):
	* console-msw.c (mswindows_canonicalize_console_connection):
	* console-msw.c (mswindows_canonicalize_device_connection):
	* console-msw.c (msprinter_canonicalize_console_connection):
	* console-msw.c (msprinter_canonicalize_device_connection):
	* console-stream.c (stream_semi_canonicalize_console_connection):
	* console-stream.c (stream_canonicalize_console_connection):
	* console-stream.c (stream_semi_canonicalize_device_connection):
	* console-stream.c (stream_canonicalize_device_connection):
	* console-stream.h:
	* console-tty.c (tty_semi_canonicalize_console_connection):
	* console-tty.c (tty_canonicalize_console_connection):
	* console-tty.c (tty_semi_canonicalize_device_connection):
	* console-tty.c (tty_canonicalize_device_connection):
	* console-tty.h:
	* console-x.c (x_device_to_console_connection):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.c (x_canonicalize_console_connection):
	* console-x.c (x_semi_canonicalize_device_connection):
	* console-x.c (x_canonicalize_device_connection):
	* console.c (decode_console_type):
	* console.c (semi_canonicalize_console_connection):
	* console.c (canonicalize_console_connection):
	* console.h:
	* console.h (struct console_methods):
	* device-x.c (Fx_get_resource):
	* device.c (semi_canonicalize_device_connection):
	* device.c (canonicalize_device_connection):
	* elhash.c (hash_table_size_validate):
	* elhash.c (hash_table_weakness_validate):
	* elhash.c (hash_table_test_validate):
	* elhash.c (hash_table_rehash_size_validate):
	* elhash.c (hash_table_rehash_threshold_validate):
	* elhash.c (hash_table_data_validate):
	* eval.c:
	* eval.c (call_with_suspended_errors):
	* eval.c (maybe_signal_error_1):
	* eval.c (maybe_signal_continuable_error_1):
	* eval.c (maybe_signal_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (maybe_signal_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (maybe_signal_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (maybe_syntax_error):
	* eval.c (maybe_sferror):
	* eval.c (maybe_invalid_argument):
	* eval.c (maybe_invalid_constant):
	* eval.c (maybe_invalid_operation):
	* eval.c (maybe_invalid_change):
	* eval.c (maybe_invalid_state):
	* faces.c (face_name_validate):
	* faces.c (face_validate):
	* faces.c (face_property_matching_instance):
	* faces.h:
	* fns.c (bad_bad_bunny):
	* fns.c (bad_bad_turtle):
	* fns.c (advance_plist_pointers):
	* fns.c (external_plist_get):
	* fns.c (external_plist_put):
	* fns.c (external_remprop):
	* glyphs.c (decode_device_ii_format):
	* glyphs.c (decode_image_instantiator_format):
	* glyphs.c (decode_image_instance_type):
	* glyphs.c (decode_error_behavior_flag):
	* glyphs.c (encode_error_behavior_flag):
	* glyphs.c (Fmake_image_instance):
	* glyphs.c (decode_glyph_type):
	* glyphs.c (glyph_image_instance):
	* glyphs.h:
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (make_gui_item_from_keywords_internal):
	* gui.h:
	* lisp.h:
	* lisp.h (error_behavior):
	* lisp.h (_error_behavior_struct_):
	* lisp.h (struct structure_keyword_entry):
	* lisp.h (struct structure_type):
	* lread.c (define_structure_type):
	* lread.c (define_structure_type_keyword):
	* nt.c (tty_semi_canonicalize_console_connection):
	* nt.c (tty_canonicalize_console_connection):
	* nt.c (tty_semi_canonicalize_device_connection):
	* nt.c (tty_canonicalize_device_connection):
	* objects-gtk.c (gtk_parse_nearest_color):
	* objects-gtk.c (gtk_initialize_color_instance):
	* objects-gtk.c (gtk_initialize_font_instance):
	* objects-gtk.c (gtk_font_instance_truename):
	* objects-gtk.h:
	* objects-msw.c (mswindows_initialize_color_instance):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_initialize_font_instance):
	* objects-msw.c (msprinter_initialize_font_instance):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-tty.c (tty_initialize_color_instance):
	* objects-tty.c (tty_initialize_font_instance):
	* objects-x.c (x_parse_nearest_color):
	* objects-x.c (x_initialize_color_instance):
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_font_instance_truename):
	* objects.c:
	* objects.c (Fmake_font_instance):
	* objects.c (font_instance_truename_internal):
	* process-unix.c (get_internet_address):
	* rangetab.c (rangetab_data_validate):
	* search.c (compile_pattern_1):
	* search.c (compile_pattern):
	* search.c (fast_string_match):
	* specifier.c (decode_specifier_type):
	* specifier.c (check_valid_instantiator):
	* specifier.c (check_valid_inst_list):
	* specifier.c (check_valid_spec_list):
	* specifier.c (check_valid_specifier_matchspec):
	* specifier.c (specifier_instance_from_inst_list):
	* specifier.c (specifier_instance):
	* specifier.c (specifier_instance_no_quit):
	* toolbar.c (check_toolbar_button_keywords):
	* toolbar.c (Fcheck_toolbar_button_syntax):
	* window.c (window_scroll):
	* window.h:

	Rename Error_behavior to Error_Behavior, to be consistent with
	general naming practices (Lisp_Object, Char_Binary, etc.).

2001-05-24  Hrvoje Niksic  <hniksic@arsdigita.com>

	* doprnt.c (emacs_doprnt_1): long_to_string doesn't return a
	value.

	* print.c (long_to_string): New, faster implementation.  Revert
	change from 2000-11-22.

2001-05-25  Martin Buchholz  <martin@xemacs.org>

	* process-unix.c (unix_canonicalize_host_name): Fix compile warnings.
	(unix_open_network_stream): Likewise.
	* sound.h (sound_perror): Likewise.
	(sound_warn): Likewise.
	* emodules.c (emodules_load): Likewise.
	* fns.c (base64_conversion_error): Likewise.
	* tooltalk.c (check_status): Likewise.
	* eldap.c (Fldap_open): Likewise.
	* hpplay.c (player_error_internal): Likewise.
	* win32.c (tstr_to_local_file_format): Likewise.

	* realpath.c: This file doesn't deal with internal
	representation.  Define DONT_ENCAPSULATE.
	Fixes crash in test suite.

	* print.c (print_internal): Fix compile error.

	* miscplay.c (waverequire): Don't inline.
	Gcc can't inline functions that call alloca.

2001-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* gui.c (gui_error_2): New function.
	* lisp.h (gui_error_2): Declare it.

2001-05-24  Norbert Koch  <nk@LF.net>

	* doprnt.c (emacs_doprnt_1): forgotten sons of Ben's error patch

2001-05-06  Karl M. Hegbloom  <karlheg@hegbloom.net>

	* config.h.in: HAVE_MKSTEMP

2001-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* mule-ccl.c (Qccl_error): New error
	* mule-ccl.c (syms_of_mule_ccl): Initialize Qccl_error.
	* mule-charset.c (Fmake_charset): Call signal_error.

2001-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c (Qtext_conversion_error): Moved from file-coding.c
	so that --with-file-coding=no will compile corectly.
	* buffer.c (syms_of_buffer): Define Qtext_conversion_error.
	Also moved from file-coding.c
	* file-coding.c (Qtext_conversion_error): Moved to buffer.c
	* file-coding.c (syms_of_file_coding): Moved Qtext_conversion_error
	initialization to buffer.c
	* emodules.c (Qdll_error): New error.
	* emodules.c (syms_of_module): Declare Qdll_error.

	* esd.c (esd_play_sound_data): sound_warn accepts only one arg.
	* miscplay.c (sndcnv8S_2mono):
	* miscplay.c (sndcnv2monounsigned):
	* miscplay.c (int2ulaw):
	* miscplay.c (sndcnv2byteLE):
	* miscplay.c (sndcnv2byteBE):
	* miscplay.c (sndcnv2monobyteLE):
	* miscplay.c (sndcnv2monobyteBE): Replace signed Char_Binary with
	Char_Binary.  There's no type called signed char in C.
	Also remove audio: from error message.  sound_warn and sound_perror
	prepends them.

2001-05-19  Ben Wing  <ben@xemacs.org>

	* glyphs-shared.c: New.  Try just a bit to start eliminating
	the massive code duplication in *-gtk.c.

2001-05-16  Ben Wing  <ben@xemacs.org>

	* abbrev.c (syms_of_abbrev):
	* alloc.c (memory_full):
	* alloc.c (Fmake_byte_code):
	* alloc.c (garbage_collect_1):
	* buffer.c:
	* buffer.c (print_buffer):
	* buffer.c (nsberror):
	* buffer.c (Fget_buffer_create):
	* buffer.c (Fset_buffer):
	* buffer.c (Fbury_buffer):
	* buffer.c (syms_of_buffer):
	* bytecode.c:
	* bytecode.c (execute_optimized_program):
	* bytecode.c (invalid_byte_code):
	* bytecode.c (check_opcode):
	* bytecode.c (check_constants_index):
	* bytecode.c (READ_INSTRUCTION_CHAR):
	* bytecode.c (optimize_byte_code):
	* bytecode.c (Ffetch_bytecode):
	* bytecode.c (syms_of_bytecode):
	* callint.c (check_mark):
	* callint.c (Fcall_interactively):
	* callint.c (syms_of_callint):
	* callproc.c:
	* callproc.c (Fold_call_process_internal):
	* callproc.c (child_setup):
	* casetab.c (print_case_table):
	* casetab.c (Fget_case_table):
	* casetab.c (Fput_case_table):
	* casetab.c (syms_of_casetab):
	* chartab.c (symbol_to_char_table_type):
	* chartab.c (decode_char_table_range):
	* chartab.c (check_valid_char_table_value):
	* chartab.c (chartab_data_validate):
	* chartab.c (check_category_char):
	* chartab.c (syms_of_chartab):
	* cmdloop.c (command_loop_3):
	* cmdloop.c (syms_of_cmdloop):
	* cmds.c (Fdelete_char):
	* cmds.c (Fself_insert_command):
	* cmds.c (syms_of_cmds):
	* console-msw.c:
	* console-msw.c (mswindows_canonicalize_console_connection):
	* console-msw.c (Fmswindows_message_box):
	* console-msw.c (mswindows_output_last_error):
	* console-msw.c (msprinter_canonicalize_console_connection):
	* console-msw.c (syms_of_console_mswindows):
	* console-msw.h:
	* console-stream.c (stream_init_console):
	* console-stream.c (stream_init_frame_1):
	* console-tty.c (tty_init_console):
	* console-tty.c (syms_of_console_tty):
	* console-x.c (get_display_arg_connection):
	* console.c (print_console):
	* console.c (decode_console_type):
	* console.c (Fselect_console):
	* console.c (Fget_console):
	* console.c (delete_console_internal):
	* console.c (syms_of_console):
	* data.c:
	* data.c (dead_wrong_type_argument):
	* data.c (c_write_error):
	* data.c (lisp_write_error):
	* data.c (args_out_of_range):
	* data.c (args_out_of_range_3):
	* data.c (print_weak_list):
	* data.c (decode_weak_list_type):
	* data.c (arith_error):
	* data.c (init_errors_once_early):
	* data.c (syms_of_data):
	* database.c (CHECK_LIVE_DATABASE):
	* database.c (print_database):
	* database.c (finalize_database):
	* database.c (Fopen_database):
	* database.c (syms_of_database):
	* debug.c (Fadd_debug_class_to_check):
	* debug.c (Fdelete_debug_class_to_check):
	* debug.c (Fset_debug_classes_to_check):
	* debug.c (Fset_debug_class_types_to_check):
	* debug.c (Fdebug_types_being_checked):
	* debug.c (syms_of_debug):
	* device-gtk.c (gtk_init_device):
	* device-gtk.c (Fgtk_display_visual_class):
	* device-gtk.c (Fgtk_keysym_on_keyboard_p):
	* device-gtk.c (syms_of_device_gtk):
	* device-msw.c (handle_devmode_changes):
	* device-msw.c (mswindows_handle_print_dialog_box):
	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	* device-msw.c (Fmsprinter_select_settings):
	* device-msw.c (Fmsprinter_apply_settings):
	* device-msw.c (print_devmode):
	* device-tty.c (tty_init_device):
	* device-tty.c (syms_of_device_tty):
	* device-x.c (sanity_check_geometry_resource):
	* device-x.c (x_init_device):
	* device-x.c (x_get_resource_prefix):
	* device-x.c (Fx_get_resource):
	* device-x.c (Fx_put_resource):
	* device-x.c (Fx_display_visual_class):
	* device-x.c (Fx_keysym_hash_table):
	* device-x.c (Fx_keysym_on_keyboard_p):
	* device-x.c (Fx_get_font_path):
	* device-x.c (syms_of_device_x):
	* device.c (print_device):
	* device.c (Fselect_device):
	* device.c (Fset_device_selected_frame):
	* device.c (Fget_device):
	* device.c (Fmake_device):
	* device.c (Fset_device_class):
	* device.c (Fdevice_system_metric):
	* device.c (Fdomain_device_type):
	* device.c (syms_of_device):
	* dialog-gtk.c (syms_of_dialog_gtk):
	* dialog-msw.c (handle_file_dialog_box):
	* dialog-msw.c (handle_question_dialog_box):
	* dialog-msw.c (mswindows_make_dialog_box_internal):
	* dialog-msw.c (syms_of_dialog_mswindows):
	* dialog-x.c (dbox_descriptor_to_widget_value):
	* dialog-x.c (x_make_dialog_box_internal):
	* dialog.c (Fmake_dialog_box_internal):
	* dired-msw.c (mswindows_get_files):
	* dired-msw.c (syms_of_dired_mswindows):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion):
	* dired.c (syms_of_dired):
	* doc.c (get_doc_string):
	* doc.c (read_doc_string):
	* doc.c (Fsnarf_documentation):
	* doprnt.c (parse_off_posnum):
	* doprnt.c (NEXT_ASCII_BYTE):
	* doprnt.c (parse_doprnt_spec):
	* doprnt.c (get_doprnt_args):
	* doprnt.c (emacs_doprnt_1):
	* dragdrop.c (syms_of_dragdrop):
	* editfns.c (Fchar_to_string):
	* editfns.c (region_limit):
	* editfns.c (Fformat_time_string):
	* editfns.c (Fdecode_time):
	* editfns.c (Fencode_time):
	* editfns.c (Ftranspose_regions):
	* editfns.c (syms_of_editfns):
	* eldap.c (signal_ldap_error):
	* eldap.c (print_ldap):
	* eldap.c (finalize_ldap):
	* eldap.c (Fldap_open):
	* eldap.c (Fldap_search_basic):
	* eldap.c (Fldap_add):
	* eldap.c (Fldap_modify):
	* eldap.c (syms_of_eldap):
	* eldap.h (CHECK_LIVE_LDAP):
	* elhash.c (hash_table_size_validate):
	* elhash.c (hash_table_weakness_validate):
	* elhash.c (decode_hash_table_weakness):
	* elhash.c (hash_table_test_validate):
	* elhash.c (decode_hash_table_test):
	* elhash.c (hash_table_rehash_size_validate):
	* elhash.c (hash_table_rehash_threshold_validate):
	* elhash.c (hash_table_data_validate):
	* elhash.c (Fmake_hash_table):
	* elhash.c (syms_of_elhash):
	* emacs-widget-accessors.c (Fgtk_adjustment_lower):
	* emacs-widget-accessors.c (Fgtk_adjustment_upper):
	* emacs-widget-accessors.c (Fgtk_adjustment_value):
	* emacs-widget-accessors.c (Fgtk_adjustment_step_increment):
	* emacs-widget-accessors.c (Fgtk_adjustment_page_increment):
	* emacs-widget-accessors.c (Fgtk_adjustment_page_size):
	* emacs-widget-accessors.c (Fgtk_widget_style):
	* emacs-widget-accessors.c (Fgtk_widget_window):
	* emacs-widget-accessors.c (Fgtk_widget_state):
	* emacs-widget-accessors.c (Fgtk_widget_name):
	* emacs-widget-accessors.c (Fgtk_widget_parent):
	* emacs-widget-accessors.c (Fgtk_button_child):
	* emacs-widget-accessors.c (Fgtk_button_in_button):
	* emacs-widget-accessors.c (Fgtk_button_button_down):
	* emacs-widget-accessors.c (Fgtk_combo_entry):
	* emacs-widget-accessors.c (Fgtk_combo_button):
	* emacs-widget-accessors.c (Fgtk_combo_popup):
	* emacs-widget-accessors.c (Fgtk_combo_popwin):
	* emacs-widget-accessors.c (Fgtk_combo_list):
	* emacs-widget-accessors.c (Fgtk_gamma_curve_table):
	* emacs-widget-accessors.c (Fgtk_gamma_curve_curve):
	* emacs-widget-accessors.c (Fgtk_gamma_curve_gamma):
	* emacs-widget-accessors.c (Fgtk_gamma_curve_gamma_dialog):
	* emacs-widget-accessors.c (Fgtk_gamma_curve_gamma_text):
	* emacs-widget-accessors.c (Fgtk_check_menu_item_active):
	* emacs-widget-accessors.c (Fgtk_notebook_tab_pos):
	* emacs-widget-accessors.c (Fgtk_text_hadj):
	* emacs-widget-accessors.c (Fgtk_text_vadj):
	* emacs-widget-accessors.c (Fgtk_file_selection_dir_list):
	* emacs-widget-accessors.c (Fgtk_file_selection_file_list):
	* emacs-widget-accessors.c (Fgtk_file_selection_selection_entry):
	* emacs-widget-accessors.c (Fgtk_file_selection_selection_text):
	* emacs-widget-accessors.c (Fgtk_file_selection_main_vbox):
	* emacs-widget-accessors.c (Fgtk_file_selection_ok_button):
	* emacs-widget-accessors.c (Fgtk_file_selection_cancel_button):
	* emacs-widget-accessors.c (Fgtk_file_selection_help_button):
	* emacs-widget-accessors.c (Fgtk_file_selection_action_area):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_fontsel):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_main_vbox):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_action_area):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_ok_button):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_apply_button):
	* emacs-widget-accessors.c (Fgtk_font_selection_dialog_cancel_button):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_colorsel):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_main_vbox):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_ok_button):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_reset_button):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_cancel_button):
	* emacs-widget-accessors.c (Fgtk_color_selection_dialog_help_button):
	* emacs-widget-accessors.c (Fgtk_dialog_vbox):
	* emacs-widget-accessors.c (Fgtk_dialog_action_area):
	* emacs-widget-accessors.c (Fgtk_input_dialog_close_button):
	* emacs-widget-accessors.c (Fgtk_input_dialog_save_button):
	* emacs-widget-accessors.c (Fgtk_plug_socket_window):
	* emacs-widget-accessors.c (Fgtk_plug_same_app):
	* emacs-widget-accessors.c (Fgtk_object_flags):
	* emacs-widget-accessors.c (Fgtk_object_ref_count):
	* emacs-widget-accessors.c (Fgtk_paned_child1):
	* emacs-widget-accessors.c (Fgtk_paned_child2):
	* emacs-widget-accessors.c (Fgtk_paned_child1_resize):
	* emacs-widget-accessors.c (Fgtk_paned_child2_resize):
	* emacs-widget-accessors.c (Fgtk_paned_child1_shrink):
	* emacs-widget-accessors.c (Fgtk_paned_child2_shrink):
	* emacs-widget-accessors.c (Fgtk_clist_rows):
	* emacs-widget-accessors.c (Fgtk_clist_columns):
	* emacs-widget-accessors.c (Fgtk_clist_hadjustment):
	* emacs-widget-accessors.c (Fgtk_clist_vadjustment):
	* emacs-widget-accessors.c (Fgtk_clist_sort_type):
	* emacs-widget-accessors.c (Fgtk_clist_focus_row):
	* emacs-widget-accessors.c (Fgtk_clist_sort_column):
	* emacs-widget-accessors.c (Fgtk_list_children):
	* emacs-widget-accessors.c (Fgtk_list_selection):
	* emacs-widget-accessors.c (Fgtk_tree_children):
	* emacs-widget-accessors.c (Fgtk_tree_root_tree):
	* emacs-widget-accessors.c (Fgtk_tree_tree_owner):
	* emacs-widget-accessors.c (Fgtk_tree_selection):
	* emacs-widget-accessors.c (Fgtk_tree_item_subtree):
	* emacs-widget-accessors.c (Fgtk_scrolled_window_hscrollbar):
	* emacs-widget-accessors.c (Fgtk_scrolled_window_vscrollbar):
	* emacs-widget-accessors.c (Fgtk_scrolled_window_hscrollbar_visible):
	* emacs-widget-accessors.c (Fgtk_scrolled_window_vscrollbar_visible):
	* emacs.c (main_1):
	* emacs.c (Fsplit_path):
	* emacs.c (syms_of_emacs):
	* emodules.c (emodules_load):
	* esd.c:
	* esd.c (esd_play_sound_file):
	* esd.c (esd_play_sound_data):
	* eval.c:
	* eval.c (print_subr):
	* eval.c (FletX):
	* eval.c (Flet):
	* eval.c (Fdefvar):
	* eval.c (Fdefconst):
	* eval.c (condition_case_3):
	* eval.c (return_from_signal):
	* eval.c (signal_error_1):
	* eval.c (maybe_signal_error_1):
	* eval.c (maybe_signal_continuable_error_1):
	* eval.c (signal_error):
	* eval.c (maybe_signal_error):
	* eval.c (signal_continuable_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (signal_error_2):
	* eval.c (maybe_signal_error_2):
	* eval.c (signal_continuable_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (signal_ferror):
	* eval.c (maybe_signal_ferror):
	* eval.c (signal_continuable_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (signal_ferror_with_frob):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (signal_continuable_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (signal_quit):
	* eval.c (signal_invalid_function_error):
	* eval.c (signal_wrong_number_of_arguments_error):
	* eval.c (signal_malformed_list_error):
	* eval.c (signal_malformed_property_list_error):
	* eval.c (signal_circular_list_error):
	* eval.c (signal_circular_property_list_error):
	* eval.c (syntax_error):
	* eval.c (syntax_error_2):
	* eval.c (maybe_syntax_error):
	* eval.c (sferror):
	* eval.c (sferror_2):
	* eval.c (maybe_sferror):
	* eval.c (invalid_argument):
	* eval.c (invalid_argument_2):
	* eval.c (maybe_invalid_argument):
	* eval.c (invalid_constant):
	* eval.c (invalid_constant_2):
	* eval.c (maybe_invalid_constant):
	* eval.c (invalid_operation):
	* eval.c (invalid_operation_2):
	* eval.c (maybe_invalid_operation):
	* eval.c (invalid_change):
	* eval.c (invalid_change_2):
	* eval.c (maybe_invalid_change):
	* eval.c (invalid_state):
	* eval.c (invalid_state_2):
	* eval.c (maybe_invalid_state):
	* eval.c (stack_overflow):
	* eval.c (out_of_memory):
	* eval.c (printing_unreadable_object):
	* eval.c (do_autoload):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* eval.c (grow_specpdl):
	* eval.c (syms_of_eval):
	* event-Xt.c (syms_of_event_Xt):
	* event-gtk.c (syms_of_event_gtk):
	* event-msw.c (mswindows_need_event_in_modal_loop):
	* event-msw.c (emacs_mswindows_select_process):
	* event-stream.c:
	* event-stream.c (check_event_stream_ok):
	* event-stream.c (lisp_number_to_milliseconds):
	* event-stream.c (Fnext_event):
	* event-stream.c (munge_keymap_translate):
	* event-stream.c (Fset_recent_keys_ring_size):
	* event-stream.c (execute_command_event):
	* event-stream.c (syms_of_event_stream):
	* events.c (print_event):
	* events.c (Fmake_event):
	* events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
	* events.c (Fdeallocate_event):
	* events.c (Fcopy_event):
	* events.c (character_to_event):
	* events.c (syms_of_events):
	* extents.c (print_extent):
	* extents.c (Fset_extent_parent):
	* extents.c (decode_map_extents_flags):
	* extents.c (decode_extent_at_flag):
	* extents.c (symbol_to_glyph_layout):
	* extents.c (Fset_extent_property):
	* extents.c (syms_of_extents):
	* faces.c (face_validate):
	* faces.c (Fget_face):
	* faces.c (syms_of_faces):
	* file-coding.c:
	* file-coding.c (print_coding_system):
	* file-coding.c (symbol_to_eol_type):
	* file-coding.c (Fget_coding_system):
	* file-coding.c (parse_charset_conversion_specs):
	* file-coding.c (Fmake_coding_system):
	* file-coding.c (Fcoding_system_aliasee):
	* file-coding.c (Fdefine_coding_system_alias):
	* file-coding.c (Fcoding_system_property):
	* file-coding.c (decode_coding_category):
	* file-coding.c (Fset_coding_priority_list):
	* file-coding.c (syms_of_file_coding):
	* fileio.c:
	* fileio.c (report_file_type_error):
	* fileio.c (report_error_with_errno):
	* fileio.c (report_file_error):
	* fileio.c (Fmake_temp_name):
	* fileio.c (Ffile_truename):
	* fileio.c (Fmake_directory_internal):
	* fileio.c (Fdelete_directory):
	* fileio.c (Fdelete_file):
	* fileio.c (Fset_file_modes):
	* fileio.c (syms_of_fileio):
	* filelock.c (syms_of_filelock):
	* floatfns.c (float_error):
	* fns.c:
	* fns.c (check_losing_bytecode):
	* fns.c (safe_copy_tree):
	* fns.c (Fget):
	* fns.c (Fput):
	* fns.c (Fremprop):
	* fns.c (Fobject_plist):
	* fns.c (internal_equal):
	* fns.c (internal_old_equal):
	* fns.c (Fload_average):
	* fns.c (Frequire):
	* fns.c (base64_conversion_error):
	* fns.c (base64_decode_1):
	* fns.c (syms_of_fns):
	* font-lock.c (syms_of_font_lock):
	* frame-gtk.c (gtk_create_widgets):
	* frame-gtk.c (gtk_init_frame_1):
	* frame-gtk.c (gtk_cant_notify_wm_error):
	* frame-gtk.c (syms_of_frame_gtk):
	* frame-x.c (x_create_widgets):
	* frame-x.c (x_init_frame_1):
	* frame-x.c (x_cant_notify_wm_error):
	* frame-x.c (syms_of_frame_x):
	* frame.c (print_frame):
	* frame.c (setup_frame_without_minibuffer):
	* frame.c (Fmake_frame):
	* frame.c (selected_frame):
	* frame.c (device_selected_frame):
	* frame.c (Fset_frame_selected_window):
	* frame.c (delete_frame_internal):
	* frame.c (Fmake_frame_invisible):
	* frame.c (store_minibuf_frame_prop):
	* frame.c (syms_of_frame):
	* general-slots.h:
	* glade.c (Fglade_xml_textdomain):
	* glyphs-gtk.c:
	* glyphs-gtk.c (check_pointer_sizes):
	* glyphs-gtk.c (init_image_instance_from_gdk_image):
	* glyphs-gtk.c (image_instance_add_gdk_image):
	* glyphs-gtk.c (init_image_instance_from_xbm_inline):
	* glyphs-gtk.c (write_lisp_string_to_temp_file):
	* glyphs-gtk.c (gtk_xpm_instantiate):
	* glyphs-gtk.c (gtk_xface_instantiate):
	* glyphs-gtk.c (gtk_resource_validate):
	* glyphs-gtk.c (gtk_resource_normalize):
	* glyphs-gtk.c (gtk_resource_instantiate):
	* glyphs-gtk.c (check_valid_resource_symbol):
	* glyphs-gtk.c (check_valid_resource_id):
	* glyphs-gtk.c (font_instantiate):
	* glyphs-gtk.c (cursor_font_instantiate):
	* glyphs-gtk.c (gtk_subwindow_instantiate):
	* glyphs-gtk.c (syms_of_glyphs_gtk):
	* glyphs-msw.c:
	* glyphs-msw.c (console_type_create_glyphs_mswindows):
	* glyphs-msw.c (init_image_instance_from_dibitmap):
	* glyphs-msw.c (image_instance_add_dibitmap):
	* glyphs-msw.c (mswindows_init_image_instance_from_eimage):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (mswindows_xpm_instantiate):
	* glyphs-msw.c (mswindows_resource_validate):
	* glyphs-msw.c (mswindows_resource_normalize):
	* glyphs-msw.c (resource_name_to_resource):
	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (check_valid_resource_symbol):
	* glyphs-msw.c (check_valid_resource_id):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_subwindow_instantiate):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-msw.c (add_tree_item):
	* glyphs-msw.c (add_tab_item):
	* glyphs-msw.c (mswindows_combo_box_instantiate):
	* glyphs-msw.c (syms_of_glyphs_mswindows):
	* glyphs-widget.c (check_valid_orientation):
	* glyphs-widget.c (check_valid_tab_orientation):
	* glyphs-widget.c (check_valid_justification):
	* glyphs-widget.c (widget_validate):
	* glyphs-widget.c (combo_box_validate):
	* glyphs-x.c (write_lisp_string_to_temp_file):
	* glyphs-x.c (check_pointer_sizes):
	* glyphs-x.c (init_image_instance_from_x_image):
	* glyphs-x.c (image_instance_add_x_image):
	* glyphs-x.c (init_image_instance_from_xbm_inline):
	* glyphs-x.c (x_xpm_instantiate):
	* glyphs-x.c (x_xface_instantiate):
	* glyphs-x.c (font_instantiate):
	* glyphs-x.c (cursor_font_instantiate):
	* glyphs-x.c (x_redisplay_widget):
	* glyphs-x.c (x_subwindow_instantiate):
	* glyphs-x.c (x_widget_instantiate):
	* glyphs.c:
	* glyphs.c (decode_device_ii_format):
	* glyphs.c (process_image_string_instantiator):
	* glyphs.c (if):
	* glyphs.c (file_or_data_must_be_present):
	* glyphs.c (data_must_be_present):
	* glyphs.c (face_must_be_present):
	* glyphs.c (get_image_instantiator_governing_domain):
	* glyphs.c (instantiate_image_instantiator):
	* glyphs.c (print_image_instance):
	* glyphs.c (decode_image_instance_type):
	* glyphs.c (incompatible_image_types):
	* glyphs.c (make_image_instance_1):
	* glyphs.c (signal_image_error):
	* glyphs.c (signal_image_error_2):
	* glyphs.c (signal_double_image_error_2):
	* glyphs.c (simple_image_type_normalize):
	* glyphs.c (check_valid_xbm_inline):
	* glyphs.c (bitmap_to_lisp_data):
	* glyphs.c (xbm_normalize):
	* glyphs.c (xface_normalize):
	* glyphs.c (pixmap_to_lisp_data):
	* glyphs.c (check_valid_xpm_color_symbols):
	* glyphs.c (evaluate_xpm_color_symbols):
	* glyphs.c (xpm_normalize):
	* glyphs.c (image_instantiate):
	* glyphs.c (image_validate):
	* glyphs.c (print_glyph):
	* glyphs.c (decode_glyph_type):
	* glyphs.c (subwindow_instantiate):
	* glyphs.c (syms_of_glyphs):
	* glyphs.h:
	* gpmevent.c (Fgpm_enable):
	* gui-gtk.c (syms_of_gui_gtk):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.c (gui_items_to_widget_values_1):
	* gui-x.c (gui_items_to_widget_values):
	* gui.c:
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (make_gui_item_from_keywords_internal):
	* gui.c (widget_gui_parse_item_keywords):
	* gui.c (update_gui_item_keywords):
	* gui.c (signal_too_long_error):
	* gui.c (print_gui_item):
	* gui.c (parse_gui_item_tree_item):
	* gui.c (syms_of_gui):
	* gutter.c (decode_gutter_position):
	* gutter.c (gutter_validate):
	* gutter.c (gutter_size_validate):
	* gutter.c (gutter_visible_validate):
	* gutter.c (syms_of_gutter):
	* hpplay.c:
	* hpplay.c (player_error_internal):
	* hpplay.c (myHandler):
	* hpplay.c (play_bucket_internal):
	* hpplay.c (play_sound_file):
	* hpplay.c (play_sound_data):
	* hpplay.c (vars_of_hpplay):
	* indent.c (Findent_to):
	* indent.c (syms_of_indent):
	* input-method-xlib.c (Fx_open_xim):
	* input-method-xlib.c (Fx_close_xim):
	* input-method-xlib.c (syms_of_input_method_xlib):
	* insdel.c (get_buffer_range_char):
	* insdel.c (get_string_range_char):
	* insdel.c (make_gap):
	* insdel.c (buffer_insert_string_1):
	* intl.c (syms_of_intl):
	* keymap.c (print_keymap):
	* keymap.c (traverse_keymaps):
	* keymap.c (check_keymap_definition_loop):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (define_key_parser):
	* keymap.c (key_desc_list_to_event):
	* keymap.c (ensure_meta_prefix_char_keymapp):
	* keymap.c (Fdefine_key):
	* keymap.c (Fsingle_key_description):
	* keymap.c (Ftext_char_description):
	* libsst.c:
	* libsst.c (dial;):
	* libsst.h:
	* libsst.h (sst_dtmf):
	* linuxplay.c:
	* linuxplay.c (audio_init):
	* linuxplay.c (linux_play_data_or_file):
	* linuxplay.c (play_sound_file):
	* linuxplay.c (play_sound_data):
	* lisp.h:
	* lread.c (read_syntax_error):
	* lread.c (continuable_read_syntax_error):
	* lread.c (readchar):
	* lread.c (pas_de_lache_ici):
	* lread.c (load_force_doc_string_unwind):
	* lread.c (Fload_internal):
	* lread.c (decode_mode_1):
	* lread.c (readevalloop):
	* lread.c (Feval_buffer):
	* lread.c (read_escape):
	* lread.c (FSF_LOSSAGE):
	* lread.c (read_atom_0):
	* lread.c (reader_nextchar):
	* lread.c (read_list_conser):
	* lread.c (syms_of_lread):
	* lread.c (vars_of_lread):
	* lstream.c (Lstream_internal_error):
	* macros.c (Fstart_kbd_macro):
	* macros.c (Fend_kbd_macro):
	* macros.c (pop_kbd_macro_event):
	* macros.c (Fcall_last_kbd_macro):
	* macros.c (Fexecute_kbd_macro):
	* macros.c (syms_of_macros):
	* marker.c (print_marker):
	* marker.c (set_marker_internal):
	* marker.c (bi_marker_position):
	* marker.c (marker_position):
	* marker.c (set_bi_marker_position):
	* marker.c (set_marker_position):
	* md5.c (md5_coding_system):
	* menubar-gtk.c (menu_convert):
	* menubar-gtk.c (menu_descriptor_to_widget_1):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (populate_menu_add_item):
	* menubar-msw.c (populate_or_checksum_helper):
	* menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
	* menubar-msw.c (mswindows_popup_menu):
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (x_popup_menu):
	* menubar-x.c (Faccelerate_menu):
	* menubar.c (syms_of_menubar):
	* menubar.c (vars_of_menubar):
	* minibuf.c (Ftry_completion):
	* minibuf.c (syms_of_minibuf):
	* miscplay.c:
	* miscplay.c (parse_wave_complete):
	* miscplay.c (waverequire):
	* miscplay.c (parsewave):
	* miscplay.c (parsesundecaudio):
	* miscplay.c (sndcnv8U_2mono):
	* miscplay.c (sndcnv8S_2mono):
	* miscplay.c (sndcnv2monounsigned):
	* miscplay.c (sndcnv2unsigned):
	* miscplay.c (int2ulaw):
	* miscplay.c (sndcnvULaw_2linear):
	* miscplay.c (sndcnvULaw_2mono):
	* miscplay.c (sndcnv16_2monoLE):
	* miscplay.c (sndcnv16_2monoBE):
	* miscplay.c (sndcnv2byteLE):
	* miscplay.c (sndcnv2byteBE):
	* miscplay.c (sndcnv2monobyteLE):
	* miscplay.c (sndcnv2monobyteBE):
	* miscplay.c (analyze_format):
	* miscplay.h:
	* miscplay.h (HEADERSZ):
	* miscplay.h (parse_wave_complete):
	* mule-ccl.c (Fccl_execute):
	* mule-ccl.c (vars_of_mule_ccl):
	* mule-charset.c (print_charset):
	* mule-charset.c (get_unallocated_leading_byte):
	* mule-charset.c (Fget_charset):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_from_attributes):
	* mule-charset.c (Fcharset_property):
	* mule-charset.c (Fset_charset_ccl_program):
	* mule-charset.c (Fmake_char):
	* mule-charset.c (Fchar_octet):
	* mule-charset.c (lookup_composite_char):
	* mule-charset.c (syms_of_mule_charset):
	* mule-wnnfns.c (Fwnn_set_param):
	* mule-wnnfns.c (syms_of_mule_wnn):
	* mule.c (Fdefine_word_pattern):
	* nas.c:
	* nas.c (XTOOLKIT):
	* nas.c (play_sound_file):
	* nas.c (close_down_play):
	* nas.c (do_caching_play):
	* nas.c (play_sound_data):
	* nas.c (CatchIoErrorAndJump):
	* nas.c (NameFromData):
	* nas.c (SndOpenDataForReading):
	* nas.c (cmpID):
	* nas.c (dread):
	* nas.c (dgetc):
	* nas.c (readChunk):
	* nas.c (WaveOpenDataForReading):
	* nas.c (SoundOpenDataForReading):
	* ntplay.c:
	* ntplay.c (play_sound_file):
	* ntplay.c (play_sound_data_1):
	* ntplay.c (play_sound_data):
	* ntproc.c:
	* ntproc.c (prepare_standard_handles):
	* ntproc.c (vars_of_ntproc):
	* objects-gtk.c (gtk_parse_nearest_color):
	* objects-gtk.c (gtk_initialize_font_instance):
	* objects-msw.c (mswindows_initialize_color_instance):
	* objects-msw.c (initialize_font_instance):
	* objects-x.c (x_parse_nearest_color):
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_font_instance_truename):
	* objects.c (finalose):
	* objects.c (print_color_instance):
	* objects.c (print_font_instance):
	* objects.c (font_instance_truename_internal):
	* objects.c (color_instantiate):
	* objects.c (color_validate):
	* objects.c (font_validate):
	* objects.c (face_boolean_instantiate):
	* objects.c (face_boolean_validate):
	* objects.c (syms_of_objects):
	* postgresql.c (CHECK_LIVE_CONNECTION):
	* postgresql.c (print_pgconn):
	* postgresql.c (finalize_pgconn):
	* postgresql.c (print_pgresult):
	* postgresql.c (finalize_pgresult):
	* postgresql.c (Fpq_connectdb):
	* postgresql.c (Fpq_connect_start):
	* postgresql.c (Fpq_connect_poll):
	* postgresql.c (Fpq_set_client_encoding):
	* postgresql.c (Fpq_reset_start):
	* postgresql.c (Fpq_reset_poll):
	* postgresql.c (Fpq_pgconn):
	* postgresql.c (Fpq_exec):
	* postgresql.c (Fpq_send_query):
	* postgresql.c (Fpq_get_result):
	* postgresql.c (Fpq_result_status):
	* postgresql.c (Fpq_make_empty_pgresult):
	* postgresql.c (syms_of_postgresql):
	* print.c:
	* print.c (print_error_message):
	* print.c (print_cons):
	* print.c (default_object_printer):
	* print.c (Fexternal_debugging_output):
	* print.c (Fopen_termscript):
	* print.c (syms_of_print):
	* process-nt.c:
	* process-nt.c (validate_signal_number):
	* process-nt.c (mswindows_report_process_error):
	* process-nt.c (mswindows_report_winsock_error):
	* process-nt.c (nt_create_process):
	* process-nt.c (get_internet_address):
	* process-nt.c (nt_canonicalize_host_name):
	* process-nt.c (nt_open_network_stream):
	* process-unix.c (get_internet_address):
	* process-unix.c (unix_create_process):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	* process.c:
	* process.c (print_process):
	* process.c (get_process):
	* process.c (report_process_error):
	* process.c (init_process_io_handles):
	* process.c (Fstart_process_internal):
	* process.c (send_process):
	* process.c (decode_signal):
	* process.c (process_send_signal):
	* process.c (Fkill_process):
	* process.c (Fquit_process):
	* process.c (Fstop_process):
	* process.c (Fcontinue_process):
	* process.c (Fprocess_send_eof):
	* process.c (syms_of_process):
	* ralloc.c (syms_of_ralloc):
	* rangetab.c (Fput_range_table):
	* rangetab.c (rangetab_data_validate):
	* rangetab.c (syms_of_rangetab):
	* redisplay.c (syms_of_redisplay):
	* scrollbar.c (syms_of_scrollbar):
	* search.c (matcher_overflow):
	* search.c (compile_pattern_1):
	* search.c (skip_chars):
	* search.c (search_command):
	* search.c (Freplace_match):
	* search.c (Fmatch_data):
	* search.c (syms_of_search):
	* select-gtk.c (gtk_get_foreign_selection):
	* select-gtk.c (gtk_get_window_property_as_lisp_data):
	* select-gtk.c (lisp_data_to_selection_data):
	* select-x.c (motif_clipboard_cb):
	* select-x.c (x_reply_selection_request):
	* select-x.c (copy_multiple_data):
	* select-x.c (x_get_foreign_selection):
	* select-x.c (x_get_window_property_as_lisp_data):
	* select-x.c (lisp_data_to_selection_data):
	* select-x.c (CHECK_CUTBUFFER):
	* select-x.c (Fx_get_cutbuffer_internal):
	* select-x.c (syms_of_select_x):
	* select.c (Fown_selection_internal):
	* select.c (syms_of_select):
	* sgiplay.c:
	* sgiplay.c (play_sound_file):
	* sgiplay.c (play_sound_data):
	* sgiplay.c (audio_initialize):
	* sgiplay.c (play_internal):
	* sgiplay.c (write_mulaw_8_chunk):
	* sgiplay.c (write_linear_chunk):
	* sgiplay.c (initialize_audio_port):
	* sgiplay.c (open_audio_port):
	* sgiplay.c (set_channels):
	* sgiplay.c (set_output_format):
	* sgiplay.c (struct):
	* sgiplay.c (parse_snd_header):
	* sheap.c (sheap_adjust_h):
	* sound.c:
	* sound.c (report_sound_error):
	* sound.c (Fplay_sound_file):
	* sound.c (Fplay_sound):
	* sound.c (Fding):
	* sound.c (init_nas_sound):
	* sound.c (init_native_sound):
	* sound.c (syms_of_sound):
	* specifier.c:
	* specifier.c (print_specifier):
	* specifier.c (decode_specifier_type):
	* specifier.c (check_valid_locale_or_locale_type):
	* specifier.c (decode_locale):
	* specifier.c (decode_locale_type):
	* specifier.c (check_valid_domain):
	* specifier.c (decode_specifier_tag_set):
	* specifier.c (Fcanonicalize_tag_set):
	* specifier.c (Fdefine_specifier_tag):
	* specifier.c (Fspecifier_tag_predicate):
	* specifier.c (check_valid_inst_list):
	* specifier.c (check_valid_spec_list):
	* specifier.c (decode_how_to_add_specification):
	* specifier.c (check_modifiable_specifier):
	* specifier.c (Fcopy_specifier):
	* specifier.c (check_valid_specifier_matchspec):
	* specifier.c (specifier_instance):
	* specifier.c (boolean_validate):
	* specifier.c (syms_of_specifier):
	* sunplay.c:
	* sunplay.c (init_device):
	* sunplay.c (play_sound_file):
	* sunplay.c (play_sound_data):
	* symbols.c (oblookup):
	* symbols.c (reject_constant_symbols):
	* symbols.c (verify_ok_for_buffer_local):
	* symbols.c (Fset):
	* symbols.c (decode_magic_handler_type):
	* symbols.c (handler_type_from_function_symbol):
	* symbols.c (Fdefvaralias):
	* symbols.c (init_symbols_once_early):
	* symeval.h:
	* symsinit.h:
	* syntax.c (scan_lists):
	* syntax.c (scan_sexps_forward):
	* syntax.c (syms_of_syntax):
	* sysdep.c (stuff_char):
	* sysdep.c (sys_subshell):
	* sysdep.c (dup2):
	* toolbar-msw.c (mswindows_output_toolbar):
	* toolbar.c (decode_toolbar_position):
	* toolbar.c (compute_frame_toolbar_buttons):
	* toolbar.c (CTB_ERROR):
	* toolbar.c (check_toolbar_button_keywords):
	* toolbar.c (toolbar_validate):
	* toolbar.c (syms_of_toolbar):
	* tooltalk.c (print_tooltalk_message):
	* tooltalk.c (print_tooltalk_pattern):
	* tooltalk.c (check_status):
	* tooltalk.c (Ftooltalk_open_connection):
	* tooltalk.c (syms_of_tooltalk):
	* ui-byhand.c (Fgtk_box_query_child_packing):
	* ui-byhand.c (Fgtk_button_box_get_child_size):
	* ui-byhand.c (Fgtk_calendar_get_date):
	* ui-byhand.c (Fgtk_clist_get_text):
	* ui-byhand.c (Fgtk_clist_get_selection):
	* ui-byhand.c (Fgtk_clist_get_pixmap):
	* ui-byhand.c (Fgtk_clist_get_pixtext):
	* ui-byhand.c (Fgtk_color_selection_get_color):
	* ui-byhand.c (Fgtk_editable_insert_text):
	* ui-byhand.c (Fgtk_pixmap_get):
	* ui-byhand.c (Fgtk_curve_get_vector):
	* ui-byhand.c (Fgtk_curve_set_vector):
	* ui-byhand.c (Fgtk_label_get):
	* ui-byhand.c (Fgtk_notebook_query_tab_label_packing):
	* ui-byhand.c (Fgtk_widget_get_pointer):
	* ui-byhand.c (generic_toolbar_insert_item):
	* ui-gtk.c (Fdll_load):
	* ui-gtk.c (ffi_object_printer):
	* ui-gtk.c (Fgtk_import_variable_internal):
	* ui-gtk.c (Fgtk_import_function_internal):
	* ui-gtk.c (Fgtk_call_function):
	* ui-gtk.c (emacs_gtk_object_printer):
	* ui-gtk.c (object_getprop):
	* ui-gtk.c (object_putprop):
	* ui-gtk.c (emacs_gtk_object_finalizer):
	* ui-gtk.c (emacs_gtk_boxed_printer):
	* ui-gtk.c (Fgtk_fundamental_type):
	* ui-gtk.c (Fgtk_describe_type):
	* ui-gtk.c (syms_of_ui_gtk):
	* ui-gtk.c (lisp_to_gtk_type):
	* ui-gtk.c (symbol_to_enum):
	* ui-gtk.c (enum_to_symbol):
	* undo.c (Fprimitive_undo):
	* undo.c (syms_of_undo):
	* unexaix.c (report_error):
	* unexaix.c (report_error_1):
	* unexapollo.c (unexec):
	* unexapollo.c (CopyData):
	* unexconvex.c (report_error):
	* unexconvex.c (a2;):
	* unexec.c (report_error):
	* unexec.c (report_error_1):
	* widget.c (syms_of_widget):
	* win32.c (Fmswindows_shell_execute):
	* window.c (print_window):
	* window.c (Fdelete_window):
	* window.c (Fdelete_other_windows):
	* window.c (Fset_window_buffer):
	* window.c (Fselect_window):
	* window.c (Fsplit_window):
	* window.c (change_window_height):
	* window.c (window_scroll):
	* window.c (Fother_window_for_scrolling):
	* window.c (print_window_config):
	* window.c (syms_of_window):
	-- defsymbol -> DEFSYMBOL.
	-- add an error type to all errors.
	-- eliminate the error functions in eval.c that let you just
	   use Qerror as the type.
	-- redo the error API to be more consistent, sensibly named,
	   and easier to use.
	-- redo the error hierarchy somewhat.  create new errors:
	   structure-formation-error, gui-error, invalid-constant,
	   stack-overflow, out-of-memory, process-error, network-error,
	   sound-error, printing-unreadable-object, base64-conversion-
	   error; coding-system-error renamed to text-conversion error;
	   some others.
	-- fix Mule problems in error strings in emodules.c, tooltalk.c.
	-- fix error handling in mswin open-network-stream.
	-- Mule-ize all sound files and clean up the headers.
	-- nativesound.h -> sound.h and used for all sound files.
	-- move some shared stuff into glyphs-shared.c: first attempt
	   at eliminating some of the massive GTK code duplication.

2001-05-23  Ben Wing  <ben@xemacs.org>

	* event-msw.c (winsock_writer):
	* event-msw.c (winsock_closer):
	prior kludgy code was clobbering the buffer, thinking it was
	"unused" space to store an unneeded return value; instead, use
	the variable we've already got staring us in the face.

2001-05-23  Ben Wing  <ben@xemacs.org>

	for 21.5:

	* s\cygwin32.h:
	* s\cygwin32.h (C_SWITCH_SYSTEM):
	* s\cygwin32.h (BROKEN_SIGIO):
	* s\mingw32.h (C_SWITCH_SYSTEM):
	* s\mingw32.h (TEXT_START):
	remove support for way old beta versions of cygwin.
	don't put -Wno-sign-compare in the system switches; this
	isn't a system issue.  define BROKEN_SIGIO for cygwin to
	get C-g support.

2001-05-23  Ben Wing  <ben@xemacs.org>

	for 21.4:

	* device-msw.c (msprinter_init_device):
	signal an error rather than crash with an unavailable network
	printer (from Mike Alexander).

	* event-msw.c:
	* event-msw.c (struct winsock_stream):
	* event-msw.c (winsock_writer):
	* event-msw.c (winsock_closer):
	* event-msw.c (make_winsock_stream_1):
	cleanup headers.  fix (hopefully) an error with data corruption
	when sending to a network connection.

	* fileio.c (Fexpand_file_name): Fix evil code that attempts
	to handle the ~user prefix by (a) always assuming we're referencing
	ourselves and not even verifying the user -- hence any file with
	a tilde as its first char is invalid! (b) if there wasn't a slash
	following the filename, the pointer was set *past* the end of
	file and we started reading from uninitialized memory.  Now we
	simply treat these as files, always.

	optionally for 21.4 (doc fix):

	* lread.c (pas_de_holgazan_ici):
	* lread.c (load_force_doc_string_unwind):
	cambia de pas_de_lache_ici -- al minimo usa la palabra certa.

	for 21.5:

	* frame.c (restore_frame_list_to_its_unbesmirched_state):
	fix warnings.

	* emacs.c (make_arg_list_1):
	* nt.c (win32_get_long_filename):
	* nt.c (init_environment):
	* nt.c (GetCachedVolumeInformation):
	* nt.c (get_volume_info):
	* nt.c (map_win32_filename):
	* nt.c (sys_rename):
	* nt.c (generate_inode_val):
	* ntproc.c (Fwin32_short_file_name):
	* ntproc.c (Fwin32_long_file_name):
	* process-nt.c (nt_create_process):
	* realpath.c (win32_readlink):
	* unexnt.c:
	* unexnt.c (_start):
	* unexnt.c (unexec):
	* unexnt.c (get_bss_info_from_map_file):
	rename MAX_PATH to standard PATH_MAX.

	* process-nt.c:
	* realpath.c:
	cleanup headers.

	* process-unix.c (get_internet_address):
	* sysdep.c (init_system_name):
	* systime.h:
	* syswindows.h:
	kill BROKEN_CYGWIN and support for way old beta versions of cygwin.

	* sysfile.h:
	use _MAX_PATH (Windows) preferentially for PATH_MAX if defined.
	include io.h on Cygwin (we need get_osfhandle()).  include
	sys/fcntl.h always, since we were including it in various
	header files anyway.

	* unexcw.c:
	* unexcw.c (DONT_ENCAPSULATE):
	* unexcw.c (CHECK_AOUT_POS):
	* unexcw.c (unexec):
	* unexcw.c (get_section_info):
	* unexcw.c (copy_executable_and_dump_data_section):
	* unexcw.c (dup_file_area):
	* unexcw.c (write_int_to_bss):
	fix up style to conform to standard.  remove duplicate definition
	of PERROR.

	* buffer.c (common_init_complex_vars_of_buffer): comment change.

	* database.c:
	* debug.h (struct debug_classes):
	* device-tty.c:
	* dired-msw.c:
	* dired-msw.c (mswindows_sortby):
	* glyphs-msw.c:
	header cleanups (remove places that directly include a system
	header file, because we have our own layer to do this more cleanly
	and portably); indentation fixes.

2001-05-22  Martin Buchholz  <martin@xemacs.org>

	* config.h.in (SYSTEM_TYPE): Allow configure to set this.
	* s/darwin.h: New.  Add support for MacOS X.

2001-05-20  Mike Alexander  <mta@arbortext.com>

	* device-msw.c (msprinter_init_device): Don't assert out if the
	printer isn't reachable on the net.

2001-05-21  Martin Buchholz  <martin@xemacs.org>

	* gui-x.c (sanity_check_lwlib): Remove.

2001-05-14  Martin Buchholz  <martin@xemacs.org>

	realloc() was being called with a null pointer, causing a crash in
	etags running `make TAGS' on SunOS 4.
	The realloc bug should be handled in the config infrastructure,
	not the regular code.  It's actually a feature to make the regular
	code less defensive, since we *want* it to crash faster.
	* s/sunos4.h (realloc_accepting_nullptr): Safe version of realloc.
	* s/sunos4.h (realloc): Re-#define realloc to realloc_accepting_nullptr.
	* regex.c (RETALLOC_IF): Remove.  Use RETALLOC instead.
	* regex.c (RETALLOC): Code as if realloc() is ANSI-compliant.
	* alloc.c (xrealloc): Code as if realloc() is ANSI-compliant.
	* gmalloc.c: Undef functions to be defined here, in case system
	header files or the config infrastructure have #define'd them.
	* tparam.c: Likewise.
	* tparam.c: Assume standard C header files.

2001-05-12  Craig Lanning  <CraigL@Knology.net>

        * s\mingw32.h:
        Properly find MinGW's <process.h> inside Cygwin's restructured
        include directories.  Don't try to include <cygwin/version.h>
        since we are dropping support for MinGW in versions of Cygwin
        earlier than b21.

2001-05-12  Craig Lanning  <CraigL@Knology.net>

        * nt.c:
        Drop support for MinGW in versions of Cygwin before b21.
        * sysdep.c:
        Properly find MinGW's <process.h> inside Cygwin's restructured
        include directories.
        * syswindows.h:
        Drop support for MinGW in versions of Cygwin before b21.
        * unexcw.c:
        Even though a.out.h is no longer detected by configure, allow
        MinGW to use it until we figure out how to do the job with Win32.


2001-05-19  Ben Wing  <ben@xemacs.org>

	* console-msw.h:
	* scrollbar-msw.c (mswindows_create_scrollbar_instance):
	* scrollbar-msw.c (mswindows_handle_scrollbar_event):
	* event-msw.c:
	* event-msw.c (mswindows_find_frame):
	we might receive scrollbar events on windows without scrollbars
	(e.g. holding down and moving the wheel button).

	* dired.c (user_name_completion): win9x support.

	* eval.c: doc comment about gcpro'ing in record_unwind_protect.

	* frame-msw.c (msprinter_init_frame_3): typo.

	* frame.c:
	* frame.c (restore_frame_list_to_its_unbesmirched_state):
	* frame.c (Fmake_frame):
	avoid problems with errors during init_frame_3.

	* process-nt.c:
	* process-nt.c (vars_of_process_nt):
	remove unused mswindows-quote-process-args.  rec for 21.4.

	* unexcw.c (PERROR): use do/while.

2001-05-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* lisp.h: (dump_add_opaque): make varaddress parameter const.

	* dumper.c (struct pdump_opaque): make varaddress const.
	(dump_add_opaque): make varaddress parameter const.
	(pdump_load_finish): override const when copying into
	info.varaddress.

2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* console.h (struct console_methods): Added flags member.
	(CONSOLE_IMPLEMENTATION_FLAGS): Defined.
	(CONMETH_IMPL_FLAG):
	(CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
	Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.

	* device.c (window_system_pixelated_geometry): Use the above macros.

	* device.h (DEVICE_IMPL_FLAG): Macro to check a device
	implememntation flag.
	* device.h (DEVICE_DISPLAY_P): Use it.

	* frame.c (delete_frame_internal): Use the above macro.

	* redisplay.c (redisplay_device): Use it.
	(redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
	(redisplay_frame): Ditto.

	* device-msw.c (mswindows_device_implementation_flags): Removed.
	(msprinter_device_implementation_flags): Removed.
	(console_type_create_device_mswindows): Removed references to
	implementation_flags methods, set implementation flags here.
	(console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.

	* device-gtk.c (gtk_device_implementation_flags): Removed method.
	(console_type_create_device_gtk): Removed method declaration.
	Added commented out statement which semantically matches the
	commented out statement in the above removed method.

2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* regex.c (DECLARE_NOTHING): Define if !emacs && REGEX_MALLOC.

2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* lisp.h (EMACS_INT_MAX): This should be one bit less since
	EMACS_INT is signed.

2001-05-13  Mike Alexander  <mta@arbortext.com>

	* frame-msw.c (mswindows_make_frame_visible): Call SetActiveWindow
	to make the frame the active window.

2001-05-11  Martin Buchholz  <martin@xemacs.org>

	Eliminate the need to define HAVE_PTYS in s&m files.

	* config.h.in:
	* event-msw.c (emacs_mswindows_create_stream_pair):
	* event-stream.c (execute_internal_event):
	* event-unixoid.c (event_stream_unixoid_create_stream_pair):
	* process-unix.c:
	* process-unix.c (unix_create_process):
	* sysdep.c:
	* sysdep.c (set_descriptor_non_blocking):
	* sysdep.c (setup_pty): Delete ancient FIONBIO code.
	* systty.h:
	* s/aix3-1.h:
	* s/bsd4-1.h:
	* s/bsd4-2.h:
	* s/cxux.h:
	* s/dgux.h:
	* s/cygwin32.h:
	* s/esix.h:
	* s/hpux.h:
	* s/iris3-5.h:
	* s/iris3-6.h:
	* s/irix3-3.h:
	* s/isc2-2.h:
	* s/linux.h:
	* s/ptx.h:
	* s/rtu.h:
	* s/sco4.h:
	* s/sco5.h:
	* s/template.h:
	* s/umax.h:
	* s/umips.h:
	* s/unipl5-0.h:
	* s/unipl5-2.h:
	* s/usg5-0.h:
	* s/usg5-3.h:
	* s/usg5-4.h:
	* s/windowsnt.h:
	* s/xenix.h:
	* m/7300.h:
	* m/delta.h:
	* m/delta88k.h:
	* m/dpx2.h:
	* m/hp800.h:
	* m/ibmps2-aix.h:
	* m/ibmrt-aix.h:
	* m/mips.h:
	* m/pfa50.h:
	* m/sps7.h:
	* m/stride.h:
	* m/tad68k.h:
	* m/tekxd88.h:
	* m/wicat.h:
	Nuke all references to HAVE_PTYS, SYSV_PTYS, NEED_BSDTTY.
	All current Unix systems have ptys, and even on systems without
	ptys, the basic functionality has been sufficiently
	autoconfiscated that everything should just work anyways.

2001-05-11  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (mswindows_need_event_in_modal_loop):
	(mswindows_need_event):
	Fix indentation.

2001-05-12  Ben Wing  <ben@xemacs.org>

	* .cvsignore: add xemacs.opt, a VC-generated file.

2001-05-12  Ben Wing  <ben@xemacs.org>

	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	eliminate cygwin warnings.

	* dired.c:
	* dired.c (user_name_completion):
	* syswindows.h:
	* win32.c:
	* win32.c (init_potentially_nonexistent_functions):
	find the Net* functions the hard way to avoid errors on win 9x.

2001-05-10  Ben Wing  <ben@xemacs.org>

	* dired.c:
	* dired.c (user_name_completion_unwind):
	* dired.c (user_name_completion):
	* dired.c (syms_of_dired):
	implement user-name-all-completions under Windows.

	* emacs.c:
	* emacs.c (syms_of_emacs):
	create new function force-debugging-signal (only when DEBUG_XEMACS)
	to breakpoint or abort to the debugger.

	* file-coding.c:
	* file-coding.c (syms_of_file_coding):
	* file-coding.h:
	* lisp.h:
	move coding-system-charset to lisp to avoid doc warning.

2001-05-09  William M. Perry  <wmperry@gnu.org>

	* scrollbar-gtk.c (gtk_create_scrollbar_instance): Fix the
	disappearing GTK scrollbar problem.

2001-05-09  Ben Wing  <ben@xemacs.org>

	* regex.c (regex_compile):
	fix error compiling regexps with back-references in them.

2001-05-09  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.5.1 "anise" is released.

2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c (Vcase_fold_search): Remove obsolete
	  comment about non ASCII case-fold-search.  This
	  bug has been fixed by case-table changes.

2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>

	* mule-charset.c (Fmake_charset): Add missing else.

2001-05-07  Martin Buchholz  <martin@xemacs.org>

	* s/bsd386.h: Use NOT_C_CODE instead of `emacs' to protect Makefiles

2001-05-08  Martin Buchholz  <martin@xemacs.org>

	* s/bsdos4.h: Protect C code with #ifndef NOT_C_CODE.

2000-04-22  zhaoway  <zw@debian.org>

	* event-stream.c (is_scrollbar_event): Return 0 when XEmacs is
	compiled without scrollbars.

2001-05-05  Martin Buchholz  <martin@xemacs.org>

	TTY configury portability improvements.
	Support systems which use OXTABS instead of TAB3, without any s&m.
	* s/bsd386.h: Remove definitions for system symbols TABDLY and OXTABS.
	* s/freebsd.h: Likewise.
	* s/gnu.h: Likewise.
	* s/netbsd.h: Likewise.
	* s/nextstep.h: Remove definitions for TAB3 and BSD_TERMIOS.
	* systty.h:
	Fix up (unused) tty tab delay/expansion code.
	Better preprocessor symbol hygiene.
	Remove BSD_TERMIOS cruft.
	* sysdep.c (child_setup_tty): More careful code.  Check for OXTABS.
	* sysdep.c (tty_init_sys_modes_on_device):
	Tab expansion disabling code was buggy.  So I fixed it.
	But it shouldn't have been done at all.  So I also #if 0'ed it.

2001-05-06  Ben Wing  <ben@xemacs.org>

	* console-msw.h:
	* device-msw.c:
	* device-msw.c (print_dialog_worker):
	* device-msw.c (mswindows_handle_print_dialog_box):
	* device-msw.c (syms_of_device_mswindows):
	* dialog-msw.c (mswindows_make_dialog_box_internal):
	* general-slots.h:
	implement printing the selection when it's selected.

	unrelated:

	* mule-charset.c (Fset_charset_ccl_program):
	* mule-charset.c (invalidate_charset_font_caches):
	force redisplay when set-charset-ccl-program called.

2001-05-04  Martin Buchholz  <martin@xemacs.org>

	* s/bsdos4.h (openpty): Add declaration, missing from system headers.

2001-05-05  Martin Buchholz  <martin@xemacs.org>

	* search.c (warn_about_possibly_incompatible_back_references):
	Target of a DEFVAR_INT should be a Fixnum, not int.

2001-05-05  Ben Wing  <ben@xemacs.org>

	* console-msw.h:
	* device-msw.c:
	* device-msw.c (mswindows_get_default_margin):
	* frame-msw.c (mswindows_size_frame_internal):
	* frame-msw.c (msprinter_init_frame_1):
	* frame-msw.c (vars_of_frame_mswindows):
	Change top/bottom margin defaults to 0.5 inches.

2001-04-23  Ben Wing  <ben@xemacs.org>

	------------ notable bug fix: Windows event code --------------

	* event-msw.c (FAKE_MOD_QUIT):
	* event-msw.c (mswindows_dequeue_dispatch_event):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (emacs_mswindows_quit_p):
	Get critical quit working.

	------------ notable bug fix and new feature: regex code --------------

	* lisp.h:
	* regex.c:
	* regex.c (enum):
	* regex.c (print_compiled_pattern):
	* regex.c (INIT_REG_TRANSLATE_SIZE):
	* regex.c (regex_compile):
	* regex.c (re_match_2_internal):
	* regex.h:
	* regex.h (RE_SYNTAX_AWK):
	* regex.h (RE_SYNTAX_GREP):
	* regex.h (RE_SYNTAX_EGREP):
	* regex.h (RE_SYNTAX_POSIX_EGREP):
	* regex.h (_RE_SYNTAX_POSIX_COMMON):
	* regex.h (struct re_pattern_buffer):
	* search.c:
	* search.c (vars_of_search):
	Shy groups were implemented in a horrible, half-assed way that
	would cause them to screw up regex searching in most cases.
	Fixed to work correctly.

	Also extended back-reference syntax past 9.  Only is recognized
	as such if there are at least that many non-shy groups; and
	optionally will warn about such uses, to catch old code that
	might be using them differently. (Added variable to control
	this in search.c -- `warn-about-possibly-incompatible-back-
	references', on by default for the moment.  Declared in lisp.h.

	---------------- process/SIGIO improvements -------------------

	* process-unix.c:
	* process-unix.c (get_internet_address):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	define USE_GETADDRINFO to replace more complex conditional,
	and use it.  the code conditionalized on this in
	unix_open_network_stream had *serious* problems handling errors.
	it's now fixed, and major amounts of duplicate code between
	the two versions were combined.

	don't disable SIGIO and other interrupts unless
	CONNECT_NEEDS_SLOWED_INTERRUPTS is defined -- don't penalize OS's
	without bugs.  similarly for a freebsd bug that was affecting all
	OS's.

	* s\ultrix.h:
	define CONNECT_NEEDS_SLOWED_INTERRUPTS, since that's the OS
	mentioned as having a kernel bug.

	* sysdep.c (request_sigio_on_device):
	* sysdep.c (unrequest_sigio_on_device):
	fix SIGIO problems on Linux.  add check for O_ASYNC in case it's
	defined and FASYNC isn't.  add comment about other ways to do
	SIGIO on Linux.

	* callproc.c (Fold_call_process_internal):
	* process.c (Fstart_process_internal):
	Deal with the possibility that `default-directory' doesn't
	have terminating slash.  Correct comments about vfork.

	---------------- Miscellaneous bug fixes/cleanup -------------------

	* callint.c (Finteractive):
	Add lots of documentation -- exactly what the Lisp equivalents of
	all the interactive specs are.

	* console.h (struct console): change type of quit_char to Emchar.

	* event-msw.c (lstream_type_create_mswindows_selectable): spacing
	change.

	* event-Xt.c:
	* event-msw.c:
	* event-stream.c:
	* events-mod.h:
	* events.c:
	* events.h:
	* frame-x.c:
	* gpmevent.c:
	* keymap.c:
	Eliminate events-mod.h and combine into events.h.

	* emacs.c:
	* emacs.c (make_arg_list_1):
	* emacs.c (main_1):
	A couple of char->Extbyte changes, add a comment.

	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_subwindow_instantiate):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-msw.c (mswindows_native_layout_instantiate):
	* glyphs-msw.c (mswindows_button_instantiate):
	* glyphs-msw.c (mswindows_edit_field_instantiate):
	* glyphs-msw.c (mswindows_progress_gauge_instantiate):
	* glyphs-msw.c (mswindows_tree_view_instantiate):
	* glyphs-msw.c (mswindows_tab_control_instantiate):
	* glyphs-msw.c (mswindows_label_instantiate):
	* glyphs-msw.c (mswindows_scrollbar_instantiate):
	* glyphs-msw.c (mswindows_combo_box_instantiate):
	Correct indentation of function defns to not exceed 80 cols.
	Try (sort of) to fix some code that sets the colors of the
	progress gauge. (Commented out)

	* keymap.c (syms_of_keymap):
	use DEFSYMBOL.

	* process.c (read_process_output):
	No need to fiddle with zmacs_region_stays, now that bogus
	clearing of it (see below) is removed.

	* search.c (Freplace_match): warning fix.


2001-05-03  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: Fix crash with xlc -O3.
	Improve comment explaining how -O3 works.

2001-05-02  Jerry James <james@xemacs.org>

	* faces.h (SET_FACE_PROPERTY): pass parameters to
	Fadd_spec_to_specifier in the correct order.

2001-05-01  Martin Buchholz  <martin@xemacs.org>

	Fix link error with gcc 3.0 on Linux.
	* terminfo.c (UP): Remove.
	* terminfo.c (BC): Remove.
	* terminfo.c (PC): Remove.
	They weren't used, and in any case, these symbols should be
	defined in the *library*.

2001-04-30  Martin Buchholz  <martin@xemacs.org>

	Make string hashing more efficient.
	Makes intern much faster.
	Makes hash tables containing strings faster.
	* symbols.c (hash_string): A much better hash function.
	Change prototype to return unsigned value.
	(init_symbols_once_early): Use unsigned type for hash value.
	(oblookup): Use unsigned type for hash value.

2001-04-04  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (Fmap_keymap): Revert to previous implementation, since
	elisp_maphash is now safe.

	* elhash.c: Remove erroneously added comment.
	* elhash.c (copy_compress_hentries): New.
	(Fmaphash): Use copy_compress_hentries.
	(elisp_maphash): Use copy_compress_hentries.
	(elisp_map_remhash): Use copy_compress_hentries.
	(elisp_maphash_unsafe): New.
	* elhash.h: Add prototype for elisp_maphash_unsafe.

	* elhash.c (Fmaphash):
	Avoid crashes/unpredictable behavior if a hash table is modified
	during a mapping function, perhaps indirectly via gc.
	(free_hentries): New.
	Avoid crash if a pdumped hash table is collected.
	(maphash_unwind): New.

	* tests.c: Add C-level hash table tests.

2001-04-28  Ben Wing  <ben@xemacs.org>

	* buffer.c (Ferase_buffer):
	* editfns.c (buffer_insert1):
	* editfns.c (Finsert_before_markers):
	* editfns.c (Finsert_string):
	* editfns.c (Finsert_char):
	* editfns.c (Fdelete_region):
	* editfns.c (Fwiden):
	* editfns.c (Fnarrow_to_region):
	remove bogus lines setting zmacs_region_stays to 0.

	* scrollbar-msw.c (mswindows_handle_mousewheel_event):
	remove debug lines.

2001-03-08  Mike Alexander  <mta@arbortext.com>

	* event-msw.c (mswindows_need_event_in_modal_loop):
	Don't dispatch a message if we didn't get one.
	(mswindows_need_event):
	Terminate the correct process when one exits instead of the first
	one on Vprocess_list and look for process termination when in
	mswindows_protect_modal_loop.

2001-04-20  Ben Wing  <ben@xemacs.org>

	* .cvsignore: Added stuff for Windows.

2001-04-15  Ben Wing  <ben@xemacs.org>

	* cmdloop.c (call_command_loop):
	Fix braino in bit-rotting code.

	* event-stream.c:
	* event-stream.c (Fnext_event):
	* event-stream.c (is_scrollbar_event):
	* event-stream.c (execute_command_event):
	Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
	crash' problem.  His fix introduces other problems.  We filter
	out scrollbar events specifically, making them somewhat invisible
	to command-building, and not appearing in `this-command-keys'.
	More work is still needed (see comments in event-stream.c), but
	this fixes all the major problems.

2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* process-unix.c (unix_open_network_stream): If connect() fails
	invalidate file descriptor after closing it.

2001-04-18  Martin Buchholz  <martin@xemacs.org>

	* XEmacs 21.5.0 "alfalfa" is released.

2001-03-31  Mike Sperber <mike@xemacs.org>

	* search.c (Freplace_match): [Again] support FSF-style
	specification of match subexpression when applied to a buffer.

2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>

	* extents.c (Fset_extent_endpoints): Force creation of extent info
	in buffer_or_string.

2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>

	* extents.c (process_extents_for_insertion_mapper): Correctly
	check for open-open zero-length extents.

2001-04-02  Jan Vroonhof  <jan@xemacs.org>

	* redisplay.c (add_bufbyte_string_runes): Update data->bytepos

2001-04-03  Mike Sperber <mike@xemacs.org>

	* search.c: Revert previous patch due because of release.

2001-03-30  Ben Wing  <ben@xemacs.org>

	* s\cygwin32.h:
	Add missing killpg prototype.

	* elhash.c:
	Add a comment about fixing problems when a new entry is added
	while mapping.

	* frame-msw.c (mswindows_init_frame_1):
	Fix compile warnings.

	* menubar.c (vars_of_menubar):
	Provide `menu-accelerator-support' to indicate that we Properly
	support %_ in menu specifications, so that package code can
	conditionalize on this (and remove %_ from menu specifications
	on older versions).

	* event-msw.c:
	* scrollbar-msw.c:
	* scrollbar-msw.c (can_scroll):
	* scrollbar-msw.h:
	Fix handling of mouse wheel under Windows to follow standards --
	now scrolls window under pointer, not selected window.

2001-03-31  Mike Sperber <mike@xemacs.org>

	* search.c (Freplace_match): Support FSF-style specification of
	match subexpression when applied to a buffer.

2001-03-15  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
	function to modify KEYMAP, so map over a copy of the hash table.

2001-03-21  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.46 "Urania" is released.

2001-03-20  Dan Holmsand  <dan@eyebee.com>

	* realpath.c (xrealpath): Make file-truename work with symlinks to
	/cygdrive paths on cygwin. Always lowercase drive-letters on
	native windows.
	(cygwin_readlink): Don't try to find canonical filename unless
	file exists.

2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>

	* ChangeLog: Log GTK merge.

	* dumper.c:
	* select-x.c:
	* specifier.c:
	* symeval.h:
	Revert gratuitous whitespace changes from GTK merge.

	* emacs.c: Document end of complex #ifdef @ l. 1495.


2001-03-12  Andy Piper  <andy@xemacs.org>

	* mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
	have to do likewise.

2001-03-12  Andy Piper  <andy@xemacs.org>

	* sysdep.c: we only support mingw now.

2001-03-09  Andy Piper  <andy@xemacs.org>

	* unexcw.c (copy_executable_and_dump_data_section): making approx
	overrun a warning only.

2001-03-10  William M. Perry  <wmperry@aventail.com>

	* faces.c (complex_vars_of_faces): Rewrote the font mucking to
	satisfy Stephen's identical-after-cpp plea.

2001-03-02  Ben Wing  <ben@xemacs.org>

	* cmds.c:
	* cmds.c (Fforward_char):
	* syntax.c:
	* window.c:

	Augment documentation of the most common motion commands to make
	note of the shifted-motion support.

2001-03-02  Ben Wing  <ben@xemacs.org>

	* nt.c (mswindows_fstat):
	* nt.c (mswindows_stat):
	* search.c (boyer_moore):
	Fix compile warnings under Windows.

	* sysdep.c (sys_readdir):
	Fix buggy filename-conversion code under Mule.

2001-03-09  William M. Perry  <wmperry@aventail.com>

	* Makefile.in.in:
	* config.h.in:
	* console.c:
	* console.h:
	* device.c:
	* device.h:
	* dragdrop.c:
	* emacs.c:
	* event-stream.c:
	* events.c:
	* events.h:
	* faces.c:
	* frame.h:
	* general-slots.h:
	* glyphs.c:
	* gutter.c:
	* inline.c:
	* lisp.h:
	* lrecord.h:
	* make-src-depend:
	* redisplay-output.c:
	* redisplay.c:
	* symsinit.h:
	* sysfile.h:
	* toolbar.c:
	* window.c:
	The Great GTK Merge.

	* ChangeLog.GTK:
	* console-gtk.c:
	* console-gtk.h:
	* device-gtk.c:
	* emacs-marshals.c:
	* emacs-widget-accessors.c:
	* event-gtk.c:
	* frame-gtk.c:
	* gccache-gtk.c:
	* gccache-gtk.h:
	* glade.c:
	* glyphs-gtk.c:
	* glyphs-gtk.h:
	* gtk-glue.c:
	* gtk-xemacs.c:
	* gtk-xemacs.h:
	* gui-gtk.c:
	* gui-gtk.h:
	* menubar-gtk.c:
	* native-gtk-toolbar.c:
	* objects-gtk.c:
	* objects-gtk.h:
	* redisplay-gtk.c:
	* scrollbar-gtk.c:
	* scrollbar-gtk.h:
	* select-gtk.c:
	* toolbar-gtk.c:
	* ui-byhand.c:
	* ui-gtk.c:
	* ui-gtk.h:
	The Great GTK Merge: new files.

2001-02-26  Ben Wing  <ben@xemacs.org>

	Reapplied Lstream change.

2001-02-26  Ben Wing  <ben@xemacs.org>

	Undid the last change, since it is more controversial than I
	thought.  It should be back in at some point soon.

2001-02-25  Ben Wing  <ben@xemacs.org>

	* buffer.c:
	* callproc.c (Fold_call_process_internal):
	* event-msw.c (ntpipe_slurp_reader):
	* event-msw.c (ntpipe_shove_writer):
	* event-msw.c (winsock_reader):
	* event-msw.c (winsock_writer):
	* file-coding.c:
	* file-coding.c (detect_eol_type):
	* file-coding.c (detect_coding_type):
	* file-coding.c (determine_real_coding_system):
	* file-coding.c (Fdetect_coding_region):
	* file-coding.c (decoding_reader):
	* file-coding.c (decoding_writer):
	* file-coding.c (mule_decode):
	* file-coding.c (Fdecode_coding_region):
	* file-coding.c (encoding_reader):
	* file-coding.c (encoding_writer):
	* file-coding.c (mule_encode):
	* file-coding.c (Fencode_coding_region):
	* file-coding.c (detect_coding_sjis):
	* file-coding.c (decode_coding_sjis):
	* file-coding.c (encode_coding_sjis):
	* file-coding.c (detect_coding_big5):
	* file-coding.c (decode_coding_big5):
	* file-coding.c (encode_coding_big5):
	* file-coding.c (detect_coding_ucs4):
	* file-coding.c (decode_coding_ucs4):
	* file-coding.c (encode_coding_ucs4):
	* file-coding.c (detect_coding_utf8):
	* file-coding.c (decode_coding_utf8):
	* file-coding.c (encode_coding_utf8):
	* file-coding.c (detect_coding_iso2022):
	* file-coding.c (decode_coding_iso2022):
	* file-coding.c (encode_coding_iso2022):
	* file-coding.c (decode_coding_no_conversion):
	* file-coding.c (encode_coding_no_conversion):
	* glyphs-x.c (write_lisp_string_to_temp_file):
	* gpmevent.c (tty_get_foreign_selection):
	* lisp.h:
	* lstream.c:
	* lstream.c (Lstream_flush_out):
	* lstream.c (Lstream_adding):
	* lstream.c (Lstream_write_1):
	* lstream.c (Lstream_write):
	* lstream.c (Lstream_raw_read):
	* lstream.c (Lstream_read_more):
	* lstream.c (Lstream_read):
	* lstream.c (Lstream_unread):
	* lstream.c (Lstream_fputc):
	* lstream.c (stdio_reader):
	* lstream.c (stdio_writer):
	* lstream.c (filedesc_reader):
	* lstream.c (filedesc_writer):
	* lstream.c (lisp_string_reader):
	* lstream.c (struct fixed_buffer_stream):
	* lstream.c (make_fixed_buffer_input_stream):
	* lstream.c (make_fixed_buffer_output_stream):
	* lstream.c (fixed_buffer_reader):
	* lstream.c (fixed_buffer_writer):
	* lstream.c (struct resizing_buffer_stream):
	* lstream.c (resizing_buffer_writer):
	* lstream.c (dynarr_writer):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* lstream.h (lstream_implementation):
	* lstream.h (struct lstream):
	* md5.c (Fmd5):
	* process-nt.c (nt_send_process):
	* process-unix.c (unix_send_process):

	Correct Lstream lossage due to mixing of signed and unsigned
	quantities.  All Lstream uses of size_t and ssize_t are now a
	single signed data type Lstream_data_count.  This fixes problems
	under Windows with sending large quantities of data to a process,
	and may well fix other subtle bugs.

2001-02-23  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.45 "Thelxepeia" is released.

2001-02-21  Martin Buchholz  <martin@xemacs.org>

	* lisp-union.h (XSETINT):
	(XSETCHAR):
	(XSETOBJ):
	Reverse previous change of 2001-02-06.

2001-02-20  Matt Tucker  <tuck@whistlingfish.net>

	Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
	buffers.
	* syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
	* syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
	Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
	* regex.c (POS_AS_IN_BUFFER): removed
	* regex.c (re_search_2):
	* regex.c (re_match_2):
	Don't use an offset of 1 when calculating buffer positions, since
	`BI_BUF_BEGV' does it already.

2001-02-18  Wim Dumon  <wim@easics.be>

	* insdel.c (prepare_to_modify_buffer): Also check for
	supersession when clash-detection is enabled.

2001-02-17  Matt Tucker  <tuck@whistlingfish.net>

	* regex.c (re_match_2_internal):
	Convert temp characters from 'const unsigned char' to 're_char'.
	Fix crashing bug with extended characters under mule.
	* syntax.c (Qsyntax_table): Moved from vars_of_syntax to
	syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
	font-lock, pdump, and new syntax-table code.
	* syntax.c (find_start_of_comment):
	(find_end_of_comment):
	(forward-comment):
	Fix crashing bugs involving moving beyond end of buffer.
	* syntax.c (find_start_of_comment):
	Fixed logic to allow proper detection of cases where the same
	character is used to end both a two-char comment start and a
	two-char comment end sequence. Fixes `(forward-comment -1)'.
	* syntax.c (find_start_of_comment):
	Return position just past last comment-end character for all cases
	(previously was only done for two-char comment-end sequences).
	* syntax.c (forward-comment):
	Take value returned from `find_end_of_comment', rather than
	incrementing it.
	* syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
	Properly deal with BUFFERP (syntax_cache.object)

2001-02-17  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (Fgarbage_collect):
	* alloc.c (make_bit_vector_from_byte_vector):
	-Wsign-compare-correctness.

2001-02-16  Martin Buchholz  <martin@xemacs.org>

	* lisp-union.h (XSETINT): Eliminate unnecessary temp var.
	(XSETCHAR): Likewise.
	(XSETOBJ): Likewise.

2001-02-15  Martin Buchholz  <martin@xemacs.org>

	* mule-canna.c (canna-func-delete_previous):
	Rename to canna-func-delete-previous.

2001-02-14  Martin Buchholz  <martin@xemacs.org>

	* mule-ccl.c (ccl_driver): Warning suppression.  Use countof.

2001-02-13  Matt Tucker  <tuck@whistlingfish.net>

	* font-lock.c (find_context): Fix C++ compile errors introduced by
	recent patch

2001-02-13  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: Later versions of IBM C compiler need a bug workaround
	pragma, but earlier ones barf on the same pragma.

2001-02-06  Mike Sperber <mike@xemacs.org>

	* emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
	`configure-mule-lisp-directory'.

2001-02-12  Martin Buchholz  <martin@xemacs.org>

	Make sure dump-id.c is compiled in the same way as other .c's.
	Fixes pdump compilation failure with HP's cc, which defaults to K&R.
	* dump-id.h: Remove.
	* emacs.c: Move dump-id.h into dumper.h.
	* dumper.h: Move dump-id.h into dumper.h.
	* Makefile.in.in:
	Use standard .c.o rule for building dump-id.o.
	Remove preprocessor flags from link command.
	Add dump-id.o to ${otherobjs} if PDUMP.

2001-02-07  Matt Tucker  <tuck@whistlingfish.net>

	Port FSF 20.7 syntax table improvements.
	* syntax.c.
	* syntax.h.

	Fixups for new syntax table stuff.
	* dired.c: Include syntax.c.
	(Fdirectory_files): Initialize regex_match_object and
	regex_emacs_buffer.
	* extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
	and Fget_char_property.

	Use ported FSF 20.7 syntax table improvements.
	* font-lock.c.
	* regex.c.
	* search.c.

2001-02-09  Martin Buchholz  <martin@xemacs.org>

	* regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
	Unixware's enum boolean from sys/types.h.

2001-02-10  Martin Buchholz  <martin@xemacs.org>

	Fix support for building with latest Purify.
	* Makefile.in.in (PURIFY_LIBS): Remove thread flags.
	(PURIFY_FLAGS): Likewise.

2001-02-09  Martin Buchholz  <martin@xemacs.org>

	* fileio.c (lisp_string_set_file_times): New.
	* fileio.c (Fcopy_file): Use it.
	Fixes bug:
	(copy-file filename non-ascii-filename t t)
	==> No such file or directory, non-ascii-filename

2001-02-10  Martin Buchholz  <martin@xemacs.org>

	* glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
	USHRT_MAX seems clearer than ~0 anyways.

2001-02-09  Martin Buchholz  <martin@xemacs.org>

	dumper improvements.  Inspired by Olivier.
	* dumper.c (pdump_max_align): New.
	* dumper.c (pdump_add_entry): Use pdump_max_align.
	* dumper.c (pdump_get_entry_list): Likewise.
	* dumper.c (pdump_scan_by_alignment): Likewise.
	Don't iterate through unnecessary alignments.
	* dumper.c (pdump_file_get): No need to align result of malloc().
	* dumper.c (pdump_mallocadr): Remove.
	The result of malloc() is guaranteed to be maximally aligned.
	* dumper.c: s/elmt/elt/g;
	* dumper.c (pdump_object_table): Allocate dynamically, not statically.
	* dumper.c (pdump_alert_undump_object): Likewise.
	* dumper.c (pdump_align_table):
	Don't support alignments > 64.
	Store ALIGNOF's, not shift counts, in table.

2001-02-09  Martin Buchholz  <martin@xemacs.org>

	* s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
	* s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
	* systime.h: Use HAVE_UTIME.
	* sysdep.c (struct utimbuf): Remove.
	* sysdep.c (set_file_times): Prefer utime() to utimes().
	* config.h.in (HAVE_UTIME): New.
	* config.h.in (HAVE_UTIME_H): Remove.
	* config.h.in (HAVE_STRUCT_UTIMBUF): Remove.

2001-02-09  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.

2001-02-08  Martin Buchholz  <martin@xemacs.org>

	* s/irix6-0.h: Use the standard system memmove, not bcopy.

2001-02-08  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.44 "Thalia" is released.

2001-02-06  Martin Buchholz  <martin@xemacs.org>

	Fixes crashes in kill-emacs on some systems.
	* process-unix.c (unix_kill_child_process):
	It's OK for kill() to fail with ESRCH.

2001-02-07  Martin Buchholz  <martin@xemacs.org>

	Contortions to make .gdbinit tricks work on most systems.
	* alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
	* alloc.c (dbg_valmask): Make non-const.
	* alloc.c (dbg_typemask): Make non-const.
	* alloc.c (dbg_USE_UNION_TYPE): Make non-const.
	* alloc.c (dbg_valbits): Make non-const.
	* alloc.c (dbg_gctypebits): Make non-const.
	* .gdbinit (decode_object): Make it work with AIX cc.

2001-02-06  Martin Buchholz  <martin@xemacs.org>

	* elhash.c (make_general_lisp_hash_table):
	Use simpler and more efficient calloc to clear entries.

2001-02-07  Martin Buchholz  <martin@xemacs.org>

	* window.c (window_scroll): Work around an AIX C compiler bug.
	Fixes 'scroll-up' does nothing problem with xlC.

2001-02-05  Martin Buchholz  <martin@xemacs.org>

	* .gdbinit: Remove obsolete comment.

2001-01-31  Mike Alexander  <mta@arbortext.com>

	* select.c (Fown_selection_internal): Set owned_p for device
	method correctly.

2001-02-01  Martin Buchholz  <martin@xemacs.org>

	Port to g++ 2.97.
	"not" cannot be used as a macro name as it is an operator in C++
	* config.h.in: Stop #defining `not'.
	* chartab.c (check_category_char): not ==> not_p
	* chartab.h: Likewise.
	* regex.c (re_match_2_internal): Likewise.

2001-02-02  Martin Buchholz  <martin@xemacs.org>

	* lisp-disunion.h: Fix up comments.

2001-01-31  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (define_key_check_and_coerce_keysym):
	(syms_of_keymap):
	Support mouse-6 and mouse-7 bindings in the obvious way.

2001-02-01  Martin Buchholz  <martin@xemacs.org>

	* m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.

2001-01-30  Martin Buchholz  <martin@xemacs.org>

	Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
	Previous patch missed DEFVAR_INT_MAGIC.
	Make sure future DEFVAR_foo use correct types.
	* symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
	* (DEFVAR_SYMVAL_FWD_INT): Add type checking.
	* (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
	* (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
	* (DEFVAR_INT): Likewise.
	* redisplay.c (vertical_clip): Should be of type Fixnum.
	* redisplay.c (horizontal_clip): Likewise.
	* lisp.h (dump_add_opaque_int): New.
	(dump_add_opaque_fixnum): New.

2001-01-29  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (check_valid_int_or_function): allow symbols
	since they can be eval'ed

2001-01-29  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
	Oops, XEmacs redefines `class'.  Use `typename' instead.

2001-01-28  Martin Buchholz  <martin@xemacs.org>

	* dumper.c: Fix C++ compile errors.

2001-01-29  Martin Buchholz  <martin@xemacs.org>

	* tparam.c: Use correct prototypes.

2001-01-28  Martin Buchholz  <martin@xemacs.org>

	* sysproc.h: #include util.h for NetBSD's openpty.

2001-01-27  Martin Buchholz  <martin@xemacs.org>

	More 64-bit correctness.
	The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
	Use a typedef `fixnum' for the type used for DEFVAR_INT.
	Fix up comments.
	This finally finishes the 64-bit SGI port.
	Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
	* symbols.c: Fix up comments and type casts.
	* symbols.c (do_symval_forwarding): s/int/Fixnum/g
	* symbols.c (store_symval_forwarding): s/int/Fixnum/g
	* symeval.h (Fixnum): New type.
	* symeval.h (symbol_value_type): Fix up comment.

	* commands.h:
	* nt.c:
	* emacs.c:
	* data.c:
	* redisplay.c:
	* abbrev.c:
	* dired-msw.c:
	* event-Xt.c:
	* eldap.c:
	* window.c:
	* sound.c:
	* event-stream.c:
	* eval.c:
	* buffer.c:
	* mule-canna.c: A million DEFVAR_INTs here...
	* mule-canna.c (count_char): s/int */Fixnum */g in arglist.
	* extents.c:
	* cmdloop.c:
	* lisp.h:
	* select-x.c:
	* console-x.h:
	* event-msw.c:
	* mule-wnnfns.c:
	* hpplay.c:
	* ralloc.c:
	* alloc.c:
	* keymap.c:
	* profile.c:
	s/int/Fixnum/g in DEFVAR_INT declarations.

2001-01-26  Martin Buchholz  <martin@xemacs.org>

	Port pdump to SGI alignment-sensitive environment.
	Lisp Object sizeof methods now return aligned sizes.  Rely on that.
	Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
	properly aligned.
	Define and use aligned reading and writing macros.
	Use buffered stdio instead of posix i/o for faster dumping.
	Eliminate kludgy 256 byte space for header.
	Read and write from dump file using structs for alignment safety.
	* dumper.c (pdump_align_stream): New.
	* dumper.c (PDUMP_ALIGN_OUTPUT): New.
	* dumper.c (PDUMP_READ_ALIGNED): New.
	* dumper.c (PDUMP_WRITE_ALIGNED): New.
	* dumper.c (pdump_static_Lisp_Object): New struct.
	* dumper.c (pdump_static_pointer): New struct.
	* dumper.c (pdump_entry_list_element): Remove is_lrecord member.
	* dumper.c (pdump_add_entry): Remove is_lrecord parameter.
	* dumper.c (pdump_dump_data): Rely on sizeof method alignment.
	* dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.

	* dumper.c (pdump_backtrace):
	* dumper.c (pdump_get_indirect_count):
	* dumper.c (pdump_register_object):
	* dumper.c (pdump_register_struct):
	* dumper.c (pdump_reloc_one):
	* dumper.c (pdump_scan_by_alignment):
	* dumper.c (pdump_dump_from_root_struct_ptrs):
	* dumper.c (pdump_dump_opaques):
	* dumper.c (pdump_dump_rtables):
	* dumper.c (pdump_dump_from_root_objects):
	* dumper.c (pdump):
	* dumper.c (pdump_load_finish):
	Use aligned reading and writing.

	* dumper.c (pdump_free): Make static.
	* dumper.c (pdump_hFile): Likewise.
	* dumper.c (pdump_hMap): Likewise.

2001-01-26  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.43 "Terspichore" is released.

2001-01-25  Martin Buchholz  <martin@xemacs.org>

	Type fiddling for window_config.saved_windows_count
	* window.c (struct window_config):
	Make saved_windows_count member unsigned.
	* window.c (sizeof_window_config_for_n_windows):
	Make parameter unsigned.
	* window.c (mark_window_config):
	* window.c (window_config_equal):
	* window.c (free_window_configuration):
	* window.c (Fset_window_configuration):
	* window.c (count_windows):
	* window.c (Fcurrent_window_configuration):
	* window.c (reinit_vars_of_window):
	Update all callers and users.

2001-01-25  Martin Buchholz  <martin@xemacs.org>

	Alignment correctness for flexible arrays.
	* lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
	Make alignment-correct. Add interesting comments.
	* alloc.c (size_vector):
	* alloc.c (make_vector_internal):
	* alloc.c (make_bit_vector_internal):
	* alloc.c (sweep_bit_vectors_1):
	* fns.c (size_bit_vector):
	Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
	* window.c (sizeof_window_config_for_n_windows):
	Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.

2001-01-24  Martin Buchholz  <martin@xemacs.org>

	* lread.c (read1): Rename `fexp', which is #defined in SGI's math.h

2001-01-23  Andy Piper  <andy@xemacs.org>

	* select.c (Fown_selection_internal): pass owned_p

	* select-msw.c (mswindows_own_selection): New Signature.

	* console.h (struct console_methods): add owned_p to
	_own_selection.

	* select-x.c (x_own_selection): pass owned_p
	(hack_motif_clipboard_selection): use owned_p
	(vars_of_select_x): new variable -
	x_selection_strict_motif_ownership.

2001-01-23  Martin Buchholz  <martin@xemacs.org>

	* specifier.h (specifier_data_offset): Remove pointless parens.
	* glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.

2001-01-24  Martin Buchholz  <martin@xemacs.org>

	Make Lisp_Object sizeof methods be alignment-correct.
	pdump must restore objects to the same alignment as the C compiler
	assumes.  It really matters on SGIs.
	* lstream.c (aligned_sizeof_lstream): New.
	(sizeof_lstream): Use aligned_sizeof_lstream.
	(Lstream_new): Likewise.
	* opaque.c (aligned_sizeof_opaque): New.
	(sizeof_opaque): Use aligned_sizeof_opaque.
	(make_opaque): Likewise.
	* specifier.c (aligned_sizeof_specifier): New.
	(sizeof_specifier): Use aligned_sizeof_specifier.
	(make_specifier_internal): Likewise.

2001-01-23  Martin Buchholz  <martin@xemacs.org>

	* lstream.h (struct lstream): Use max_align_t for trailing data.
	* specifier.h (struct Lisp_Specifier): Likewise.

2001-01-22  Martin Buchholz  <martin@xemacs.org>

	* mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
	(CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
	(CCL_SUSPEND): Likewise.
	(CCL_INVALID_CMD): Likewise.
	(CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
	(ccl_driver): Likewise.
	(CCL_WRITE_CHAR): Macro hygiene.
	(CCL_WRITE_STRING): Macro hygiene.

2001-01-22  Martin Buchholz  <martin@xemacs.org>

	Port "portable" dumper to SunOS 4 and HP-UX.
	* s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
	* emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
	* dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.

2001-01-22  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (ALIGNOF): A better definition for C++.

2001-01-20  Martin Buchholz  <martin@xemacs.org>

	Macro hygiene.
	Fix printf warnings: int format, long int arg.
	* regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
	(PUSH_FAILURE_POINT): Use correct printf formats.
	(POP_FAILURE_POINT): Use correct printf formats.
	Use do {...} while (0)

2001-01-20  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.42 "Poseidon" is released.

2001-01-20  Martin Buchholz  <martin@xemacs.org>

	* console-x.h: typo fix du jour.  Remove #if 0'ed code.

2001-01-19  Martin Buchholz  <martin@xemacs.org>

	De-kludgify FIXED_TYPE free list frobbing.
	Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
	* alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
	* alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
	* alloc.c (Lisp_Free): New pseudo lisp object definition.
	* alloc.c (LRECORD_FREE_P): New.
	* alloc.c (MARK_LRECORD_AS_FREE): New.
	* alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
	* alloc.c (STRUCT_FREE_P): Deleted.
	* alloc.c (MARK_STRUCT_AS_FREE): Deleted.
	* alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
	* alloc.c (STRING_CHARS_FREE_P): New.
	* alloc.c (MARK_STRING_CHARS_AS_FREE): New.
	* alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
	* alloc.c (FREE_FIXED_TYPE): Use new definitions.
	* alloc.c (STRING_CHARS_FREE_P): Use new definitions.
	* alloc.c (resize_string): Use new definitions.
	* alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
	* alloc.c (verify_string_chars_integrity): Use new definitions.
	* alloc.c (compact_string_chars): Use new definitions.
	* alloc.c: Update monster comments.
	* lrecord.h (lrecord_type): Add some new lrecord types for
	alloc.c's use.

2001-01-18  Martin Buchholz  <martin@xemacs.org>

	Improve alignment hackery.
	* lisp.h (ALIGNOF): Better definition for the non-gcc case.
	(max_align_t): Moved from opaque.h - general purpose.
	(ALIGN_PTR): Use size_t, not long.
	* opaque.h (max_align_t): Move to lisp.h.

2001-01-18  Norbert Koch  <nk@LF.net>

	* gui.h: Fix and add prototypes to fix build problems.

2001-01-18  Martin Buchholz  <martin@xemacs.org>

	temacs is going away, so `dump-temacs' is now a bad name.
	* .dbxrc (dump-temacs): Rename to `dmp'.
	* .gdbinit (dump-temacs): Rename to `dmp'.

2001-01-17  Andy Piper  <andy@xemacs.org>

	* glyphs.c (print_image_instance): comment to make martin happy.

	* glyphs-x.c (x_redisplay_widget): update faces after a frame
	change.

	* glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
	activation.
	(mswindows_tab_control_redisplay): warning suppression.

	* glyphs-widget.c (widget_update): re-write to cope with updated
	items.
	(widget_instantiate): use new gui_item functions.
	(tab_control_update): deleted.
	(progress_gauge_update): deleted.
	(image_instantiator_progress_guage): take out update reference.
	(image_instantiator_tree_view): ditto.
	(image_instantiator_tab_control): ditto.

	* gui.c (widget_gui_parse_item_keywords): new function. Do things
	Right the new way.
	(gui_item_add_keyval_pair): re-write to cope with descriptors and
	return whether anything was changed.
	(update_gui_item_keywords): as it sounds.

	* gui.h: declare widget_gui_parse_item_keywords.

	* fns.c (safe_copy_tree): new function taken from Fcopy_tree.
	(Fcopy_tree): use it. Stops infloop death in bogus instantiators.

2001-01-17  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.41 "Polyhymnia" is released.

2001-01-16  Didier Verna  <didier@xemacs.org>

	* glyphs.c (image_instantiate): don't use fallbacks when
	instantiating a face's background pixmap by inheritance.

2001-01-14  Mike Sperber <mike@xemacs.org>

	* sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
	Conditionalize accordingly.

2001-01-16  Martin Buchholz  <martin@xemacs.org>

	* dumper.c (pdump_file_get): Fix a compiler warning.

2001-01-15  Martin Buchholz  <martin@xemacs.org>

	Make Purify happy when pdumping.
	* symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
	iniitalizing all bits of new lisp object memory.
	* symbols.c (Fmake_local_variable): Likewise.
	* symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
	* symbols.c (Fdefvaralias): Likewise.
	* mule-charset.c (vars_of_mule_charset): Likewise.

2001-01-15  Martin Buchholz  <martin@xemacs.org>
	Add the `-nd' flag when running pre-dump operations under the debugger.
	* .dbxrc (run-temacs): Add `-nd'.
	* .dbxrc (update-elc): Likewise.
	* .dbxrc (dump-temacs): Likewise.
	* .gdbinit (run-temacs): Likewise.
	* .gdbinit (check-temacs): Likewise.
	* .gdbinit (update-elc): Likewise.
	* .gdbinit (dump-temacs): Likewise.

2001-01-14  Martin Buchholz  <martin@xemacs.org>

	Allow building 64-bit executables on AIX with GNU malloc, e.g.
	export OBJECT_MODE=64
	configure --pdump --use-union-type=no
	* m/ibmrs6000.h (DATA_START): Define for 64-bit world.
	* gmalloc.c (__default_morecore): Remove pre-ANSI cruft.

	* miscplay.c (sndcnv8U_2mono):
	Avoid two uses of `++' in the same expression.
	Suppresses a GCC warning.

2001-01-13  Martin Buchholz  <martin@xemacs.org>

	Make sure future compilers don't miscompile alloc.c.
	* alloc.c:
	(MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
	(MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.

2001-01-12  Martin Buchholz  <martin@xemacs.org>

	* dumper.c: A little post-pdump-rename comment fixup.

2001-01-09  Jerry James  <james@eecs.ku.edu>

	* lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.

2001-01-13  Martin Buchholz  <martin@xemacs.org>

	* *.[ch]: Globally rename symbols using the following `pdump-rename'
	script:
	#!/bin/sh
	replace_symbol () {
	  (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
	}

	replace_symbol pdump_wire_lists pdump_weak_object_chains
	replace_symbol pdump_wire_list dump_add_weak_object_chain

	replace_symbol pdump_wires pdump_root_objects
	replace_symbol pdump_wire dump_add_root_object

	replace_symbol pdump_dump_wired pdump_dump_from_root_objects
	replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs

	replace_symbol dumpstructinfos pdump_root_struct_ptrs
	replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
	replace_symbol dumpstructinfo pdump_root_struct_ptr
	replace_symbol dumpstruct dump_add_root_struct_ptr

	replace_symbol dumpopaque dump_add_opaque
	replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
	replace_symbol dumpopaqueinfos pdump_opaques
	replace_symbol dumpopaqueinfo pdump_opaque

	replace_symbol nb_structdump nb_root_struct_ptrs
	replace_symbol nb_opaquedump nb_opaques

	replace_symbol align_table pdump_align_table
	replace_symbol dump_header pdump_header

	replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
	replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE


2001-01-12  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: Keep the C for AIX compiler from overaggressively
	optimizing bytecount_to_charcount().

2001-01-06  Golubev I. N.  <gin@mo.msk.ru>

	* config.h.in:
	(HAVE_DLFCN_H): Removed.
	* sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.

2001-01-06  Martin Buchholz  <martin@xemacs.org>

	Portable dumper maintainability improvements.
	* alloc.c (staticpro):
	* alloc.c (staticpro_nodump):
	* alloc.c (garbage_collect_1):
	* alloc.c (reinit_alloc_once_early):
	* alloc.c (init_alloc_once_early):
	* alloc.c: Move dumper functions to alloc.c.
	* dumper.c (pdump_backtrace):
	* dumper.c (pdump_dump_structs):
	* dumper.c (pdump_dump_opaques):
	* dumper.c (pdump_dump_rtables):
	* dumper.c (pdump_dump_wired):
	* dumper.c (pdump):
	* dumper.c (pdump_load_check):
	* dumper.c (pdump_load_finish):
	* dumper.c (pdump_file_unmap):
	* dumper.c (pdump_file_get):
	* dumper.c (pdump_resource_free):
	* dumper.c (pdump_resource_get):
	* dumper.c (pdump_file_free):
	* dumper.c (pdump_file_try):
	* dumper.c (pdump_load):
	Remove fixed size limits on staticpro(), staticpro_nodump(),
	dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
	Remove custom code for dumping lrecord_implementations_table - use
	dumpopaque instead.
	Remove (most of the) custom code for dumping staticpros - dump it
	like any other dynarr.

	* alloc.h: Removed.  No longer useful, since dumper now more self-contained.
	* dumper.c: Moved functions from alloc.c.
	* alloc.c (dumpstruct): Moved to dumper.c.
	* alloc.c (dumpopaque): Likewise.
	* alloc.c (pdump_wire): Likewise.
	* alloc.c (pdump_wire_list): Likewise.

	* lisp.h (Dynarr_sizeof): New.
	* lisp.h (Dynarr_begin): New.  Very slightly C++oid.
	* lisp.h (Dynarr_end): New.  Very slightly C++oid.
	* lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.

	* lisp.h (dumpstruct): Define to nothing if not PDUMPing.
	* lisp.h (dumpopaque): ditto.
	* lisp.h (pdump_wire): ditto.
	* lisp.h (pdump_wire_list): ditto.

2001-01-09  Martin Buchholz  <martin@xemacs.org>

	* make-src-depend (PrintPatternDeps):
	Use `sort' to make output independent of perl version.

2001-01-08  Martin Buchholz  <martin@xemacs.org>

	Port to Netbsd 1.5.
	* unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
	* s/netbsd.c: Use unexelf.o if __ELF__ is defined.

2001-01-03  Didier Verna  <didier@xemacs.org>

	* event-stream.c (emacs_handle_focus_change_preliminary): ensure
	that `focus_frame' is alive before thinking of calling
	`redisplay_redraw_cursor' on it.

2001-01-08  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.40 is released.

2001-01-06  Golubev I. N.  <gin@mo.msk.ru>

	* regex.c: Replace PREFETCH with REGEX_PREFETCH.

2001-01-06  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (dbg_valmask): Make const.
	* alloc.c (dbg_typemask): Make const.
	* alloc.c (dbg_USE_UNION_TYPE): Make const.
	* alloc.c (dbg_valbits): Make const.
	* alloc.c (dbg_gctypebits): Make const.

2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>

	* redisplay-x.c (x_bevel_area):
	redisplay.h (struct rune):
	Typo fixes in comments.

2001-01-05  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_redisplay_widget): use size changed for offset
	adjustment.

	* menubar.c (menubar_visible_p_changed): don't mark frame changed.

2001-01-05  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (pure-bytes-used): Remove unused mendacious variable.

	* mule-ccl.c (stack_idx_of_map_multiple):
	Non const global data must not be initialized!
	Found by MIYASHITA Hisashi.

2001-01-02  Andy Piper  <andy@xemacs.org>

	* frame.c (change_frame_size): make sure frame size is always
	marked as changed.

	* glyphs.c (image_instance_layout): minor code reuse.

	* window.c (Fcurrent_window_configuration): revert previous
	change.

2001-01-02  Martin Buchholz  <martin@xemacs.org>

	* glyphs.h:
	* glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.

2000-12-31  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
	when widget gets unmapped.

	* event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
	function. Make sure widgets losing focus don't just drop it.
	(handle_focus_event_1): record the widget with focus.

2000-12-31  Andy Piper  <andy@xemacs.org>

	* window.c (allocate_window): use
	make_image_instance_cache_hash_table.
	(make_dummy_parent): ditto.
	(Fset_window_configuration): ditto.

	* glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.

	* glyphs.c (process_image_string_instantiator): use
	INSTANTIATOR_TYPE.
	(get_image_instantiator_governing_domain): ditto.
	(normalize_image_instantiator): ditto.
	(instantiate_image_instantiator): ditto.
	(make_image_instance_1): ditto.
	(image_instantiate): ditto. Key on glyph *and* instantiator type.
	(instantiator_eq_equal): new function for use with instance hash
	tables.
	(instantiator_eq_hash): ditto.
	(make_image_instance_cache_hash_table): create a suitable hash
	table for storing image instances.

	* elhash.h (hash_table_weakness): new internal weakness type
	HASH_TABLE_KEY_CAR_VALUE_WEAK.
	declare new functions.

	* elhash.c (finish_marking_weak_hash_tables): introduce yet
	another weakness type for glyphs.
	(make_standard_lisp_hash_table): new function split out from
	make_general_lisp_hash_table.
	(make_lisp_hash_table): call make_standard_lisp_hash_table.
	(hash_table_instantiate): ditto.
	(Fmake_hash_table): ditto.

2000-12-31  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.39 is released.

2000-12-29  Andy Piper  <andy@xemacs.org>

	* menubar.c (menubar_visible_p_changed): signal the frame changed.

	* glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
	the frame has changed so that we pick up geometry changes such as
	menubar visibility.

2000-12-28  Andy Piper  <andy@xemacs.org>

	* lastfile.c (my_ebss): make a char array so we can pad the
	bss. Fixes cygwin unexec.

	* unexcw.c: invert BROKEN_GDB to NO_DEBUG.

2000-12-26  Andy Piper  <andy@xemacs.org>

	* event-Xt.c (emacs_Xt_force_event_pending): add some verbose
	comments and try and be more precise about a non-/SIGIO world.
	(emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
	SIGIO.

	* redisplay-output.c (redisplay_normalize_glyph_area): make sure
	we don't normalize to zero width or height.

2000-12-24  Andy Piper  <andy@xemacs.org>

	* Makefile.in.in (ldflags): add -mwindows when appropriate.

2000-08-18  Golubev I. N.  <gin@mo.msk.ru>

	* s/sco5.h: SCO 5 has pty support.

2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>

	* input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
	input-method-xlib.c contains whole contents of input-method-xfs.c,
	so we can use input-method-xlib.c's code for USE_XFONTSET
	using #ifdefs.
	* input-method-xfs.c: removed.

2000-12-20  Stephen Turnbull  <stephen@xemacs.org>

	* file-coding.h (enum coding_category_type): reorder enumerators to
	make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
	(now one greater than largest real coding_category_type enumerator).
	* file-coding.c (coding_category_symbol, coding_category_by_priority,
	coding_category_system, fcd_descriptihon_1, decode_coding_category,
	Fcoding_category_list, Fset_coding_priority_list,
	Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
	vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.

2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* redisplay-output.c (redisplay_clear_top_of_window): Remove static.
	* redisplay-output.c (redisplay_output_window): Clear top of window
	when face is changed.
	* redisplay-x.c (x_redraw_exposed_window): Call
	redisplay_clear_top_of_window.
	* redisplay.h: Publish redisplay_clear_top_of_window.

2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c (Fkill_buffer): Map over all devices.
	* window.c (window_loop): Remove UNSHOW_BUFFER code.
	(list_windows): New function.
	(list_all_windows): Ditto.
	(Freplace_buffer_in_windows): Use them.

2000-02-02   Daiki Ueno	<ueno@ueda.info.waseda.ac.jp>

	* database.c (berkdb_subtype): Recognize new subtype `queue'.
	(Fopen_database): Use `db_create' instead of `db_open'.
	(syms_of_database): Initialize Qqueue.

2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c (common_init_complex_vars_of_buffer): Initialize
	buffer_local_face_property.
	* buffer.h (struct buffer): New member buffer_local_face_property.
	* window.c (Fset_window_buffer):  Mark window's face as changed
	when buffer has buffer local face.
	* window.h (MARK_WINDOW_FACES_CHANGED): New macro.
	* objects.c (color_after_change): Set buffer_local_face_property
	when locale of face specifier is buffer.
	* objects.c (font_after_change): Ditto.
	* objects.c (face_boolean_after_change): Ditto.
	* glyphs.c (image_after_change): Ditto.

2000-12-09  Dan Holmsand  <dan@eyebee.com>

	* nt.c (mswindows_fstat): Report file permissions, volume serial
	number, etc. Code adapted from FSF Emacs 20.7.

2000-12-09  Dan Holmsand  <dan@eyebee.com>

	* sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
	of stat when we don't have symbolic links, to make sure
	mswindows_stat is called on mswindows.

2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* alloca.c: Define malloc to xmalloc only when built with XEmacs.

2000-12-12  Martin Buchholz  <martin@xemacs.org>

	* doprnt.c (emacs_doprnt_1): More printing fixes.
	Make printing of numbers compatible with libc and FSF Emacs.
	BUG was: (format "%6.3f" 1.2) ==>"1.200000"
	Use the system printf to do most of the hard work of formatting,
	instead of doprnt_1().
	Calculate memory to allocate for format string.
	Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
	(doprnt_1): Cleaner code and documentation.

2000-12-01  Jerry James  <james@eecs.ukans.edu>

	* Makefile.in.in: Use the loop variable to install headers.

2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* window.c (Fsplit_window): Don't invalidate face cache.

2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* minibuf.c (Fall_completions): Undo the previous change
	which removed checking elements start with space.

2000-12-06  Stephen Turnbull  <stephen@xemacs.org>

	* mule-canna.c: Didier suppression.

2000-12-06  Stephen Turnbull  <stephen@xemacs.org>

	* mule-canna.c: rename static unsigned char buf[] to key_buffer
	(warning suppression).  Add English comment translations.

2000-12-05  Martin Buchholz  <martin@xemacs.org>

	* unexelfsgi.c (unexec): Better test for mmap failure.

2000-12-05  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.38 is released.

2000-12-05  Martin Buchholz  <martin@xemacs.org>

	* redisplay.c (bar-cursor): Make a user variable.

	* symsinit.h: Add init_postgresql_from_environment.

2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* regex.c: Convert to clean C.

2000-12-05  Dan Holmsand  <dan@eyebee.com>

	* realpath.c:
	Don't #include sysfile.h. Revert to duplicating PATH_MAX
	initialization.
	(sys_readlink): renamed to system_readlink to avoid conflict with
	the other sys_readlink.

2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>

	* dumper.c (pdump_file_get): Correct uses of pdump_fd.

2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* postgresql.c (init_postgresql_from_environment): new function.
	(vars_of_postgresql): Move code initializing Lisp variables out and
	into init_postgresql_from_environment.
	emacs.c (main_1): Call init_postgresql_from_environment if and only
	if running a dumped XEmacs.

2000-08-31  Dan Holmsand  <dan@eyebee.com>

	* buffer.c: Make find-file-compare-truenames default to true on
	windows.

	* realpath.c (win32_abs_start):
	(cygwin_readlink):
	(win32_readlink): New functions.
	(xrealpath): Return really real filenames on windows.

	* fileio.c (Ffile_truename): Make file-truename work on windows.

2000-11-29  Didier Verna  <didier@xemacs.org>

	* faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
	* faces.c (update_face_cachel_data): use it.
	* faces.c (add_face_cachel): use it. Complete background pixmap
	frobbing in face cache if `update_face_cachel_data' has not done so.

2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* search.c (string_match_1): Don't set last_thing_searched
	when search failed.

2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c: Include casetab.h
	(common_init_complex_vars_of_buffer): Use new case-table object.
	* buffer.h: Include casetab.h
	* buffer.h (MAKE_TRT_TABLE): Use generic char-table.
	(DOWNCASE_TABLE_OF): Ditto.
	* bufslots.h: Remove char-tables and add case-table.
	* casetab.c: Include casetab.h
	(CASE_TABLE_P): Removed.
	(mark_case_table): New function.
	(allocate_case_table): New function.
	(Fcase_table_p): Use new case-table.
	(case_table_char): New function.
	(Fget_case_table): Ditto.
	(Fput_case_table): Ditto.
	(Fput_case_table_pair): Ditto.
	(Fcopy_case_table): Ditto.
	(Fcurrent_case_table): Return case-table.
	(Fstandard_case_table): Return case-table.
	(Fset_case_table): Fix doc-string.
	(set_case_table): Use case-table
	(syms_of_casetab): DEFSUBR new functions.
	(complex_vars_of_casetab): Set up standard case-table.
	* casetab.h: New file.
	* editfns.c: Include casetab.h
	(Fcompare_buffer_substrings): Use case-table.
	* inline.c: Include casetab.h
	* lisp.h: Remove bogus extern.
	* lrecord.h (lrecord_type): Add lrecord_type_case_table.
	* search.c: Include casetab.h
	(TRANSLATE_ASCII): Removed.
	(TRANSLATE): Unconditionally translate character.
	(looking_at_1): Use case-table.
	(string_match_1): Ditto.
	(fast_string_match): Ditto.
	(search_command): Ditto.
	(search_buffer): Separate boyer_moore.  Check whether
	boyer_moore is possible.
	(simple_search): New function.
	(boyer_moore): Separated from search_buffer. Translate char.

2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* regex.c (RE_TR_ASCII): Removed.
	(RE_TRANSLATE): Unconditionally use TRT_TABLE.
	(PATFETCH): Call PATFETCH_RAW.
	(PATFETCH_RAW): Fetch Emchar.
	(PATUNFETCH): Decrement charptr.
	(GET_BUFFER_SPACE): Rename b to buf_end.
	(BUF_PUSH): Ditto.
	(BUF_PUSH_2): Ditto.
	(BUF_PUSH_3): Ditto.
	(EXTEND_BUFFER): Ditto.
	(SET_LIST_BIT): Ditto.
	(regex_compile): Ditto.  Translate non ASCII char.
	(compile_range): Ditto.
	(re_search_2): Ditto.
	(re_match_2_internal): Compare Emchar.
	(bcmp_translate): Ditto.

2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>

	* lisp.h (basic char/int typedefs):  comment improvement.

2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>

	* emacs.c (main_1):  unconditional pdump unstomping; don't save and
	unstomp inhibit_site_lisp.  Improve comments.

2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>

	* mule-charset.c (Fcharset_property):  improve type checking, comments.

2000-11-28  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_subwindow): make sure we do
	clipped display for windows in the gutter also.
	(redisplay_display_boxes_in_window_p): change semantics of return
	codes to be more intuitive.

	* gutter.h: declare display_boxes_in_gutter_p.

	* gutter.c (display_boxes_in_gutter_p): new function for
	redisplay.

2000-11-22  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (image_instantiator_format_create_glyphs_x): change
	autodetect domain.

2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* callproc.c (Fold_call_process_internal):
	* gpm.c (Freceive_gpm_event):
	(tty_get_foreign_selection): Might be just warning supression.
	* fileio.c (Fwrite_region_internal):
	(Fset_visited_file_modtime):
	* keymap.c (event_matches_key_specifier_p):
	Initialize GCPROed variable.

	* menubar-x.c (command_builder_find_menu_accelerator):
	Initialize before use.

2000-11-23  Andy Piper  <andy@xemacs.org>

	* unexcw.c (unexec): make the resulting executable executable.

2000-11-21  Martin Buchholz  <martin@xemacs.org>

	* doc.c (get_doc_string):
	Use size_t, not int, for result of XSTRING_LENGTH.

	* cmds.c (Fdelete_char):
	* cmds.c (Fpoint_at_eol):
	* cmds.c (Fself_insert_command):
	Use EMACS_INT, not int, for result of XINT.
	Someday, someone will want to insert more than 2**31 identical characters.

	* cmds.c (Fdelete_char):
	* cmds.c (Fdelete_backward_char):
	* syntax.c (Fforward_word):
	* syntax.c (Fforward_comment):
	Make COUNT argument optional, for consistency with forward-char et al.

2000-11-22  Martin Buchholz  <martin@xemacs.org>

	* lisp.h:
	* print.c (long_to_string):
	Return a useful value: the pointer at end of data written.

	* doprnt.c:
	Use `static const char * const' for constant strings.
	(union printf_arg): Delete `i', `ui' members.
	(get_doprnt_args):
	(emacs_doprnt_1):
	Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
	Do all printf-ing via the `l' specifier.
	Use EMACS_INT instead of int.
	Optimize.

2000-11-20  Didier Verna  <didier@xemacs.org>

	* faces.c (update_face_cachel_data): don't frob the background
	pixmap when the window is being created. The face is needed but
	does not exist yet.

2000-11-20  Andy Piper  <andy@xemacs.org>

	* unexcw.c (copy_executable_and_dump_data_section): Only do bss
	messing with a debug environment.

2000-11-20  Martin Buchholz  <martin@xemacs.org>

	* emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.

2000-11-20  Martin Buchholz  <martin@xemacs.org>

	* casetab.c (Fcase_table_p): Fix compile error and crash.

2000-11-18  Philip Aston  <philipa@mail.com>

	* s/cygwin32.h: Cygwin has SVR4-like pty support.

2000-11-18  Martin Buchholz  <martin@xemacs.org>

	* fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
	* filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!

2000-11-17  Martin Buchholz  <martin@xemacs.org>

	* config.h.in: Define HAVE_ELF_H if elf.h exists.
	* unexelf.c: Use HAVE_ELF_H.
	* unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
	I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
	Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
	Greg Harrington <greg_harrington@hotmail.com> provided a machine
	for testing.
	So this is an unexelfsgi.c from a different line of development.

2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* regex.c (RE_TR_ASCII): New function.
	(RE_TRANSLATE): Call it.

2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.h (TRT_TABLE_OF): Remove assert.
	(IN_TRT_TABLE_DOMAIN): Removed.

2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* free-hook.c (log_gcpro):
	(show_gcprohist): Add support for GCPRO5.

2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>

	* emacs.c (main_1): Improve -sd error message when --pdump=no.

2000-11-16  Olivier Galibert  <galibert@xemacs.org>

	* symeval.h: Declare flush_all_buffer_local_cache.

	* symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
	(flush_buffer_local_cache): Added.
	(flush_all_buffer_local_cache): Added.

	* lrecord.h: Remove unused XD_LO_RESET_NIL.

	* dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
	(pdump_dump_data): Ditto.
	(pdump_reloc_one): Ditto.
	(pdump): Remove unused pdump_qnil.  Flush buffer local caches
	before dumping.


2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.c: Remove if 0'ed entry.
	* buffer.h: Rewrite TRT to use char-table.
	* bufslots.h: Remove mirror tables.
	* casetab.c: Remove mirror tables.
	(CASE_TABLE_P): New macro.
	(Fcase_table_p): Element of a case table is string or char-table.
	(make_mirror_trt_table): Removed.
	(set_case_table): Setup char-table from strings for backward
	compatibility.
	* dired.c (Fdirectory_files):
	* dired-msw.c: (mswindows_get_files):
	* lisp.h: Change prototype of re_pattern_buffer.
	* regex.c: (RE_TRANSLATE): New macro.
	(TRANSLATE_P): Ditto.
	Change translate to type RE_TRANSLATE_TYPE.
	* regex.h: Define RE_TRANSLATE_TYPE
	* search.c (TRANSLATE): New macro.
	(TRANSLATE_ASCII): New macro.
	Translate table is changed to Lisp_Object.
	(signal_failure): Inhibit return.

2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* device-msw.c:
	* eldap.c:
	* event-Xt.c:
	* event-stream.c:
	* print.c:
	Do UNGCPRO before return.

2000-11-14  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.37 is released.

2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
	Add comments about discarded return value.

2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* callint.c:
	* event-stream.c: Fix comments.  Remove some #if 0'ed part.

2000-10-27  Andy Piper  <andy@xemacs.org>

	* gutter.c (Fset_default_gutter_position): default left and right
	gutters to visible.
	(calculate_gutter_size): calculate resonable heuristic for left
	and right gutter sizes.
	(specifier_vars_of_gutter): change left and right gutter sizes to
	autodetect.
	(calculate_gutter_size_from_display_lines): new function.
	(output_gutter): check for resizing on left and right gutters.
	(clear_gutter): don't special case top and left gutters.
	(specifier_vars_of_gutter): use new signature for
	set_specifier_caching.

	* glyphs-x.c (x_redisplay_widget): spelling fix.
	* glyphs.c (specifier_vars_of_glyphs):
	* menubar.c (specifier_vars_of_menubar):
	* redisplay.c (specifier_vars_of_redisplay):
	* toolbar.c (specifier_vars_of_toolbar):
	* window.c (specifier_vars_of_window):
	* scrollbar.c (specifier_vars_of_scrollbar):
	(complex_vars_of_scrollbar): use new signature for
	set_specifier_caching.

	* specifier.c (set_specifier_caching): include recompute flag.
	(recompute_one_cached_specifier_in_window): always recompute if
	flag set.
	(recompute_one_cached_specifier_in_frame): ditto.

	* specifier.h (struct specifier_caching): add recompute flag.

2000-10-24  Andy Piper  <andy@xemacs.org>

	* unexcw.c (copy_executable_and_dump_data_section): add new
	BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
	5.0 happy.

2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* console-x.h (x_device): New member modifier_release_time.
	* event-Xt.c (x_handle_sticky_modifiers):
	Bound interval modifier keys are sticky.
	* event-stream.c (Vmodifier_keys_sticky_time): New variable.
	* events.h: extern it.

2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.

2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* event-stream.c (execute_command_event): Preserve current_events
	and the like when event is misc-user-event.
	Inhibit quit during the call to maybe_echo_keys.

2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
	symlink when buffer is killed.
	(inhibit_clash_detection): New variable.

2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* console.c (Fset_input_method): Trigger redisplay on tty.

2000-11-07  Martin Buchholz  <martin@xemacs.org>

	* process.c (Fprocess_status): Revert to previous behavior:
	(process-status "nosuchprocess") ==> nil

2000-11-06  Martin Buchholz  <martin@xemacs.org>

	* mule-charset.h (CHARSET_BY_LEADING_BYTE):
	Work around another GCC 2.95.2 optimizer bug.

2000-11-02  Martin Buchholz  <martin@xemacs.org>

	* process.c (Fget_process): Use LIST_LOOP_2.
	(kill_buffer_processes): Use LIST_LOOP_2.

	* minibuf.c (Fall_completions):
	Delete old non-functional code for FSF fourth argument.

	* frame.c (frame_matches_frame_spec):
	Renamed from `frame_matches_frametype'.  Update all callers.
	(device_matches_device_spec):
	Renamed from 'device_matches_console_spec'.  Update all callers.

	* doc.c (Fsubstitute_command_keys):
	Remove buffer overflow crash.  Small code cleanups.

	* casetab.c (check_case_table): Simpler code.

	* window.c (Freplace_buffer_in_windows):
	Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
	(and similar implementation) as Fdelete_windows_on.
	Update all callers.

	* alloc.c (Fmake_list):
	* alloc.c (make_vector):
	* alloc.c (Fmake_vector):
	* alloc.c (make_bit_vector):
	* alloc.c (Fmake_bit_vector):
	* alloc.c (Fbit_vector):
	* alloc.c (Fmake_string):
	* alloc.c (Fpurecopy):
	* alloc.c (Fmemory_limit):
	* buffer.c:
	* buffer.c (Fget_buffer):
	* buffer.c (Fkill_buffer):
	* buffer.c (complex_vars_of_buffer):
	* bytecode.c (Fcompiled_function_stack_depth):
	* callint.c (Fprefix_numeric_value):
	* event-stream.c:
	* event-stream.c (Fread_key_sequence):
	* casetab.c:
	* casetab.c (Fcase_table_p):
	* casetab.c (check_case_table):
	* casetab.c (Fset_case_table):
	* casetab.c (Fset_standard_case_table):
	* chartab.c:
	* chartab.c (Fchar_table_type):
	* chartab.c (Freset_char_table):
	* chartab.c (Fget_char_table):
	* chartab.c (Fget_range_char_table):
	* chartab.c (Fput_char_table):
	* chartab.c (Fmap_char_table):
	* chartab.c (Fcategory_table_p):
	* chartab.c (Fcheck_category_at):
	* chartab.c (Fchar_in_category_p):
	* chartab.c (Fcategory_table):
	* chartab.c (Fcopy_category_table):
	* chartab.c (Fset_category_table):
	* chartab.c (Fcategory_designator_p):
	* chartab.c (Fcategory_table_value_p):
	* cmds.c (Fdelete_char):
	* cmds.c (Fdelete_backward_char):
	* cmds.c (Fself_insert_command):
	* cmds.c (Fself_insert_internal):
	* console.c (Fvalid_console_type_p):
	* console.c (Fcdfw_console):
	* console.c (Fconsole_type):
	* console.c (Fconsole_name):
	* console.c (Fconsole_device_list):
	* console.c (Fconsole_on_window_system_p):
	* data.c:
	* data.c (Feq):
	* data.c (Fold_eq):
	* data.c (Fsubr_interactive):
	* data.c (Fchar_to_int):
	* data.c (Fint_to_char):
	* data.c (Fsetcar):
	* data.c (Fsetcdr):
	* data.c (Fnumber_to_string):
	* data.c (Fstring_to_number):
	* data.c (Frem):
	* database.c (mark_database):
	* database.c (finalize_database):
	* database.c (Fdatabase_live_p):
	* database.c (Fdatabasep):
	* device-x.c (Fx_get_resource):
	* device.c (Fdfw_device):
	* dired.c:
	* dired.c (Ffile_name_completion):
	* dired.c (Ffile_name_all_completions):
	* dired.c (Fuser_name_completion):
	* dired.c (Fuser_name_completion_1):
	* dired.c (Fuser_name_all_completions):
	* doc.c (Fdocumentation):
	* doc.c (Fdocumentation_property):
	* doc.c (Fsubstitute_command_keys):
	* editfns.c:
	* editfns.c (Fchar_to_string):
	* editfns.c (Fstring_to_char):
	* editfns.c (Ftemp_directory):
	* editfns.c (Finsert_char):
	* editfns.c (Fbuffer_substring_no_properties):
	* editfns.c (Fnarrow_to_region):
	* editfns.c (Fchar_equal):
	* editfns.c (Fchar_Equal):
	* editfns.c (Ftranspose_regions):
	* emacs.c (Fdump_emacs):
	* eval.c (Fthrow):
	* eval.c (Fcommand_execute):
	* eval.c (Fautoload):
	* eval.c (Fbacktrace):
	* eval.c (Fbacktrace_frame):
	* events.c:
	* events.c (Fcopy_event):
	* events.c (Fcharacter_to_event):
	* events.c (Fevent_button):
	* events.c (Fevent_process):
	* extents.c:
	* extents.c (Fnext_extent_change):
	* extents.c (Fextent_property):
	* faces.c (Ffacep):
	* faces.c (Fmake_face):
	* file-coding.c:
	* file-coding.c (Fencode_shift_jis_char):
	* file-coding.c (Fencode_big5_char):
	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (Ffile_name_as_directory):
	* fileio.c (Fdirectory_file_name):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Ffile_modes):
	* fileio.c (Fset_file_modes):
	* fileio.c (Fset_default_file_modes):
	* fileio.c (Fverify_visited_file_modtime):
	* floatfns.c (Facos):
	* floatfns.c (Fasin):
	* floatfns.c (Fatan):
	* floatfns.c (Fcos):
	* floatfns.c (Fsin):
	* floatfns.c (Ftan):
	* floatfns.c (Fbessel_j0):
	* floatfns.c (Fbessel_j1):
	* floatfns.c (Fbessel_jn):
	* floatfns.c (Fbessel_y0):
	* floatfns.c (Fbessel_y1):
	* floatfns.c (Fbessel_yn):
	* floatfns.c (Ferf):
	* floatfns.c (Ferfc):
	* floatfns.c (Flog_gamma):
	* floatfns.c (Fexp):
	* floatfns.c (Fexpt):
	* floatfns.c (Flog):
	* floatfns.c (Flog10):
	* floatfns.c (Fsqrt):
	* floatfns.c (Fcube_root):
	* floatfns.c (Facosh):
	* floatfns.c (Fasinh):
	* floatfns.c (Fatanh):
	* floatfns.c (Fcosh):
	* floatfns.c (Fsinh):
	* floatfns.c (Ftanh):
	* floatfns.c (Fabs):
	* floatfns.c (Ffloat):
	* floatfns.c (Flogb):
	* floatfns.c (Fceiling):
	* floatfns.c (Ffloor):
	* floatfns.c (Fround):
	* floatfns.c (Ftruncate):
	* floatfns.c (Ffceiling):
	* floatfns.c (Fffloor):
	* floatfns.c (Ffround):
	* floatfns.c (Fftruncate):
	* fns.c (Fstring_equal):
	* fns.c (Fstring_lessp):
	* fns.c (concat2):
	* fns.c (concat3):
	* fns.c (vconcat2):
	* fns.c (vconcat3):
	* fns.c (Fsubstring):
	* fns.c (Fassoc):
	* fns.c (Fold_assoc):
	* fns.c (assoc_no_quit):
	* fns.c (Fassq):
	* fns.c (Fold_assq):
	* fns.c (assq_no_quit):
	* fns.c (Frassoc):
	* fns.c (Fold_rassoc):
	* fns.c (Frassq):
	* fns.c (Fold_rassq):
	* fns.c (rassq_no_quit):
	* fns.c (Fremassoc):
	* fns.c (remassoc_no_quit):
	* fns.c (Fremassq):
	* fns.c (remassq_no_quit):
	* fns.c (Fremrassoc):
	* fns.c (Fremrassq):
	* fns.c (remrassq_no_quit):
	* fns.c (Fsort):
	* fns.c (Fplist_get):
	* fns.c (Fplist_put):
	* fns.c (Fplist_remprop):
	* fns.c (Fplist_member):
	* fns.c (Flax_plist_get):
	* fns.c (Flax_plist_put):
	* fns.c (Flax_plist_remprop):
	* fns.c (Flax_plist_member):
	* fns.c (Fequal):
	* fns.c (Fold_equal):
	* fns.c (Frequire):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* frame.c:
	* frame.c (frame_matches_frame_spec):
	* frame.c (device_matches_device_spec):
	* frame.c (next_frame):
	* frame.c (previous_frame):
	* frame.c (Fnext_frame):
	* frame.c (Fprevious_frame):
	* frame.c (Fframe_property):
	* frame.c (Fset_frame_height):
	* frame.c (Fset_frame_size):
	* frame.h:
	* glyphs.c:
	* glyphs.c (if):
	* glyphs.c (decode_error_behavior_flag):
	* glyphs.c (Fmake_image_instance):
	* indent.c (Findent_to):
	* intl.c (Fignore_defer_gettext):
	* keymap.c (Fkeymapp):
	* keymap.c (Flookup_key):
	* lread.c:
	* lread.c (Fload_internal):
	* lread.c (Feval_buffer):
	* lread.c (Feval_region):
	* macros.c (Fexecute_kbd_macro):
	* marker.c (set_marker_internal):
	* marker.c (Fset_marker):
	* marker.c (set_marker_restricted):
	* marker.c (Fcopy_marker):
	* marker.c (noseeum_copy_marker):
	* menubar.c:
	* menubar.c (Fpopup_menu):
	* minibuf.c:
	* mule-charset.c (Fcharset_name):
	* mule-charset.c (Fchar_charset):
	* mule-charset.c (Fchar_octet):
	* mule-charset.c (Fsplit_char):
	* mule-wnnfns.c (Fwnn_open):
	* mule-wnnfns.c (Fwnn_dict_comment):
	* mule-wnnfns.c (Fwnn_quit_henkan):
	* mule-wnnfns.c (Fwnn_word_toroku):
	* mule-wnnfns.c (Fwnn_word_sakujo):
	* mule-wnnfns.c (Fwnn_word_use):
	* mule-wnnfns.c (Fwnn_hindo_set):
	* objects.c:
	* objects.c (Fmake_color_instance):
	* objects.c (Fmake_font_instance):
	* print.c (Fwrite_char):
	* process.c:
	* process.c (mark_process):
	* process.c (print_process):
	* process.c (get_process_from_usid):
	* process.c (Fprocessp):
	* process.c (Fprocess_live_p):
	* process.c (Fget_process):
	* process.c (Fget_buffer_process):
	* process.c (get_process):
	* process.c (Fprocess_id):
	* process.c (Fprocess_name):
	* process.c (Fprocess_command):
	* process.c (init_process_io_handles):
	* process.c (start_process_unwind):
	* process.c (Fstart_process_internal):
	* process.c (Fopen_multicast_group_internal):
	* process.c (Fset_process_window_size):
	* process.c (read_process_output):
	* process.c (send_process):
	* process.c (Fprocess_tty_name):
	* process.c (Fset_process_buffer):
	* process.c (Fprocess_buffer):
	* process.c (Fprocess_mark):
	* process.c (set_process_filter):
	* process.c (Fset_process_filter):
	* process.c (Fprocess_filter):
	* process.c (Fprocess_send_region):
	* process.c (Fprocess_send_string):
	* process.c (exec_sentinel):
	* process.c (Fset_process_sentinel):
	* process.c (Fprocess_sentinel):
	* process.c (status_notify):
	* process.c (Fprocess_status):
	* process.c (Fprocess_exit_status):
	* process.c (process_send_signal):
	* process.c (Fprocess_send_eof):
	* process.c (deactivate_process):
	* process.c (remove_process):
	* process.c (Fdelete_process):
	* process.c (kill_buffer_processes):
	* process.c (Fprocess_kill_without_query):
	* process.c (Fprocess_kill_without_query_p):
	* rangetab.c:
	* rangetab.c (Fget_range_table):
	* rangetab.c (Fput_range_table):
	* rangetab.c (Fremove_range_table):
	* rangetab.c (Fclear_range_table):
	* search.c:
	* search.c (Fskip_chars_forward):
	* search.c (Fskip_chars_backward):
	* search.c (Fskip_syntax_forward):
	* search.c (Fskip_syntax_backward):
	* search.c (search_command):
	* search.c (Freplace_match):
	* search.c (Fregexp_quote):
	* select.c (Fown_selection_internal):
	* select.c (Fselection_owner_p):
	* select.c (Fselection_exists_p):
	* select.c (Fget_selection_internal):
	* specifier.c:
	* symbols.c:
	* symbols.c (Fintern):
	* symbols.c (Fintern_soft):
	* symbols.c (Funintern):
	* symbols.c (Fapropos_internal):
	* symbols.c (Fset_default):
	* syntax.c:
	* syntax.c (Fsyntax_table_p):
	* syntax.c (Fcopy_syntax_table):
	* syntax.c (Fset_syntax_table):
	* syntax.c (Fchar_syntax):
	* syntax.c (syntax_match):
	* syntax.c (Fmatching_paren):
	* syntax.c (Fforward_word):
	* syntax.c (scan_lists):
	* syntax.c (Fscan_lists):
	* syntax.c (Fscan_sexps):
	* syntax.c (Fparse_partial_sexp):
	* toolbar.c (Fcheck_toolbar_button_syntax):
	* tooltalk.doc:
	* window.c:
	* window.c (Fwindowp):
	* window.c (Fwindow_live_p):
	* window.c (Fwindow_point):
	* window.c (Fdelete_window):
	* window.c (Fnext_window):
	* window.c (Fprevious_window):
	* window.c (Fother_window):
	* window.c (window_loop):
	* window.c (Fget_lru_window):
	* window.c (Fsplit_window):
	* window.c (Fenlarge_window):
	* window.c (Fenlarge_window_pixels):
	* window.c (Fshrink_window):
	* window.c (Fshrink_window_pixels):
	* window.c (change_window_height):
	* window.c (Fwindow_configuration_p):
	* window.c (Fcurrent_window_configuration):
	* window.h:
	* casefiddle.c (casify_object):
	* casefiddle.c (Fupcase):
	* casefiddle.c (Fdowncase):
	* casefiddle.c (Fcapitalize):
	* casefiddle.c (Fupcase_initials):
	* casefiddle.c (casify_region_internal):
	* casefiddle.c (casify_region):
	* casefiddle.c (Fupcase_region):
	* casefiddle.c (Fdowncase_region):
	* casefiddle.c (Fcapitalize_region):
	* casefiddle.c (Fupcase_initials_region):
	* casefiddle.c (Fupcase_word):
	* casefiddle.c (Fdowncase_word):
	* casefiddle.c (Fcapitalize_word):
	Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
	Replace 0 with '\0' when working with bytes.
	Replace initial "(" with "\(" in docstrings.

2000-11-01  Martin Buchholz  <martin@xemacs.org>

	* config.h.in: Handle alloca with Compaq C on Alpha Linux.

	* m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.

2000-10-31  Martin Buchholz  <martin@xemacs.org>

	* eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.

2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
	correctly.

2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
	(inhibit_auto_save_session): New variable.
	(vars_of_fileio): Declare and initialize them.
	* fileio.c (Fdo_auto_save): Don't create session file if
	Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.

2000-10-31  Martin Buchholz  <martin@xemacs.org>

	* sgiplay.c (play_internal): C++ compilability.
	* alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
	* callproc.c (Fold_call_process_internal):
	Remove unused vars `env', `first'.
	* scrollbar.c (update_scrollbar_instance):
	#### unused var `current_window'.
	* redisplay-tty.c: Put currently unused vars insert_mode_on,
	etc. within #ifdef NOT_YET.
	* emacs.c: #### unused vars `initial_argc', `initial_argv'.
	* dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
	* specifier.c (specifier_instance):
	#### unused var `tag'.
	Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.

2000-10-27  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Fbutlast):
	* fns.c (list_sort):
	* fns.c (Ffillarray):
	* fns.c (bytecode_nconc2):
	* fns.c (Fnconc):
	* fns.c (mapcar1):
	* fns.c (Fmapconcat):
	Be pedantically 64-bit correct.  For the time when someone will
	want to have a list with length > 2**32.

	* lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
	Work around MIPSpro compiler bug.

	* process-unix.c (unix_kill_child_process): Add snarky comment.
	* process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='

	* config.h.in: Oops, _getpt ==> _getpty

2000-10-26  Martin Buchholz  <martin@xemacs.org>

	* config.h.in:
	* regex.c:
	Use void*, not char*, as return type of alloca().

	* alloc.c (free_marker): Side effect inside assert expression!

2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>

	* mule-charset.c (Fset_charset_ccl_program): To check
	if the given ccl program is valid, use setup_ccl_program()
	instead of CHECK_VECTOR().
	(Fmake_charset): Likewise.

2000-10-20  Golubev I. N.  <gin@mo.msk.ru>

	* faces.c (get_extent_fragment_face_cache_index):
	Fix cachel.merged_faces memory leak.

2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>

	* mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
	Reset MSB of octets obtained by DECODE_SJIS
	because of the incompatibility with Emacs.
	(ccl_driver)<CCL_ENCODE_SJIS>:
	Set MSB of octets before passing them to
	ENCODE_SJIS because of the incompatibility
	with Emacs.

2000-10-18   Daiki Ueno  <ueno@unixuser.org>

	* lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
	(DECLARE_LRECORD): Undo the last change.
	(DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.

2000-10-17   Daiki Ueno  <ueno@unixuser.org>

	* lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
	the implementation to lrecord_implementations_table.

2000-10-14   Daiki Ueno  <ueno@unixuser.org>

	* lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
	initial value of `lrecord_type_##c_name' and
	`lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
	(INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
	[ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
	[ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
	[ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.

2000-10-17  Martin Buchholz  <martin@xemacs.org>

	* miscplay.c (sndcnv8S_2mono):
	(sndcnv2monounsigned):
	(sndcnvULaw_2linear):
	(sndcnv16swap):
	Remove implementation-defined behavior.

2000-10-12  Martin Buchholz  <martin@xemacs.org>

	* input-method-xlib.c: Warning suppression.

2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>

	* mule-ccl.c: Sync up with Emacs 21.0.90.
	(ccl_driver)<CCL_TranslateCharacter>: Disabled.
	Do nothing.
	(ccl_driver)<CCL_TranslateCharacterConstTbl>:
	Likewise.
	(ccl_driver[WriteMultibyteChar2]): Bug fix.
	Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
	MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
	leading char belongs to official 2-dimensional charset.
	(CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
	write the given character as is.  Otherwise,
	if it is a multibyte char, convert it by
	non_ascii_set_charptr_emchar, then write it.
	(CCL_WRITE_STRING): Likewise.
	(ccl_get_compiled_code): New function.
	(setup_ccl_program): When ccl_prog is invalid,
	return -1.
	(Fregister_code_conversion_map): New function.
	(syms_of_mule_ccl): defsubr Fregister_code_conversion_map.

	* mule-ccl.h: Sync up with Emacs 21.0.90.
	(Fregister_ccl_program): export it.

	* redisplay-msw.c (separate_textual_runs):
	If ccl program is not valid, don't do ccl conversion.

	* redisplay-x.c (separate_textual_runs): Ditto.

	* file-coding.c (Fmake_coding_system):
	When type is ccl and value is vector, register it
	with a proper symbol.  And checks whether the
	given ccl program is valid.
	(mule_decode): When calling ccl_driver, if src indicates
	NULL pointer, set an empty string instead.
	(mule_encode): Likewise.

2000-10-11  Martin Buchholz  <martin@xemacs.org>

	The following large batch of changes gets us back to a state of
	C++ compilability.  Extbyte is now a char, which means that
	Extbyte * and Bufbyte * cannot be freely interchanged - a win!

	* tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.

	* sound.c (Fplay_sound): Type correctness.

	* select-x.c (hack_motif_clipboard_selection): Type correctness.
	(x_get_window_property): Type correctness.
	(receive_incremental_selection): unsigned char ==> Extbyte
	(selection_data_to_lisp_data): unsigned char ==> Extbyte
	(Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
	(Fx_store_cutbuffer_internal): Type correctness.

	* process-unix.c (try_to_initialize_subtty): Type correctness.

	* objects-x.c (x_print_color_instance): Type correctness.
	(x_print_font_instance): Type correctness.
	(x_list_fonts): SExtbyte ==> Extbyte.
	(valid_x_font_name_p): SExtbyte ==> Extbyte.
	(x_find_charset_font): SExtbyte ==> Extbyte.
	Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
	(truename_via_XListFonts): SExtbyte ==> Extbyte.
	(x_font_instance_properties): Use TO_INTERNAL_FORMAT.
	Use bufbyte_strcmp.

	* mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
	(PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
	(BYTE_ASCII_P): Use bit ops for char-signedness safety.
	(BYTE_C0_P): Use bit ops for char-signedness safety.
	(BYTE_C1_P): Use bit ops for char-signedness safety.
	(CHARSET_BY_LEADING_BYTE):
	(CHARSET_BY_ATTRIBUTES):
	Always use inline function.
	Use type_checking_assert.
	Hide chlook.

	* mule-charset.c (non_ascii_charptr_copy_char):
	Modify to work with both ASCII and non-ASCII characters.
	Improve docs and variable names.
	Replace over-clever fall-through switch with a simple loop.
	(Lstream_get_emchar_1):
	Replace over-clever fall-through switch with a simple loop.

	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	Warning suppression.

	* lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
	the return value of Lstream_getc, which could be EOF as well.

	* lstream.c (Lstream_raw_read): Now returns ssize_t, not int.

	* lisp.h: Make Extbyte a char, not unsigned char, so that external
	APIs can be used on Extbytes without casts.  Risky!
	(SExtbyte): Remove.
	(UExtbyte): Remove.

	* input-method-xlib.c (XIM_init_device):
	Use Xlib.h instead of IntrinsicP.h.
	Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
	which will break in X11R7.
	Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
	to call XRegisterIMInstantiateCallback with correct types.

	* gui-x.c (button_item_to_widget_value): Type correctness.

	* glyphs.c (bitmap_to_lisp_data):  Type correctness.

	* glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
	(xbm_instantiate_1): Type correctness.
	(BUILD_GLYPH_INST):  Type correctness.

	* fileio.c (Fsubstitute_in_file_name): Type correctness.

	* file-coding.c:
	(decode_coding_sjis):
	(decode_coding_big5):
	(decode_coding_ucs4):
	(decode_coding_utf8):
	(decode_coding_iso2022):
	(decode_coding_no_conversion):
	Make all decoding functions take an Extbyte * arg.
	(encode_coding_sjis):
	(encode_coding_big5):
	(encode_coding_ucs4):
	(encode_coding_utf8):
	(encode_coding_iso2022):
	(encode_coding_no_conversion):
	Make all encoding functions take a Bufbyte * arg.
	Use size_t instead of unsigned int for memory sizes.
	Only cast to unsigned char whenever dereferencing Extbyte *.

	* doc.c (unparesseuxify_doc_string): Type correctness.

	* console-x.c (split_up_display_spec):
	Rewrite without using details of internal string representation.
	(x_semi_canonicalize_device_connection): Type correctness.

	* config.h.in:
	(HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
	(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
	(HAVE_XFREE386): Removed.

	* buffer.h (DEC_CHARPTR): `const' correctness.
	(bufbyte_strcmp): New.
	(bufbyte_memcmp): New.

	* buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte

	* buffer.h (XCHAR_OR_CHAR_INT):
	Always use inline function.
	Remove redundant type checking assert() - XINT will abort quite nicely.

2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* search.c (Freplace_match): Set newtext to an empty string.

2000-10-10  Martin Buchholz  <martin@xemacs.org>

	* s/decosf1-3.h: Remove #include of stropts.h
	* s/ptx.h: Remove #include of stropts.h
	* s/usg5-4.h: Remove #include of stropts.h
	* sysproc.h:
	* config.h.in:
	Use stropts.h, not sys/stropts.h.
	Use strtio.h, not sys/strtio.h.

2000-10-04  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.36 is released.

2000-09-21  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_redisplay_widget): make sure non-structural
	changes still involve copying the widget tree.
	(update_widget_face): make sure a change is register in the widget
	tree. Call update_tab_widget_face appropriately.
	(update_tab_widget_face): ditto.
	(x_tab_control_redisplay): make sure non-structural changes still
	involve copying the widget tree.

2000-08-31   Daiki Ueno  <ueno@unixuser.org>

	* lread.c (locate_file): Check the path element is non-nil.

2000-10-02  Martin Buchholz  <martin@xemacs.org>

	* lisp.h: Warning suppression for SCO compilers.

	* redisplay-tty.c (reset_tty_modes): Fix crash.
	E.g. from xemacs running on X: (delete-device (make-device 'tty nil))

2000-09-27  Martin Buchholz  <martin@xemacs.org>

	Big signal/process handling overhaul.  Bugs fixed:
	M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
	M-x comint-kill-subjob should work for both values nil and t of
	process-connection-type. It was broken on most platforms.
	Testing on Irix and Cygwin still needed.  Other plaforms tested.
	* sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
	* process-unix.c: Signal/Process handling overhaul.
	(pty_name): make 64 bytes, as `expect' does, for paranoia.
	(allocate_pty): Use all available modern methods of allocating
	ptys, falling back to old style BSD allocation as a last resort.
	Use allegedly more secure Unix98 pty allocation by default.
	(allocate_pty_the_old_fashioned_way): New. the last resort.
	(unix_create_process): Push ptem, ldterm, ttcompat where
	available.  Autoconfiscate.
	(try_to_initialize_subtty): New.
	(unix_kill_child_process): Proper signal handling for ptys on most
	platforms, using special knowledge of AIX, BSD, etc...
	(unix_create_process): Always disconnect_controlling_terminal() for
	subprocesses, whether using ptys or not.
	* process.h: Remove old getpt-dependent PTY code.
	* process.c (Fprocess_send_signal): New, obvious generic function.
	(decode_signal): New.
	(Finterrupt_process):
	(Fkill_process):
	(Fquit_process):
	(Fstop_process):
	(Fcontinue_process):
	(Fsignal_process): Use decode_signal.
	(process_send_signal):
	Many docstring corrections.
	Allow any signal to be sent to a process object.
	* config.h.in: Add symbols for big signal/process overhaul.
	* syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
	* sysproc.h: Include process-related headers, where available:
	sys/stropts.h sys/strtio.h pty.h libutil.h
	* s/irix4-0.h:
	* s/irix5-0.h:
	* s/cygwin32.h:
	* s/gnu.h:
	* s/linux.h:
	* s/hpux.h:
	* s/aix3-1.h:
	Remove old S&M pty stuff.
	* console-tty.c (tty_init_console): Use pid_t, not int, for pids.
	* systty.h: Simplify cpp hackery, improve comments.
	Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().

	* editfns.c (Fformat_time_string):
	Be a little more paranoid with the return value of ctime.

	* fileio.c (check_executable):
	(check_writable):
	Use symbolic constants X_OK, W_OK.

	* console-x.c (split_up_display_spec): Fix a warning.

2000-10-02  Martin Buchholz  <martin@xemacs.org>

	* gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
	* ntproc.c (sys_spawnve): make_string ==> build_string
	Small clarity improvements.

2000-09-30  Martin Buchholz  <martin@xemacs.org>

	* events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.

	* s/windowsnt.h (HAVE_STRCASECMP): Remove.

	* config.h.in (HAVE_STRCASECMP): Remove.

2000-09-29  Martin Buchholz  <martin@xemacs.org>

	* redisplay-output.c (redisplay_output_pixmap):
	Cleaner and possibly more 64-bit correct code.

2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>

	* dumper.c (pdump_load_finish): move restoration of
	`noninteractive1' to emacs.c (main_1).
	* emacs.c (main_1): protect LISP-visible command-line flags
	from pdump_load().

2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* Makefile.in.in (versionclean):  Use EXE_TARGET and
	DUMP_TARGET instead of literal program names.

2000-09-20  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in: Recent purify's require absolute paths for cache-dir.

2000-09-19  Martin Buchholz  <martin@xemacs.org>

	* *: Spelling mega-patch

2000-09-19  Martin Buchholz  <martin@xemacs.org>

	* fns.c (bad_bad_turtle):
	Delete "Eek!" comment, since we fixed the bug to which it refers.

2000-09-16  Martin Buchholz  <martin@xemacs.org>

	* alloca.c: Replace REGISTER with register.

2000-09-16   Daiki Ueno  <ueno@unixuser.org>

	* file-coding.c (ucs_to_char): Use countof.

2000-09-16  Martin Buchholz  <martin@xemacs.org>

	* file-coding.c: (ucs_to_char):
	(complex_vars_of_file_coding):
	Use countof instead of sizeof.
	Use CHECK_NATNUM instead of CHECK_INT.

	* sysdep.c (strcasecmp): Remove.
	* device-x.c (ascii_strcasecmp): New.
	* device-x.c (Fx_get_resource): Use ascii_strcasecmp.
	Avoid using non-standard non-portable strcasecmp.

2000-09-16  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in (mostlyclean): remove reference to prefix-args.
	* font-lock.c: remove reference to emacsfns.h.
	* search.c: small doc improvement.
	* event-Xt.c: correct file names in comments.
	* console-x.h Correct file names in comments.
	* frame.c: Correct file names in comments.
	* event-stream.c: remove Energize from comments.

2000-09-15  Martin Buchholz  <martin@xemacs.org>

	* symeval.h (DEFERROR_STANDARD):
	(DEFERROR):
	(DEFSYMBOL):
	(DEFSYMBOL_NO_DUMP):
	(DEFSYMBOL_MULTIWORD_PREDICATE):
	(DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
	(DEFKEYWORD):
	The construct &##name is not sensible C.
	Fixes compilation errors with Unixware native compiler.

2000-09-14  Martin Buchholz  <martin@xemacs.org>

	* frame.c (device_matches_console_spec): no longer takes a `frame' arg
	(next_frame_internal): Removed.  We now just have next_frame.
	(next_frame):
	Write a simpler and cleaner one-pass algorithm.
	Remove called_from_delete_device arg and #ifdefed-out code.
	(previous_frame):
	Renamed from prev_frame.  Update callers.
	Cleaned up to have an analogous implementation to next_frame.
	(other_visible_frames_internal): Remove the
	called_from_delete_device bogus arg, and hence, remove this
	function.  Just use other_visible_frames().

	* window.c (Fnext_window):
	Prettify docstring.
	Since next_frame() is guaranteed to return a frame, remove check
	for nil inserted in previous patch.
	(Fprevious_window):
	Prettify docstring.
	Make code look more like Fnext_window.
	(window_loop):
	Respect the `console' arg when iterating through windows.
	Fixes bug: (get-buffer-window buffer t device) not respecting
	the `device' arg.
	This function needs more work, as others have pointed out.

	* frame.h: Rename prev_frame to previous_frame.
	device_matches_console_spec no longer takes a `frame' arg.

	* s/gnu.h:
	* s/linux.h:
	* s/hpux.h:
	Use EMACS_BLOCK_SIGNAL instead of sigblock.
	From "Golubev I. N." <gin@mo.msk.ru>.

	* make-src-depend: Fix typo.

2000-09-13  Martin Buchholz  <martin@xemacs.org>

	* window.c (Fnext_window):
	next_frame() might return nil, not a frame.
	Fixes this crash:
	(gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'

	* frame.c (next_frame_internal):
	We've passed a frame if we've passed its device.
	Fixes this crash:
	(gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)

2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	Allow option to suppress accelerators in menu/dialog items.
	(populate_or_checksum_helper): Pass dialog title through above.

2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_key_to_emacs_keysym):
	Add "pause" key, fix "menu" key.

2000-09-09  Martin Buchholz  <martin@xemacs.org>

	* eval.c (reinit_vars_of_eval):
	Increase max_lisp_eval_depth to 1000,
	required for thai-xtis.el to byte-compile under some circumstances.

2000-09-04  Martin Buchholz  <martin@xemacs.org>

	* event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
	From Kenichi Handa.

2000-09-01  Martin Buchholz  <martin@xemacs.org>

	* make-src-depend: Make the generated Makefiles smaller.

	* s/hpux.h (SETUP_SLAVE_PTY):
	Provide a %d in the format string for the errno argument.

	* editfns.c (Ftemp_directory):
	Warning fix.
	Avoid buffer overrun on very long file name.

	* input-method-xlib.c (XIM_init_device):
	6th parameter of XRegisterIMInstantiateCallback has different
	pointer types on different OSes, so simply cast to (void *).

	* unexhp9k800.c: Warning fixes.  Fiddly changes.

	* sysdll.c (dll_open):
	shl_load will hang hard if passed a NULL filename.
	Simply return NULL for compatibility with dlopen.
	* sysdll.c: Conform to XEmacs coding standards.

	* sysdep.c (get_pty_max_bytes):
	Support pty input lines longer than 512 bytes on HP-UX 10.20.

2000-08-31  Martin Buchholz  <martin@xemacs.org>

	* tooltalk.c: Add #include <syssignal.h>

2000-08-12  Alexandre Oliva  <aoliva@redhat.com>

	* s/hpux.h: Don't use undefined function sigunblock().

2000-08-31  Martin Buchholz  <martin@xemacs.org>

	* config.h.in: Add HAVE_BALLOON_HELP.
	* emacs.c: Use HAVE_BALLOON_HELP.
	* Makefile.in.in (x_objs):
	Make Balloon Help conditional on finding shape.h.

2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* syntax.c (regex_emacs_buffer_p): New variable.
	* syntax.h (regex_emacs_buffer_p): extern.
	* search.c (looking_at_1):
	(string_match_1):
	(fast_string_match):
	(search_buffer): Set regex_emacs_buffer_p.
	* regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
	when before_dot, at_dot, after_dot.

2000-08-23  Andy Piper  <andy@xemacs.org>

	* gui-x.c (popup_selection_callback): Only set action_occurred
	when we really have an image instance.
	* gui-msw.c (mswindows_handle_gui_wm_command): ditto.

2000-08-23  Andy Piper  <andy@xemacs.org>

	* gui-msw.c (mswindows_handle_gui_wm_command): set
	action_occurred.
	* gui-x.c (popup_selection_callback): ditto.

	* glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
	(XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
	(struct Lisp_Image_Instance): add action_occurred flag.

	* glyphs.c (redisplay_subwindow): use action_occurred flag.
	(image_instance_changed): ditto.
	(reset_frame_subwindow_instance_cache): only unmap windows - do
	not remove them from the cache also.

	* glyphs-widget.c (tab_control_update): better debug.
	(progress_gauge_update): ditto.
	(layout_update): ditto.
	(layout_instantiate): ditto.
	(tab_control_order_only_changed): cope with null pending items.

	* glyphs-msw.c (mswindows_tab_control_redisplay): add better
	debug. Force selection of an item when an action occurred. Cope
	with null pending_items.
	(mswindows_progress_gauge_redisplay): better debug.
	* glyphs-x.c (x_tab_control_redisplay): ditto.

	* redisplay.c (redisplay_frame): reset the frame cache if the
	frame is garbaged.

	* window.c (Fset_window_configuration): potentially re-enable
	frame cache reset.
	(window_unmap_subwindows): need to finalize instances here since
	it is only used in mark_window_as_deleted.

2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* nas.c (SndOpenDataForReading):
	nas.c (WaveOpenDataForReading):
	nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
	Somehow escaped from the 2000-08-14 patch.

2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>

	* nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
	of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.

2000-08-21  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_map_subwindow): Minor optimization - only map the
	window if it is not already displayed.

	* glyphs-msw.c (mswindows_map_subwindow): only map the window if
	it is not already displayed.

	* window.c (Fset_window_configuration): don't reset the frame
	cache.

	* glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
	instances from the frame cache if we are actually finalizing them.
	(reset_frame_subwindow_instance_cache): reset frame cache only
	after unmapping everything.
	(map_subwindow): set displayed flag after mapping.

2000-08-21  Martin Buchholz  <martin@xemacs.org>

	* data.c (indirect_function):
	Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.

	* eval.c (function_argcount):
	Use original function when signaling errors.

2000-08-18  Andy Piper  <andy@xemacs.org>

	* frame.c (delete_frame_internal): use new
	free_frame_subwindow_instances name.

	* glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
	(add_tab_item): make return type correct.
	(mswindows_tab_control_instantiate): assert index of tab.
	(mswindows_tab_control_redisplay): Re-code to use
	gui_item_equal_sans_selected and gui_item_list_find_selected.

	* glyphs-widget.c (tab_control_update): Correct comment.

	* window.c (window_unmap_subwindows): use new
	unmap_subwindow_instance_cache_mapper.
	(window_unmap_subwindows_cache_mapper): deleted.
	(Fset_window_configuration): comparisons should now be with
	EQ. Preserve the subwindow instance cache across configuration
	changes.
	(allocate_window): ditto.
	(make_dummy_parent): ditto.

	* glyphs.c (free_frame_subwindow_instances): rename from
	free_frame_subwindow_instance_cache. finalize all instances rather
	than just those in the display cache.
	(finalize_all_subwindow_instances): walk windows unmapping and
	finalizing subwindows.
	(unmap_subwindow_instance_cache_mapper): moved from
	window.c. Allow finalization as well as unmapping.

	* gui.c (gui_item_list_find_selected): new function.

	* gui.h (gui_item_list_find_selected): declare.

	* glyphs-x.c (x_tab_control_redisplay): pick tab
	explicitly. Re-code to use gui_item_equal_sans_selected and
	gui_item_list_find_selected.

	* glyphs-x.h: add lwlib-utils.h

	* buffer.c (Frecord_buffer): undo previous change.

2000-08-09  Vin Shelton  <acs@xemacs.org>

	* config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
	possible.  Create temporary files more securely.  The patch was
	generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
	<Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
	http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
	for details.

2000-08-07  Ben Wing  <ben@xemacs.org>

	* getloadavg.c: remove duplicate (and windows-breaking)
	includes of fcntl.h and sys/file.h.

	* nt.c: remove duplicate getloadavg() definition.

	* sysdll.h (Qdll_filename_encoding): add missing stand-in
	encodings.

2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* eval.c (function_argcount): If function needs to be autoloaded
	actually use the loaded definition.
	GCPRO function.

2000-08-05  Ben Wing  <ben@xemacs.org>

	* getloadavg.c: add prototype for getloadavg().  remove
	duplicate WIN32_NATIVE/CYGWIN code (already in the middle
	of the code).  remove duplicate header includes.

	* s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.

	* s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
	don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
	useful load average.

	* alloc.c (reinit_alloc_once_early): removed references to
	VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
	the lisp vars are the only things referencing the malloc_sbrk_*
	vars, and they were already if 0'd out.  these vars only exist
	in the older malloc.c, which is basically unused, and they're
	only for informational purposes.

	* m\*.h: removed useless VIRT_ADDR_VARIES.

	* m\powerpc.h: removed stray NO_ARG_ARRAY.

2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>

	* redisplay-msw.c (mswindows_output_dibitmap): Set foreground
	color if the image is a mono pixmap.

2000-07-30  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (release):
	Remove stray @.

	* buffer.c (directory_is_current_directory):
	* dired-msw.c (mswindows_get_files):
	* dired.c:
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion_stat):
	* dired.c (Ffile_attributes):
	[[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
	preprocessor tricks, to avoid problems on some machines
	(e.g. SCO).

	* callproc.c (egetenv): GC docs.

	* console-msw.h:
	* console-msw.h (struct mswindows_dialog_id):
	* lrecord.h (lrecord_type):
	New object for use with MSW dialogs.

	* console.h (struct console_methods):
	New enable/disable frame methods, for proper modal dialogs.

	* device-msw.c (msprinter_default_printer): Fix to follow
	proper Mule conventions.

	* device-msw.c:
	* device-msw.c (signal_open_printer_error):
	* device-msw.c (msprinter_init_device):
	* device-msw.c (ensure_not_printing):
	* device-msw.c (plist_get_margin):
	* device-msw.c (Fmsprinter_select_settings):
	* device-msw.c (finalize_devmode):
	* device-msw.c (Fmsprinter_settings_despecialize):
	* device-msw.c (signal_enum_priner_error):
	* extents.c (decode_extent):
	* extents.c (decode_map_extents_flags):
	* extents.c (decode_extent_at_flag):
	* extents.c (Fextent_at):
	* extents.c (Fextents_at):
	* extents.c (symbol_to_glyph_layout):
	[[[[2]]]] Use structured errors.

	* dialog-msw.c:
	* dialog-msw.c (mswindows_is_dialog_msg):
	* dialog-msw.c (mark_mswindows_dialog_id):
	* dialog-msw.c (dialog_proc):
	* dialog-msw.c (handle_question_dialog_box):
	* dialog-msw.c (syms_of_dialog_mswindows):
	Define new object to clean up marking; use it as a dialog identifier.
	Call new delete-dialog-box-hook.

	* dialog-x.c (dbox_selection_callback):
	* dialog-x.c (dbox_descriptor_to_widget_value):
	* dialog-x.c (x_make_dialog_box_internal):
	Call new delete-dialog-box-hook.
	Return an id.

	* dialog.c:
	* dialog.c (syms_of_dialog):
	* dialog.c (vars_of_dialog):
	Define new delete-dialog-box-hook, for use w/modal dialog boxes.

	* eval.c:
	* eval.c (signal_call_debugger):
	when noninteractive, output stack traces on the console instead
	of in a (never-seen) buffer.

	* eval.c (signal_type_error):
	* eval.c (invalid_argument_2):
	* lisp.h:
	new funs for use w/structured errors.

	* event-Xt.c:
	* event-Xt.c (x_to_emacs_keysym):
	* event-Xt.c (describe_event):
	* event-Xt.c (emacs_Xt_event_handler):
	* event-Xt.c (vars_of_event_Xt):
	* event-msw.c:
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (vars_of_event_mswindows):
	rename {x,mswindows}-debug-events to debug-{}-events for
	consistency with other debug-foo variables.

	* event-stream.c:
	document next-event more clearly.

	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (Funhandled_file_name_directory):
	* fileio.c (file_name_as_directory):
	* fileio.c (Ffile_name_as_directory):
	* fileio.c (directory_file_name):
	* fileio.c (Fdirectory_file_name):
	* fileio.c (Fmake_temp_name):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (expand_and_dir_to_file):
	* fileio.c (barf_or_query_if_file_exists):
	* fileio.c (check_executable):
	* fileio.c (Ffile_exists_p):
	* fileio.c (Ffile_writable_p):
	* fileio.c (Ffile_directory_p):
	* fileio.c (Ffile_regular_p):
	* fileio.c (Ffile_modes):
	* fileio.c (Ffile_newer_than_file_p):
	* fileio.c (Fverify_visited_file_modtime):
	* fileio.c (Fset_visited_file_modtime):
	* fileio.c (auto_save_1):
	(1). (2).
	fix up gcpro's.

	* frame-msw.c:
	* frame-msw.c (mswindows_init_frame_1):
	* frame-msw.c (mswindows_enable_frame):
	* frame-msw.c (error_frame_unsizable):
	* frame-msw.c (msprinter_init_frame_1):
	* frame-msw.c (msprinter_init_frame_3):
	* frame-msw.c (console_type_create_frame_mswindows):
	(2).
	implement new enable/disable frame methods.

	* frame-x.c:
	* frame-x.c (x_enable_frame):
	* frame-x.c (console_type_create_frame_x):
	implement new enable/disable frame methods.

	* frame.c:
	* frame.c (Fdisable_frame):
	* frame.c (syms_of_frame):
	* frame.h (struct frame):
	implement new enable/disable frame methods/functions.

	* general-slots.h:
	add initial-focus.

	* glyphs-msw.c (mswindows_widget_instantiate):
	comment that initial-focus should be implemented.

	* glyphs-widget.c:
	* glyphs-widget.c (check_valid_instantiator):
	* glyphs-widget.c (check_valid_orientation):
	* glyphs-widget.c (check_valid_tab_orientation):
	* glyphs-widget.c (check_valid_justification):
	* glyphs-widget.c (check_valid_border):
	* glyphs-widget.c (check_valid_callback):
	* glyphs-widget.c (check_valid_int_or_function):
	* glyphs-widget.c (check_valid_string_or_vector):
	* glyphs-widget.c (check_valid_item_list_1):
	* glyphs-widget.c (widget_validate):
	* glyphs-widget.c (combo_box_validate):
	* glyphs-widget.c (widget_instantiate):
	* glyphs-widget.c (syms_of_glyphs_widget):
	* glyphs-widget.c (VALID_WIDGET_KEYWORDS):
	* glyphs-widget.c (image_instantiator_combo_box):
	* glyphs-widget.c (image_instantiator_scrollbar):
	* glyphs-widget.c (image_instantiator_tab_control):
	* glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
	(2).
	support (unimplemented) keyword initial-focus.
	reindent long macros.

	* glyphs-x.c (x_redisplay_widget):
	* glyphs-x.c (x_button_instantiate):
	* glyphs-x.c (x_button_redisplay):
	* glyphs-x.c (x_progress_gauge_instantiate):
	* glyphs-x.c (x_edit_field_instantiate):
	* glyphs-x.c (x_combo_box_instantiate):
	* glyphs-x.c (x_tab_control_instantiate):
	* glyphs-x.c (x_label_instantiate):
	* gui-x.c:
	* gui-x.c (button_item_to_widget_value):
	* gui-x.c (gui_items_to_widget_values_1):
	* gui-x.c (gui_item_children_to_widget_values):
	* gui-x.c (gui_items_to_widget_values):
	* gui-x.h:
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	add new flag to gui-parsing routines to indicate whether
	accelerator specs should be supported.

	* glyphs.c (syms_of_glyphs): use DEFSYMBOL.

	* glyphs.h (struct Lisp_Image_Instance):
	* glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
	add initial-focus flag.

	* gui.c:
	* gui.c (syms_of_gui):
	* gui.c (vars_of_gui):
	clean up menu-no-selection-hook.

	* gui.h:
	support delete-dialog-box-hook.

	* lread.c (Fload_internal):
	* lread.c (locate_file_in_directory_mapper):
	(1).

	* lrecord.h:
	* lrecord.h (struct toolbar_button):
	* lrecord.h (syms_of_toolbar):
	document how to create a new object.

	* menubar-msw.c (mswindows_char_is_accelerator):
	may be called on frames w/o menus.

	* menubar.c (vars_of_menubar):
	clean up :filter docs.

	* nt.c (readdir):
	* ntproc.c:
	(1).

	* process-nt.c:
	* process-nt.c (validate_signal_number):
	* process-nt.c (signal_cannot_launch):
	* process-nt.c (nt_create_process):
	* process-nt.c (nt_send_process):
	* process-nt.c (nt_kill_child_process):
	* process-nt.c (nt_open_network_stream):
	* process-nt.c (syms_of_process_nt):
	(2).
	delete quote-handling.  call new lisp code that does it better.

	* process-unix.c (connect_to_file_descriptor):
	* process-unix.c (allocate_pty):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	(1). (2).

	* process.c:
	* process.c (Fstart_process_internal):
	(2).  need to canonicalize process path even if absolute.

	* select-msw.c (symbol_to_ms_cf):
	* select-msw.c (ms_cf_to_symbol):
	* select-msw.c (cf_is_autofreed):
	* select-msw.c (mswindows_destroy_selection):
	* select.c:
	* select.c (syms_of_select):
	* select.h:
	support dibv5, fix bugs. (from Mike Alexander)

	* select.c (Fget_selection_internal):
	* select.c (select_convert_out):

	* sysdep.c:
	* sysdep.c (xemacs_stat):
	renamed.

	* sysdep.c (mkdir):
	* sysdep.c (rmdir):
	but keep original stat() here because we provide encapsulation
	around these funs.

	* sysfile.h:
	* sysfile.h (fstat):
	remove stat garbage.

	* syswindows.h:
	fix X/MSW conflict.
	don't include tchar.h.  it's inappropriate because it makes
	compile-time distinctions when we want runtime distinctions.
	(we provide our own tchar replacements)

	* toolbar.c:
	use default object printer for toolbar-button.

	* unexcw.c:
	make sure we don't encapsulate.

	* window.c (vars_of_window):
	emphasize that temp-buffer-show-hook is obsolete.

2000-08-05  Martin Buchholz  <martin@xemacs.org>

	* glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
	(Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.

	* events.c (Fevent_timestamp_lessp):
	Not 64-bit clean.  Use EMACS_INT, not int.

2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>

	* lrecord.h (lrecord_types): Changed lrecord_type_count to an
	unsigned int and changed the last enum to
	lrecord_type_last_built_in_type.
	(lrecord_implementations_table): changed prototype to know how
	long the array is supposed to be.
	(lrecord_type_count): new unsigned int to keep track of the
	current number of lisp lrecord types.
	(DEFINE_EXTERNAL_LRECORD):
	(DECLARE_EXTERNAL_LRECORD): Added these two for external
	dynamic-modules to declare new lisp types. They are the same
	as the non-EXTERNAL forms, but declare an lrecord_type unsigned
	int for each new type, and increment lrecord_type_count by 1.

	* alloc.c (lrecord_implementations_table): Changed to reference
	lrecord_type_last_built_in_type for the size of the array.
	Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.

2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* glyphs.h (check_valid_item_list): Renamed from
	check_valid_item_list_1.

2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>

	* select.c (Qselect_coerce): New.
	* select.c (Vselection_coercion_alist): New.
	* select.c (syms_of_select): Declare.
	* select.c (get-selection-internal): Use it.
	Use the new select-coerce functionality.

	* select.c (select_coerce): New.
	* select.h (select_coerce): Declare.
	New function to coerce one type of data into another.

2000-08-03  Martin Buchholz  <martin@xemacs.org>

	* callproc.c (Fcall_process_internal):
	(Fcall_process_internal):
	* process-unix.c (unix_create_process):
	Save and restore the value of errno, so that error messages are accurate.

2000-08-01  Martin Buchholz  <martin@xemacs.org>

	* elhash.c (print_hash_table):
	Fix printing of hash tables to also use `key-and-value' instead of `t'.
	Prettify docstrings and indentation.

2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* window.c (Fwindow_pixel_edges): Subtract frame border and
	gutter size.

2000-07-31  Andy Piper  <andy@xemacs.org>

	* buffer.c (Frecord_buffer): make absolutely sure that redisplay
	will acknowledge the change.

	* glyphs.h: declare tab_control_order_only_changed.

	* glyphs-x.c (x_tab_control_redisplay): use
	tab_control_order_only_changed.

	* glyphs-widget.c (tab_control_order_only_changed): new function.

	* glyphs-msw.c (mswindows_tab_control_redisplay): use
	tab_control_order_only_changed.

	* gui.c (gui_item_equal_sans_selected): new function.
	(gui_item_equal): use it.

	* glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
	:properties in favor of :items..

	* glyphs-widget.c (check_valid_item_list): rename from
	check_valid_item_list_1.
	(check_valid_item_list_1): renamed.
	(combo_box_validate): deprecate :properties in favor of :items.
	(widget_instantiate): ditto.
	(tab_control_update): ditto.
	(image_instantiator_combo_box): ditto.
	(image_instantiator_tree_view): ditto.
	(image_instantiator_tab_control): ditto.
	(layout_post_instantiate): remove dead code.

	* print.c (debug_print_no_newline): only write to debugger if in
	WIN32_NATIVE.

	* elhash.c (Fmake_hash_table): update doc string.

	* event-msw.c (mswindows_wnd_proc): don't allow processing of
	messages whilst in GC. This at least stops XEmacs crashing but has
	the potential for wierd behaviour.

2000-07-31  Martin Buchholz  <martin@xemacs.org>

	* config.h.in:
	Make existence of s&m files optional.

	* s/bsd386.h: Remove HAVE_GETLOADAVG.
	* s/freebsd.h: Remove HAVE_GETLOADAVG.
	* s/gnu.h: Remove HAVE_GETLOADAVG.
	* s/netbsd.h: Remove HAVE_GETLOADAVG.
	* s/sol2.h: Remove HAVE_GETLOADAVG.
	* lisp.h: Remove getloadavg() declaration.
	* fns.c:
	Include <sys/loadavg.h> if available.
	Don't declare our own getloadavg() if HAVE_GETLOADAVG.
	* config.h.in: 	Group together getloadavg()-related macros.
	Use only configure-time tests to detect getloadavg().

2000-07-30  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in (TransientEmacsShell.o): Fix race condition.

2000-07-25  Andy Piper  <andy@xemacs.org>

	* syswindows.h: add tchar.h for native builds.

	* frame.c (syms_of_frame): remove set-glyph-image.

	* general-slots.h: add Qset_glyph_image.

	* glyphs-widget.c (layout_update): add domain arg to
	set-glyph-image.
	(syms_of_glyphs_widget): remove set-glyph-image.

2000-07-23  Ben Wing  <ben@xemacs.org>

	* dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
	Vpopup_frame_list.

2000-07-22  Andy Piper  <andy@xemacs.org>

	* symsinit.h: add syms_of_win32().

	* gui-msw.c (syms_of_gui_mswindows): remove
	Fmswindows_shell_execute.
	(Fmswindows_shell_execute): moved to win32.c.

	* emacs.c (main_1): add syms_of_win32 ().

	* win32.c (init_potentially_nonexistent_functions): rewrite in
	compiler-friendly terms.
	(Fmswindows_shell_execute): move here from gui-msw.c.
	(syms_of_win32): new.

	* device-msw.c (Fmswindows_printer_list): clean up args to
	EnumPrinters.
	Don't include tchar under cygwin or mingw.
	(msprinter_default_printer): make cygwin-friendly.

2000-07-21  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (image_instantiator_tree_view): use tab
	control's update function.
	(layout_property): new function. Retrieve items.

	* glyphs-msw.c (mswindows_tree_view_redisplay): new
	function. Re-populate the tree view from the pending items.

	* glyphs.c (instantiate_image_instantiator): Make sure the domain
	is designated the parent if the domain is an image instance. This
	is needed so that dirtiness can be cascade up the hierarchy and
	thus for layout children to be redisplayed correctly.
	(allocate_image_instance): rename glyph -> parent.

	* redisplay.h: change redisplay_output_layout signature.

	* redisplay-msw.c (mswindows_output_display_block): use domain
	arg.

	* redisplay-x.c (x_output_display_block): use domain arg.

2000-07-10  Andy Piper  <andy@xemacs.org>

	* window.c (Fset_window_configuration): add comment.

	* redisplay-output.c (compare_runes):
	(redisplay_output_subwindow): redisplay rather than update subwindow.
	(redisplay_output_layout): ditto.

	* redisplay-msw.c (mswindows_frame_output_end):
	(mswindows_frame_output_end): make defer window pos optional.

	* lisp.h: add Flast.

	* glyphs.h (struct image_instantiator_methods): add dest_mask top
	normalize method. Change update method to be for changed
	instantiators. Add redisplay method. Change signature of layout
	method.
	(struct Lisp_Image_Instance): add instantiator.
	(IMAGE_INSTANCE_INSTANTIATOR): new.
	(IMAGE_INSTANCE_SUBWINDOW_FACE): new.
	(XIMAGE_INSTANCE_INSTANTIATOR): new.
	(XIMAGE_INSTANCE_SUBWINDOW_FACE): new.

	* glyphs.c:
	(find_instantiator_differences): new function.
	(Fset_instantiator_property): new convenience function.
	(check_image_instance_structure): strictly check for vector
	instantiators.
	(normalize_image_instantiator): make non-static.
	(instantiate_image_instantiator): pass on dest_mask and use new
	signatures for image_instance_layout and friends.
	(mark_image_instance): mark the instantiator. Mark the subwindow
	face not the widget face.
	(image_instance_equal): add instantiator.
	(image_instance_hash): ditto.
	(allocate_image_instance): ditto.
	(Fset_image_instance_property): removed.
	(Fimage_instance_file_name): ditto.
	(Fcolorize_image_instance): ditto.
	(image_instance_layout): add offsets to be set.
	(update_image_instance): new function. update an image instance
	from its changed instantiator.
	(inherit_normalize): add dest_mask.
	(xbm_normalize): ditto.
	(xface_normalize): ditto.
	(xpm_normalize): ditto.
	(text_update): set_property -> update.
	(image_instantiate): use the glyph identity as a hash key, not the
	instantiator.
	(glyph_width): use new image_instance_layout signature.
	(glyph_ascent): ditto.
	(glyph_descent): ditto.
	(glyph_height): ditto.
	(glyph_query_geometry): ressurrect.
	(glyph_layout): ditto.
	(redisplay_subwindow): update -> redisplay.
	(syms_of_glyphs): add Fset_instantiator_property.
	(image_instantiator_format_create): set_property -> update.

	* glyphs-x.c:
	(autodetect_normalize): add dest_maks to signature.
	(x_redisplay_subwindow): update -> redisplay.
	(x_redisplay_widget): ditto.
	(x_button_redisplay): ditto.
	(x_progress_gauge_redisplay): ditto.
	(x_tab_control_redisplay): ditto. Rewrite to cope with changed
	stacking order.
	(console_type_create_glyphs_x): update -> redisplay.
	(image_instantiator_format_create_glyphs_x): ditto.

	* glyphs-widget.c:
	(check_valid_instantiator): disallow glyphs in the instantiator,
	they must now be vectors.
	(check_valid_instantiator_list): ditto.
	(glyph_instantiator_to_glyph): use internal symbol rather than
	intern.
	(widget_update): renamed from widget_set_property. Call cascaded
	update methods.
	(redisplay_widget): renamed from update_widget.
	(widget_layout): image_instance_layout now takes position as well
	as size.
	(widget_normalize): ditto.
	(widget_instantiate): ditto.
	(tab_control_query_geometry) ditto.:
	(tab_control_update): renamed from tab_control_set_property.
	(progress_gauge_update): set_property -> update.
	(layout_normalize): rewrite so that child instantiators are
	normalized also.
	(layout_update): new function. Create glyphs from the normalized
	children and cope with any other layout keywords. We do not
	instantiate children here that will be take care of by
	redisplay_output_layout.
	(layout_instantiate): call layout_update and not much else.
	(layout_post_instantiate): not sure whether this is needed
	anymore.
	(layout_query_geometry): query glyph geometry rather than
	image_instance geometry.
	(layout_layout): set offsets from pass in parameters. Use glyph
	geometry and layout functions rather than image instance ones.
	(native_layout_layout): ditto.
	(syms_of_glyphs_widget): add make-glyph and set-glyph-image.
	(image_instantiator_widget): set_property -> update.
	(image_instantiator_buttons): ditto.
	(image_instantiator_progress_guage): ditto.
	(image_instantiator_tab_control): ditto.
	(VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
	(image_instantiator_layout): add update method.

	* glyphs-msw.c (bmp_normalize):
	(mswindows_resource_normalize): add dest_mask so that it can be
	proprogated by layout_normalize.
	(begin_defer_window_pos): make optional because it may not be the
	right thing to do and it introduces differences with X.
	(mswindows_unmap_subwindow): ditto.
	(mswindows_map_subwindow): ditto.
	(mswindows_redisplay_subwindow): renamed from
	mswindows_update_subwindow.
	(mswindows_redisplay_widget): ditto.
	(mswindows_button_redisplay): renamed from
	mswindows_button_update. Update is now what the instantiation
	function does for a changed instantiator.
	(mswindows_progress_gauge_instantiate): set the progress value
	here if appropriate.
	(mswindows_tab_control_redisplay): cope with re-ordering of the
	members of the tab widget by simply selecting the new top
	widget. This makes things appear ok if you click on a tab.
	(mswindows_combo_box_instantiate): image_instance_layout now takes
	position as well as size.
	(mswindows_progress_gauge_redisplay): renamed from
	mswindows_progress_gauge_update.
	(console_type_create_glyphs_mswindows): fix update -> redisplay.
	(image_instantiator_format_create_glyphs_mswindows): ditto.

	* glyphs-eimage.c (jpeg_normalize):
	(gif_normalize):
	(png_normalize):
	(tiff_normalize): add dest_mask so that it can be proprogated by
	layout_normalize.

	* elhash.c:
	(print_hash_table):
	(hash_table_weakness_validate):
	(decode_hash_table_weakness):
	(Fhash_table_weakness):
	(Fhash_table_type):
	(syms_of_elhash): use Ben's naming scheme for hashtable types..

	* console.h (struct console_methods): move update_* to
	redisplay_*.

2000-07-20  Ben Wing  <ben@xemacs.org>

	* *.[ch] (XSETOBJ): remove unused middle argument.
	lisp-disunion.h: correct wrap_object() to one argument.

2000-07-15  Ben Wing  <ben@xemacs.org>

        * s/cygwin32.h:
        * s/cygwin32.h (CYGWIN_CONV_PATH):
        Add missing logb prototype for v1.1.
        Use post-b20 names and alias to pre-b20 names when pre-b20.

        * s/windowsnt.h: [5].

2000-07-15  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (x_objs):
	* Makefile.in.in (sheap_objs):
	* Makefile.in.in (objs):
	added win32.o, cosmetic cleanups.

        * alloc.c (Fmake_byte_code):
        [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
        etc. macros which declare their own args now.

        * alloc.c (syms_of_alloc):
        [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.

        * buffer.c:
        Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.

        * buffer.c (Fget_file_buffer):
        Fixed GCPRO problem.

	* glyphs-msw.c (bmp_normalize):
	(mswindows_resource_normalize): add dest_mask so that it can be
	proprogated by layout_normalize.
	(begin_defer_window_pos): make optional because it may not be the
	right thing to do and it introduces differences with X.
	(mswindows_unmap_subwindow): ditto.
	(mswindows_map_subwindow): ditto.
	(mswindows_redisplay_subwindow): renamed from
	mswindows_update_subwindow.
	(mswindows_redisplay_widget): ditto.
	(mswindows_button_redisplay): renamed from
	mswindows_button_update. Update is now what the instantiation
	function does for a changed instantiator.
	(mswindows_progress_gauge_instantiate): set the progress value
	here if appropriate.
	(mswindows_tab_control_redisplay): cope with re-ordering of the
	members of the tab widget by simply selecting the new top
	widget. This makes things appear ok if you click on a tab.
	(mswindows_combo_box_instantiate): image_instance_layout now takes
	position as well as size.
	(mswindows_progress_gauge_redisplay): renamed from
	mswindows_progress_gauge_update.
	(console_type_create_glyphs_mswindows): fix update -> redisplay.
	(image_instantiator_format_create_glyphs_mswindows): ditto.

	* glyphs-eimage.c (jpeg_normalize):
	(gif_normalize):
	(png_normalize):
	(tiff_normalize): add dest_mask so that it can be proprogated by
	layout_normalize.

	* elhash.c:
	(print_hash_table):
	(hash_table_weakness_validate):
	(decode_hash_table_weakness):
	(Fhash_table_weakness):
	(Fhash_table_type):
	(syms_of_elhash): use Ben's naming scheme for hashtable types..

	* console.h (struct console_methods): move update_* to
	redisplay_*.

2000-07-20  Ben Wing  <ben@xemacs.org>

	* *.[ch] (XSETOBJ): remove unused middle argument.
	lisp-disunion.h: correct wrap_object() to one argument.

2000-07-15  Ben Wing  <ben@xemacs.org>

	* s/cygwin32.h:
	* s/cygwin32.h (CYGWIN_CONV_PATH):
	Add missing logb prototype for v1.1.
	Use post-b20 names and alias to pre-b20 names when pre-b20.

	* s/windowsnt.h: [5].

2000-07-15  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (x_objs):
	* Makefile.in.in (sheap_objs):
	* Makefile.in.in (objs):
	added win32.o, cosmetic cleanups.

	* alloc.c (Fmake_byte_code):
	[[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
	etc. macros which declare their own args now.

	* alloc.c (syms_of_alloc):
	[[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.

	* buffer.c:
	Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.

	* buffer.c (Fget_file_buffer):
	Fixed GCPRO problem.

	* buffer.c (get_truename_buffer):
	Fixed comment about GC checking.

	* buffer.c (syms_of_buffer):
	Undeclared those dedicated frame funs.
	[2].

	* buffer.h:
	Define convenience macros for internal/external conversions.
	[[[3]]]: Define codesys aliases Qcommand_argument_encoding
	and Qenvironment_variable_encoding for cleaner code.

	* bufslots.h:
	Remove dedicated-frame; in lisp.

	* bytecode.c (funcall_compiled_function):
	[1].

	* bytecode.c (syms_of_bytecode):
	[2].

	* console-msw.c:
	* console-msw.c (mswindows_show_console): Rewrote.

	* console-msw.c (Fmswindows_debugging_output): New.
	Sends to OutputDebugString (special MSWin debugger interface).

	* console-msw.c (Fmswindows_message_box):
	Fixed stupid bugs so it works when called from kill-emacs.

	* console-msw.c (syms_of_console_mswindows):
	Declare Fmswindows_debugging_output.

	* console-msw.h:
	New MSWin prototypes.

	* console-msw.h (struct mswindows_frame):
	New entry last-click-mods for improved button-modifier support.

	* console-msw.h (FRAME_MSWINDOWS_POPUP):
	New struct entry `popup' with corresponding accessor.

	* console-x.c:
	* console-x.c (split_up_display_spec):
	* console-x.c (get_display_arg_connection):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.c (x_canonicalize_device_connection):
	[[[6]]]: Change char to more specific type.
	[[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];

	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.c (x_canonicalize_device_connection):
	[[[9]]]: Fix up error signalling to use new structured error system.

	* console-x.h:
	[[[4]]]: Define codesys aliases:
	Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
	Qx_color_name_encoding, Qx_display_name_encoding.

	* console.h (struct console_methods):
	New method make_dialog_box_internal supersedes older
	popup_dialog_box method.

	* data.c:
	Define many new errors, part of new structured errors.

	* data.c (init_errors_once_early):
	* data.c (syms_of_data):
	[2].

	* device-msw.c (mswindows_init_device):
	[[[5]]]: Cleanup to support NT 3.51.

	* device-msw.c (decode_devmode): Cleanup.

	* device-msw.c (mswindows_handle_print_setup_dialog_box):
	* device-msw.c (mswindows_handle_print_dialog_box):
	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	* device-msw.c (syms_of_device_mswindows):
	Delete the dialog box primitives recently introduced by Kirill and
	instead interface to general dialog box interface.

	* device-x.c:
	* device-x.c (compute_x_app_name):
	* device-x.c (x_init_device):
	* device-x.c (Fx_valid_keysym_name_p):
	* device-x.c (Fx_set_font_path):
	[6].
	[7].

	* device.h (wrap_device): New.
	First of its kind; meant to replace XSETDEVICE.

	* dialog-msw.c: Many file-dialog symbols.

	* dialog-msw.c (mswindows_register_popup_frame): New.
	* dialog-msw.c (mswindows_is_dialog_msg): New.
	For supporting kbd traversal in dialog boxes.

	* dialog-msw.c (dialog_proc):
	Support hitting ESC in dialogs.

	* dialog-msw.c (struct):
	Common dialog box errors.

	* dialog-msw.c (handle_file_dialog_box): New.
	Add file dialog code.

	* dialog-msw.c (handle_question_dialog_box):
	Redo existing code to support new question dialog syntax.

	* dialog-msw.c (console_type_create_dialog_mswindows):
	We support new dialog console method.

	* dialog-msw.c (syms_of_dialog_mswindows):
	* dialog-msw.c (vars_of_dialog_mswindows):
	New file dialog symbols, vars.

	* dialog-x.c:
	* dialog-x.c (maybe_run_dbox_text_callback):
	* dialog-x.c (dbox_descriptor_to_widget_value):
	* dialog-x.c (x_make_dialog_box_internal):
	* dialog-x.c (console_type_create_dialog_x):
	Mule-ize entire file.
	Redo to support question dialog syntax.
	[6].

	* dialog.c:
	* dialog.c (Fmake_dialog_box_internal):
	* dialog.c (syms_of_dialog):
	Kill old popup-dialog-box, replace with new primitive.
	Just call device method or signal error.

	* eldap.c (Fldap_open):
	* eldap.c (Fldap_search_basic):
	* eldap.c (Fldap_add):
	* eldap.c (Fldap_modify):
	[1].
	[7].

	* emacs.c:
	* emacs.c (make_arg_list_1):
	* emacs.c (make_arg_list):
	Mule-ize call to dll_init().
	[6].
	[8].

	* emacs.c (make_argc_argv):
	* emacs.c (free_argc_argv):
	* emacs.c (init_cmdargs):
	* emacs.c (main_1):
	* emacs.c (Fkill_emacs):
	* emacs.c (Fdump_emacs):
	Update comments about what can be used in syms_* etc.
	Call init_win32() when necessary.
	Fix up MS Win dialog box in kill-buffer to actually work right.
	[7].

	* eval.c:
	* eval.c (For):
	* eval.c (Fand):
	* eval.c (Fprogn):
	* eval.c (Fprog1):
	* eval.c (Fprog2):
	* eval.c (FletX):
	* eval.c (Flet):
	* eval.c (condition_case_3):
	* eval.c (Feval):
	* eval.c (function_argcount):
	* eval.c (funcall_lambda):
	[1].

	* eval.c (type_error): New.
	* eval.c (maybe_type_error): New.
	* eval.c (continuable_type_error): New.
	* eval.c (maybe_continuable_type_error): New.
	* eval.c (type_error_with_frob): New.
	* eval.c (maybe_type_error_with_frob): New.
	* eval.c (continuable_type_error_with_frob): New.
	* eval.c (maybe_continuable_type_error_with_frob): New.
	New functions for use with structured errors.

	* event-Xt.c:
	* event-Xt.c (x_event_to_emacs_event):
	Buttons are now modifiers too.

	* event-Xt.c (emacs_Xt_current_event_timestamp):
	Implement new event method.
	* event-Xt.c (reinit_vars_of_event_Xt): Set it.

	* event-msw.c:
	* event-msw.c (ntpipe_shove_writer): [5].
	* event-msw.c (mswindows_enqueue_mouse_button_event):
	* event-msw.c (mswindows_drain_windows_queue):
	* event-msw.c (mswindows_wnd_proc): [7].
	* event-msw.c (mswindows_current_layout_has_AltGr): [5].
	* event-msw.c (mswindows_modifier_state):
	Throughout: support new button modifiers.

	* event-msw.c (emacs_mswindows_current_event_timestamp):
	Implement new event method.
	* event-msw.c (reinit_vars_of_event_mswindows): Set it.

	* event-stream.c:
	* event-stream.c (event_stream_current_event_timestamp): New.
	* event-stream.c (maybe_kbd_translate): New functionality.
	* event-stream.c (vars_of_event_stream):
	Document new kbd-translate-table functionality.

	* event-stream.c (Fcurrent_event_timestamp): New.
	New primitive for use in fabricated events.
	* event-stream.c (syms_of_event_stream): [2]. Declare new primitive.

	* events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.

	* events.c:
	* events.c (Fmake_event):
	* events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
	[1].
	[9].

	* events.c (format_event_object): fix gcc warnings.

	* events.c (Fevent_timestamp): Document new primitives.

	* events.c (TIMESTAMP_HALFSPACE): New.

	* events.c (Fevent_timestamp_lessp): New.  New primitive for
	comparing timestamps correctly (half-space algorithm).

	* events.c (Fevent_modifier_bits): Doc fix.

        	* buffer.c (get_truename_buffer): Fixed comment about GC
	checking.

	* events.c (Fevent_modifiers): Major doc addition.
	* events.c (event_x_y_pixel_internal): Typo fix.
	* events.c (syms_of_events): Declare new primitives.

        * buffer.c (syms_of_buffer):
        Undeclared those dedicated frame funs.
        [2].

        * buffer.h:
        Define convenience macros for internal/external conversions.
	[[[3]]]: Define codesys aliases Qcommand_argument_encoding
        and Qenvironment_variable_encoding for cleaner code.

        * bufslots.h:
        Remove dedicated-frame; in lisp.

        * bytecode.c (funcall_compiled_function):
        [1].

        * bytecode.c (syms_of_bytecode):
        [2].

        * console-msw.c:
        * console-msw.c (mswindows_show_console): Rewrote.

        * console-msw.c (Fmswindows_debugging_output): New.
        Sends to OutputDebugString (special MSWin debugger interface).

        * console-msw.c (Fmswindows_message_box):
        Fixed stupid bugs so it works when called from kill-emacs.

        * console-msw.c (syms_of_console_mswindows):
        Declare Fmswindows_debugging_output.

        * console-msw.h:
        New MSWin prototypes.

        * console-msw.h (struct mswindows_frame):
        New entry last-click-mods for improved button-modifier support.

        * console-msw.h (FRAME_MSWINDOWS_POPUP):
        New struct entry `popup' with corresponding accessor.

        * console-x.c:
        * console-x.c (split_up_display_spec):
        * console-x.c (get_display_arg_connection):
        * console-x.c (x_semi_canonicalize_console_connection):
        * console-x.c (x_canonicalize_device_connection):
        [[[6]]]: Change char to more specific type.
        [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];

        * console-x.c (x_semi_canonicalize_console_connection):
        * console-x.c (x_canonicalize_device_connection):
        [[[9]]]: Fix up error signalling to use new structured error system.

        * console-x.h:
        [[[4]]]: Define codesys aliases:
        Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
        Qx_color_name_encoding, Qx_display_name_encoding.

        * console.h (struct console_methods):
        New method make_dialog_box_internal supersedes older
        popup_dialog_box method.

        * data.c:
        Define many new errors, part of new structured errors.

        * data.c (init_errors_once_early):
        * data.c (syms_of_data):
        [2].

        * device-msw.c (mswindows_init_device):
        [[[5]]]: Cleanup to support NT 3.51.

        * device-msw.c (decode_devmode): Cleanup.

        * device-msw.c (mswindows_handle_print_setup_dialog_box):
        * device-msw.c (mswindows_handle_print_dialog_box):
        * device-msw.c (mswindows_handle_page_setup_dialog_box):
        * device-msw.c (syms_of_device_mswindows):
        Delete the dialog box primitives recently introduced by Kirill and
	instead interface to general dialog box interface.

        * device-x.c:
        * device-x.c (compute_x_app_name):
        * device-x.c (x_init_device):
        * device-x.c (Fx_valid_keysym_name_p):
        * device-x.c (Fx_set_font_path):
        [6].
        [7].

        First of its kind; meant to replace XSETDEVICE.

        * dialog-msw.c: Many file-dialog symbols.

        * dialog-msw.c (mswindows_register_popup_frame): New.
        * dialog-msw.c (mswindows_is_dialog_msg): New.
        For supporting kbd traversal in dialog boxes.

        * dialog-msw.c (dialog_proc):
        Support hitting ESC in dialogs.

        * dialog-msw.c (struct):
        Common dialog box errors.

        * dialog-msw.c (handle_file_dialog_box): New.
        Add file dialog code.

        * dialog-msw.c (handle_question_dialog_box):
        Redo existing code to support new question dialog syntax.

        * dialog-msw.c (console_type_create_dialog_mswindows):
        We support new dialog console method.

        * dialog-msw.c (syms_of_dialog_mswindows):
        * dialog-msw.c (vars_of_dialog_mswindows):
        New file dialog symbols, vars.

        * dialog-x.c:
        * dialog-x.c (maybe_run_dbox_text_callback):
        * dialog-x.c (dbox_descriptor_to_widget_value):
        * dialog-x.c (x_make_dialog_box_internal):
        * dialog-x.c (console_type_create_dialog_x):
        Mule-ize entire file.
        Redo to support question dialog syntax.
        [6].

        * dialog.c:
        * dialog.c (Fmake_dialog_box_internal):
        * dialog.c (syms_of_dialog):
        Kill old popup-dialog-box, replace with new primitive.
        Just call device method or signal error.

        * eldap.c (Fldap_open):
        * eldap.c (Fldap_search_basic):
        * eldap.c (Fldap_add):
        * eldap.c (Fldap_modify):
        [1].
        [7].

        * emacs.c:
        * emacs.c (make_arg_list_1):
        * emacs.c (make_arg_list):
        Mule-ize call to dll_init().
        [6].
        [8].

        * emacs.c (make_argc_argv):
        * emacs.c (free_argc_argv):
        * emacs.c (init_cmdargs):
        * emacs.c (main_1):
        * emacs.c (Fkill_emacs):
        * emacs.c (Fdump_emacs):
        Update comments about what can be used in syms_* etc.
        Call init_win32() when necessary.
        Fix up MS Win dialog box in kill-buffer to actually work right.
        [7].

        * eval.c:
        * eval.c (For):
        * eval.c (Fand):
        * eval.c (Fprogn):
        * eval.c (Fprog1):
        * eval.c (Fprog2):
        * eval.c (FletX):
        * eval.c (Flet):
        * eval.c (condition_case_3):
        * eval.c (Feval):
        * eval.c (function_argcount):
        * eval.c (funcall_lambda):
        [1].

        * eval.c (type_error): New.
        * eval.c (maybe_type_error): New.
        * eval.c (continuable_type_error): New.
        * eval.c (maybe_continuable_type_error): New.
        * eval.c (type_error_with_frob): New.
        * eval.c (maybe_type_error_with_frob): New.
        * eval.c (continuable_type_error_with_frob): New.
        * eval.c (maybe_continuable_type_error_with_frob): New.
        New functions for use with structured errors.

        * event-Xt.c:
        * event-Xt.c (x_event_to_emacs_event):
        Buttons are now modifiers too.

        * event-Xt.c (emacs_Xt_current_event_timestamp):
        Implement new event method.
        * event-Xt.c (reinit_vars_of_event_Xt): Set it.

        * event-msw.c:
        * event-msw.c (ntpipe_shove_writer): [5].
        * event-msw.c (mswindows_enqueue_mouse_button_event):
        * event-msw.c (mswindows_drain_windows_queue):
        * event-msw.c (mswindows_wnd_proc): [7].
        * event-msw.c (mswindows_current_layout_has_AltGr): [5].
        * event-msw.c (mswindows_modifier_state):
        Throughout: support new button modifiers.

        * event-msw.c (emacs_mswindows_current_event_timestamp):
        Implement new event method.
        * event-msw.c (reinit_vars_of_event_mswindows): Set it.

        * event-stream.c:
        * event-stream.c (event_stream_current_event_timestamp): New.
        * event-stream.c (maybe_kbd_translate): New functionality.
        * event-stream.c (vars_of_event_stream):
        Document new kbd-translate-table functionality.

        * event-stream.c (Fcurrent_event_timestamp): New.
        New primitive for use in fabricated events.
        * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.

        * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.

        * events.c:
        * events.c (Fmake_event):
        * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
        [1].
        [9].

        * events.c (format_event_object): fix gcc warnings.

        * events.c (Fevent_timestamp): Document new primitives.

        * events.c (TIMESTAMP_HALFSPACE): New.

        * events.c (Fevent_timestamp_lessp): New.  New primitive for
	comparing timestamps correctly (half-space algorithm).

        * events.c (Fevent_modifier_bits): Doc fix.

        * events.c (Fevent_modifiers): Major doc addition.
        * events.c (event_x_y_pixel_internal): Typo fix.
        * events.c (syms_of_events): Declare new primitives.

        * events.h:
        Update long comment for button modifiers, timestamps.

        * events.h (struct event_stream):
        New current_event_timestamp method.

        * extents.c:
        * extents.c (extent_in_region_p):
        * extents.c (decode_extent):
        * extents.c (Fset_extent_parent):
        * extents.c (decode_map_extents_flags):
        Fix gcc warnings.
        [9].

        * extents.c (struct extent_at_arg):
        * extents.c (decode_extent_at_flag):
        * extents.c (extent_at_mapper):
        * extents.c (extent_at_bytind):
        * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
        * extents.c (Fextents_at): New primitive. [9].
        * extents.c (symbol_to_glyph_layout): [9].
        Support new primitive `extents-at'.


        * extents.c (get_text_property_bytind):
        extent_at_bytind has another arg.
        [9].

        * extents.c (syms_of_extents): New primitive.

        * file-coding.c (Fmake_coding_system): [1].
        * file-coding.c (subsidiary_coding_system): fix gcc warning
        * file-coding.c (syms_of_file_coding): [2].

        * fileio.c (Fexpand_file_name):
        * fileio.c (Fsysnetunam):
        * fileio.c (Ffile_exists_p):
        * fileio.c (Ffile_executable_p):
        * fileio.c (Fverify_visited_file_modtime):
        Clean up GCPROing.

        * fileio.c (syms_of_fileio): [2].

        * filelock.c (lock_file_1):
        * filelock.c (current_lock_owner):
        * filelock.c (lock_if_free):
        * filelock.c (lock_file):
        * filelock.c (unlock_file):
        Clean up GCPROing.

        * fns.c (concat): Fix gcc warning.

        * fns.c (Fmember):
        * fns.c (Fold_member):
        * fns.c (Fmemq):
        * fns.c (Fold_memq):
        * fns.c (memq_no_quit):
        * fns.c (Fassoc):
        * fns.c (Fold_assoc):
        * fns.c (Fassq):
        * fns.c (Fold_assq):
        * fns.c (assq_no_quit):
        * fns.c (Frassoc):
        * fns.c (Fold_rassoc):
        * fns.c (Frassq):
        * fns.c (Fold_rassq):
        * fns.c (rassq_no_quit):
        * fns.c (Fdelete):
        * fns.c (Fold_delete):
        * fns.c (Fdelq):
        * fns.c (Fold_delq):
        * fns.c (delq_no_quit):
        * fns.c (Fremassoc):
        * fns.c (Fremassq):
        * fns.c (remassq_no_quit):
        * fns.c (Fremrassoc):
        * fns.c (Fremrassq):
        * fns.c (remrassq_no_quit):
        * fns.c (Freverse):
        * fns.c (mapcar1):
        [1].

        * frame-msw.c (mswindows_init_frame_1):
        * frame-msw.c (mswindows_delete_frame):
        Register popups with dialog code so keyboard traversing works.

        * frame-tty.c (tty_raise_frame_no_select): [1].

        * frame-x.c:
        * frame-x.c (x_set_frame_text_value):
        * frame-x.c (x_set_frame_properties):
        * frame-x.c (x_create_widgets):
        [7].

        * frame.c:
        * frame.c (Fmouse_pixel_position): Minor doc fixes.

        Macro like wrap_device.

        * general.c:
        * general.c (SYMBOL):
        * general.c (syms_of_general):
        Major reorg.  This is now just a wrapper and symbols themselves
        are listed in general-slots.h.

        * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
        * glyphs-msw.c (mswindows_resource_instantiate): [5].

        * glyphs-msw.c (mswindows_native_layout_instantiate):
        Add DS_CONTROL so keyboard traversal will work.

        * glyphs-widget.c:
        * glyphs-widget.c (syms_of_glyphs_widget):
        Move some symbols to general-slots.h.

        * glyphs-x.c:
        * glyphs-x.c (xbm_instantiate_1):
        * glyphs-x.c (x_xbm_instantiate):
        * glyphs-x.c (x_xface_instantiate):
        * glyphs-x.c (autodetect_instantiate):
        * glyphs-x.c (cursor_font_instantiate):
        * glyphs-x.c (x_update_widget):
        * glyphs-x.c (x_widget_instantiate):
        * glyphs.c (bitmap_to_lisp_data):
        * glyphs.c (pixmap_to_lisp_data):
        [7].

        * glyphs.c (syms_of_glyphs):
        [2].

        * gui-x.c:
        * gui-x.c (print_widget_value):
        * gui-x.c (menu_separator_style_and_to_external):
        * gui-x.c (add_accel_and_to_external):
        * gui-x.c (button_item_to_widget_value):
        * gui-x.c (gui_items_to_widget_values_1):
        * gui-x.c (gui_items_to_widget_values):
        * gui-x.c (syms_of_gui_x):
        * gui-x.c (vars_of_gui_x):
        Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
        [9].

        * gui-x.h:
        Muleize, prototype changes matching gui-x.c.

        * gui.c:
        * gui.c (separator_string_p):
        * gui.c (gui_item_add_keyval_pair):
        * gui.c (make_gui_item_from_keywords_internal):
        * gui.c (signal_too_long_error):
        * gui.c (parse_gui_item_tree_item):
        * gui.c (syms_of_gui):
        * gui.c (vars_of_gui):
        * gui.h:
        menu-no-selection-hook moved here (used by MSWin).
        Move some symbols to general-slots.h.
        [6].
        [9].

        * insdel.c (get_buffer_pos_char):
        * insdel.c (get_buffer_range_char):
        Add GC comments.

        * keymap.c (keymap_lookup_directly):
        * keymap.c (keymap_store):
        * keymap.c (ensure_meta_prefix_char_keymapp):
        * keymap.c (describe_map):
        * keymap.h:
        Support new button modifiers.

        * lisp-disunion.h (XSETOBJ):
        Rename make_obj to wrap_object.

        * lisp-union.h:
        * lisp-union.h (make_int):
        * lisp-union.h (make_char):
        Support wrap_object.

        * lisp.h:
        * lisp.h (LIST_LOOP):
        * lisp.h (EXTERNAL_LIST_LOOP):
        * lisp.h (LIST_LOOP_2):
        * lisp.h (EXTERNAL_LIST_LOOP_1):
        * lisp.h (EXTERNAL_LIST_LOOP_2):
        * lisp.h (EXTERNAL_LIST_LOOP_3):
        * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
        * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
        * lisp.h (GET_EXTERNAL_LIST_LENGTH):
        * lisp.h (EXTERNAL_ALIST_LOOP_5):
        * lisp.h (EXTERNAL_ALIST_LOOP_6):
        * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
        * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
        * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
        * lisp.h (struct Lisp_Symbol):
        * lisp.h (maybe_continuable_error_with_frob):
        Fix up section comments.
        Add new types for char to indicate usage.
        Delete symbols auto-generated from general-slots.h.
        Add prototypes for structured error functions.
        Add long comments describing looping macros and change interface
        so that lvalues are automatically declared.

	* events.h:
	Update long comment for button modifiers, timestamps.

	* events.h (struct event_stream):
	New current_event_timestamp method.

	* extents.c:
	* extents.c (extent_in_region_p):
	* extents.c (decode_extent):
	* extents.c (Fset_extent_parent):
	* extents.c (decode_map_extents_flags):
	Fix gcc warnings.
	[9].

	* extents.c (struct extent_at_arg):
	* extents.c (decode_extent_at_flag):
	* extents.c (extent_at_mapper):
	* extents.c (extent_at_bytind):
	* extents.c (Fextent_at): Adapt to new lower-level interface. [9].
	* extents.c (Fextents_at): New primitive. [9].
	* extents.c (symbol_to_glyph_layout): [9].
	Support new primitive `extents-at'.


	* extents.c (get_text_property_bytind):
	extent_at_bytind has another arg.
	[9].

	* extents.c (syms_of_extents): New primitive.

	* file-coding.c (Fmake_coding_system): [1].
	* file-coding.c (subsidiary_coding_system): fix gcc warning
	* file-coding.c (syms_of_file_coding): [2].

	* fileio.c (Fexpand_file_name):
	* fileio.c (Fsysnetunam):
	* fileio.c (Ffile_exists_p):
	* fileio.c (Ffile_executable_p):
	* fileio.c (Fverify_visited_file_modtime):
	Clean up GCPROing.

	* fileio.c (syms_of_fileio): [2].

	* filelock.c (lock_file_1):
	* filelock.c (current_lock_owner):
	* filelock.c (lock_if_free):
	* filelock.c (lock_file):
	* filelock.c (unlock_file):
	Clean up GCPROing.

	* fns.c (concat): Fix gcc warning.

	* fns.c (Fmember):
	* fns.c (Fold_member):
	* fns.c (Fmemq):
	* fns.c (Fold_memq):
	* fns.c (memq_no_quit):
	* fns.c (Fassoc):
	* fns.c (Fold_assoc):
	* fns.c (Fassq):
	* fns.c (Fold_assq):
	* fns.c (assq_no_quit):
	* fns.c (Frassoc):
	* fns.c (Fold_rassoc):
	* fns.c (Frassq):
	* fns.c (Fold_rassq):
	* fns.c (rassq_no_quit):
	* fns.c (Fdelete):
	* fns.c (Fold_delete):
	* fns.c (Fdelq):
	* fns.c (Fold_delq):
	* fns.c (delq_no_quit):
	* fns.c (Fremassoc):
	* fns.c (Fremassq):
	* fns.c (remassq_no_quit):
	* fns.c (Fremrassoc):
	* fns.c (Fremrassq):
	* fns.c (remrassq_no_quit):
	* fns.c (Freverse):
	* fns.c (mapcar1):
	[1].

	* frame-msw.c (mswindows_init_frame_1):
	* frame-msw.c (mswindows_delete_frame):
	Register popups with dialog code so keyboard traversing works.

	* frame-tty.c (tty_raise_frame_no_select): [1].

	* frame-x.c:
	* frame-x.c (x_set_frame_text_value):
	* frame-x.c (x_set_frame_properties):
	* frame-x.c (x_create_widgets):
	[7].

	* frame.c:
	* frame.c (Fmouse_pixel_position): Minor doc fixes.

	* frame.h (wrap_frame): New.
	Macro like wrap_device.

	* general.c:
	* general.c (SYMBOL):
	* general.c (syms_of_general):
	Major reorg.  This is now just a wrapper and symbols themselves
	are listed in general-slots.h.

	* glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
	* glyphs-msw.c (mswindows_resource_instantiate): [5].

	* glyphs-msw.c (mswindows_native_layout_instantiate):
	Add DS_CONTROL so keyboard traversal will work.

	* glyphs-widget.c:
	* glyphs-widget.c (syms_of_glyphs_widget):
	Move some symbols to general-slots.h.

	* glyphs-x.c:
	* glyphs-x.c (xbm_instantiate_1):
	* glyphs-x.c (x_xbm_instantiate):
	* glyphs-x.c (x_xface_instantiate):
	* glyphs-x.c (autodetect_instantiate):
	* glyphs-x.c (cursor_font_instantiate):
	* glyphs-x.c (x_update_widget):
	* glyphs-x.c (x_widget_instantiate):
	* glyphs.c (bitmap_to_lisp_data):
	* glyphs.c (pixmap_to_lisp_data):
	[7].

	* glyphs.c (syms_of_glyphs):
	[2].

	* gui-x.c:
	* gui-x.c (print_widget_value):
	* gui-x.c (menu_separator_style_and_to_external):
	* gui-x.c (add_accel_and_to_external):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.c (gui_items_to_widget_values_1):
	* gui-x.c (gui_items_to_widget_values):
	* gui-x.c (syms_of_gui_x):
	* gui-x.c (vars_of_gui_x):
	Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
	[9].

	* gui-x.h:
	Muleize, prototype changes matching gui-x.c.

	* gui.c:
	* gui.c (separator_string_p):
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (make_gui_item_from_keywords_internal):
	* gui.c (signal_too_long_error):
	* gui.c (parse_gui_item_tree_item):
	* gui.c (syms_of_gui):
	* gui.c (vars_of_gui):
	* gui.h:
	menu-no-selection-hook moved here (used by MSWin).
	Move some symbols to general-slots.h.
	[6].
	[9].

	* insdel.c (get_buffer_pos_char):
	* insdel.c (get_buffer_range_char):
	Add GC comments.

	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (ensure_meta_prefix_char_keymapp):
	* keymap.c (describe_map):
	* keymap.h:
	Support new button modifiers.

	* lisp-disunion.h (wrap_object):
	* lisp-disunion.h (XSETOBJ):
	Rename make_obj to wrap_object.

	* lisp-union.h:
	* lisp-union.h (make_int):
	* lisp-union.h (make_char):
	Support wrap_object.

	* lisp.h:
	* lisp.h (LIST_LOOP):
	* lisp.h (EXTERNAL_LIST_LOOP):
	* lisp.h (LIST_LOOP_2):
	* lisp.h (EXTERNAL_LIST_LOOP_1):
	* lisp.h (EXTERNAL_LIST_LOOP_2):
	* lisp.h (EXTERNAL_LIST_LOOP_3):
	* lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
	* lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
	* lisp.h (GET_EXTERNAL_LIST_LENGTH):
	* lisp.h (EXTERNAL_ALIST_LOOP_5):
	* lisp.h (EXTERNAL_ALIST_LOOP_6):
	* lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
	* lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
	* lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
	* lisp.h (struct Lisp_Symbol):
	* lisp.h (maybe_continuable_error_with_frob):
	Fix up section comments.
	Add new types for char to indicate usage.
	Delete symbols auto-generated from general-slots.h.
	Add prototypes for structured error functions.
	Add long comments describing looping macros and change interface
	so that lvalues are automatically declared.
	Add NO_DECLARE macro in case callers want to declare lvalues
	themselves.

	* lread.c (read_syntax_error):
	* lread.c (continuable_read_syntax_error):
	* lread.c (read_structure):
	* lread.c (sequence_reader):
	* lread.c (read_list_conser):
	* lread.c (read_compiled_function):
	Rename syntax_error and continuable_syntax_error to avoid clash
	with same-named structured error functions.

	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (populate_menu_add_item):
	* menubar-msw.c (populate_or_checksum_helper):
	[5].
	[9].

	* menubar-x.c:
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	Mule-ize whole file.

	* menubar.c (Fnormalize_menu_item_name): Add optimization.

	* mule-charset.c (Fmake_charset):
	* mule-wnnfns.c (Fwnn_set_param):
	[1].

	* ntproc.c (create_child):
	* ntproc.c (Fwin32_set_current_locale):
	Add comments portending doom.

	* objects-msw.c:
	* objects-msw.c (old_font_enum_callback_2):
	* objects-msw.c (font_enum_callback_1):
	* objects-msw.c (mswindows_enumerate_fonts):
	[5].

	* objects-x.c:
	* objects-x.c (allocate_nearest_color):
	* objects-x.c (x_parse_nearest_color):
	* objects-x.c (x_initialize_color_instance):
	* objects-x.c (x_print_color_instance):
	* objects-x.c (x_finalize_color_instance):
	* objects-x.c (x_valid_color_name_p):
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_print_font_instance):
	* objects-x.c (valid_x_font_name_p):
	* objects-x.c (truename_via_FONT_prop):
	* objects-x.c (truename_via_random_props):
	* objects-x.c (truename_via_XListFonts):
	* objects-x.c (x_font_truename):
	* objects-x.c (x_font_instance_truename):
	* objects-x.c (x_font_instance_properties):
	* objects-x.c (x_list_fonts):
	* objects-x.c (x_find_charset_font):
	Mule-ize entire file.
	[7].

	* objects-x.h:
	Mule-verify.

	* print.c:
	* print.c (std_handle_out_external):
	* print.c (debug_print_no_newline):
	* print.c (syms_of_print):
	Output to all debugger kinds in debug-print.
	Fix console-output code under MSWin to actually work.

	* process-nt.c (send_signal):
	* process-nt.c (nt_create_process):
	Use newer Unicode macros.

	* process-unix.c (unix_create_process):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	[7].

	* scrollbar-x.c:
	Mule-verify.

	* search.c (syms_of_search):
	[2].

	* select-msw.c (mswindows_destroy_selection):
	Use LIST_LOOP_2.

	* select-x.c (symbol_to_x_atom):
	[7].

	* select.c (syms_of_select):
	[2].

	* sound.c (Fplay_sound_file):
	[7].

	* specifier.c:
	* specifier.c (decode_specifier_type):
	* specifier.c (Fvalid_specifier_locale_type_p):
	* specifier.c (check_valid_locale_or_locale_type):
	* specifier.c (decode_locale):
	* specifier.c (decode_locale_type):
	* specifier.c (decode_locale_list):
	* specifier.c (check_valid_domain):
	* specifier.c (decode_specifier_tag_set):
	* specifier.c (Fcanonicalize_tag_set):
	* specifier.c (Fdefine_specifier_tag):
	* specifier.c (Fspecifier_tag_predicate):
	* specifier.c (check_valid_inst_list):
	* specifier.c (check_valid_spec_list):
	* specifier.c (decode_how_to_add_specification):
	* specifier.c (check_modifiable_specifier):
	* specifier.c (specifier_add_spec):
	* specifier.c (boolean_validate):
	* specifier.c (display_table_validate):
	[9].

	* specifier.c (syms_of_specifier):
	Move some symbols to general-slots.h.
	[2].

	* symbols.c:
	* symbols.c (Fmapatoms):
	* symbols.c (Fapropos_internal):
	Add GCPROs.

	* symbols.c (set_default_buffer_slot_variable):
	* symbols.c (set_default_console_slot_variable):
	[1].

	* symbols.c (defsymbol_massage_name_1):
	* symbols.c (defkeyword_massage_name):
	* symbols.c (deferror_1):
	* symbols.c (deferror):
	* symbols.c (deferror_massage_name_and_message):
	* symeval.h:
	* symeval.h (DEFSYMBOL):
	Support DEFSYMBOL*, DEFKEYWORD, DEFERROR

	* symbols.c (syms_of_symbols):
	[2].

	* symsinit.h:
	* symsinit.h (init_win32): New.
	Also new is syms_of_dialog_mswindows.

	* syswindows.h:
	Add new Unicode macros, missing Cygwin wide-char functions,
	convenience conversion macros for Qmswindows_tstr, macros for
	encapsulating required MSWin <-> Cygwin filename conversions,
	prototype for dynamically-extracted (not in NT 3.51) functions.

	* toolbar-x.c:
	Mule-verify.

	* tooltalk.c (Fadd_tooltalk_message_arg):
	* tooltalk.c (Fadd_tooltalk_pattern_attribute):
	* tooltalk.c (Fadd_tooltalk_pattern_arg):
	[7].

	* tooltalk.c (syms_of_tooltalk):
	[2].

	* unexnt.c:
	* unexnt.c (unexec):
	Fix up headers, declaration of unexec() to be more standard.

2000-07-20  Martin Buchholz  <martin@xemacs.org>

	* offix.h: Revert change to guard macros - they're used in offix.c!

2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* lisp.h: Defsubred Fdelete.

	* console-msw.h:  (msprinter_default_printer): Added.

	* console-msw.c (msprinter_canonicalize_console_connection):
	(msprinter_canonicalize_device_connection): Added.

	* device-msw.c (msprinter_default_printer):
	(Fmswingows_get_default_printer):
	(signal_enum_priner_error):
	(Fmswingows_printer_list): Added.

2000-07-19  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.35 is released.

2000-07-19  Martin Buchholz  <martin@xemacs.org>

	* select-x.c (x_handle_selection_request):
	Text selected in xemacs and pasted into xterm failed to appear.
	Spelling fixes and cosmetic changes.

2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* event-msw.c (mswindows_drain_windows_queue): Correctly check for
	XEmacs frame (fix for doubling chars in dialog boxes).

2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>

	* select.c (select_convert_in, select_convert_out):
	Don't call intern() every time.

	* select.c (Qselect_convert_in, Qselect_convert_out): New.
	* select.c (vars_of_select): Initialise them.

2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>

	* select.c (selection-coercible-types): New.

	* select.c (own-selection-internal):
	* select.c (get-selection-internal):
	MULE bug fix - these should default to COMPOUND_TEXT and not
	STRING for MULE. I think.

	* select.c (select_convert_out): Use selection-coercible-types
	to find types that we can attempt to perform coercions on.

2000-07-18  Martin Buchholz  <martin@xemacs.org>

	* mule-wnnfns.c:
	* mule-canna.c:
	Add coding: cookie to identify encoding.

	* mule-canna.c (CANNA_mode_keys): make static.
	Use proper prototypes, even for functions of no arguments.
	RemOve external prototype for Fding().

	* symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.

	* select.c (syms_of_select): Add missing DEFSUBR.

2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>

	* select.c (get_selection_internal, own_selection_internal):
	Make the type default to STRING, rather than placing a nil type
	into Vselection_alist.

2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>

	* gpmevent.c (tty_selection_exists_p):
	* gpmevent.c (tty_own_selection):
	Updated parameter lists.

2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>

	* select.h (selection-alist): Removed declaration.

	* select.h (get_local_selection):
	* select.c (get_local_selection):
	Made static.

	* select.h (convert_selection): Removed declaration.
	* select.c (convert_selection): Removed.
	This function belongs in Lisp.

	* select.h (select_convert_in): Declare.
	* select.h (select_convert_out): Declare.
	* select.c (select_convert_in): New.
	* select.c (select_convert_out): New.
	New conversion functions for other files to call.

	* select.h (select_notify_buffer_kill): Declare.
	* select.c (select_notify_buffer_kill): New.
	New functions that get called from kill-buffer.

	* buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
	X-specific lisp code.

	* select.h: Declare some of the lisp-visible functions for
	external use.

	* select.c (clean_local_selection_data): Removed. This was
	a disgusting function, and previously should have been in
	select-x.c in any case. The functionality is now provided
	in select-convert-from-integer (select.el).

	* select.c (available-selection-types): Fixed stupidity where
	INTEGER and ATOM got added twice. Also add STRING when we see an
	extent.

	* select.c (get-selection-internal): Removed symbol stripping. No
	longer causes conversion when data comes from the internal cache.

	* select.c (syms_of_select): Added new functions.

	* select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
	error checking - previously this called abort!

	* select-x.c (x_own_selection): Changed comment.

	* select-x.c (x_handle_selection_request): Use select_convert_out.
	Don't mess with selection-alist; it's an internal variable of select.c.

	* select-x.c (x_get_foreign_selection): Use select_convert_in.

	* select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
	rather than messing with selection-alist.

	* select-msw.c (mswindows_get_foreign_selection):
	Use TO_INTERNAL_FORMAT rather than hacking.

2000-07-14  Martin Buchholz  <martin@xemacs.org>

	* process-unix.c (unix_open_multicast_group):
	(unix_open_multicast_group): Remove useless casts.

2000-07-13  Martin Buchholz  <martin@xemacs.org>

	* sound.c (Fplay_sound): Fix `unused variable' warning.

	* emacs.c (main): Use correct type for _environ on SCO5.

2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>

	* console.h (own_selection_method):
	* console.h (selection_exists_p_method):
	* console.h (available_selection_types_method): New.
	* console.h (register_selection_data_type_method): New.
	* console.h (selection_data_type_name): New.

	* console-msw.h (mswindows_destroy_selection): Declare it.  New
	function & alist to track GlobalAlloc()'d handles that need
	releasing when the clipboard data gets replaced or emptied.

	* event-msw.c (mswindows_wnd_proc): Call it.

	* lisp.h, general.c (Qappend): New symbol representing a
	`how-to-add' mode.

	* select.c (own-selection-internal):
	* select.c (selection-exists-p):
	* select.c (available-selection-types): New.
	* select.c (register-selection-data-type): New.
	* select.c (selection-data-type-name): New.  New functions to deal
	with device-specific selection data formats.
	* select.c (selection-converter-out-alist): Renamed.
	* select.c (selection-converter-in-alist): New.
	* select.c (selection-appender-alist): New.  Added new alists.
	* select.c (syms_of_select, vars_of_select): Added new symbols &
	variables.
	* select.c (get_local_selection): Split.
	* select.c: Removed spurious type checking - selections may now be
	of any type, not just strings.
	* select.c (own-selection-internal):

	* select.h, select.c (convert_selection): New. Created
	convert_selection() function based on get_local_selection().
	* select.h, select.c (QCF_*): New symbols representing mswindows
	clipboard formats.
	* select.h, select.c (Qreplace_all, Qreplace_existing): New
	symbols representing `how-to-add' modes.

	* select-msw.c (x_sym_p): New.
	* select-msw.c (symbol_to_ms_cf): New.
	* select-msw.c (ms_cf_to_symbol): New. New functions to deal with
	symbols & clipboard formats. Can also handle string names.
	* select-msw.c (mswindows_own_selection):
	* select-msw.c (mswindows_selection_exists_p):
	Added `data-type' parameter. Use it.
	* select-msw.c (mswindows_available_selection_types): New.
	* select-msw.c (mswindows_register_selection_data_type): New.
	* select-msw.c (mswindows_selection_data_type_name): New.
	* select-msw.c (mswindows_own_selection):
	* select-msw.c (mswindows_get_foreign_selection):
	* select-msw.c (mswindows_selection_exists_p):	Rewrote.
	* select-msw.c (console_create_select_mswindows): Added new methods.
	* select-msw.c (mswindows_destroy_selection): New.
	* select-msw.c (Vhandle_alist): New list.
	* select-msw.c (mswindows_own_selection):

	* select-x.c (x_own_selection):
	* select-x.c (x_selection_exists_p):
	* select-x.c: Added some comments about maybe using new
	functionality.
	* select-x.c (x_own_selection):

	* specifier.c: Remove definition of Qappend (now in general.c)
	* specifier.c (syms_of_specifier): Remove Qappend.

2000-07-12  Martin Buchholz  <martin@xemacs.org>

	* config.h.in: Add socklen_t.

	* s/decosf4-0.h: No special compiler flags needed or desired.
	In particular, undefine _BSD for DEC OSF 4.0.

2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* redisplay-msw.c (msprinter_frame_output_end): Added.
	(console_type_create_redisplay_mswindows): Referred the above.

	* frame.c (setup_frame_without_minibuffer): Do not create a
	default minibuffer frame on a printer device.

	* frame-msw.c (apply_dc_geometry): Added.
	(msprinter_start_page):
	(msprinter_init_frame_3):
	(msprinter_eject_page): Use it.

	* console-msw.h (struct msprinter_frame): Added pix_left and top,
	and removed residual duplex and orientation properties.

2000-07-11  Martin Buchholz  <martin@xemacs.org>

	* eval.c (function_argcount): Work around a DEC CC compiler bug.

	* unexalpha.c: Remove system prototypes from C sources!

2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>

	* eval.c: Remove references to M-x edit-options in DEFUNs for
	`defvar' and `defconst'.

2000-07-09  Martin Buchholz  <martin@xemacs.org>

	* config.h.in: Remove SMART_INCLUDE hackery.

	PostgreSQL hacking:
	* config.h.in: Don't use SMART_INCLUDE.

	* postgresql.h: Include libpq-fe.h here.  Fix typo.
	* inline.c: Simply #include "postgresql.h"
	* postgresql.c:
	- Don't use SMART_INCLUDE
	- Use simply "const".
	- Use standard doc string conventions.
	- Use correct type for result of PQstatus.

2000-07-09  Martin Buchholz  <martin@xemacs.org>

	* glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.

	C++ compilation changes.
	* config.h.in (EXTERN_C): Define.
	* config.h.in (not): This is also a C++ keyword.
	* unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
	* cm.c: Use EXTERN_C.
	* redisplay-tty.c: Use EXTERN_C.
	* sysdep.c: Use EXTERN_C.  Remove Gould support.

2000-07-09  Martin Buchholz  <martin@xemacs.org>

	* general.c: Remove duplicate definition for Qfunction.

2000-07-08  Ben Wing  <ben@xemacs.org>

	* device-msw.c (msprinter_init_device):
	* device-msw.c (sync_printer_with_devmode):
	* device-msw.c (handle_devmode_changes):
	* device-msw.c (print_dialog_worker):
	* device-msw.c (Fmsprinter_apply_settings):
	* device-msw.c (hash_devmode):
	* device-msw.c (Fmsprinter_settings_despecialize):
	use Qmswindows_tstr, not Qctext.

	* vm-limit.c (check_memory_limits):
	avoid infinite loop printing warning messages.

2000-07-05  Craig Lanning  <lanning@scra.org>

	* Makefile.in.in: Add support for including the Windows resources
	when building with the cygwin and mingw targets.

	* buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
	not set or not correct.
	(directory_is_current_directory): Don't compile for WIN32_NATIVE.
	(init_initial_directory): Don't try to use $PWD on the
	WIN32_NATIVE target.

	* s\cygwin32.h:
	[[Add -mwindows to eliminate console window.]] not required --ben
	(HAVE_NATIVE_SOUND): removed; now handled by configure.
	(MAIL_USE_POP): removed; now handled by configure.

	* s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
	C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
	(HAVE_NATIVE_SOUND): removed; now handled by configure.
	(MAIL_USE_POP): removed; now handled by configure.
	(ENCAPSULATE_STAT): from Dan Holmsand, added.
	(ENCAPSULATE_FSTAT): from Dan Holmsand, added.
	(DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
	constant string.
	(HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
	up from <winsock.h> via systime.h.
	(HAVE_GETPAGESIZE): from Dan Holmsand, added.
	(getpagesize): from Dan Holmsand, added.
	Added #endif which was left dangling by Ben's mega patch; added
	comment to help prevent this in the future.

	* sysdll.c: added #include <windows.h> for WIN32_NATIVE case.

2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* console-msw.h (struct mswindows_device): Removed unnecessary
	cached device geometry values.
	Added update_tick and an accessor macro.
	(Lisp_Devmode): Added lrecord declaration.
	(struct msprinter_device): Contain devmode as a Lisp object.
	Added mswindows_get_selected_frame_hwnd();

	* console.h (struct console_methods): Indentation nitpicking.

	* device-msw.c (mswindows_init_device): Do not initialize geometry
	cache. Initialize update tick.
	(mswindows_device_system_metrics): Ask the device for its geometry.
	(global_free_2_maybe):
	(devmode_to_hglobal):
	(handle_printer_changes):
	(ensure_not_printing):
	(print_dialog_worker):
	(Fmsprinter_print_setup_dialog):
	(Fmsprinter_print_dialog):
	(plist_get_margin):
	(plist_set_margin):
	(Fmsprinter_page_setup_dialog): Added functions.
	(sync_printer_with_devmode):
	(handle_devmode_changes):
	(Fmsprinter_get_settings):
	(Fmsprinter_select_settings):
	(Fmsprinter_apply_settings):
	(allocate_devmode):
	(Fmsprinter_settings_copy):
	(Fmsprinter_settings_despecialize):
	(print_devmode):
	(finalize_devmode):
	(equal_devmode):
	(hash_devmode): Added functions
	(syms_of_device_mswindows): Init devmode lrecord class.

	* device.h: Added an exfun for find-device.

	* event-msw.c (mswindows_wnd_proc): Do not update the cached
	geometry; although, recreate the device compatible DC.

	* frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
	(msprinter_init_frame_3):
	(msprinter_frame_property):
	(msprinter_internal_frame_property_p):
	(msprinter_frame_properties):
	(msprinter_set_frame_properties): Removed 'orientation and 'duplex
	print job properties (will move to device settings).

	* lisp.h: Added symbols.

	* general.c (syms_of_general): Declared them.

	* hash.c (string_hash): Added.

	* lrecord.h (lrecord_type): Added devmode lrecord type.

2000-07-02  Mike Sperber <mike@xemacs.org>

	* s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
	FreeBSD 4.0.

2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
	integer.

2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>

	* data.c (Fstring_to_number): Don't recognize floating point if
	base is not 10.

2000-06-22  Martin Buchholz  <martin@xemacs.org>

	* glyphs-widget.c (tab_control_query_geometry):
	(widget_query_geometry):
	(button_query_geometry):
	* glyphs.c (text_query_geometry):
	Enforce type correctness.

2000-06-18  Martin Buchholz  <martin@xemacs.org>

	* s/decosf4-0.h (_etext): Use portable _etext instead of etext.
	* s/decosf4-0.h (_edata): Use portable _edata instead of edata.

2000-06-17  Martin Buchholz  <martin@xemacs.org>

	* s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
	conflicts with gcc's fixincluded version of FOO.h.

	* glyphs.h (image_instance_geometry): Remove trailing `,'

2000-06-08  Mike Alexander  <mta@arbortext.com>

	(MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
	(shove_thread): Don't write the same output twice
	(make_ntpipe_output_stream): Increase priority of shove thread
	(ntpipe_shove_writer): Call SwitchToThread to give shove thread a
	chance to run
	(ntpipe_shove_closer): Don't delete the pipe until we're done with
	it.

2000-06-12  Ben Wing  <ben@xemacs.org>

	* s\mingw32.h (sigset):
	* s\windowsnt.h (sigset):
	rename msw_ to mswindows_ for consistency with general convention.

2000-06-12  Ben Wing  <ben@xemacs.org>

	* console-msw.c:
	* console-msw.c (mswindows_get_console_hwnd):
	* console-msw.c (mswindows_ensure_console_allocated):
	* console-msw.c (mswindows_hide_console):
	* console-msw.c (mswindows_show_console):
	* console-msw.c (mswindows_ensure_console_buffered):
	* console-msw.c (mswindows_output_console_string):
	* console-msw.c (mswindows_windows9x_p):
	* console-msw.h:
	* device-msw.c (mswindows_get_workspace_coords):
	* device-msw.c (mswindows_device_system_metrics):
	* dialog-msw.c (mswindows_popup_dialog_box):
	* event-msw.c (mswindows_wnd_proc):
	* frame-msw.c (mswindows_size_frame_internal):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (displayable_menu_item):
	* menubar-msw.c (mswindows_char_is_accelerator):
	* nt.c:
	* nt.c (mswindows_sigset):
	* nt.c (mswindows_sigrelse):
	* nt.c (mswindows_sigpause):
	* nt.c (mswindows_raise):
	* nt.c (timer_proc):
	* ntproc.c:
	* ntproc.c (find_child_console):
	* ntproc.c (sys_kill):
	* print.c:
	* print.c (std_handle_out_external):
	* process-nt.c (find_child_console):
	* process-nt.c (send_signal_the_95_way):
	* process-nt.c (ensure_console_window_exists):
	* process-nt.c (nt_create_process):
	* syssignal.h:
	rename msw_ to mswindows_ for consistency with general convention.

	* emacs.c:
	* dumper.c:
	include nt.h, not syswindows.h.

	* nt.c (mswindows_fstat):
	* nt.c (mswindows_stat):
	prefix mswindows_ instead of attempting to directly override the
	library functions.  fix declarations.

	* nt.h:
	include syswindows.h.  move some sysdep.h stuff here.

	* ntheap.h:
	include syswindows.h, not <windows.h>.

	* ntplay.c:
	clean up headers.

	* sysdep.c:
	clean up headers.

	* sysdep.c (sys_fstat):
	* sysdep.c (sys_stat):
	call mswindows versions when appropriate.

	* sysdep.h:
	move mswin decls to nt.h.

	* syswindows.h:
	add long comment describing appropriate use of the various windows
	headers.

2000-06-11  Ben Wing  <ben@xemacs.org>

	* device-x.c: Correct doc string for sixth arg of x-get-resource.

2000-06-10  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (release):
	Correction to make sure xemacs.exe always dumped when correct.

	* alloca.c:
	* balloon_help.c:
	[[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.

	* buffer.c (set_buffer_internal):
	[[[[2]]]]: Remove HAVE_FEP code.

	* buffer.c (init_initial_directory):
	[3].

	* bytecode.c:
	[[[[4]]]]: limits.h standardly included in lisp.h; remove from
	individual files.

	* callproc.c:
	* callproc.c (call_process_cleanup):
	* callproc.c (Fold_call_process_internal):
	* callproc.c (child_setup):
	* callproc.c (getenv_internal):
	* callproc.c (init_callproc):
	* callproc.c (vars_of_callproc):
	[[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
	__CYGWIN32__ -> CYGWIN.
	DOS_NT -> WIN32_NATIVE.
	Remove MSDOS support/references, converting to WIN32_NATIVE
	  where correct.
	__MINGW32__ -> MINGW.
	Fix windows.h includes.
	Remove bogus HAVE_NTGUI.

	* config.h.in:
	[2].

	* console-msw.c:
	mswindows_message_outputted added for use in allowing startup
	errors on the console to be seen.

	* console-msw.c (msw_ensure_console_allocated):
	* console-msw.c (msw_output_console_string):
	* console-msw.c (DHEADER):
	* console-msw.c (DOPAQUE_DATA):
	* console-msw.c (DEVENT):
	* console-msw.c (DCONS):
	* console-msw.c (DCONSCDR):
	* console-msw.c (DSTRING):
	* console-msw.c (DVECTOR):
	* console-msw.c (DSYMBOL):
	* console-msw.c (DSYMNAME):
	Fix warnings.

	* console-stream.c (stream_init_console):
	Fix text/binary problems.

	* device-msw.c:
	* device-msw.c (mswindows_finish_init_device):
	* device-msw.c (mswindows_delete_device):
	[1].

	* device.c (handle_asynch_device_change):
	[3].

	* dgif_lib.c:
	* dgif_lib.c (DGifOpenFileName):
	* dgif_lib.c (DGifOpenFileHandle):
	* dgif_lib.c (DGifGetLine):
	* dgif_lib.c (DGifGetPixel):
	Added config.h/lisp.h, fix up includes.
	[1].

	* dired-msw.c:
	[4].

	* dired.c:
	* dired.c (file_name_completion):
	* dired.c (Ffile_attributes):
	* dired.c (syms_of_dired):
	[1].

	* dumper.c:
	* dumper.c (pdump_file_unmap):
	* dumper.c (pdump_load):
	[1].

	* editfns.c:
	* editfns.c (Ftemp_directory):
	* editfns.c (user_login_name):
	* editfns.c (Fuser_real_login_name):
	* editfns.c (get_home_directory):
	[1].

	* elhash.c (finish_marking_weak_hash_tables):
	[[[[5]]]]: Fix GCC warnings.

	* emacs.c:
	* emacs.c (mswindows_handle_hardware_exceptions):
	* emacs.c (make_arg_list_1):
	* emacs.c (main_1):
	* emacs.c (Fkill_emacs):
	* emacs.c (Fdump_emacs):
	[1].
	Fix problems with nested crashes, add long comment.

	* event-Xt.c (init_event_Xt_late):
	[1].

	* event-msw.c:
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_handle_sticky_modifiers):
	* event-msw.c (mswindows_wnd_proc):
	[1].
	[5].

	* events.c (character_to_event):
	[1].

	* fileio.c:
	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (directory_file_name):
	* fileio.c (Fexpand_file_name):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Ffile_name_absolute_p):
	* fileio.c (check_executable):
	* fileio.c (Ffile_readable_p):
	* fileio.c (Ffile_accessible_directory_p):
	* fileio.c (Ffile_modes):
	* fileio.c (Funix_sync):
	* fileio.c (vars_of_fileio):
	[1]. [4].

	[[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.

	Expand getdefdir defn.
	Fix bogus rename() comment.

	[[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
	to use standard XEmacs include files, e.g. sysfile.h, rather
	than system-specific includes.

	* fns.c:
	* fns.c (Fsubseq):
	[5]. [6].

	* frame.c (vars_of_frame):
	[1].

	* getloadavg.c:
	* getloadavg.c (getloadavg):
	[1]. [6].
	#ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
	(We don't use it elsewhere in the code; just add a comment.)

	* gif_io.c:
	[6].
	Add config.h.

	* glyphs-msw.c:
	* glyphs-msw.c (mswindows_resource_instantiate):
	[1].

	* glyphs-x.c (x_native_layout_instantiate):
	[5].

	* gui-msw.c (Fmswindows_shell_execute):
	[1].

	* insdel.c:
	[4].

	* lisp.h:
	[4]. [5].

	* lread.c (locate_file_in_directory_mapper):
	[1].

	* lstream.c:
	[4].

	* mem-limits.h:
	* mem-limits.h (get_lim_data):
	[1].

	* menubar-msw.c:
	[4].

	* ndir.h:
	[1].

	* nt.c:
	* nt.c (getwd):
	* nt.c (closedir):
	* nt.c (rva_to_section):
	* nt.c (mswindows_executable_type):
	[1]. [6].
	Fix closedir() defn.

	* nt.h:
	[[[[8]]]]: *_OK defs moved to sysfile.h.

	* ntproc.c:
	[6]. [7].

	* objects-x.c:
	[4].

	* print.c:
	* print.c (std_handle_out_external):
	[1]. [4].

	* process-nt.c:
	* process-nt.c (nt_create_process):
	[6].
	try to fix process quoting somewhat.

	* process-unix.c (unix_create_process):
	[1].

	* process.c:
	* process.c (vars_of_process):
	Add Vnull_device.

	* process.h:
	[1].

	* realpath.c:
	* realpath.c (xrealpath):
	[1].

	* redisplay-tty.c (init_tty_for_redisplay):
	[3].

	* redisplay.c:
	[4]. [6].

	* scrollbar-msw.c:
	[4].

	* sheap.c:
	* sheap.c (more_static_core):
	* sheap.c (report_sheap_usage):
	[5]. [6].

	* signal.c:
	* signal.c (alarm_signal):
	[1]. [6].

	* sound.c:
	[6].

	* strftime.c:
	* strftime.c (zone_name):
	[1]. [5].

	* symsinit.h (init_sunpro):
	[1].

	* syscommctrl.h:
	commctrl.h not in Cygwin b20.1.

	* sysdep.c:
	* sysdep.c (endif):
	* sysdep.c (sys_subshell):
	* sysdep.c (init_baud_rate):
	* sysdep.c (emacs_get_tty):
	* sysdep.c (emacs_set_tty):
	* sysdep.c (tty_init_sys_modes_on_device):
	* sysdep.c (init_system_name):
	* sysdep.c (sys_open):
	* sysdep.c (interruptible_open):
	* sysdep.c (sys_fopen):
	* sysdep.c (sys_mkdir):
	* sysdep.c (sys_rename):
	* sysdep.c (get_process_times_1):
	[1]. [6].

	* sysdep.h:
	[1].

	* sysdir.h:
	* sysdir.h (DIRENTRY_NONEMPTY):
	[1]. [6].

	* sysdll.c (dll_init):
	* sysdll.h:
	[1].

	* sysfile.h:
	[1]. [6]. [8].
	added text/binary defs.

	* sysfloat.h:
	[1].

	* sysproc.h:
	* sysproc.h (EDESTADDRREQ):
	* sysproc.h (poll_fds_for_input):
	[1]. [6].

	* syspwd.h:
	[6].

	* syssignal.h:
	[1].

	* systime.h:
	[1]. [6].

	* systty.h:
	[1].

	* syswindows.h:
	[1].
	Always define WIN32_LEAN_AND_MEAN.

	* unexcw.c (unexec):
	[5].

	* unexec.c:
	* unexec.c (copy_text_and_data):
	* unexec.c (adjust_lnnoptrs):
	[1].

	* unexnt.c:
	* unexnt.c (_start):
	[1].

2000-06-07  Ben Wing  <ben@xemacs.org>

	* mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
	was used only as a model.  We've long since extracted any useful
	logic or code out of this. (I just did an exhaustive search.)

	* s\msdos.h: Removed.

	* s\windows95.h: Removed.

2000-06-10  Ben Wing  <ben@xemacs.org>

	* s\cygwin32.h:
	[1]. [5].
	Don't use extern with fun defs.

	* s\mingw32.h:
	[1]. [7].
	Remove nt\inc include.
	Remove getdisk, getdefdir. (The former is unused, the latter
	expanded in fileio.h.)

	* s\windowsnt.h:
	* s\windowsnt.h (WIN32_NATIVE):
	* s\windowsnt.h (HAVE_STRCASECMP):
	[1]. [7].
	Add long comment about preprocessor changes.
	Remove getdisk, getdefdir. (The former is unused, the latter
	expanded in fileio.h.)

2000-06-10  Ben Wing  <ben@xemacs.org>

	* m\arm.h:
	* m\delta.h:
	* m\intel386.h:
	* m\sequent.h:
	* m\template.h:
	* m\windowsnt.h:
	[1].
	Remove bogus/unused NO_SOCK_SIGIO.

2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>

	* lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
	not an Emchar.

2000-06-04  Mike Sperber <mike@xemacs.org>

	* casetab.c (set_case_table): For `set-standard-case-table',
	actually deposit the new case tables where the rest of XEmacs can
	see them.

2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>

	* data.c (Faset): Don't cast XCHAR() to unsigned char.

2000-06-05  Ben Wing  <ben@xemacs.org>

	* callproc.c (child_setup): Don't do close_load_descs() under
	MS Windows.  Put in a comment explaining why.

2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>

	* process-nt.c: Reverting patch "Fixing nt_create_process for MKS
	Toolkit shell" which breaks `kill-compilation' on Windows NT
	native, retaining STDERR handling improvements.

2000-06-01  Andreas Jaeger  <aj@suse.de>

	* s/s390.h: Support for S390, based on a patch by Martin
	Schwidefsky <schwidefsky@de.ibm.com>.

2000-05-30  Andy Piper  <andy@xemacs.org>

	* window.c (allocate_window):
	(make_dummy_parent):
	(Fset_window_configuration): use new hashtable type.

	* glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
	(struct image_instantiator_methods):
	(struct Lisp_Image_Instance): make instance geometry signed.

	* glyphs.c (instantiate_image_instantiator):
	(image_instance_query_geometry):
	(image_instance_layout):
	(image_instance_layout):
	(query_string_geometry):
	(text_query_geometry):
	(image_instantiate):
	(image_instantiate):
	(cache_subwindow_instance_in_frame_maybe):
	(subwindow_query_geometry): make instance geometry signed.

	* glyphs-widget.c (widget_query_geometry):
	(widget_layout):
	(button_query_geometry):
	(tree_view_query_geometry):
	(tab_control_query_geometry):
	(layout_query_geometry):
	(layout_layout):
	(native_layout_layout): make instance geometry signed.

2000-05-29  Olivier Galibert  <galibert@pobox.com>

	* lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
	constant.

	* general.c (syms_of_general): Add Qfull_assoc symbol.

	* data.c (finish_marking_weak_lists): Mark full-assoc lists
	correctly.
	(decode_weak_list_type): Decode full-assoc type.
	(encode_weak_list_type): Encode full-assoc type.
	(Fmake_weak_list): Update doc string.

2000-05-30  Andy Piper  <andy@xemacs.org>

	* elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.

	* elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
	(decode_hash_table_weakness): ditto.
	(Fhash_table_weakness): ditto.
	(Fhash_table_type): ditto.
	(finish_marking_weak_hash_tables): ditto.
	(hash_table_weakness_validate): ditto.
	(syms_of_elhash): ditto.

2000-05-28  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.34 is released.

2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay.c (VERTICAL_CLIP): No longer reset when updating line
	start cache.
	(updating_line_start_cache): Gone.
	(regenerate_window): Replace resetting of VERTICAL_CLIP by
	generic code to force a minimum of 1 line laid out in the
	CMOTION_DISP case.

2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* glyphs.c (instantiate_image_instantiator): Check for initialized
	height & width no longer special cases IMAGE_NOTHING.
	(nothing_instantiate): Set height and width of instance.

2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* unexelf.c (unexec): Search for ".data" section.
	Initialize new_data2_offset from old_data_index.
	Remove redundant check for ElfW.

2000-05-23  Andy Piper  <andy@xemacs.org>

	* glyphs.c (get_image_instantiator_governing_domain): allow more
	specific domains as the governing domain rather than expecting an
	exact match. This fixes problems with layouts.

2000-05-22  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (compare_runes): check for non-images

	* glyphs.c (set_glyph_dirty_p): ditto.
	(update_glyph_cachel_data): ditto.

	* glyphs-widget.c (layout_post_instantiate): ditto.
	(layout_post_instantiate): ditto.

	* event-msw.c (mswindows_wnd_proc): warning removal.

2000-05-12  Craig Lanning  <CraigL@DyCon.com>

	* s\mingw32.h: Added #undef for CLASH_DETECTION.

	* syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.

	* syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.

	* nt.c (rva_to_section): mingw32 needs rva_to_section.
	(mswindows_executable_type): mingw32 now has enough headers for
	this to work.

2000-05-20  Andy Piper  <andy@xemacs.org>

	* console-msw.c (mswindows_output_last_error): ; -> ,

2000-05-12  Andy Piper  <andy@xemacs.org>

	* console-msw.c (FROB): compare ints with ints.

2000-05-11  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_finalize_image_instance): make minimal build
	happy.

2000-05-20  Ben Wing  <ben@xemacs.org>

	* event-Xt.c:
	* event-Xt.c (vars_of_event_Xt):
	move modifier-keys-are-sticky to event-stream.c.

	* event-msw.c:
	* event-msw.c (mswindows_enqueue_mouse_button_event):
	* event-msw.c (key_needs_default_processing_p):
	* event-msw.c (XEMSW_LCONTROL):
	* event-msw.c (mswindows_handle_sticky_modifiers):
	* event-msw.c (FROB):
	* event-msw.c (clear_sticky_modifiers):
	* event-msw.c (output_modifier_keyboard_state):
	* event-msw.c (output_alt_keyboard_state):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (mswindows_modifier_state):
	* event-msw.c (emacs_mswindows_handle_magic_event):
	implement sticky modifiers.

	* event-stream.c:
	* event-stream.c (vars_of_event_stream):
	move modifier-keys-are-sticky here.

	* lisp.h:
	add CHECK_FUNCTION.

	* rangetab.c:
	implement map-range-table.


2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* redisplay-tty.c (reset_tty_modes):
	(tty_redisplay_shutdown): Adjust argument type to
	tty_frame_output_end.

2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* eval.c (Fbacktrace): Don't output a line with only right
	parenthesis.

2000-05-17  Kenji Itoh  <keit@tpj.co.jp>

	* postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
	(Fpq_reset_poll): Ditto.

2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>

	* redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.

2000-05-16  Ben Wing  <ben@xemacs.org>

	* buffer.c:
	* buffer.c (dfc_convert_to/from_internal_format):
	* buffer.c (reinit_vars_of_buffer):
	Fix conversion functions to allow reentrancy.

	* console-msw.c:
	* console-msw.c (mswindows_output_last_error):
	New fun, generally useful -- output a human-readable
	version of GetLastError() on the console.

	* console-msw.h:
	* console-msw.h (struct mswindows_frame):
	Changes for DeferWindowPos.  Declare mswindows_output_last_error().

	* console-stream.c (stream_output_begin):
	* console-stream.c (stream_output_end):
	* console-stream.c (stream_output_vertical_divider):
	* console-stream.c (stream_clear_region):
	* console-stream.c (stream_flash):
	* console-stream.c (console_type_create_stream):
	Delete blank stream methods, not needed.

	* console.h (struct console_methods):
	Split begin/end methods into window and frame.

	* event-msw.c:
	* event-msw.c (mswindows_handle_paint):
	* event-msw.c (output_alt_keyboard_state):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (vars_of_event_mswindows):
	Comment about problems with ignored-expose.
	Define mswindows-debug-events; not really implemented.

	* frame-msw.c (mswindows_init_frame_1):
	random cleanups.

	* glyphs-msw.c:
	* glyphs-msw.c (begin_defer_window_pos):
	* glyphs-msw.c (mswindows_unmap_subwindow):
	* glyphs-msw.c (mswindows_map_subwindow):
	* glyphs-msw.c (mswindows_resize_subwindow):
	Use DeferWindowPos to reduce flashing when mapping/unmapping.

	* glyphs.c (make_image_instance_1):
	Fix crash.

	* gutter.c (Fredisplay_gutter_area):
	Use new begin/end methods.

	* lisp.h (Dynarr_new2):
	New creation fun.

	* redisplay-msw.c:
	* redisplay-msw.c (mswindows_frame_output_begin):
	* redisplay-msw.c (mswindows_frame_output_end):
	* redisplay-msw.c (console_type_create_redisplay_mswindows):
	New begin/end methods -- handle DeferWindowPos.

	* redisplay-output.c (redisplay_move_cursor):
	* redisplay-output.c (redraw_cursor_in_window):
	* redisplay-output.c (redisplay_update_line):
	* redisplay-output.c (redisplay_output_window):
	New begin/end methods.

	* redisplay-tty.c:
	* redisplay-tty.c (tty_frame_output_begin):
	* redisplay-tty.c (tty_frame_output_end):
	* redisplay-tty.c (console_type_create_redisplay_tty):
	New begin/end methods.

	* redisplay-x.c:
	* redisplay-x.c (x_window_output_begin):
	* redisplay-x.c (x_window_output_end):
	* redisplay-x.c (console_type_create_redisplay_x):
	New begin/end methods.

	* redisplay.c (redisplay_frame):
	* redisplay.c (Fredisplay_echo_area):
	New begin/end methods.
	use MAYBE_DEVMETH for clear_frame; it may not exist.

	* window.h (WINDOW_XFRAME):
	WINDOW_XFOO macros -- get locale and decode struct pointer.


2000-05-12  Ben Wing  <ben@xemacs.org>

	* emacs.c:
	* emacs.c (ensure_no_quitting_from_now_on):
	* emacs.c (fatal_error_signal):
	* emacs.c (mswindows_handle_hardware_exceptions):
	* emacs.c (main):
	* emacs.c (Fkill_emacs):
	* emacs.c (shut_down_emacs):
	* emacs.c (assert_failed):
	various improvements in fatal error handling.

	* eval.c:
	move preparing_for_armageddon to emacs.c.

	* lisp.h:
	declare fatal_error_in_progress.

	* print.c:
	* print.c (std_handle_out_external):
	* print.c (std_handle_out_va):
	* print.c (stderr_out):
	* print.c (stdout_out):
	use console under mswin when no standard output.
	don't do code conversion during fatal error.

	* scrollbar.c (Fscrollbar_page_up):
	* scrollbar.c (Fscrollbar_page_down):
	fix missing else.  reindent.

2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>

	Emergency fix.

	* glyphs.h (GLYPH_CACHEL_DESCENT):
	(GLYPH_CACHEL_DESCENT):
	(GLYPH_CACHEL_DESCENT):
	* glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
	used in case these are inline functions.
	Use more absurd values to error check.

	include window.h for error check functions.

2000-05-11  Ben Wing  <ben@xemacs.org>

	* cmdloop.c (Freally_early_error_handler):
	Display message box under windows; otherwise, message will disappear
	before it can be viewed.

	* console-msw.c:
	* console-msw.c (Fmswindows_message_box):
	* console-msw.c (FROB):
	* console-msw.c (syms_of_console_mswindows):
	Define new fun `mswindows-message-box'.
	#### I will merge this into `popup-dialog-box'; just give me
	a bit of time.

	* general.c:
	* general.c (syms_of_general):
	Some new symbols used in `mswindows-message-box'.

	* glyphs.c:
	* glyphs.c (Fset_image_instance_property):
	put warning in this fun.

	* glyphs.h:
	* glyphs.h (GLYPH_CACHEL_WIDTH):
	* glyphs.h (GLYPH_CACHEL_ASCENT):
	* glyphs.h (GLYPH_CACHEL):
	* glyphs.h (GLYPH_CACHEL_GLYPH):
	define error-checking versions to try to catch a bug i've seen --
	redisplay gets in an infinite loop because the glyph width of the
	continuation glyph is 65535.

	* lisp.h:
	Extern message-box stuff.

	* window.c (allocate_window):
	* window.c (make_dummy_parent):
	* window.c (Fset_window_configuration):
	Use EQUAL not EQ for subwindow caches to make them work a bit
	better. (Something is still very broken.)


2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* glyphs.c (image_instantiate): Suppress gcc warnings.
	(Fmake_image_instance): Fix doc string.
	* specifier.c (Fmake_specifier): Ditto.

2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* paths.h.in (PATH_LOCK): Removed.
	* config.h.in (LOCKDIR_USER_DEFINED): Removed.
	* emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.

2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* fns.c (Ffeaturep): Update e-mail address in doc-string.
	Document (featurep '(and xemacs 21.02)).

2000-05-09  Ben Wing  <ben@xemacs.org>

	* buffer.c (complex_vars_of_buffer):
	update modeline-format doc.

	* device.h:
	comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.

	* emacs.c:
	timeline of all released versions of Emacs, for use in creating
	authorship comments and in synching up.

	* glyphs-widget.c (image_instantiator_buttons):
	* glyphs-widget.c (image_instantiator_edit_fields):
	* glyphs-widget.c (image_instantiator_combo_box):
	* glyphs-widget.c (image_instantiator_scrollbar):
	* glyphs-widget.c (image_instantiator_progress_guage):
	* glyphs-widget.c (image_instantiator_tree_view):
	* glyphs-widget.c (image_instantiator_tab_control):
	* glyphs-widget.c (image_instantiator_labels):
	* glyphs-widget.c (image_instantiator_layout):
	* glyphs-widget.c (image_instantiator_native_layout):
	rename decode_domain method to governing_domain.

	* glyphs.c:
	* glyphs.c (Fvalid_image_instantiator_format_p): doc update.
	* glyphs.c (add_entry_to_device_ii_format_list):
	make sure we don't put an entry more than once into the list.
	* glyphs.c (check_instance_cache_mapper):
	*************************************************************
	allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
	HAVE BEEN GETTING.
	*************************************************************
	* glyphs.c (get_image_instantiator_governing_domain):
	clean up, expand on new concept of governing domain.
	* glyphs.c (instantiate_image_instantiator):
	* glyphs.c (allocate_image_instance):
	use governing_domain instead of cache_domain in naming.
	* glyphs.c (Fvalid_image_instance_type_p): fix docs.
	* glyphs.c (make_image_instance_1):
	* glyphs.c (Fmake_image_instance):
	allow for any domain (not just device), and process the
	governing domain correctly.  very big doc fix.
	* glyphs.c (Fimage_instance_domain):
	new primitive, to retrieve the governing domain of an image instance.
	* glyphs.c (image_instantiate):
	use new governing_domain stuff.  this fixes a crash you could get
	by instantiating certain widget glyphs in frame locales. (should
	signal an error instead of crashing.)
	* glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
	* glyphs.c (Fglyphp): clean up doc.
	* glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
	* glyphs.c (syms_of_glyphs):
	declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
	* glyphs.c (image_instantiator_format_create): add some comments about
	bogus code.
	* glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
	for current-display-table. (Apparently Hrjove implemented in 1998 a
	design I wrote up in 1996, but didn't update the doc string.)

	* glyphs.h: clean up a doc string.
	* glyphs.h (governing_domain):
	* glyphs.h (struct image_instantiator_methods):
	changes for governing_domain stuff.

	* gutter.c:
	* gutter.c (Fgutter_specifier_p):
	* gutter.c (Fgutter_size_specifier_p):
	* gutter.c (Fgutter_visible_specifier_p):
	* objects.c:
	* objects.c (Fcolor_specifier_p):
	* objects.c (Ffont_specifier_p):
	* objects.c (Fface_boolean_specifier_p):
	doc strings moved to make-*-specifier.

	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (screen):
	add random comments and doc strings.

	* specifier.c:
	* specifier.c (Fmake_specifier):
	major overhaul of this doc string.

	* specifier.c (Fvalid_specifier_domain_p):
	comment about the bogosity of image instances being domains.
	* specifier.c (decode_domain):
	now non-static, used in glyphs.c.
	* specifier.c (specifier_instance):
	comment about the bogosity of image instances being domains.
	* specifier.c (Fgeneric_specifier_p):
	move doc string to make-generic-specifier.
	* specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
	rebackslashify.

	* specifier.h:
	* specifier.h (DOMAIN_FRAME):
	* specifier.h (DOMAIN_LIVE_P):
	* specifier.h (DOMAIN_XDEVICE):
	rebackslashify.
	add comments about problems with these macros.
	prototype for decode_domain.

	* toolbar.c:
	* toolbar.c (Ftoolbar_specifier_p):
	move doc string to `make-toolbar-specifier'.

	* window.c (window_unmap_subwindows_cache_mapper):
	*************************************************************
	allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
	HAVE BEEN GETTING.
	*************************************************************

2000-05-09  Andy Piper  <andy@xemacs.org>

	* glyphs.h: declare reset_frame_subwindow_instance_cache.

	* window.c (Fset_window_configuration): reset the frame subwindow
	cache and re-initialize the window subwindow caches.

	* glyphs.c (reset_frame_subwindow_instance_cache): new function.

2000-05-09  Ben Wing  <ben@xemacs.org>

	* ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
	DWORD.

2000-04-26  Mike Woolley  <mike@bulsara.com>

	* ntheap.c: Changed recreate_heap to limit the amount reserved
	for the heap to that which is actually available. Also now
	displays a message box (with some dignostics) in the event that
	it still can't start.

2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* callproc.c (Fold_call_process_internal): GCPRO path

2000-05-08  Jan Vroonhof  <jan@xemacs.org>

	Patch by Bill Perry.

	* scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
	back data instead of #ifdef.
	(Fscrollbar_page_down): ditto.

2000-05-07  Ben Wing  <ben@xemacs.org>

	* buffer.h:
	Kludge for defining Qmswindows_tstr.

	* nt.c:
	* nt.c (open_input_file):
	* nt.c (open_output_file):
	* nt.c (rva_to_section):
	* nt.c (mswindows_executable_type):
	Move all memory-mapped-file routines here (some were in unexnt.c,
	which is bad because they are used by process-nt.c, and unexnt
	won't be around when portable dumping).  Synched the above routines
	with FSF 20.6.

	* nt.h:
	Removed ifdef'd out bogus code.
	Fixed some prototypes.

	* nt.h (file_data):
	* nt.h (OFFSET_TO_RVA):
	* nt.h (RVA_TO_OFFSET):
	* nt.h (RVA_TO_PTR):
	Moved the memory-mapped-file structures, macros and prototypes
	here, to parallel nt.c.  ntheap.h should really be removed
	entirely, and it's a non-portable-dumper specific file.

	* ntheap.h (round_to_next):
	Moved the memory-mapped-file structures, macros and prototypes
	to nt.h.

	* ntproc.c (compare_env):
	Moved rva_to_section and mswindows_executable_type to nt.c.
	Moved compare_env to process-nt.c.
	ntproc.c will die, one day.

	* ntproc.c (sys_spawnve):
	Account for win32_ -> mswindows_.

	* process-nt.c:
	* process-nt.c (struct nt_process_data):
	* process-nt.c (ensure_console_window_exists):
	* process-nt.c (compare_env):
	* process-nt.c (nt_create_process):
	* process-nt.c (nt_kill_process_by_pid):
	* process-nt.c (syms_of_process_nt):
	* process-nt.c (vars_of_process_nt):
	Introduce variable `mswindows-quote-process-args', from FSF 20.6.
	Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
	changes).  Eliminate our old `nt-quote-process-args' mechanism.
	Synch up nt_create_process with FSF 20.6 sys_spawnve.
	Move compare_env here from ntproc.c.

	* process.c (Fprocess_send_region):
	Takes an optional fourth argument, BUFFER, which should fix some
	problems with call-process.

	* syscommctrl.h:
	Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.

	* syswindows.h:
	Move ICC_BAR_CLASSES to syscommctrl.h.
	Add preliminary macros for MSWindows/Mule.  More to come.

	* unexnt.c:
	* unexnt.c (unexec):
	open_output_file moved to nt.c.


2000-05-05  Andy Piper  <andy@xemacs.org>

	* window.c (window_unmap_subwindows_cache_mapper): remove the dead
	instance from the frame cache also since GC may catch up too late
	to make frame deletion sane.

2000-05-04  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
	(x_finalize_image_instance): ungcpro on deletion.

	* glyphs.c (image_instantiator_format_create): give pointers a
	query geometry method so that the geometry is at least set.

	* glyphs-x.c (image_instantiator_format_create_glyphs_x): only
	initialize layouts if using widgets.

2000-05-03  Andy Piper  <andy@xemacs.org>

	* nt.c: remove bogus reference to sysmmsystem.h

	* gui-x.c (popup_selection_callback): fix no selection abort.

2000-05-02  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_update_widget): cope with nil text.
	(mswindows_widget_instantiate): ditto.

	* glyphs-widget.c (initialize_widget_image_instance): initialize
	children correctly.
	(widget_instantiate): cope with children and items in the same
	instance.

	* glyphs.c (mark_image_instance): cope with children as a first
	class member.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.
	(image_instance_changed): ditto.

2000-04-30  Andy Piper  <andy@xemacs.org>

	* glyphs.c (subwindow_query_geometry): new function. Return some
	defaults.
	(subwindow_instantiate): don't assign dimensions if none have been
	given.
	(image_instantiator_format_create): add subwindow_query_geometry.
	(print_image_instance): cope with layouts as widgets.

2000-04-29  Andy Piper  <andy@xemacs.org>

	* frame.c (delete_frame_internal): call
	free_frame_subwindow_instance_cache so that all subwindows are
	finalized before their parent.
	(mark_frame): remove subwindow_cachels.
	(Fmake_frame): remove subwindow_cachel manipulation.
	(allocate_frame_core): subwindow_instance_cache is a weak list.
	(delete_frame_internal): set subwindow_instance_cache to nil.

	* glyphs-msw.c (mswindows_finalize_image_instance): make double
	finalization safe.
	(mswindows_finalize_image_instance): use the device
	not the domain as the domain may have died already.

	* glyphs-x.c (x_finalize_image_instance): ditto.
	(x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
	HEIGHT.

	* redisplay-output.c (redisplay_unmap_subwindows): update for
	subwindow instance cache as a weak list.
	(redisplay_unmap_subwindows_maybe): ditto.
	(redisplay_unmap_subwindows_except_us): ditto.

	* glyphs.c (unmap_subwindow): error checking will check the domain
	so don't deal with it here. Don't use cachels anymore.
	(map_subwindow): ditto.
	(update_subwindow_cachel_data): remove old accessor names.
	(subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
	(Fresize_subwindow): don't update cachel.
	(mark_subwindow_cachels):
	(update_subwindow_cachel_data):
	(add_subwindow_cachel):
	(get_subwindow_cachel_index):
	(update_subwindow_cachel):
	(reset_subwindow_cachels):
	(mark_subwindow_cachels_as_not_updated): deleted.
	(cache_subwindow_instance_in_frame_maybe): new function. Add a
	subwindow instance to the frame cache.
	(find_matching_subwindow): update for subwindow instance cache as
	a weak list.
	(update_widget_instances): ditto.
	(image_instance_type_to_mask):inlined.
	(free_frame_subwindow_instance_cache): new function. finalize all
	subwindows that are instantiated.

	* glyphs.h (struct Lisp_Image_Instance): add display_data instead
	of cachel information.
	(IMAGE_INSTANCE_DISPLAY_X):
	(IMAGE_INSTANCE_DISPLAY_Y):
	(IMAGE_INSTANCE_DISPLAY_WIDTH):
	(IMAGE_INSTANCE_DISPLAY_HEIGHT):
	(XIMAGE_INSTANCE_DISPLAY_X):
	(XIMAGE_INSTANCE_DISPLAY_Y):
	(XIMAGE_INSTANCE_DISPLAY_WIDTH):
	(XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
	remove subwindow_cachel structure and function references.
	(image_instance_type_to_mask): inline from glyphs.c

	* redisplay.c (redisplay_frame): remove subwindow_cachel
	references.

	* frame.h (struct frame): remove subwindow_cachels.
	(FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.

	* frameslots.h: add subwindow_instance_cache.

	* window.c (replace_window): check subwindow cache of replacement.
	(window_unmap_subwindows_cache_mapper):
	(window_unmap_subwindows): new functions. Unmap all subwindows
	cached on this window.
	(mark_window_as_deleted): unmap all subwindows.

2000-04-27  Andy Piper  <andy@xemacs.org>

	* glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.

	* glyphs-widget.c (widget_layout): return something.
	(layout_layout): return something. Fail if not initialized.
	(layout_query_geometry): ditto.
	(image_instantiator_native_layout): new function. Initialized the
	native layout type.
	(widget_instantiate): don't do layout stuff here.

	* glyphs.c (instantiate_image_instantiator): reorded calling or
	instantiate and post_instantiate with layout in between.
	(image_instance_layout): be more selective about deciding whether
	the layout has been done or not.

	* glyphs.h (struct image_instantiator_methods): return a value
	from layout_method.

2000-04-26  Andy Piper  <andy@xemacs.org>

	* glyphs.c (allocate_image_instance): make initial width and
	height unspecified. Set initialized to 0.

	* syscommctrl.h new file. Encapsulates commctrl.h.

	* syswindows.h new file. Encapsulates windows.h.

	* ntplay.c: use new syswindows.h and syscommctrl.h header.
	* nt.c: ditto.
	* console-msw.h: ditto.

	* redisplay-tty.c (tty_output_display_block): remove layout references.

	* glyphs-msw.c (mswindows_widget_instantiate): use the domain
	window handle rather than just the frame.

	* glyphs.c (mark_image_instance): remove layout references.
	(print_image_instance): ditto.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.
	(decode_image_instance_type): ditto.
	(encode_image_instance_type): ditto.
	(image_instantiate): ditto.
	(allocate_glyph): ditto.
	(Fimage_instance_height): ditto.
	(Fimage_instance_width): ditto.
	(update_subwindow): ditto.

	* redisplay-x.c (x_output_display_block): recode for layouts as
	widgets.

	* redisplay-output.c (redisplay_output_layout): recode for layouts
	as widgets.
	(compare_runes): remove layout references.

	* redisplay-msw.c (mswindows_output_display_block): recode for
	layouts as widgets.

	* glyphs-widget.c (image_instantiator_layout): remove
	layout_possible_dest_types.
	(layout_possible_dest_types): deleted.

	* glyphs.h (image_instance_type): remove layout references.
	(struct Lisp_Image_Instance): ditto. Add initialized flag.
	(IMAGE_INSTANCE_INITIALIZED): new accessor.
	(XIMAGE_INSTANCE_INITIALIZED): ditto.

2000-04-25  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (image_instantiator_buttons):
	(image_instantiator_edit_fields):
	(image_instantiator_combo_box):
	(image_instantiator_scrollbar):
	(image_instantiator_progress_guage):
	(image_instantiator_tree_view):
	(image_instantiator_tab_control):
	(image_instantiator_labels):
	(image_instantiator_layout): call default post_instantiate method.
	(widget_post_instantiate): new function. Simply lays out the
	widgets.

	* glyphs.h (struct image_instantiator_methods): add
	post_instantiate method.

	* glyphs.c (instantiate_image_instantiator): add post_instantiate
	method calls.

2000-04-23  Andy Piper  <andy@xemacs.org>

	* glyphs.h (struct image_instantiator_methods): add
	decode_domain_method.
	(struct Lisp_Image_Instance): remove subwindow frame - it can be
	derived from the domain.
	(IMAGE_INSTANCE_FRAME): new accessor.
	(XIMAGE_INSTANCE_FRAME): ditto.

	* glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
	instead of _SUBWINDOW_FRAME.
	(finalize_image_instance): ditto.
	(Fimage_instance_foreground): ditto.
	(Fimage_instance_background): ditto.
	(image_instantiate): ditto.
	(update_subwindow_cachel): ditto.
	(update_subwindow): ditto.
	(unmap_subwindow): ditto.
	(map_subwindow): ditto
	(subwindow_instantiate): ditto.
	* glyphs-msw.c (mswindows_update_widget): ditto.
	(mswindows_progress_gauge_instantiate): ditto.
	(mswindows_tab_control_update): ditto.
	* glyphs-x.c (x_update_widget): ditto.
	(x_widget_instantiate): ditto.
	(x_tab_control_instantiate): ditto.
	(x_tab_control_update): ditto.
	* event-msw.c (mswindows_wnd_proc): ditto

	* glyphs-widget.c (image_instantiator_layout): use
	subwindow_decode_domain.
	(image_instantiator_buttons): ditto.
	(image_instantiator_edit_fields): ditto.
	(image_instantiator_combo_box): ditto.
	(image_instantiator_scrollbar): ditto.
	(image_instantiator_progress_guage): ditto.
	(image_instantiator_tree_view): ditto.
	(image_instantiator_tab_control): ditto.
	(image_instantiator_labels): ditto.
	(image_instantiator_layout): ditto.

	* glyphs.c: add instance error checking to many functions.
	(instantiate_image_instantiator): decode device from cache_domain.
	(image_instantiate): partially rewrite by using
	decode_image_instantiator_domain to determine what domain the
	instance needs to be cached in.
	(decode_image_instantiator_domain): new function. Determine what
	domain the image needs to be cached in.
	(check_window_subwindow_cache): new error checking function.
	(check_instance_cache_mapper): ditto.
	(check_image_instance_structure): ditto.
	(subwindow_decode_domain): new function. Encodes a window as a
	subwindow's cache domain.
	(image_instantiator_format_create): use it for text and
	subwindows.

2000-04-21  Andy Piper  <andy@xemacs.org>

	* glyphs.c (image_instance_device): new function.
	(image_instance_frame): new function.
	(image_instance_window): new function.
	(image_instance_live_p): new function.

	* window.c (mark_window_as_deleted): reset the subwindow_instance_
	cache to nil.

	* glyphs.h (struct Lisp_Image_Instance): device->domain.
	(IMAGE_INSTANCE_DOMAIN): new accessor.
	(XIMAGE_INSTANCE_DOMAIN): ditto.

	* glyphs-x.c (x_finalize_image_instance): device->domain.

	* glyphs-msw.c (init_image_instance_geometry): device->domain.
	(mswindows_finalize_image_instance): ditto.

	* glyphs-eimage.c (jpeg_instantiate): device->domain.
	(gif_instantiate): ditto.
	(png_instantiate): ditto.
	(tiff_instantiate): ditto.

	* glyphs.c (instantiate_image_instantiator): use domain rather
	than device.
	(mark_image_instance): device -> domain.
	(print_image_instance): ditto.
	(finalize_image_instance): ditto.
	(image_instance_equal): ditto.
	(allocate_image_instance): ditto.
	(Fcolorize_image_instance): ditto.
	(query_string_geometry): ditto.
	(image_instantiate): ditto
	(query_string_font): ditto.
	(image_instantiate): ditto.
	(update_subwindow): ditto.
	(unmap_subwindow): ditto.
	(map_subwindow): ditto.
	(subwindow_instantiate): ditto.

	* specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
	(DOMAIN_FRAME): ditto.
	(DOMAIN_WINDOW): ditto.
	(DOMAIN_LIVE_P): ditto.
	(XDOMAIN_DEVICE): ditto.
	(XDOMAIN_FRAME): ditto.
	(XDOMAIN_WINDOW): ditto.

	* specifier.c (Fvalid_specifier_domain_p): add image instances as
	a valid specifier domain.

2000-04-19  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (syms_of_glyphs_widget): remove
	widget-callback-current-channel.
	(vars_of_glyphs_widget): ditto.
	* glyphs.h: ditto

	* gui.c (get_gui_callback): revert to previous behaviour.

2000-04-18  Andy Piper  <andy@xemacs.org>

	* glyphs.h (struct Lisp_Image_Instance): add margin_width.
	(IMAGE_INSTANCE_MARGIN_WIDTH): new.
	(XIMAGE_INSTANCE_MARGIN_WIDTH): new.

	* glyphs.c (image_instance_equal): add margin_width.
	(image_instance_hash): ditto.

	* glyphs-widget.c (widget_instantiate): deal with margin-width.
	(layout_query_geometry): ditto.
	(layout_layout): ditto.
	(syms_of_glyphs_widget): add margin-width.
	(image_instantiator_layout): allow margin-width.

	* glyphs.c (update_widget_instances): make a normal function.
	(syms_of_glyphs): remove Qupdate_widget_instances.
	* glyphs.h: ditto.

	* gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
	so that we don't corrupt ideas about the last event or
	command. Remove widget-callback-current-channel fiddling.
	* gui-msw.c (mswindows_handle_gui_wm_command): ditto.

2000-05-01  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.33 is released.

2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* make-src-depend: Allow dots in header file name.

2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>

	* mule-charset.h (struct charset_lookup): Add
	next_allocated_1_byte_leading_byte and
	next_allocated_2_byte_leading_byte.
	* mule-charset.c: Move above two variables so that those values
	will be dumped.

2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
	when string length is zero.
	(find_charsets_in_emchar_string): Ditto.

2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>

	* lisp.h: extern Qdialog and Qmenubar.

	* gui-x.c: added events.h.
		also fixed typo which made the file uncompilable.

	* general.c: Added Qmenubar and Qdialog

2000-04-28  Ben Wing  <ben@xemacs.org>

	* frame-msw.c (mswindows_init_frame_1):
	* frame-msw.c (mswindows_mark_frame):
	* event-msw.c (mswindows_enqueue_dispatch_event):
	* console-msw.h:
	* console-msw.h (struct mswindows_frame):
	* console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
	there are now three hash tables for callbacks.
	mswindows_enqueue_dispatch_event is no longer static.

	* dialog-x.c (maybe_run_dbox_text_callback):
	* dialog-x.c (dbox_descriptor_to_widget_value):
	switch to new cons3 form for callbacks.

	* glyphs-msw.c (mswindows_register_gui_item):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-msw.c (add_tree_item):
	* glyphs-msw.c (add_tab_item):
	new image instance parameter, so it can be passed to callback-ex.
	respect :callback-ex as well as :callback.

	* glyphs-widget.c (VALID_GUI_KEYWORDS):
	add :callback-ex.

	* glyphs.c (print_image_instance):
	prettify, e.g. now prints widget type.

	* gui-x.h:
	certain funs have new image instance parameter.

	* gui.c:
	* gui.c (get_gui_callback):
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (gui_item_init):
	* gui.c (gui_add_item_keywords_to_plist):
	* gui.c (mark_gui_item):
	* gui.c (gui_item_hash):
	* gui.c (gui_item_equal):
	* gui.c (copy_gui_item):
	* gui.c (syms_of_gui):
	recognize callback-ex in a number of places.
	also, fix the annoying "can't get out of yes-no dialog" bug.

	* gui.h:
	* gui.h (struct Lisp_Gui_Item):
	recognize callback-ex in a number of places.

	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	new parameter in button_item_to_widget_value.

	* glyphs-x.c (x_update_widget):
	* glyphs-x.c (x_button_instantiate):
	* glyphs-x.c (x_button_update):
	* glyphs-x.c (x_progress_gauge_instantiate):
	* glyphs-x.c (x_edit_field_instantiate):
	* glyphs-x.c (x_combo_box_instantiate):
	* glyphs-x.c (x_tab_control_instantiate):
	* glyphs-x.c (x_label_instantiate):
	new image instance parameter in various places.

	* event-Xt.c:
	* event-Xt.c (enqueue_Xt_dispatch_event):
	this fun gets exported.

	* gui-msw.c:
	* gui-msw.c (mswindows_handle_gui_wm_command):
	handle both :callback and :callback-ex, and generate our own
	event because it's one of the callback-ex arguments.

	* gui-x.c:
	* gui-x.c (popup_selection_callback):
	handle both :callback and :callback-ex, and generate our own
	event because it's one of the callback-ex arguments.
	* gui-x.c (button_item_to_widget_value):
	* gui-x.c (gui_items_to_widget_values_1):
	* gui-x.c (gui_item_children_to_widget_values):
	* gui-x.c (gui_items_to_widget_values):
	new image instance parameter in various places.

	* fns.c (Freplace_list):
	fix small typo in doc string.

	* lisp.h:
	declare enqueue_Xt_dispatch_event.

2000-04-28  Ben Wing  <ben@xemacs.org>

	* buffer.c:
	* buffer.c (Frecord_buffer):
	* buffer.c (syms_of_buffer):
	delete record-buffer-hook.

	* fns.c:
	* fns.c (Freplace_list):
	* fns.c (syms_of_fns):
	new primitive replace-list.

	* frameslots.h:
	slot for old buffer-alist.

	* lisp.h:
	exfun replace-list.

	* redisplay.c:
	* redisplay.c (redisplay_frame):
	* redisplay.c (syms_of_redisplay):
	* redisplay.c (vars_of_redisplay):
	new hook buffer-list-changed-hook.
	call it.

2000-04-27  Ben Wing  <ben@xemacs.org>

	* extents.h: extern in_modeline_generation.

	* redisplay.c (generate_formatted_string_db): set
	in_modeline_generation.

	* extents.c (extent_changed_for_redisplay): don't mark redisplay
	flags if in modeline generation.  otherwise frame-modified-tick
	is ticked far too often.
	Declare in_modeline_generation.

2000-04-26  Ben Wing  <ben@xemacs.org>

	* emacs.c (vars_of_emacs): document quick-build "error-checking"
	option.
	(vars_of_emacs): add quick-build as an error-checking option.
	A bit kludgy, but there doesn't seem much point in creating
	a real var for this.

	* config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.

2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>

	* redisplay.h (struct display_line): Add a new variable,
	line_continuation.

	* redisplay.c (create_text_block): Set dl->line_continuation if
	the line continues.
	(create_string_text_block): Ditto.
	(regenerate_window_incrementally): Use line_continuation instead
	of searching continuation glyph.
	(add_margin_runes): Call add_glyph_rune.
	(add_glyph_rune): Handle margin glyph.

2000-04-20  Martin Buchholz  <martin@xemacs.org>

	* filelock.c (fill_in_lock_file_name):
	ANSIfy.
	Check for IS_ANY_SEP instead of '/'.
	(lock_file_1):
	Avoid generating gratuitous garbage.  Call user_login_name() directly.
	Never check errno without first seeing that system call failed.
	(unlock_file): Add GCPRO.
	(Flock_buffer): Fix docstring.
	(Ffile_locked_p): Fix docstring.  Add GCPRO.

2000-04-19  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c (get_pty_max_bytes):
	Fix hangs on DEC OSF 4.0 when (process-send-string) sends
	strings longer than 252 bytes.

	* md5.c: Unconditionally include ANSI header <limits.h>

	* glyphs-x.c (convert_EImage_to_XImage):
	* lisp-union.h (union Lisp_Object):
	Use consistently the syntax #ifdef FEATURE, not #if FEATURE.

2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* filelock.c (current_lock_owner): Remove unused variable o, p.

2000-04-17  Norbert Koch  <n.koch@eai-delta.de>

	* callint.c: Remove multiply defined symbol Qlet
	(syms_of_callint): ditto.

2000-04-14  Andy Piper  <andy@xemacs.org>

	* general.c (syms_of_general): add last-command, this-command, let
	and funcall.

	* lisp.h: declare various symbols.

	* glyphs.h: declare Qwidget_callback_current_channel;

	* glyphs-widget.c (syms_of_glyphs_widget): add
	Qgui_callback_current_channel.
	(vars_of_glyphs_widget): add Vgui_callback_current_channel.

	* gui-msw.c (mswindows_handle_gui_wm_command): bind
	widget-callback-current-channel when invoking the interactive
	arg. Also bind last-command and next-command when invoking the
	widget updates.
	* gui-x.c (popup_selection_callback): ditto.

	* gui.c (get_gui_callback): massage args so that we are always
	calling eval. This allows us to add our own variable bindings
	outside.

	* glyphs-x.c (x_button_instantiate): use
	gui_items_to_widget_values since this is GC safe.
	(x_progress_gauge_instantiate): ditto.
	(x_edit_field_instantiate): ditto.
	(x_label_instantiate): ditto.

	* event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
	(emacs_Xt_event_widget_focus_out): new function
	(emacs_Xt_event_widget_focus_in): new function. Set the keyboard
	focus.
	(emacs_Xt_event_add_widget_actions): new function. add focus
	functions as actions.
	(init_event_Xt_late): use it.

2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>

	* event-stream.c (Fdispatch_event): Doc fix.

2000-03-29  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c: Remove all references to PQsetenv*.

	* postgresql.h: Remove references to PGsetenvHandler object.
	* lrecord.h (lrecord_type): Ditto.

2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* glyphs-msw.h (struct mswindows_image_instance_data): Added
	real_heigh and real_width members, and accessor macros for these.

	* glyphs-msw.c (init_image_instance_geometry): New function.
	(init_image_instance_from_dibitmap): Use it.
	(mswindows_resource_instantiate): Use it.
	(init_image_instance_from_xbm_inline): Use it.
	(mswindows_initialize_image_instance_mask): Use real bitmap
	geometry.
	(mswindows_create_resized_bitmap): Ditto.
	(mswindows_create_resized_mask): Ditto.

	* redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
	and bitmap to their surface size.

2000-04-11  Jan Vroonhof  <jan@xemacs.org>

	* process-unix.c (unix_send_process): Guard against process MIA
	after Faccept_process_output.

2000-04-11  Ben Wing  <ben@xemacs.org>

	* eval.c (unbind_to_hairy): fix brokenness introduced by
	nanosecond speed improvements.

2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>

	* sunplay.c (init_device): To play sounds correctly, the device
	apparently needs to be initialized at least once by XEmacs.  Make
	it so.

2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>

	* redisplay.c (add_margin_runes): Add text image glyph
	  handling.

2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* lisp.h (DOESNT_RETURN): Don't declare as volatile when
	gcc is newer than 2.5.

2000-04-06  Colin Rafferty  <colin@xemacs.org>

	* lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.

	* fns.c (size_bit_vector):
	* alloc.c (size_vector):
	(make_vector_internal):
	(make_bit_vector_internal):
	(sweep_bit_vectors_1):
	Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.

2000-04-06  Andy Piper  <andy@xemacs.org>

	* gmalloc.c (malloc): undo previous change.
	(malloc): ditto.
	(free): ditto.
	(realloc): ditto.

2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>

	* line-number.c (buffer_line_number): Revert to former version.

2000-04-06  Andy Piper  <andy@xemacs.org>

	* gmalloc.c (malloc): add error checking.
	(malloc): ditto.
	(free): ditto.
	(realloc): ditto.

	* dialog-x.c (dbox_descriptor_to_widget_value): add extra
	button_item_to_widget_value arg.

	* glyphs-x.c (x_button_instantiate): add extra
	button_item_to_widget_value arg.
	(x_progress_gauge_instantiate): ditto.
	(x_edit_field_instantiate): ditto.
	(x_label_instantiate): ditto.

	* gui-x.c (gui_items_to_widget_values_1): add extra
	button_item_to_widget_value arg.
	(button_item_to_widget_value): add extra menu_item_p arg.

	* gui-x.h: change signature of button_item_to_widget_value.

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
	button_item_to_widget_value arg.

2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* buffer.h (struct buffer): auto_save_modified should be long.

2000-04-05  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_instantiate): pixwidth != pixheight
	type.
	(button_query_geometry): give a little more room so that athena
	buttons fit.

2000-04-05  Andy Piper  <andy@xemacs.org>

	* faces.c (complex_vars_of_faces): The widget face should inherit
	the font of the gui-element face.

2000-04-04  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_button_update): new function. unconditionally
	update a button's state when the instance is dirty.
	(image_instantiator_format_create_glyphs_x): add x_button_update.
	(x_widget_instantiate): remove old resize cruft.

2000-04-02  Andy Piper  <andy@xemacs.org>

	* frame.c (change_frame_size_1): The introduction of gutters means
	that we need to allow 0 as a potential frame dimension.

2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>

	* redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
	image glyph if allow_cursor.
	(add_hscroll_rune): Don't allow cursor to border glyph.
	(create_text_block): Ditto.

	* redisplay-output.c (redisplay_move_cursor): Do nothing even if
	text not in buffer.
	(redisplay_output_layout): Call ensure_face_cachel_complete for
	text image glyph.


2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>

	* redisplay.c (add_glyph_rune): Adding text image as text runes.

	* redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
	not in buffer

	* redisplay-tty.c (tty_output_display_block): Delete the routine
	for text image glyph
	* redisplay-x.c (x_output_display_block): ditto
	* redisplay-msw.c (mswindows_output_display_block): ditto

2000-02-02  Mike Alexander  <mta@arbortext.com>

	Note: Some of these were committed by accident as part of other
	patches.

	* regex.c (regex_compile): Avoid compiler warnings.

	* ntproc.c (sys_spawnve): Avoid compiler warnings.

	* nt.h: Declare term_ntproc correctly.

	* nt.c: Remove incorrect declaration of get_home_directory which
	is declared correctly in lisp.h.

	* keymap.c (get_keyelt): Avoid compiler warnings.
	(raw_lookup_key_mapper): Avoid compiler warnings.

	* gutter.c (gutter_was_visible): Add return statement to avoid warning.

	* glyphs-eimage.c (png_instantiate): Avoid compiler warnings.

	* filemode.c (mode_string): Avoid compiler warnings.

	* file-coding.c (Fcoding_system_aliasee): Add return statement to
	avoid warning.

	* events-mod.h: Undef some things that winuser.h defines differently.

	* data.c (Faset): Avoid compiler warnings.

	* alloc.c (Fmake_byte_code): Avoid compiler warnings.

2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
	Fall through to simple beep on error.
	Replace "extern" by real header file.

	* linuxplay.c: Use nativesound.h
	(play_sound_data): Return error code. Be less verbose on error.

	* sunplay.c: Use nativesound.h
	(play_sound_data): Return error code. Be less verbose on error.

	* ntplay.c: Use nativesound.h
	(play_sound_data): Return fake error code

	* sgiplay.c: Use nativesound.h
	(play_sound_data): Return error code

	* hpplay.c: Use nativesound.h, partially implement
	new error code. Break compilation until finished.
	(play_sound_data): error code.

	* nativesound.h (play_sound_file):
	  (play_sound_data): Prototype in new header.

2000-03-31  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c: (button_query_geometry): new function. Adjust
	for toggle and radio buttons.
	(image_instantiator_buttons): use it.

2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* scrollbar-x.c (x_update_vertical_scrollbar_callback):
	(x_update_horizontal_scrollbar_callback): Return if no mirror was
	found. Scrollbar event probably belonged to some old config.

2000-03-31  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
	than 1.
	(initialize_widget_image_instance): default layout to
	LAYOUT_HORIZONTAL rather than 0.
	(widget_instantiate): reverse the item list at the end rather than
	every iteration.
	(layout_layout): re-code for the border text at the front of the
	item list rather than at the end.
	(layout_query_geometry): ditto. Pick up fixed and dynamic sizes
	provided by the user.
	(widget_query_geometry): comment.

2000-03-30  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (image_instantiator_layout): allow standard
	widget keywords in layouts.

	* gutter.c (output_gutter): cope with nil gutter contents.

	* frame.c (Fset_frame_properties): add gutter docs.

2000-03-29  Andy Piper  <andy@xemacs.org>

	* toolbar-msw.c (TBSTYLE_FLAT): add.
	(mswindows_output_toolbar): minor fiddling.

2000-03-29  Andy Piper  <andy@xemacs.org>

	* gutter.c (output_gutter): force gutter size recalculation if
	what we are trying to display won't fit.
	(update_gutter_geometry): new function. A per-gutter version of
	update_frame_gutter_geometry.
	(update_frame_gutter_geometry): use it.
	(redraw_exposed_gutter): add extra debugging output.

2000-03-28  Mike Alexander  <mta@arbortext.com>

	* dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
	(pdump_file_unmap): Implement it on Windows
	(pdump_file_get): Save alocated handles for pdump_file_unmap

2000-03-28  Andy Piper  <andy@xemacs.org>

	* gui.c (get_gui_callback): treat Quit specially.

2000-03-27  Andy Piper  <andy@xemacs.org>

	* glyphs.c (image_instantiate): be careful to check in the same
	way we assigned.

2000-03-27  Didier Verna  <didier@xemacs.org>

	* config.h.in: define the proper SMART_INCLUDE macro.
	handle renaming of `foo_h_path' to `foo_h_file'.

	* database.c: ditto.

	* emacs.c: ditto.

	* linuxplay.c: ditto.

	* terminfo.c: ditto.

	* tooltalk.h: ditto.

2000-03-27  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_update_widget): make sure the widget
	gets updated whenever the face might have changed.

2000-03-26  Mike Alexander  <mta@arbortext.com>

	* dumper.c (pdump_resource_free): Fix the comment.

2000-03-21  Olivier Galibert  <galibert@pobox.com>

	* input-method-xlib.c (XIM_init_frame): Remove painful warning.

2000-03-22  Mike Alexander  <mta@arbortext.com>

	* dumper.c: Include Windows headers on Windows
	(pdump_resource_free): Add a body to the function
	(pdump_load): exe_name -> exe_path and add some comments.

2000-03-25  Mike Alexander  <mta@arbortext.com>

	* gui.c (copy_gui_item_tree): Return a value in all cases

2000-03-21  Didier Verna  <didier@xemacs.org>

	* config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
	lwlib/config.h.in.
	(SMART_INCLUDE): new macro.
	(POSTGRES_INCLUDE): new macro to include postgresql headers from
	the proper location.

	* postgresql.c: use it.

	* inline.c: ditto.

2000-03-24  Andy Piper  <andy@xemacs.org>

	* gutter.c (redraw_exposed_gutters): must be "in display" when we
	do this.

2000-03-24  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (compare_runes): use image_instance_changed
	to detect changes. Do not depend on glyphs_changed, only depend on
	dirtiness.
	 (redisplay_output_layout): add debug messages.
	(compare_runes): ditto.

	* glyphs.h: declare new functions.
	(struct Lisp_Image_Instance): remove percent and associated
	accessors.

	* gui.h: declare new copying functions.

	* gui.c (copy_gui_item_tree): new function.
	(copy_gui_item): new function.
	(gui_item_id_hash): revert to standard hash.
	(gui_item_hash): ditto.
	(gui_item_hash_internal): deleted.
	(mark_gui_item): mark value.
	(gui_item_add_keyval_pair): add value.
	(gui_item_init): ditto.
	(gui_add_item_keywords_to_plist): ditto.
	(gui_item_equal): ditto.
	(syms_of_gui): add Q_value.

	* glyphs-x.c (x_progress_gauge_update): use pending items and
	value for setting the state.
	(x_update_widget): don't set items from pending here.

	* glyphs-widget.c (update_widget): update items here.
	(progress_gauge_set_property): use items for storing value. Put
	new value in pending items.

	* glyphs-msw.c (mswindows_progress_gauge_update): use pending
	items for new value. Convert percent -> value.
	(mswindows_tab_control_update): don't update items here.

	* glyphs.c (Fupdate_widget_instances): use image_instance_changed.
	(update_subwindow): ditto.
	(image_instance_changed): new function. Compare hash values and
	past and present widget items.
	(image_instantiate): We more careful about where we instantiate
	things.
	(image_instantiate): add error checking.

	* gutter.c (syms_of_gutter): use -hook.

2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* console-tty.c (Fset_console_tty_input_coding_system): Use
	Qkeyboard.
	(Fset_console_tty_output_coding_system): Use Qterminal.
	(tty_init_console): Use Qkeyboard and Qterminal.

2000-03-21  Ben Wing  <ben@xemacs.org>

	* ntproc.c (create_child): remove bogus HAVE_NTGUI's.
	From Mike Alexander <mta@arbortext.com>.

2000-03-21  Ben Wing  <ben@xemacs.org>

	* event-msw.c (mswindows_need_event): Horrible kludge to fix
	process brokenness.  Proper implementation to come.
	* callproc.c:
	Rename call-process-internal to old-call-process-internal.
	New impl. in process.el.

2000-03-21  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.

2000-03-20  Andy Piper  <andy@xemacs.org>

	* glyphs.c (full_list_hash): make hashes of the same elements in
	different orders return different values.

2000-03-20  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.32 is released.

2000-03-20  Martin Buchholz  <martin@xemacs.org>

	* buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
	(DFC_MALLOC_USE_CONVERTED_DATA):
	Add aliasing-safe casts to allow use with char* or unsigned char*
	lvalues.

	* eldap.c (Fldap_open):
	(Fldap_search_basic):
	(Fldap_add):
	(Fldap_modify):
	Make C++-compilable.
	Make sure GCPRO'ed variables are initialized.
	Use temp variables to avoid repeated calls to Flength.

2000-03-16  Martin Buchholz  <martin@xemacs.org>

	* sysfile.h:
	Make sure PATH_MAX is always defined.
	Include limits.h for PATH_MAX.
	Deprecate use of MAXPATHLEN.

2000-03-10  Martin Buchholz  <martin@xemacs.org>

	* emacs.c: Add reinit_vars_of_fileio.
	* symsinit.h: Add reinit_vars_of_fileio.
	* fileio.c (reinit_vars_of_fileio): New.
	* fileio.c (Fmake_temp_name):
	Initialize temp_name random number from microseconds to make
	collisions even less likely.  Initialize always at process startup
	time.  (make-temp-name) used to return the same file name twice in
	a row when PDUMP.
	Random stylistic fiddling.
	Comment fixes.

2000-03-20  Andy Piper  <andy@xemacs.org>

	* glyphs.c (image_instantiate): allow text glyphs to be
	instantiated in the minibuffer window.

2000-03-19  Andy Piper  <andy@xemacs.org>

	* glyphs.c (image_instance_hash): be careful about which items we
	hash on.

	* glyphs-widget.c (tab_control_set_property): record into pending
	items rather than the actual items.

	* glyphs-x.c (x_update_widget): use pending items to update with.

	* glyphs-msw.c (mswindows_tab_control_update): use pending items
	to update with.

	* glyphs.c (mark_image_instance): mark pending items.

	* window.c (Fset_window_configuration): record the buffer.
	(Fselect_window): totally revert previous change which breaks many
	things.

2000-03-18  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_tab_control_update): force selected
	item.

	* glyphs.c (image_instantiate): don't allow the minibuffer as a
	window domain cache, otherwise we get inconsistencies at
	startup. There is something fishy at startup which can lead to the
	minibuffer being the selected window when the gutter content is
	instantiated.

	* gui.c (parse_gui_item_tree_list): add probably unnecessary
	gcpros.
	(parse_gui_item_tree_children): ditto.
	(parse_gui_item_tree_item): ditto.

	* glyphs.c (Fupdate_widget_instances): return something.

2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* window.c (Fselect_window): Undo 2000-03-17 change.

2000-03-17  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c (Fpq_setenv): Remove this turkey when linking
	against v7.0 libraries.  Insta-coredump city until the postgres
	folks fix it.

2000-03-17  Andy Piper  <andy@xemacs.org>

	* faces.c (complex_vars_of_faces): don't give the widget face an
	inherited background pixmap.

	* glyphs-msw.c (mswindows_tab_control_instantiate): select the
	selected item.

	* event-stream.c (Fdispatch_non_command_events): return something.

	* gutter.c (output_gutter): use widget face.
	(clear_gutter): ditto.

	* NEWS: adjust again.

	* window.c (Fselect_window): make sure this runs to completion to
	avoid oddities with Fset_window_configuration.
	(Fcurrent_window_configuration): in general do not save the
	minibuffer as the selected window.

	* glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.

2000-03-16  Olivier Galibert  <galibert@pobox.com>

	* emacs.c (Frunning_temacs_p): Revert previous patch.
	(main_1): Reinitialize running_temacs_argc if pdump_load succeeds.

2000-03-16  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_tab_control_update): if no widget values then
	return.

	* NEWS: update for new features.

	* event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
	synthetic event to the native system.
	(reinit_vars_of_event_Xt): set force_event_pending to
	emacs_Xt_force_event_pending.

	* events.h (struct event_stream): add force_event_pending.

	* specifier.c (recompute_one_cached_specifier_in_window): add
	comment.

	* redisplay.c (redisplay_frame): don't call
	update_frame_subwindows. Reset subwindow cachels when
	subwindows_changed, removing this was an optimization too far.

	* redisplay-output.c (compare_runes): reorganize so that we catch
	glyph changes when we want them. Set optimize_output when this
	would help layouts.
	(redisplay_output_layout): remove frame_really_changed, use
	optimize_output instead.

	* redisplay-msw.c (mswindows_output_display_block): reset
	optimize_output after outputting a glyph.
	* redisplay-x.c (x_output_display_block): ditto.
	* redisplay-tty.c (tty_output_display_block): ditto.

	* gutter.c: (specifier_vars_of_gutter): use new spec changed
	functions.
	(gutter_specs_changed): do specific gutter positions.
	(top_gutter_specs_changed): new function. Only update the
	specified gutter specs.
	(bottom_gutter_specs_changed): ditto.
	(left_gutter_specs_changed): ditto.
	(right_gutter_specs_changed): ditto.

	* gui.c (gui_item_hash_internal): new function, does a real hash.
	(gui_item_id_hash): use it.
	(gui_item_hash): hash the eval'ed gui_item.

	* gui-x.c (popup_selection_callback): send an eval event to call
	Fupdate_widget_instances.

	* gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
	to call Fupdate_widget_instances.

	* glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
	(IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.

	* glyphs.c: (update_frame_subwindows): deleted.
	(Fupdate_widget_instances): new function for updating the dirty
	state of widgets that might have changed.
	(syms_of_glyphs): add Qupdate_widget_instances.
	(full_list_hash): hash a list completely.
	(image_instance_hash): use it for items and properties.

	* frame-msw.c (mswindows_size_frame_internal): remove unused
	variable.

	* faces.h (struct face_cachel): fix comment.

	* event-stream.c (Fdispatch_non_command_events): new
	function. Process non-command events, forcing an event cycle
	beforehand.
	(syms_of_event_stream): declare.
	(event_stream_force_event_pending): new function. Force an event
	on the native event queue so that an event cycle will occur next
	time we check.

	* event-msw.c:
	(struct ntpipe_shove_stream):
	(mswindows_enqueue_dispatch_event):
	(mswindows_dequeue_dispatch_event):
	(mswindows_cancel_dispatch_event):
	(mswindows_pump_outstanding_events):
	(mswindows_drain_windows_queue):
	(mswindows_handle_paint):
	(mswindows_wnd_proc):
	(mswindows_key_to_emacs_keysym):
	(get_process_input_waitable):
	(emacs_mswindows_delete_stream_pair): re-indent file.
	(mswindows_need_event): do not process further fds if the windows
	fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
	fixes the 100% cpu problem.
	(reinit_vars_of_event_mswindows): set force_event_pending to 0.

2000-03-15  Olivier Galibert  <galibert@pobox.com>

	* alloc.h: New.
	* dumper.h: New.
	* dumper.c: New.

	* emacs.c: Moved dump file searching to dumper.c.
	(Frunning_temacs_p): Fixed.

	* alloc.c: Moved everything pdump-related to dumper.c.  Removed
	last_lrecord_type_index_assigned.

2000-02-20  Olivier Galibert  <galibert@pobox.com>

	* symsinit.h: Added reinit parameter to init_console_stream
	declaration.

	* lisp.h: Added file parameter to pdump_load declaration.

	* emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
	support.  Added dump file searching.

	* config.h.in: Added EMACS_PROGNAME.

	* console-stream.c (init_console_stream): Fix reinitialisation
	when running from temacs.

	* alloc.c (pdump): Add id support.
	(pdump_load): Add file parameter and signature/id support.

	* Makefile.in.in: Add full pdump support.

2000-03-15  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c: Update documentation to reflect latest code
	status.
	(print_result): Show tuple counts in printed representation when
	appropriate.
	(Fpq_put_nbytes): MULE-ize.
	(Fpq_get_line_async): Ditto.

2000-03-14  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c (Fpq_lo_import): Fix return value.
	Suggested by: Kenji Itoh <keit@tpj.co.jp>.

2000-03-13  Ben Wing  <ben@xemacs.org>

	* alloc.c (pdump_load):
	Fix compile warning under mswin.

2000-03-14  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c: Mule-ization, bug fixes.
	Use PG_CODING to encapsulate coding system name changes.
	Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
	(pg-coding-system): Create.

	(Fpq_conn_defaults): Mule-ize.
	(Fpq_connectdb): Mule-ize & bug fix.
	(Fpq_connect_start): Mule-ize.
	(Fpq_set_client_encoding): Mule-ize.
	(Fpq_finish): Document `DEAD' connection status.
	(Fpq_clear): Ditto.
	(Fpq_pgconn): Mule-ize.
	(Fpq_exec): Mule-ize & bug fix.
	(Fpq_send_query): Ditto.
	(Fpq_get_result): Ditto.
	(Fpq_res_status): Mule-ize.
	(Fpq_result_error_message): Mule-ize.
	(Fpq_ntuples): fix comments.
	(Fpq_fname): Mule-ize.
	(Fpq_fnumber): Mule-ize.
	(Fpq_ftype): fix comments.
	(Fpq_get_value): Mule-ize.
	(Fpq_cmd_status): Ditto.
	(Fpq_cmd_tuples): Ditto.
	(Fpq_oid_value): Ditto.
	(Fpq_notifies): Ditto.
	(Fpq_lo_import): Ditto.
	(Fpq_lo_export): Ditto.
	(Fpq_get_line): Ditto.
	(Fpq_put_line): Mule-ize and bug fix.
	(syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.

2000-03-10  SL Baur  <steve@musashimaru.m17n.org>

	* postgresql.c (vars_of_postgresql): Mule-ize.
	(Fpq_conn_defaults): Ditto.

2000-03-12  Ben Wing  <ben@xemacs.org>

	* alloc.c (Fmake_byte_code):
	* alloc.c (debug_string_purity_print):
	* alloc.c (pdump_backtrace):
	* alloc.c (pdump_get_indirect_count):
	* alloc.c (pdump_register_sub):
	* alloc.c (pdump_register_object):
	* alloc.c (pdump_register_struct):
	* alloc.c (pdump_dump_data):
	* alloc.c (pdump_reloc_one):
	Minor cleanups.

 	* console-msw.c:
	* console-msw.c (GetConsoleHwnd):
	* console-msw.c (msw_hide_console):
	* console-msw.c (msw_show_console):
	* console-msw.c (msw_ensure_console_buffered):
	* console-msw.c (msw_output_console_string):
	* console-msw.c (console_type_create_mswindows):

	a) Added functions to manipulate the console window for use with
	shell support.

	b) Added support for writing text to the console, which is now
	used under Windows when xemacs is not being run non-interactively,
	to write text that would otherwise be destined for stdout because
	under these circumstances, text written to stdout tends to
	disappear and not be seen.

	* console-msw.h:
	* event-Xt.c:
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (describe_event_window):
	* events-mod.h (XEMACS_MOD_CONTROL):
	* events.c:
	* events.c (Fmake_event):
	* events.c (character_to_event):
	* events.c (event_to_character):
	* events.c (format_event_object):
	* events.c (Fevent_modifiers):
	* events.h:
	* events.h (struct key_data):
	* events.h (struct button_data):
	* events.h (struct misc_user_data):
	* frame-x.c (Fcde_start_drag_internal):
	* frame-x.c (Foffix_start_drag_internal):
	* gpmevent.c (Freceive_gpm_event):
	* keymap.c:
	* keymap.c (bucky_sym_to_bucky_bit):
	* keymap.c (control_meta_superify):
	* keymap.c (make_key_description):
	* keymap.c (keymap_lookup_directly):
	* keymap.c (create_bucky_submap):
	* keymap.c (keymap_store):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (define_key_parser):
	* keymap.c (define_key_alternate_name):
	* keymap.c (Fdefine_key):
	* keymap.c (raw_lookup_key_mapper):
	* keymap.c (struct map_keymap_unsorted_closure):
	* keymap.c (map_keymap_unsorted_mapper):
	* keymap.c (map_keymap_sort_predicate):
	* keymap.c (map_keymap_sorted):
	* keymap.c (accessible_keymaps_mapper_1):
	* keymap.c (where_is_recursive_mapper):
	* keymap.c (describe_map_mapper):
	* keymap.c (describe_map_sort_predicate):
	* keymap.c (describe_map):
	* keymap.c (complex_vars_of_keymap):
	And a number of other files, the key modifier preprocessor
	constants that xemacs uses have names that conflict with constants
	defined under MS Windows for other purposes, so they were renamed
	to begin with the prefix XEMACS_. The variables that hold such
	modifiers were changed to consistently be of type int to fix
	various compile warnings.

	* console.c (complex_vars_of_console):
	* device.c:
	* device-msw.c:
	* device-msw.c (mswindows_finish_init_device):
	* device-msw.c (msw_get_workspace_coords):
	* device-msw.c (mswindows_device_system_metrics):
	and various other files, added support for a new
	device property called offset-workspace which returns the position
	of the upper left corner of the workspace area and goes along with
	the existing size-workspace property.

	* dialog-msw.c:
	* dialog-msw.c (push_bufbyte_string_as_unicode):
	* dialog-msw.c (mswindows_popup_dialog_box):
	Added support for XEmacs-style accelerator specifications in
	button text.  Note: I didn't add support for this under X Windows,
	and somebody needs to do this.

	* dialog.c:
	* dialog.c (Fpopup_dialog_box):
	Documented the support for accelerators that was just mentioned.

	editfns.c (get_home_directory): Changed behavior under Windows
	when HOME not defined; former behavior was irretrievably broken.

	* emacs.c:
	* emacs.c (main_1):
	* emacs.c (main):
	* minibuf.c (clear_echo_area_internal):
	* minibuf.c (echo_area_append):
	* print.c:
	* print.c (std_handle_out_external):
	* print.c (std_handle_out_va):
	* print.c (fatal):
	* print.c (write_string_to_stdio_stream):
	* print.c (output_string):
	* print.c (debug_print):
	* print.c (debug_backtrace):
	* print.c (debug_short_backtrace):
	Cleaned up the code that prints text to stdout so that this can be
	changed to output into a console window instead under MS Windows,
	as described above.

	* eval.c:
	* eval.c (DEFEND_AGAINST_THROW_RECURSION):
	* eval.c (internal_catch):
	* eval.c (unwind_to_catch):
	* eval.c (throw_or_bomb_out):
	* eval.c (condition_case_1):
	* eval.c (signal_1):
	* eval.c (check_error_state_sanity):
	* eval.c (call_with_suspended_errors_1):
	* eval.c (call_with_suspended_errors):
	* eval.c (reinit_vars_of_eval):
	Added code to catch throw loops and check for a pesky bug that may
	be gone now.

	* event-msw.c:
	* event-msw.c (key_needs_default_processing_p):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (mswindows_modifier_state):
	* event-msw.c (emacs_mswindows_quit_p):
	* event-msw.c (vars_of_event_mswindows):
	a) Added support for using the alt key to select menu items as is
	standard under MS Windows.  This is controlled using the variable
	menu-accelerator-enabled, just like under X Windows.  There is an
	option on the options menu to turn this support on.  I really
	think that it should be on by default under Windows, but I'm not
	going to make this change yet.

	b)  Added support for dynamic display size changes under Windows.

	* event-stream.c:
	* event-stream.c (maybe_echo_keys):
	* event-stream.c (Fnext_event):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (lookup_command_event):
	* event-stream.c (execute_command_event):
	* event-stream.c (pre_command_hook):
	* event-stream.c (post_command_hook):
	* event-stream.c (syms_of_event_stream):
	* event-stream.c (vars_of_event_stream):
	* event-stream.c (complex_vars_of_event_stream):
	* events.h (struct command_builder):

	a) Tried to clean up a little bit the horribly written x-specific
	accelerator code that crept into this file.  I moved this code
	into menubar-x.c where it belongs. I also needed to move the
	command builder structure into the file events.h because it is
	accessed directly by this accelerator code.  What I didn't do, but
	which should be done at some point, is to properly abstract this
	code using device methods instead of the kludgy way that it
	currently hooks into the event code.

	b) Added the lisp variables this-command-properties and
	last-command- properties, which should be used to synchronize two
	adjacent commands in preference to playing games with the variable
	this-command, which is typically what happens.

	c) Added some slightly nasty code to hook into the lisp support
	for shifted- motion-key selection.  This is actually necessary for
	somewhat complicated reasons, which are described in
	simple.el. (NB: I think the proper thing would be to have the code
	that calls the pre and post command hooks also call out to generic
	lisp functions in simple.el, where all built-in stuff could be
	added.  I will think about this more.)

	* event-unixoid.c (poll_fds_for_input):
	* lread.c (readchar):
	* redisplay-tty.c (tty_clear_frame):
	* redisplay-x.c (x_get_gc):
	* signal.c (interrupt_signal):
	And a whole bunch of other files: fixed up places that printed
	directly to stderr to instead call the function stderr_out so that
	the changes I made under Windows work correctly.

	* filemode.c (mode_string):
	Warning fixes.

	* frame-msw.c:
	* frame-msw.c (mswindows_size_frame_internal):
	Fixed the computation of frame size and position to keep the frame
	within the workspace area, rather than within the physical
	dimensions of the screen, so that the frame doesn't overlap window
	manager decorations, such as the start menu and toolbar, typically
	at the bottom of the screen.

	* frame.c (vars_of_frame):
	Changed the default frame title format under MS Windows to consist
	of buffername-XEmacs, which is standard under MS Windows.  I think
	it might be a good idea to change this everywhere because I think
	it is superior to the current frame title format, but this is the
	kind of change that is likely to cause some people to get annoyed,
	so I'm not making it.

	* glyphs-eimage.c (png_instantiate): Fixed some compile warnings.

	* gui-msw.c (mswindows_handle_gui_wm_command):
	Fixed compile warnings.

	* gui-x.c:
	* gui-x.c (strdup_and_add_accel):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.h:
	Added code to automatically put an accelerator onto the beginning
	of menu items that don't have one as is now the standard, and is
	described more later.  Also fixed things so that the menu item
	name can be an evaluated expression, again a new standard.

	* gui.c:
	* gui.c (gui_item_add_keyval_pair):
	* gui.c (make_gui_item_from_keywords_internal):
	* gui.c (gui_add_item_keywords_to_plist):
	* gui.c (gui_item_accelerator):
	* gui.c (gui_name_accelerator):
	* gui.c (gui_item_included_p):
	* gui.c (gui_item_display_flush_left):
	* gui.c (gui_item_display_flush_right):
	* gui.c (parse_gui_item_tree_item):
	* gui.c (parse_gui_item_tree_children):
	* gui.c (parse_gui_item_tree_list):
	Mule-ized.  Cleanup.  GCPRO addition.

	* line-number.c (buffer_line_number):
	* lisp.h:
	* lisp.h (EMACS_INT_MAX):
	Added the manifest constant EMACS_INT_MIN corresponding to the
	existing constant EMACS_INT_MAX.  This is partially to fix compile
	warnings under Windows, and partly for cleanliness.

	* menubar-msw.c:
	* menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
	* menubar-msw.c (msw_translate_menu_or_dialog_item):
	* menubar-msw.c (displayable_menu_item):
	* menubar-msw.c (populate_menu_add_item):
	* menubar-msw.c (populate_or_checksum_helper):
	* menubar-msw.c (populate_menu):
	* menubar-msw.c (update_frame_menubar_maybe):
	* menubar-msw.c (prune_menubar):
	* menubar-msw.c (msw_char_is_accelerator):
	* menubar-msw.c (unsafe_handle_wm_initmenu_1):
	* menubar-msw.c (mswindows_handle_wm_command):
	* menubar-msw.c (mswindows_handle_wm_initmenupopup):
	* menubar-msw.c (mswindows_handle_wm_initmenu):
	* menubar-msw.c (mswindows_update_frame_menubars):
	* menubar-msw.c (mswindows_free_frame_menubars):
	* menubar-msw.c (mswindows_popup_menu):
	Fixed a bug in handling accelerators where an extra character
	would be displayed in the menu item.  Also generalized the
	function displayable_menu_item because it is now used by the
	dialog box code as well.  And finally, added code in the functions
	that create the menubar to extract a list of accelerators for the
	top level menubar, which is used in the event code to determine
	whether a particular alt-key combination should be used to invoke
	a menu item, or should be passed through to access the standard
	XEmacs keymap binding for this key combination.

	Much needed GCPROing.

	* menubar-x.c:
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (menu_item_descriptor_to_widget_value):
	* menubar-x.c (restore_in_menu_callback):
	* menubar-x.c (x_popup_menu):
	* menubar-x.c (menu_move_up):
	* menubar-x.c (menu_move_down):
	* menubar-x.c (menu_move_left):
	* menubar-x.c (menu_move_right):
	* menubar-x.c (menu_select_item):
	* menubar-x.c (command_builder_operate_menu_accelerator):
	* menubar-x.c (menu_accelerator_junk_on_error):
	* menubar-x.c (command_builder_find_menu_accelerator):
	* menubar-x.c (Faccelerate_menu):
	* menubar.h:
	Moved a whole bunch of code here that was previously in
	event-stream.c as described above.  There is also code connected
	to the new standard of adding an accelerator to the beginning of
	menu items that don't have one as described above and below.

	* menubar.c:
	* menubar.c (menu_parse_submenu_keywords):
	* menubar.c (Fmenu_find_real_submenu):
	* menubar.c (Fnormalize_menu_item_name):
	* menubar.c (syms_of_menubar):
	* menubar.c (vars_of_menubar):
	* menubar.c (complex_vars_of_menubar):

	a) Cleaned up a bunch of documentation and improved it.

	b) XEmacs now automatically adds an accelerator onto the beginning
	of any menu items that don't have one.  I did this because there
	will inevitably be some menu items on the main menubar that don't
	have accelerators on them because the package that adds that
	particular menu item hasn't yet been fixed up to have accelerators
	in them and it looked rather strange to have some items with and
	some items without accelerators, especially since even in items
	without accelerators, you can, at least under windows, still
	access the item through an accelerator corresponding to the first
	character in the item's name.  If people don't like this behavior,
	I can add a variable to turn it off optionally, but I'm not sure
	this is a good idea because we really do need to have accelerators
	on all of the menu items, and if a package doesn't like the
	accelerators being put on the first character, then it should put
	the accelerators where they belong.

	c) I made a behavior change, which is that the descriptor that
	specifies the text of the menu item, which formerly was just a
	string, can now also be an evaluated expression.  This makes this
	descriptor parallel with all of the others, which could also be
	evaluated expressions.  This also obviates the need for the
	keyword :label, which was previously listed in the documentation
	as unimplemented, and which was for the same purpose.

	d) GCPROing.

	* ntproc.c:
	* ntproc.c (new_child):
	* ntproc.c (sys_spawnve):
	* ntproc.c (find_child_console):
	* ntproc.c (sys_kill):
	Fixed compile warnings.  By the way, this file should really go
	away entirely, and this will happen as soon as Kirill makes his
	final round of process cleanups, which affect the function
	call-process.

	* process-nt.c:
	* process-nt.c (struct nt_process_data):
	* process-nt.c (find_process_from_pid):
	* process-nt.c (send_signal_the_nt_way):
	* process-nt.c (enable_child_signals):
	* process-nt.c (find_child_console):
	* process-nt.c (send_signal_the_95_way):
	* process-nt.c (nt_finalize_process_data):
	* process-nt.c (ensure_console_window_exists):
	* process-nt.c (nt_create_process):
	* process-nt.c (nt_kill_child_process):
	* process-nt.c (nt_kill_process_by_pid):
	* process-nt.c (nt_open_network_stream):
	* process-nt.c (vars_of_process_nt):
	Copied over code from Emacs 20.5 to correctly send signals to sub-
	processes under Windows 95.  Also added code to automatically
	create and hide console window when a sub-process is created under
	Windows 95, which obviates the need for the separate runemacs.exe
	executable, and finally implemented some variables that were
	implemented in Emacs 20.5, but previously not in XEmacs.  These
	include mswindows- start-process-share-console and
	mswindows-start-process-inherit-error-mode. (Both of these only
	apply to Windows 95.)

	* regex.c (regex_compile): Fixed a compile warning.

	* select-msw.c:
	* select-msw.c (mswindows_own_selection):
	* select-msw.c (mswindows_get_foreign_selection):
	* select-msw.c (mswindows_disown_selection):
	* select-msw.c (console_type_create_select_mswindows):
	* select-msw.c (syms_of_select_mswindows):
	Cleaned up the file and implemented the device method
	selection_exists_p, which had accidentally been left out.  Also
	removed four lisp functions that were remnants from before the
	time when the selection code was properly device abstracted.
	These functions are no longer needed because there are generic
	equivalents, and because they were added recently and don't exist
	in FSF Emacs, I don't think there's any problem with just deleting
	them.

	* sysdep.c:
	* sysdep.c (sys_subshell):
	Fixed a compile warning, although in this case there's probably
	something wrong with this code, and it ought to be looked into
	more thoroughly by somebody who understands it.

	* window.c:
	* window.c (Fwindow_text_area_height):
	* window.c (Fwindow_width):
	* window.c (Fwindow_full_width):
	* window.c (Fwindow_pixel_width):
	* window.c (debug_print_window):
	* window.c (syms_of_window):
	Added functions window-text-area-height and window-full-width,
	which are functions for returning various width and height
	characteristics of a window. (One of these functions is necessary
	for making the file dialog box work correctly, and the other one
	was added for completeness.)  Also added a table to the
	documentation for window-height which describes the entire scheme
	for accessing width and height characteristics of a window.

2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* nt.c (fstat): Added a comment for another problem with
	non-encapsulated [f]stat(), reported by Adrian Aichner
	<aichner@ecf.teradyne.com>.

2000-03-11  Andy Piper  <andy@xemacs.org>

	* window.c (make_dummy_parent): initialize subwindow instance
	cache.
	(Fset_window_configuration): zero extent_modiff.

2000-03-10  Andy Piper  <andy@xemacs.org>

	* redisplay.c (Fredraw_frame): reset the changed_set flags so that
	more changes can be triggered.
	(Fredisplay_frame): ditto.
	(Fredraw_device): ditto.
	(Fredisplay_device): ditto.
	(redisplay_frame): make non-static.
	(redisplay_frame): call update_frame_gutter_geometry outside of
	display proper.

	* gutter.h: declare update_frame_gutter_geometry.

	* redisplay.h: declare redisplay_frame.

	* gutter.c (update_frame_gutter_geometry): move geometry changes
	in update_frame_gutters here. Geometry changes can only occur
	outside of redisplay.
	(update_frame_gutters): remove geometry change code.
	(Fredisplay_gutter_area): make sure that we are in display when we
	update and that we have flushed any size changes.

2000-03-11  Andy Piper  <andy@xemacs.org>

	* alloc.c (pdump_dump_data): remove i & count shadows.

2000-02-27  Mike Alexander  <mta@arbortext.com>

	* sysdep.h: Declare pdump_read_file

	* sysdep.c (pdump_read_file): New function

	* alloc.c (pdump_load): Call pdump_read_file to get the portable
	dump data

2000-03-10  SL Baur  <steve@musashimaru.m17n.org>

	* lrecord.h: add `lrecord_type_pgsetenv'.

2000-03-08  SL Baur  <steve@musashimaru.m17n.org>

	* symsinit.h: declare (vars|syms)_of* functions.
	* lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.

2000-03-06  SL Baur  <steve@musashimaru.m17n.org>

	* config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7

	* inline.c: Include postgresql.h lrecord stuffs to placate buggy
	GCCs.

	* emacs.c (main_1): Call postgres initialization code.

	* postgresql.h: New file.  PostgreSQL RDBMS support.
	* postgresql.c: New file.

2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* redisplay-output.c (redisplay_output_display_block): Disable
	redundant code.

2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* mule-canna.c (Fcanna_henkan_region): Translate doc-string.
	(Fcanna_henkan_next): Ditto.
	(Fcanna_bunsetu_henkou): Ditto.
	(Fcanna_henkan_kakutei): Ditto.
	(Fcanna_henkan_end): Ditto.
	(Fcanna_henkan_quit): Ditto.
	(Fcanna_henkan_next): Set retun value correctly.
	(c2mu): Use unsigned char instead of signed char.

2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* emacs.c (main_1): Always call syms_of_gui.
	* inline.c: include gui.h

2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* redisplay.c (Vvisible_bell): Renamed from visible_bell and
	converted to Lisp_Object.
	(Qtop_bottom): New variable.
	(syms_of_redisplay): Initialize it.
	* redisplay.h (Vvisible_bell): Ditto.
	* sound.c (ding): Ditto and check if Vvisible_bell is nil.
	* redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
	only flash top and bottom.

2000-03-08  Andy Piper  <andy@xemacs.org>

	* buffer.c (Frename_buffer): record new buffer name the right way.

2000-03-08  Andy Piper  <andy@xemacs.org>

	* glyphs.c (update_subwindow): increase hash depth so that widget
	items get picked up properly.

	* redisplay-output.c (compare_runes): increase hash depth so that
	widget items get picked up properly.

2000-03-08  Andy Piper  <andy@xemacs.org>

	* gutter.c (output_gutter): add some debug.

	* glyphs.h (struct Lisp_Image_Instance): add display_hash.
	(IMAGE_INSTANCE_DISPLAY_HASH): new macro.
	(XIMAGE_INSTANCE_DISPLAY_HASH): ditto.

	* redisplay-output.c (compare_runes): use display_hash to
	determine if glyphs really are not the same.

	* glyphs.c (update_subwindow): check display_hash to see if
	anything really needs to be updated. If not then do
	nothing. Record the display_hash after updating.
	(image_instance_equal): compare the image_instance face also.

2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* redisplay.h: Fix comment style.

2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* consle-msw.h (struct mswindows_frame):
	Added new member paint_pending to indicate whether a WM_PAINT
	magic event has been queued for this frame.

	* event-msw.c (mswindows_drain_windows_queue):
	Don't queue a WM_PAINT magic event if one is already queued.
	(emacs_mswindows_handle_magic_event): clear paint_pending flag.

	* frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.

2000-03-07  Didier Verna  <didier@xemacs.org>

	* dired.c: #include `regex.h' after `sysfile.h'.

2000-03-06  Martin Buchholz  <martin@xemacs.org>

	* sound.c (init_nas_sound): Fix compiler warning.

	* alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
	(FREE_STRUCT_P):
	(MARK_STRUCT_AS_FREE):
	(MARK_STRUCT_AS_NOT_FREE):
	Make `gcc -fstrict-aliasing' work properly.

2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* device-msw.c (mswindows_finish_init_device): Call CoInitialize().
	(mswindows_delete_device): Call CoUnnitialize().

	* event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.

2000-02-25    <CraigL@DyCon.com>

	* process-nt.c: MinGW now has <shellapi.h>, but still needs
	<errno.h>.

	* sysdep.c: This extern declaration for environ prevents MinGW
	from finding the variable in CRTDLL.DLL.

	* s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
	windows headers.
	(SHGFI_EXETYPE): ..
	(WM_MOUSEWHEEL): ..
	(_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
	definitions.
	(MMRESULT): Removed, now defined in cygwin's windows headers.
	(TIMECAPS): ..
	(uid_t,gid_t,pid_t,ssize_t): ..
	(_timeb): Removed, MinGW defines both _timeb and timeb.
	(HAVE_H_ERRNO): Added.
	(HAVE_TZNAME): Added, configure is not detecting this.

2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>

	* chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
	* syntax.c (syntax_match): Use it.

	* cmds.c: Import auto-fill-chars from FSF Emacs.
	(Vauto_fill_chars): New variables.
	(internal_self_insert): Check Vauto_fill_chars.
	(vars_of_cmds):
	Declare auto-fill-chars as a Lisp variable and initialize it.

2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* fileio.c (Fmake_symbolic_link):
	(Ffile_symlink_p):
	Run handlers even if local machine doesn't have symlinks.

2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_drain_windows_queue):
	Don't generate paint magic events for non-XEmacs frames.

2000-03-05  Andy Piper  <andy@xemacs.org>

	* redisplay.c (redisplay_frame): generate_displayable_area and
	friends assumes that we are not in GC, we therefore have to make
	sure that this doesn't happen.

	* gutter.c (calculate_gutter_size): generate_displayable_area
	assumes that we are not in GC, we therefore have to make sure that
	this doesn't happen.

2000-03-05  Martin Buchholz  <martin@xemacs.org>

	* opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr

2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay.c (regenerate_window): Make sure we set a sane value
	for end_pos even if we jump out of the loop.
	(regenerate_window): Answer Ben's question :-).
	(start_end_of_last_line): Add may_error argument.
	(start_of_last_line):
	(end_of_last_line): Pass may_error = 0.
	(end_of_last_line_may_error): New function.
	(pixel_to_glyph_translation): Use it, so we don't crash in
	event_to_glyph.

2000-03-04  Andy Piper  <andy@xemacs.org>

	* window.h (struct window): add gutter_extent_modiff.

	* window.c (allocate_window): zero out gutter_extent_modiff.

	* redisplay.h: declare sync_display_line_structs.

	* redisplay.c (add_glyph_rune): add a better comment.

	* redisplay-output.c (sync_display_line_structs): made non-static.
	(compare_runes): remove unneccesary glyph cachel access.

	* gutter.h: declare gutter_extent_signal_changed_region_maybe.

	* gutter.c (output_gutter): don't output the gutter if extent
	changes only involve extents in buffers. use 4 sets of display
	lines.
	(gutter_extent_signal_changed_region_maybe): new function. Mark
	extents in gutters as changed.
	(update_frame_gutters): use 4 sets of display lines.
	(reset_gutter_display_lines): ditto.
	(free_frame_gutters): ditto.
	(redraw_exposed_gutter): force output of gutters.

	* frame.h (struct frame): add 4 sets of gutter display lines.

	* extents.c: (extent_changed_for_redisplay): signal changes to
	extents in strings in the gutter as well as extents in buffers.

2000-03-02  Andy Piper  <andy@xemacs.org>

	* gutter.c (specifier_vars_of_gutter): cosmetic changes.

	* frame.c (Fmake_frame): make sure the gutters get initialized
	after the frame is visible.
	(set_frame_selected_window): re-arrange compilation macros a
	little.
	(change_frame_size_1): mark gutters changed.

	* device.c (Fset_device_class): mark gutters changed.

2000-03-01  Andy Piper  <andy@xemacs.org>

	* window.c (window_top_frame_gutter_height): deleted.
	(window_bottom_frame_gutter_height): ditto.
	(window_left_frame_gutter_height): ditto.
	(window_right_frame_gutter_height): ditto.
	(window_top_gutter_height): don't use them.
	(window_bottom_gutter_height): ditto.
	(window_left_gutter_width): ditto.
	(window_right_gutter_width): ditto.
	(Fsplit_window): ditto.
	(Fwindow_pixel_edges): don't use border dimensions here.

	* scrollbar.c (update_scrollbar_instance): don't take gutters into account.
	(update_scrollbar_instance): ditto.

	* redisplay.c (generate_modeline): don't take gutters into account.
	(generate_modeline): ditto.
	(redisplay_frame): small gutter display optimization.

	* redisplay-x.c (x_output_vertical_divider): don't take gutters into account.

	* redisplay-msw.c (mswindows_output_vertical_divider): don't take
	gutters into account.

	* gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
	for window position and type.

	* gutter.c (get_gutter_coords): fix for frame gutters.
	(update_frame_gutters): update frame geometry if the gutters have
	changed.
	(init_frame_gutters): record current gutter geometries.

	* glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
	var.
	(mswindows_widget_instantiate): ditto.

	* frame.h (struct frame): add current_gutter_bounds.

	* frame.c (change_frame_size_1): position window and minibuffer
	appropriately taking into account the frame gutters.

	* frame-x.c: (x_initialize_frame_size): take into account the
	frame gutters.

2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>

	* emacs.c (data-directory):  Xref `locate-data-file' in docstring.

2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>

	* alloc.c (dumpopaquevec): Increase dimension for --with-canna.

1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* file-coding.c (reset_decoding_stream): Clear previous
	detection state when autodetect.

2000-02-29  Didier Verna  <didier@xemacs.org>

	* extents.c (set_extent_glyph_1): don't require extents to be
	attached.

2000-02-27  Andy Piper  <andy@xemacs.org>

	* gutter.c (Fset_default_gutter_position): don't default left and
	right gutter visibility to t.
	(Fset_default_gutter_position): run
	default-gutter-position-changed-hook.
	(syms_of_gutter): add default-gutter-position-changed-hook.

2000-02-26  Andy Piper  <andy@xemacs.org>

	* specifier.c (Fmake_specifier): add gutter references.

	* gutter.h (RAW_WINDOW_GUTTER): new macro.

	* lisp.h: declare Fvalid_plist_p.

	* gutter.c (gutter_geometry_changed_in_window): mark the modeline
	as changed.
	(default_gutter_visible_p_changed_in_window): invalidate gutter as
	well as its visibility so that it gets reconstructed.
	(construct_window_gutter_spec): new function. Construct a string
	to be displayed in the gutter from a plist of strings. Take care
	to only use elements that are declared as visible.
	(calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
	WINDOW_GUTTER.
	(gutter_validate): allow plists of strings in the specifier.
	(gutter_specs_changed): construct the real_gutter from the gutter
	specs using construct_window_gutter_spec.
	(gutter_visible_validate): gutter-visible is a new specifier type.
	(Fgutter_visible_specifier_p): new function for the new specifier.
	(syms_of_gutter): declare gutter-visible and
	Fgutter_visible_specifier_p.
	(specifier_type_create_gutter): intitalize new gutter-visible
	specifier.
	(reinit_specifier_type_create_gutter): ditto.
	(specifier_vars_of_gutter): use new specifier type for gutter
	visibility.
	(init_frame_gutters): construct real_gutter correctly.
	(Fgutter_specifier_p): beef up documentation.
	(Fgutter_size_specifier_p): ditto.

	* winslots.h: add real_gutter slots.

2000-02-25  Andy Piper  <andy@xemacs.org>

	* device-msw.c: Be kind to older cygwin versions. From Raymond
	Toy <toy@rtp.ericsson.se>.

	* gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
	earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.

2000-02-25  Martin Buchholz  <martin@xemacs.org>

	* elhash.c (MARK_OBJ): Practice macro hygiene.

2000-02-24  Martin Buchholz  <martin@xemacs.org>

	* miscplay.c: s/__inline__/inline/g;
	* glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
	(get_device_compdc): INLINE ==> static inline
	* *.[ch]: Change INLINE to INLINE_HEADER globally.
	find -name '*.h' | \
	xargs global-replace \
	's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'

2000-02-25  Andy Piper  <andy@xemacs.org>

	* window.c (window_top_frame_gutter_height): new function.
	(window_top_window_gutter_height): ditto.
	(window_top_gutter_height): use them.
	(window_bottom_frame_gutter_height): new function.
	(window_bottom_window_gutter_height): ditto.
	(window_bottom_gutter_height): use them.
	(window_left_window_gutter_width): new function.
	(window_left_frame_gutter_width): ditto.
	(window_left_gutter_width): use them.
	(window_right_window_gutter_width): new function.
	(window_right_frame_gutter_width): ditto.
	(window_right_gutter_width): use them.
	(window_pixel_height): new function. calulate window pixel height
	with frame gutter involvement.
	(Fsplit_window): calculate new sizes taking frame gutters into
	account.
	(window_char_height_to_pixel_height): don't include frame gutters.
	(window_char_height): use window_pixel_height.
	(window_pixheight): rename from window_pixel_height.
	(change_window_height): use it.
	(window_pixel_height_to_char_height): don't include frame gutters.
	(window_char_width_to_pixel_width): ditto.

2000-02-25  Andy Piper  <andy@xemacs.org>

	* glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
	if it is.

2000-02-24  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (staticpro):
	(staticpro_nodump):
	(dumpstruct):
	(dumpopaque):
	(pdump_wire):
	(pdump_wire_list):
	(compact_string_chars):
	(pdump_dump_wired):
	Convert:  if (foo) abort();  ==>  assert (! foo);

	* eldap.c (Fldap_search_basic):
	(Fldap_add):
	(Fldap_modify):
	(Fldap_delete):
	Fix compiler warnings, and possible crashes if (random) return
	value were to be used.

2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* device-msw.c: Workaround ResetDC failure.

	* frame-msw.c (msprinter_init_frame_3): Added an assertion before
	applying a devmode.

	* redisplay-msw.c (get_frame_dc): Added start_page_p.
	(mswindows_text_width): Do not start printer page.

	* console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.

	* glyphs-msw.c: Added image methods to msprinter console and
	msprinter-specific image instantiation.

2000-02-20  Mike Alexander  <mta@arbortext.com>

	* select-msw.c (Fmswindows_set_clipboard): GC protect more things
	to avoid crashes when selection-sets-clipboard is on
	(mswindows_own_selection): ditto

2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* glyphs-msw.c:
	* redisplay-msw.c (get_frame_dc):
	(get_frame_compdc):
	* console-msw.h:
	* device-msw.c (mswindows_init_device):
	(mswindows_delete_device):
	(msprinter_init_device):
	(msprinter_delete_device):
	* frame-msw.c (mswindows_init_frame_1):
	(mswindows_delete_frame):
	(msprinter_init_frame_3):
	(msprinter_delete_frame): Move compatible DC to device object from
	frame object, for both mswindows and msprinter. Only one at a time
	is needed, it is a real waste to have one per frame!

2000-02-23  Andy Piper  <andy@xemacs.org>

	* glyphs.c: add dynamic width and height elements.
	(image_instance_equal): ditto.

	* glyphs-widget.c (widget_query_geometry): calculate width and
	height dynamically if required.
	(initialize_widget_image_instance): initialize dynamic dimensions.
	(widget_instantiate): pick-up dynamic dimensions.

	* glyphs.h (struct Lisp_Image_Instance): add width and height for
	dynamic determination. Add appropriate macros.

	* gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
	dimensions safe.
	(WINDOW_GUTTER_SIZE): ditto.
	(WINDOW_GUTTER_SIZE_INTERNAL): ditto.

	* redisplay-msw.c (get_frame_compdc): gcc can't cope with this
	inline.
	(get_frame_dc): ditto.

	* redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
	here.

2000-02-23  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.31 is released.

2000-02-22  Ben Wing <ben@xemacs.org>

	* ntheap.c (allocate_heap): Make sure `ptr' is initialized.

2000-02-22  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_widget_instantiate): don't explicitly resize here.

2000-02-21  Mike Sperber <mike@xemacs.org>

	* .dbxrc:
	* .gdbinit:
	* Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
	variables.

2000-02-21  Mike Sperber <mike@xemacs.org>

	* s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.

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.

2000-02-15  Olivier Galibert  <galibert@pobox.com>

	* fns.c (size_bit_vector): Fix computation of the size.

2000-02-15  Martin Buchholz  <martin@xemacs.org>

	* *.[ch]: Change CONST to const globally.
	find -name '*.[ch]' | \
	xargs global-replace \
	's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
	- Remove vestigial references to CONST_IS_LOSING

2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_drain_windows_queue): Remove hack to
	bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
	events instead of dispatching them directly.
	(mswindows_handle_paint): New function to do repainting.
	(mswindows_wnd_proc):
	(emacs_mswindows_handle_magic_event): Call above function.

2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* objects-msw.c (mswindows_create_font_variant): Return the new
	font handle.
	(initialize_font_instance): Get font metrics from the underlined
	variant of the font to cope with the case where the underlined
	font has a bigger descent.

2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>

	* gui.c (gui_item_accelerator): Return the first underlined
	character in item name.

2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* lisp.h: Added Qprinter.

	* general.c (syms_of_general): Initialized it.

	* redisplay-msw.c (get_frame_dc): Conditionally start a new page.
	(get_frame_dc):
	(get_frame_compdc): Made inline.

	* console.h (struct console_methods): Added eject_page method.

	* frame.h: Added FRAME_DISPLAY_P and friends.
	Aligned backslahes in many macros in more readable fashion.
	Added page_number to struct frame, and an accessor macro
	for it.

	* defice.h: Added DEVICE_DISPLAY_P and friends.

	* device.c (Fdevice_printer_p): Used these.

	* frame.c (allocate_frame_core): Initialize page number.
	(Fprint_job_page_number):
	(Fprint_job_eject_page): Implemented.

	* frame-msw.c (msprinter_eject_page): Added method.
	(msprinter_start_page): Added.

	* window.c (Fwindow_truncated_p): Fixed docstring.
	(Fwindow_last_line_visible_height): Implemented.

2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* frame.c (change_frame_size_1): Undo 2000-02-03 change.

1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* syntax.c (scan_words): Always advance at least one character.

2000-02-13  Andy Piper  <andy@xemacs.org>

	* redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
	to make sure the glyph is in the cachels.

	* glyphs.h (struct Lisp_Image_Instance): make layout_changed a
	global image instance flag.
	(IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
	(XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.

	* glyphs.c (allocate_image_instance): set dirty bits correctly.
	(Fset_image_instance_property): mark layout as changed.
	(invalidate_glyph_geometry_maybe): mark layout as changed.
	(glyph_width): use new NEEDS_LAYOUT macro.
	(glyph_ascent): ditto.
	(glyph_descent): ditto.
	(glyph_height): ditto.
	(image_instance_layout): mark layout as clean after laying out.
	(update_subwindow): don't mark layout as clean here.

	* glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
	should no longer be needed.

	* glyphs-x.c (x_update_widget): sanitize asserts.
	(x_finalize_image_instance): sanitize assignment to widgets.

	* glyphs-widget.c (widget_instantiate): don't need to clear the
	layout flag here.

2000-02-13  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c (getcwd): Use standard prototype.
	* sysdep.h (getcwd): Use standard prototype.

	* fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
	(sequence, start, end).
	Remove redundant type checking.
	(Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
	view of `caller-protects') to avoid a crash where the real fix was
	found elsewhere.

2000-02-12  Martin Buchholz  <martin@xemacs.org>

	* glyphs-x.c (x_finalize_image_instance): Compile error fixes.

	* s/sol2.h: Remove feature macro initialization.

	* alloc.c (alloc_lcrecord): Add more type checking assertions.
	(vector_hash): New.  Code from internal_hash.
	* lrecord.h:
	Fix up allocation subsystem comments.

	* config.h.in: Add __EXTENSIONS__ for Solaris.

	* systime.h (EMACS_GETTIMEOFDAY): New.
	(EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
	Remove Solaris-specific code.
	Use void* for the (ignored) second arg for gettimeofday().

	* elhash.c (hash_table_hash): Implement it, finally.
	* elhash.c:  Use hashcode_t.

	* linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
	* 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):
	Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.

2000-02-10  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
	Include strings.h to avoid warnings for bzero and strcasecmp.

2000-02-10  Olivier Galibert  <galibert@pobox.com>

	* alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
	* lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here

	* fns.c (size_bit_vector): New.  Declare bit vectors as a
	sequence.

2000-02-10  Olivier Galibert  <galibert@pobox.com>

	* symeval.h (struct symbol_value_magic): Remove "next" kludge and
	use a value field instead.
	(symbol_value_forward_forward): Use value field.
	(DEFVAR_SYMVAL_FWD): Use value field.
	(DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
	(DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
	(DEFVAR_CONST_INT): Ditto.
	(DEFVAR_BOOL): Ditto.
	(DEFVAR_CONST_BOOL): Ditto.
	(DEFVAR_INT_MAGIC): Ditto.
	(DEFVAR_BOOL_MAGIC): Ditto.

	* symbols.c (guts_of_unbound_marker): Use value field.
	* console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
	* buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.

	* lisp.h: Declare dumpopaque and noninteractive1.

	* alloc.c (dumpopaque): Added.
	(pdump_dump_opaquevec): Added.
	(pdump): Call pdump_dump_opaquevec to dump opaque data.
	(pdump_load): Reload opaque data.  Sync noninteractive1 with
	noninteractive.

2000-02-10  Andy Piper  <andy@xemacs.org>

	* glyphs.c (image_instance_layout): if the size changes, mark it
	as such.

	* redisplay-output.c (redisplay_output_layout): Update the
	subwindow here.
	(redisplay_output_subwindow): ditto.

	* glyphs.c (update_subwindow): make sure we reset flags for
	layouts as well as everything else.

	* glyphs-widget.c (layout_layout): don't need to set the instances
	dimensions here.

2000-02-09  Martin Buchholz  <martin@xemacs.org>

	* device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
	not HAVE_DLOPEN, which is a lower-level thing.

	* .cvsignore: Ignore gmon.out

2000-02-09  Hamish Macdonald <hamishm@lucent.com>

	* .cvsignore: Ignore portable dumper xemacs.dmp file

2000-02-09  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_layout): be more clever
	about when we output based on the changed flags.

	* glyphs.h (struct image_instantiator_methods): add update_method.
	(struct Lisp_Image_Instance): add changed flags. Declare new
	macros for manipulating them.

	* glyphs.c (allocate_image_instance): renamed glyph -> parent.
	(image_instance_parent_glyph): find an image_instance's parent
	glyph or image_instance.
	(image_instance_layout): mark the size as changed.
	(set_image_instance_dirty_p): new function. mark an image
	instance, plus all of its parents, as dirty.
	(Fset_image_instance_property): use it.
	(Fglyph_animated_timeout_handler): use it.
	(update_subwindow): call update_widget and device methods for
	update_subwindow. Mark all changed flags as clean.
	(Fresize_subwindow): mark size as changed.

	* glyphs-x.c (x_finalize_image_instance): try and detect gc
	failures.
	(x_update_subwindow): only resize subwindows here.
	(x_update_widget): new function. Update all changed properties of
	a widget.
	(x_resize_subwindow): deleted.
	(x_widget_set_property): deleted.
	(x_progress_gauge_set_property): deleted.
	(x_progress_gauge_update): new function. Implement recorded
	changes.
	(x_tab_control_update): ditto.
	(x_tab_control_set_property): deleted.
	(console_type_create_glyphs_x): declare new functions.
	(image_instantiator_format_create_glyphs_x): ditto.

	* glyphs-widget.c (widget_set_property): mark text changed.
	(update_widget): new function. Update properties of a widget.
	(widget_instantiate): for layouts make sure we set their
	children's parent correctly.
	(tab_control_set_property): new function. Record changes that will
	take place under redisplay's control.
	(progress_gauge_set_property): ditto.
	(image_instantiator_progress_guage): declare new functions.
	(image_instantiator_tab_control): ditto.

	* glyphs-msw.c (mswindows_update_subwindow): just do resizing here
	now.
	(mswindows_update_widget): new function. Update all properties on
	a widget that have changed.
	(mswindows_button_update): new function. Update a button's set
	state.
	(mswindows_tab_control_update): new function. Update the items in
	a tab.
	(mswindows_tab_control_set_property): deleted.
	(mswindows_progress_gauge_update): new function. Update the
	progress gauge's progress.
	(mswindows_widget_set_property): deleted. This is all done
	asynchronously now.
	(mswindows_progress_gauge_set_property): ditto.
	(console_type_create_glyphs_mswindows): declare new methods.
	(image_instantiator_format_create_glyphs_mswindows): ditto.

	* frame-msw.c (msprinter_init_frame_1): Remove unused variables.
	(msprinter_set_frame_properties): ditto.

	* console.h (struct console_methods): Add update_widget_method.

2000-02-09  Andy Piper  <andy@xemacs.org>

	* gui-msw.c (Fmswindows_shell_execute): Make
	mswindows-shell-execute industrial strength.

2000-02-08  Martin Buchholz  <martin@xemacs.org>

	* lrecord.h: Make macro argument `props' match member function `plist'.
	* fns.c (Fget):
	* fns.c (Fput):
	* fns.c (Fremprop):
	* fns.c (Fobject_plist):
	* alloc.c:
	* symbols.c:
	Object property list frobbing cleanup.
	- Allow any lisp object (compared with `eq'), not just symbols, as
	  keys in object plists.
	- Move symbol plist frobbing into symbols.c, where it belongs.
	- Move string plist frobbing into alloc.c, where it belongs.
	- Everything's an lrecord now, so no need to test for symbolp, etc.
	- Fix up doc strings to refer to PROPERTY, not PROPNAME.

	* extents.c: Reorder code to remove declarations.

	* frame.h (store_in_alist): Remove useless declaration.

2000-02-07  Martin Buchholz  <martin@xemacs.org>

	* event-Xt.c (x_has_keysym): Use XConvertCase only if available.
	* 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.

2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* src/syntax.h (SYNTAX_START_P): Check whether the two chars
	actually can start a common comment type.
	* src/syntax.h (SYNTAX_END_P): ditto for end.

2000-02-07  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.28 is released.

2000-02-06  Martin Buchholz  <martin@xemacs.org>

	* event-Xt.c (x_keysym_to_character): New.
	(maybe_define_x_key_as_self_inserting_character): New.
	(x_has_keysym): New.
	Auto-define all keys on the keyboard as self-insert-key.

2000-02-02  Martin Buchholz  <martin@xemacs.org>

	* menubar.c (vars_of_menubar): A small code simplification.

	* minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug

	* 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):
	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):
	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.
	(check_keymap_definition_loop): New function.
	(keymap_store_internal): Keep luser from shooting self in foot,
	  via (define-key ctl-x-4-map "p" global-map).
	Remove fullness slot from struct Lisp_Keymap, since hash tables
	are now reliable.
	(print_keymap): Remove 'Yuck' factor by simply printing "size %d".

2000-01-30  Martin Buchholz  <martin@xemacs.org>

	* redisplay.c (init_redisplay): Fix small memory leak.
	* 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.
	* alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
	* alloc.c: No need to #ifndef before #undef.

	* print.c: Allow debug_print() to print readably by modifying
	debug_print_readably.  Use consistent variable names.

	* .dbxrc: Try to get things to work even if stopped in a function
	without source available by explicitly specifying source files.
2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* unexnt.c (_start): Removed bogus code which caused loading heap
	from differrent executable file.
	Removed bogus assignment to _fmode, which caused inconsistencies.

2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
	Have spawnve encapsulation regard DONT_ENCAPSULATE.
	Do not preliminary `#define signal sigset'.

	* systime.h: Do not prototype environ on windows nt and cygwin,
	this conflicts with system header.

	* syssignal.h: Use correct define for WINDOWSNT

	* sysdep.h: Do not prototype environ on windows nt, this conflicts
	with system header.

	* sysdep.c (near start of file): Fixed commentary and rearranged
	ifdefs in readable order.
	(NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
	(start_of_text):
	(end_of_text):
	(end_of_data): Do not compile in if using PDUMP.

	* symsinit.h: Prototyped vars_of_nt().

	* ntproc.c (windows9x_p): Added, instead of os_subtype.
	(find_child_console): Use it.
	(sys_kill): Use it.

	* ntheap.h: Do not extern os_subtype.

	* ntheap.c (cache_system_info): Do not cache unneeded:
	nt_major_version, nt_minor_version and os_subtype.
	(recreate_heap): Do not compile in when PDUMPing.

	* nt.c (geteuid and friends): Use the new varibale
	nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
	(init_user_info): Removed the above mentioned hackery.
	(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
	the above.

	* emacs.c (main_1): Call vars_of_nt().
	(right before Fdump_emacs_data): Don't need lastfile if using both
	portabe dumper and system malloc.

	* alloc.c (Fmemory_limit): Conditionalized out.
	(pdump): Use OPEN_BINARY for the portable dump file.
	(pdump_load): Ditto.

2000-02-02  Mike Alexander  <mta@arbortext.com>

	* nt.c (convert_time): Set tm_isdst before calling mktime and
	avoid calling it at all if the compiler supports 64 bit integers.
	Also initialize utc_base_ft before using it.

2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>

	* frame.c (change_frame_size_1): Take f->internal_border_width
	into consideration when calculating the width of the frame.

2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* window.c (frame_min_height):
	(frame_size_valid_p):
	(frame_pixsize_valid_p): Added.
	(check_frame_size): Generalized.

	* window.h: Prototyped the above.

	* lisp.h:
	* general.c: Added Qbottom_margin, Qduplex, Qlandscape,
	Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
	Deleted Vwin32_* and Vbinary_process_* unused variables.

	* device-msw.c (msprinter_init_device): Do not get printer font
	list; Added DEVMODE functions.

	* frame-msw.c: Added lots of printer code.

	* faces.c: Moved 'left-margin and 'right-margin defsymbols to
	general.c.

	* console-msw.h: Added more msprinter device private slots.

2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* event-msw.c (key_needs_default_processing_p): Added.
	(mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.

2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* glyphs.c (image_instance_layout): Mark image instance as clean
	after layout.
	(glyph_dirty_p): Removed redundant function.
	(invalidate_glyph_geometry_maybe): Added.
	(update_glyph_cachel_data): Call it.

	* glyphs.h: Prototyped it.

	* redisplay.c (add_glyph_rune): Call it.
	(redisplay_window): Reset glyphs cachels when frame faces have
	changed, thus forcing recomputation of built-in border glyphs.

2000-01-30  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in: Make portable dumper and purify play well together.
	Add imperfect, but better than nothing, support for pdump.
	Remove xemacs.dmp when temacs is re-generated.
	Don't ignore errors when dumping xemacs.

	* symbols.c (maybe_call_magic_handler): Remove one magic number.

2000-01-28  Andy Piper  <andy@xemacs.org>

	* frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
	(setup_normal_frame): ditto.
	(setup_frame_without_minibuffer): ditto.
	(setup_minibuffer_frame): ditto.
	(delete_frame_internal): ditto.
	(Fmake_frame_invisible): ditto.
	(Ficonify_frame): ditto.

	* window.h: change Fset_window_buffer signature.

	* window.c (Fsplit_window): Use new Fset_window_buffer signature.
	(Fset_window_buffer): allow recording of buffer if the window is
	the selected window.
	(window_loop): Use new Fset_window signature.

2000-01-23  Daniel Pittman  <daniel@danann.net>

	* config.h.in: Added template for `HAVE_ATHENA_3D'

2000-01-29  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.

	* gutter.c (output_gutter): Don't output if the window isn't live.

2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
	of 01/12/00: Moved SetFocus back here where it belongs.

2000-01-23  Andy Piper  <andy@xemacs.org>

	* s/cygwin32.h: declare printer things.

2000-01-26  Andy Piper  <andy@xemacs.org>

	* select.c (Fown_selection_internal): GCPRO bug fix from Mike
	Alexander.

2000-01-24  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
	(mswindows_button_instantiate): Make sure glyph is a pixmap.

	* glyphs-widget.c (widget_instantiate): Avoid shadows.

	* frame-msw.c (msprinter_init_frame_3): Nuke warning.

	* glyphs-msw.c: (mswindows_string_to_color): remove declaration.

	* redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
	(mswindows_output_display_block): Avoid local shadows.

	* event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
	(mswindows_enqueue_mouse_button_event): ditto.
	(mswindows_handle_gui_wm_command): remove declaration.

	* console-msw.c (mswindows_canonicalize_console_connection): Avoid
	warnings.

	* console-msw.h: Avoid shadows.
	(mswindows_get_toolbar_button_text):
	(emacs_mswindows_create_stream_pair):
	(emacs_mswindows_delete_stream_pair):
	(mswindows_handle_toolbar_wm_command): declare.

	* device-msw.c (build_syscolor_string): Avoid shadows.

2000-01-23  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_instantiate): reverse the items for
	layouts so that children are in the expected order.

2000-01-28  Martin Buchholz  <martin@xemacs.org>

	* ralloc.c: safe_bcopy ==> memmove
	* gmalloc.c: Remove MEMMOVE_MISSING conditional code.
	* s/msdos.h: Remove BCOPY macros.
	* insdel.c (gap_right): Remove BCOPY conditional code.
	* insdel.c (gap_left): Remove BCOPY conditional code.
	XEmacs demands a working ANSI C compiler - hence memmove.

	* regex.c (regex_compile): Remove accidental use of trigraphs.

2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* event-msw.c (mswindows_enqueue_misc_user_event): Initialize
	event timestamp.

2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* event-msw.c (mswindows_drain_windows_queue): Added the
	parameter.
	(mswindows_need_event): Commented the call to
	mswindows_drain_windows_queue().
	(emacs_mswindows_quit_p): Lookup the windows for keyboard messages
	only.

	* console-msw.h: Moved a few function prototypes here from
	event-msw.c.

	* gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
	parameter from unsigned short to unsigned long.
	(Fmswindows_shell_execute): Added return value.

2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>

	* 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):
	Moved the code to get a port # into address loop.

2000-01-27  Martin Buchholz  <martin@xemacs.org>

	* buffer.c (reinit_vars_of_buffer):
	The right place to initialize conversion_in_dynarr and
	conversion_out_dynarr.

	* alloc.c (pdump): Use the real open() till sys_open() is functional.

	* process-unix.c (unix_canonicalize_host_name): Muleize.
	(unix_open_network_stream): Muleize.

	* buffer.h: Fix up prototypes for ralloc.c functions.

2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
	* config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
	* sysdep.c: In init_system_name(), add code to use getaddrinfo()
		instead of gethostbyname()
	* process-unix.c: In unix_canonicalize_host_name() and
		unix_open_network_stream(), add code to use getaddrinfo()
		instead of gethostbyname().

2000-01-27  Daniel Pittman <daniel@danann.net>

	* device-x.c (x_init_device): Warn at run-time if using Athena 3d
	libs when built with flat Athena.

2000-01-27  Martin Buchholz  <martin@xemacs.org>

	* ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
	Use coding standards for function prototypes.

2000-01-25  Martin Buchholz  <martin@xemacs.org>

	* dialog-msw.c (push_lisp_string_as_unicode):
	* doc.c (unparesseuxify_doc_string):
	* dired.c (Fuser_name_completion_1):
	* dired.c (Fuser_name_all_completions):
	* dired.c (free_user_cache):
	* dired.c (user_name_completion):
	* console-x.c (get_display_arg_connection):
	* minibuf.c (clear_echo_area_internal):
	* minibuf.c (echo_area_append):
	* eldap.c (Fldap_open):
	* eldap.c (Fldap_search_internal):
	* frame-x.c (x_set_frame_text_value):
	* frame-x.c (x_set_frame_properties):
	* frame-x.c (x_create_widgets):
	* redisplay-tty.c (term_get_fkeys_1):
	* objects-x.c (x_parse_nearest_color):
	* objects-x.c (x_valid_color_name_p):
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_list_fonts):
	* objects-x.c (x_find_charset_font):
	* tooltalk.c (Fadd_tooltalk_message_arg):
	* tooltalk.c (Fadd_tooltalk_pattern_attribute):
	* tooltalk.c (Fadd_tooltalk_pattern_arg):
	* process-unix.c (unix_create_process):
	* ntproc.c (sys_spawnve):
	* sound.c (Fplay_sound_file):
	* sound.c (Fplay_sound):
	* buffer.c (init_initial_directory):
	* buffer.c (init_buffer):
	* editfns.c (init_editfns):
	* editfns.c (Ftemp_directory):
	* editfns.c (Fuser_full_name):
	* editfns.c (uncache_home_directory):
	* editfns.c (get_home_directory):
	* editfns.c (Fuser_home_directory):
	* editfns.c (Fformat_time_string):
	* editfns.c (Fcurrent_time_string):
	* gui-x.c (button_item_to_widget_value):
	* database.c (Fopen_database):
	* event-Xt.c (x_to_emacs_keysym):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (describe_event_window):
	* event-msw.c (mswindows_wnd_proc):
	* glyphs-eimage.c (jpeg_instantiate):
	* glyphs-eimage.c (gif_instantiate):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (tiff_instantiate):
	* glyphs-x.c (xbm_instantiate_1):
	* glyphs-x.c (x_xbm_instantiate):
	* glyphs-x.c (x_xface_instantiate):
	* glyphs-x.c (autodetect_instantiate):
	* glyphs-x.c (cursor_font_instantiate):
	* glyphs-x.c (x_widget_instantiate):
	* glyphs-x.c (x_widget_set_property):
	* glyphs-x.c (x_widget_property):
	* glyphs-x.c (BUILD_GLYPH_INST):
	* print.c (write_string_to_stdio_stream):
	* print.c (output_string):
	* print.c (Falternate_debugging_output):
	* print.c (Fexternal_debugging_output):
	* glyphs-msw.c (extract_xpm_color_names):
	* glyphs-msw.c (mswindows_xpm_instantiate):
	* glyphs-msw.c (bmp_instantiate):
	* glyphs-msw.c (resource_name_to_resource):
	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (xbm_instantiate_1):
	* glyphs-msw.c (mswindows_xbm_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-msw.c (add_tree_item):
	* glyphs-msw.c (add_tab_item):
	* glyphs-msw.c (mswindows_combo_box_instantiate):
	* glyphs-msw.c (mswindows_widget_property):
	* glyphs-msw.c (mswindows_combo_box_property):
	* glyphs-msw.c (mswindows_widget_set_property):
	* console.c (stuff_buffered_input):
	* objects-msw.c (mswindows_initialize_color_instance):
	* objects-msw.c (mswindows_valid_color_name_p):
	* objects-msw.c (mswindows_list_fonts):
	* objects-msw.c (mswindows_font_instance_truename):
	* bytecode.c (optimize_compiled_function):
	* select-x.c (symbol_to_x_atom):
	* select-x.c (x_atom_to_symbol):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (selection_data_to_lisp_data):
	* select-x.c (lisp_data_to_selection_data):
	* select-x.c (Fx_get_cutbuffer_internal):
	* select-x.c (Fx_store_cutbuffer_internal):
	* buffer.h (TO_EXTERNAL_FORMAT): New function.
	* buffer.h (TO_INTERNAL_FORMAT): New function.
	* emacs.c (make_arg_list_1):
	* emacs.c (make_argc_argv):
	* emacs.c (main_1):
	* emacs.c (Fdump_emacs):
	* emacs.c (split_string_by_emchar_1):
	* file-coding.h:
	* lisp.h:
	* lstream.h:
	* symsinit.h:
	* device-x.c (x_init_device):
	* device-x.c (Fx_valid_keysym_name_p):
	* device-x.c (Fx_get_font_path):
	* device-x.c (Fx_set_font_path):
	* glyphs.c (bitmap_to_lisp_data):
	* glyphs.c (pixmap_to_lisp_data):
	* alloc.c (make_ext_string): Use coding system arguments.  Update
	all callers.
	* alloc.c (build_string):
	* callproc.c (child_setup):
	* callproc.c (init_callproc):
	* fileio.c (lisp_strerror):
	* fileio.c (directory_file_name):
	* fileio.c (Fexpand_file_name):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsysnetunam):
	* fileio.c (Fdo_auto_save):
	* sysdep.c (sys_readdir):
	* tests.c: New file.  Allow adding C tests.
	Replace GET_* macros with a more comprehensible and flexible
	interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
	Modify all calls.
	Any coding system can be used to do format conversion.
	Eliminate enum external_data_format.
	Eliminate convert_to_external_format.
	Eliminate convert_to_internal_format.
	Make sure file-name, keyboard, terminal, and ctext are always
	defined as coding systems or aliases.  Make
	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.
	* file-coding.c (append_suffix_to_symbol): New function.
	* file-coding.c (dangling_coding_system_alias_p): New function.
	* file-coding.c (Ffind_coding_system):
	* file-coding.c (Fcopy_coding_system):
	* file-coding.c (encode_coding_no_conversion):
	* file-coding.c (syms_of_file_coding):
	* file-coding.c (vars_of_file_coding):
	Rewrite coding system alias code.
	Allow nested aliases, like symbolic links.
	Allow redefinition of coding system aliases.
	Prevent existence of dangling coding system aliases.

	* dired.c (Fuser_name_completion_1):
	* dired.c (Fuser_name_all_completions):
	A crash would happen if user did QUIT in the middle of building
	user_name_cache.  Remove redundant code in mainline and unwind_protect.

	* lisp.h:
	* dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.

	* lstream.c (make_fixed_buffer_input_stream): Take a void *, not
	an unsigned char *.  Update all callers.

2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.

2000-01-25  Martin Buchholz  <martin@xemacs.org>

	* elhash.c (hentry_description): Use more portable definition.
	(resize_hash_table): Initialize new hentries using
	xnew_array_and_zero, thereby simplifying the code.

	* mule-charset.c (make_charset): Make sure entire object is
	initialized, to avoid Purify warnings.

	* alloc.c (resize_string): Fix unlikely crash with big strings.

2000-01-24  Martin Buchholz  <martin@xemacs.org>

	* realpath.c (xrealpath):
	Don't call getwd().

2000-01-25  Martin Buchholz  <martin@xemacs.org>

	* lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.

1999-12-28  Max Matveev  <max@melbourne.sgi.com>

	* unexelfsgi.c (unexec): Change the way we decide which segment
	should be extended.

	Assumption that .bss section should be outside the PT_LOADable
 	segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
 	it's present) is inside the 'data' segment. This would fail the
 	test which was used to find a segment to grow and cover new
 	heap. Instead of this assumption, I created another one - on IRIX
 	the segment to grow should start below .bss and it's address
 	should extent above the end of .bss. Once this segment is
 	identified, it's grown to accommodate the new heap and new
 	zero-length .bss section is added at the end of .data2.

2000-01-25  Martin Buchholz  <martin@xemacs.org>

	* eval.c (Feval): Wrong number of arguments should use original
	function, not the indirect_function version of it.

2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* glyphs-x.c (x_button_instantiate): Don't add image if
	it is not a pixmap.
	(x_locate_pixmap_file): Call Fexpand_file_name when file name
	is relative.

2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>

	* symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
	declaration.
	(DEFVAR_INT_MAGIC): Ditto.
	(DEFVAR_BOOL_MAGIC): Ditto.
	* glyphs.h: Reindent backslash.

2000-01-24  Martin Buchholz  <martin@xemacs.org>

	* glyphs-widget.c (layout_query_geometry):
	(layout_layout): Use correct types for gheight, gwidth.

2000-01-24  Martin Buchholz  <martin@xemacs.org>

	* EmacsManager.c (QueryGeometry): Purified.

2000-01-23  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (make_float): Make sure entire object is initialized, to
	avoid Purify warnings.
	(pdump_register_sub): Remove useless assignment.
	(pdump): Use xmalloc, not malloc.
	(pdump_load): Use xmalloc, not malloc.

2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

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

	* device-msw.c (msprinter_device_system_metrics): Implemented.
	(mswindows_device_system_metrics): Added 'device-dpi property.

	* device.c: (Fdevice_printer_p): Added.
	Added 'offset-workspace device metric.

	* console.h (device_metrics): Declared DM_offset_workspace.

2000-01-23  Martin Buchholz  <martin@xemacs.org>

	* fileio.c (Ffile_truename): Remove pointless and confusing
	initialization of elen.

	* glyphs-widget.c: Compiler warning fixes.

2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
	instead of a Lisp_Object as argument to make it consistent with
	the other LIVE_P macros.
	(CHECK_LIVE_PROCESS): New macro.

	* process.c: Declare Qprocess_live_p.
	(Fprocess_live_p): New function.
	(create_process): Use PROCESS_LIVE_P.
	(read_process_output): Ditto.
	(set_process_filter): Ditto.
	(Fdelete_process): Ditto.
	(kill_buffer_processes): Ditto
	(process_send_signal): Use CHECK_LIVE_PROCESS.
	(Fprocess_input_coding_system): Check whether process is still
	alive (fix PR#1061).
	(Fprocess_output_coding_system): Ditto.
	(Fprocess_coding_system): Ditto.
	(Fset_process_input_coding_system): Ditto.
	(Fset_process_output_coding_system): Ditto.

2000-01-23  Andy Piper  <andy@xemacs.org>

	* glyphs.h (struct Lisp_Image_Instance): change format by unifying
	layout and widget.

	* glyphs.c (mark_image_instance): take into account changed
	image_instance format.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.

	* glyphs-widget.c (widget_instantiate): Incorporate layout
	instantiation here. Delay layout of the layout until later.
	(layout_instantiate): deleted.
	(layout_query_geometry): new function. get the geometry of a
	layout.
	(layout_layout): layout a layout dynamically.
	(image_instantiator_widget): New function - splitting up
	image_instantiator_format_create_glyphs_widget for netwinder
	compilation.
	(image_instantiator_buttons):
	(image_instantiator_edit_fields):
	(image_instantiator_combo_box):
	(image_instantiator_scrollbar):
	(image_instantiator_progress_guage):
	(image_instantiator_tree_view):
	(image_instantiator_tab_control):
	(image_instantiator_labels):
	(image_instantiator_layout): ditto.
	(image_instantiator_format_create_glyphs_widget): Call preceding
	functions.

2000-01-22  Martin Buchholz  <martin@xemacs.org>

	* process.c (Fset_process_coding_system):
	* 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):
	(Fwrite_region_internal):
	* emacs.c:
	* sysdep.c:
	* getloadavg.c:
	* systty.h:
	Remove vestigial APOLLO-conditional code.

2000-01-21  Martin Buchholz  <martin@xemacs.org>

	* getpagesize.h: Add guard macros.
	* libsst.h: Add guard macros.
	* libst.h: Add guard macros.
	* line-number.h: Add guard macros.
	* ndir.h: Add guard macros.
	* sysfloat.h: Add guard macros.
	* sysfile.h: Add guard macros.
	* sysproc.h: Add guard macros.
	* syswait.h: Add guard macros.
	* xintrinsic.h: Add guard macros.
	* xintrinsicp.h: Add guard macros.
	* xmmanager.h: Add guard macros.
	* xmmanagerp.h: Add guard macros.
	* xmprimitive.h: Add guard macros.
	* xmu.h: Add guard macros.
	* gpmevent.h: Add copyright statement. Add guard macros.
	* miscplay.h: Add guard macros.
	* *.h: Use consistent C-standards-approved guard macro names.

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

	* config.h.in (type_checking_assert): Added.
	(bufpos_checking_assert): Added.

2000-01-21  Martin Buchholz  <martin@xemacs.org>

	* alloc.c: Harmless pdump changes.
	- Use countof().
	- spell alignment correctly.
	* sysdep.c: Use countof()

2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* console.c (create_console): Use CONMETH_OR_GIVEN when calling
	initially_selected_for_input() console method, default to 0.
	(semi_canonicalize_console_connection): Try to delegate to
	canonicalize_console_connection if no such console method.
	(canonicalize_console_connection): Vice versa.
	(print_console): Do not print nil connection.

	* console.h (XDEVIMPF_IS_A_PRINTER): Added.
	(XDEVIMPF_NO_AUTO_REDISPLAY): Added.
	(XDEVIMPF_FRAMELESS_OK): Added.
	(CONSOLE_INHERITS_METHOD): Added.

	* console-msw.c (mswindows_canonicalize_console_connection):
	Added.
	(mswindows_canonicalize_device_connection): Added.

	* console-msw.h (struct msprinter_device): Added this struct and
	accessor macros.
	(mswindows_device): Made fontlist a lisp object.

	* device.c (semi_canonicalize_device_connection):  Try to delegate
	to canonicalize_device_connection if no such console method.
	(canonicalize_device_connection): Vice versa.
	(print_device): Do not print nil connection.

	* device-msw.c (mswindows_init_device): Call InitCommonControls
	when have widgets.
	(mswindows_delete_device): Removed fontlist deallocation.
	(mswindows_mark_device): Added.

	* events.c (event_equal): Added abort() at unreached code.
	(event_hash): Ditto.

	* faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
	fallback tags of Windows devices.

	* general.c (syms_of_general): Initialized Qmsprinter.

	* gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
	of fallback tags of Windows devices.

	* lisp.h: Declared Qmsprinter.

	* objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
	of strings.
	(mswindows_list_fonts): Ditto.
	(mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
	that it can be used by both mswindows and msprinter devices.
	(initialize_font_instance): Added.
	(mswindows_initialize_font_instance): Use it.
	(msprinter_initialize_font_instance): Added.

	* redisplay.c (redisplay_device): Added the parameter AUTOMATIC
	and implementation flags check.
	(redisplay_without_hooks): Changed the call to the above.
	(Fredraw_device): Ditto.
	(Fredisplay_device): Ditto.

	* redisplay-msw.c (get_frame_dc): Implemented.
	(get_frame_compdc): Implemented.
	(many functions): Use the two functions above to get device
	contexts, ether for a window or a printer.

2000-01-21  Olivier Galibert  <galibert@pobox.com>

	* symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
	initialization here.
	(init_symbols_once_early): Call it.
	* emacs.c (main_1): Call it.
	* symsinit.h: Declare it.

2000-01-19  Olivier Galibert  <galibert@pobox.com>

	* alloc.c: Use a lrecord_header * in the backtrace instead of a
	Lisp_Object.
	(pdump_backtrace): Ditto.
	(pdump_register_object): Ditto.  Cleanup use of the pointers.
	(pdump_get_entry): Abort if trying to register a null pointer.
	(pdump_dump_data): Cleanup types when relocating.
	(pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
	(pdump_dump_rtables): Remove bad casts.
	(pdump_load): Cleanup relocation w.r.t union type.  Use a
	Lisp_Object instead of a EMACS_INT for the hashtable
	reorganization.

2000-01-20  Martin Buchholz  <martin@xemacs.org>

	* emacs.c (main_1): Rearrange morass of #ifdef's for correctness.

	* callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.

	* EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.

	* *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]

2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* faces.h (FACE_STRIKETHRU_P): Added.

	* glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
	of font variants.

	* redisplay-msw.c (mswindows_apply_face_effects): Deleted.
	(mswindows_set_dc_font): New function, aware of font variants,
	separated from mswindows_update_dc.

	* objects-msw.h (struct mswindows_font_instance_data): Added
	definition.

	* objects-msw.c (mswindows_finalize_font_instance): Delete all
	cached fonts and the data structure.
	(mswindows_initialize_font_instance): Added creation of font data
	structure.
	(mswindows_print_font_instance): Print at least something.
	(mswindows_create_font_variant): Implemented.
	(mswindows_get_hfont): Implemented.

2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>

	* dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
	prototyping problem with msvc.

	* emacs.c (main_1): added syms_of_gui_mswindows() call

	* gui-msw.c: added "mswindows-shell-execute" lisp subr and
	syms_of_gui_mswindows() function

	* symsinit.h: added the prototype for syms_of_gui_mswindows()

2000-01-18  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.27 is released.

2000-01-18  Martin Buchholz  <martin@xemacs.org>

	* glyphs-eimage.c (struct tiff_error_struct):
	(tiff_error_func):
	(tiff_warning_func):
	#if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF

	* unexmips.c:
	* unexhp9k3.c:
	* unexfreebsd.c:
	* unexec.c: Remove vestigial Lucid C code.
	* unexalpha.c:
	* unexaix.c:
	* termcap.c:
	* libsst.c: Ansify.
	Remove declarations of errno and strerror().

	* eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.

	* .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".

2000-01-16  Martin Buchholz  <martin@xemacs.org>

	* mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
	Optimize.

2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* md5.c:
	* file-coding.c:
	* file-coding.h:
	Change enum eol_type to eol_type_t.

2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* gui.c (get_gui_callback): Check cons before accessing car.

2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* specifier.h (XSPECIFIER_TYPE): Add error checking version.
	(XSETSPECIFIER_TYPE): Ditto.

2000-01-17  Didier Verna  <didier@xemacs.org>

	* redisplay.c (generate_fstring_runes): compute string size in
	characters, not bytes.

2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>

	* window.c (Fwindow_minibuffer_p): Make WINDOW optional.

2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>

	* print.c (print_error_message): Call print_prepare().

2000-01-14  Martin Buchholz  <martin@xemacs.org>

	* .dbxrc: Renamed from dbxrc.

	* events.c (event_to_character):
	Use `assert (foo)' instead of `if (!foo) abort()'

	* .gdbinit (xtype): Add documentation.
	* .gdbinit (check-temacs): New function.
	* .gdbinit (check-xemacs): New function.
	* dbxrc (check-xemacs): New function.
	* dbxrc (check-xemacs): New function.

2000-01-14  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_query_geometry): Make sure that we
	calculate default dimensions correctly.

2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.

	* event-msw.c (vars_of_event_mswindows): Fixed a mistyped
	pdump_wire'd variable.

	* emacs.c: (main_1): Conditionalized calls to
	reinit_vars_of_scrollbar_x and reinit_vars_of_module.

2000-01-13  Martin Buchholz  <martin@xemacs.org>

	* window.c (Fset_window_configuration):
	* sysdep.c (_start):
	* input-method-motif.c (res):
	* event-Xt.c (Xt_process_to_emacs_event):
	Simple compiler warning fixes.

	* bytecode.c (funcall_compiled_function): Use the original
	function symbol on the backtrace list in preference to the
	compiled_function object in error messages.

2000-01-13  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (update_widget_face): Make sure we update the widget
	background as well as foreground.

2000-01-13  Andy Piper  <andy@xemacs.org>

	* glyphs.h (struct Lisp_Image_Instance): Move justify and orient
	fields to subwindow.
	(IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
	(XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
	(IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
	(XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.

	* glyphs-widget.c (check_valid_tab_orientation): new function.
	(initialize_widget_image_instance): zero orientation and
	justification.
	(widget_instantiate): pick up orientation.
	(tab_control_query_geometry): return appropriate values for
	vertical tabs.

	* glyphs-msw.c: (mswindows_tab_control_instantiate): assign
	appropriate creation flags for left, right and bottom tabs.

	* s/cygwin32.h: add tab definitions.

2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
	frame upon hiding a subwindow.
	(mswindows_button_instantiate): Changed the push button style to
	BS_PUSHBUTTON.
	(mswindows_button_instantiate): Removed button BS_NOTIFY
	style.
	(mswindows_button_instantiate): Removed redundant check for
	a disabled gui item.
	(mswindows_button_instantiate): Made use of WS_TABSTOP
	consistent: "operable" controls (edit, button, tree, scroll) have
	this style, "display-only" ones (static, progress gauge) do
	not. This style is currently ignored by XEmacs though. Also,
	removed the WS_EX_CONTROLPARENT style - it is not for children,
	it is for their parents!
	(mswindows_edit_field_instantiate): Ditto.
	(mswindows_progress_gauge_instantiate): Ditto.
	(mswindows_tree_view_instantiate): Ditto.
	(mswindows_tab_control_instantiate): Ditto.
	(mswindows_scrollbar_instantiate): Ditto.
	(mswindows_combo_box_instantiate): Ditto.
	(mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
	style to the "clip" window.
	(mswindows_button_instantiate): Removed compilation warning by
	equally typing terms of the ?: operator.

2000-01-12  Didier Verna  <didier@xemacs.org>

	* redisplay.c (generate_fstring_runes): new parameter holding the
	last modeline-format extent.
	(add_glyph_to_fstring_db_runes): new parameter holding the glyph
	extent, fill the glyph block with it.
	(generate_fstring_runes): handle these parameters.
	(generate_formatted_string_db): ditto.

	* keymap.c (get_relevant_keymaps): retreive the keymaps from the
	glyphs'extents in the modeline.

1999-01-11  Mike Woolley  <mike@bulsara.com>

	* ntheap.c: Reduced the reserved heap space from 1Gb down to
	256Mb, as a workaround for the non-starting problem many people
	have experienced.

2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* console-tty.c (Fset_console_tty_output_coding_system):
	Force redrawing tty frame.

2000-01-10  Didier Verna  <didier@xemacs.org>

	* redisplay.c (generate_fstring_runes): fix size computation bug.

2000-01-09  William M. Perry <wmperry@aventail.com>

	* gpmevent.c: (gpm_next_event_cb): Don't return value from void function.

2000-01-09  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c: index -> i to avoid shadows.
	(xbm_create_bitmap_from_data): make static.
	(check_valid_string_or_int): deleted.
	(mswindows_control_wnd_proc): message -> msg to avoid shadows.

	* glyphs-x.c (x_update_subwindow): remove unused args.

	* glyphs.c (glyph_image_instance): return the thing. Don't set the
	back pointer - this is done in allocate_image_instance.
	(query_string_font): return Qnil to make the compiler happy.
	(unmap_subwindow): set to ~0 to make the compiler happy.
	(glyph_query_geometry): comment out until used.
	(glyph_layout): ditto.

2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>

	* insdel.c (signal_after_change): Remove extraneous unbind_to().

2000-01-09  Norbert Koch  <norbert@s.netic.de>

	* sysfile.h: Remove definition of HAVE_FSYNC. It's tested for
	in configure.

2000-01-09  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (xfree_1): Make non-public.
	* (xzero): Use '\0' in memset call for clarity.
	* (ALIGNOF): Use __alignof__ instead of undocumented __alignof.
	* alloc.c (allocate_string_chars_struct):
	(make_uninit_string):
	(resize_string):
	(verify_string_chars_integrity):
	(compact_string_chars): Now only called for small strings.
	(sweep_strings):
	String allocation rewrite.
	Properly handle resizing big strings.
	Fixes crash when evaluating:
	(aset (make-string 9003 ??) 1 (make-char 'latin-iso8859-1 57))
	Use consistent coding convention.
	Never use xfree_1() directly.
	General cleanup.
	(CHARS_TO_STRING_CHAR): Remove. No longer needed.
	Big strings had unused space at beginning.

	* scrollbar.c (specifier_vars_of_scrollbar):
	* scrollbar.c (complex_vars_of_scrollbar):
	* gutter.c (specifier_vars_of_gutter):
	* menubar.c (specifier_vars_of_menubar):
	* toolbar.c (specifier_vars_of_toolbar):
	* glyphs.c (specifier_vars_of_glyphs):
	* redisplay.c (specifier_vars_of_redisplay):
	* window.c (specifier_vars_of_window):
	* lisp.h (slot_offset): Remove slot_offset.
	Replace all calls to `slot_offset' with the standard name, `offsetof'.

	* menubar-x.c (compute_menubar_data):
	Remove Fset_buffer(), always called by unwind_protect.
	* menubar-x.c (menu_item_descriptor_to_widget_value_1): Fiddling.
	* menubar-x.c (set_frame_menubar): comment fix.

	* keymap.c (lookup_keys): Remove extra parens.
	* keymap.c (lookup_events): Remove extra parens.

	* dbxrc (run-temacs): Allow function to take arguments.

	* Makefile.in.in (PURIFY_FLAGS): No longer need pointer-mask.

2000-01-08  Andy Piper  <andy@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): don't need to check for widget
	face anymore.

	* frame.c (change_frame_size_1): use new glyph_* signatures.
	(frame_conversion_internal): ditto.

	* toolbar-x.c (x_get_button_size): Use modified glyph_*
	signatures.

	* redisplay.c (add_glyph_rune): Use modified glyph_* signatures.
	(add_glyph_rune): dittto.
	(add_margin_runes): ditto.
	(create_left_glyph_block): ditto.
	(create_right_glyph_block): ditto.
	(redisplay_window): ditto.

	* redisplay-output.c (redisplay_output_layout): Use modified
	glyph_* signatures.

	* glyphs.h: (struct image_instantiator_methods): change signature
	of query_geometry and layout.
	(struct Lisp_Image_Instance): Clean up fields for dynamic geometry
	calculations.
	(struct expose_ignore): change field types.
	(struct subwindow_cachel): ditto.  declare new functions and
	accessor macros.

	* glyphs.c: (instantiate_image_instantiator): assign glyph when
	creating the image instance.
	(image_instance_hash): fixup for new and deleted fields.
	(image_instance_equal): ditto.
	(mark_image_instance): ditto.
	(print_image_instance): ditto.
	(allocate_image_instance): zero width and height. assign attached
	glyph. mark as dirty for future layout.
	(make_image_instance_1): pass Qnil as the glyph its attached to.
	(Fimage_instance_height): simply return the height.
	(Fimage_instance_width): simply return the width.
	(image_instance_query_geometry): new function. query the image
	instance's geometry by wiring through to format and device
	specific methods. fallback on the existing geometry.
	(image_instance_layout): new function. layout the image instance
	by querying its geometry and then wiring through to format and
	device specific methods.
	(query_string_geometry): new function to decide the bounding box
	of a string. text glyph geometry calculations moved here.
	(query_string_font): new function. find out the font for a given
	string in a given face.
	(text_query_geometry): return geometry based on
	quert_string_geometry.
	(formatted_string_instantiate): call string_instantiate.
	(image_instantiate): put strings in the per-window cache. Feed the
	glyph to the instantiated image instance.
	(glyph_height_internal): deleted.
	(glyph_width): simply return the required dimension. re-layout if
	the instance is dirty. Remove references to face_index and
	frame_face which were only used for strings.
	(glyph_ascent): ditto.
	(glyph_descent): ditto.
	(glyph_height): ditto.
	(Fglyph_width): use new glyph_width function.
	(Fglyph_ascent): use new glyph_ascent function.
	(Fglyph_descent): use new glyph_descent function.
	(Fglyph_height): use new glyph_height function.
	(glyph_property_was_changed):
	(glyph_image_instance_maybe): new function to possible create an
	image instance from a glyph if we don't have one already.
	(glyph_dirty_p): use it.
	(glyph_layout): new function for laying out a glyph.
	(glyph_query_geometry): new function for finding out the desired
	geometry of a glyph.
	(update_glyph_cachel_data): use new glyph_* signatures.
	(update_subwindow): call resize_subwindow.
	(map_subwindow): call update_subwindow if the image is dirty.
	(subwindow_instantiate): add comment.
	(Fresize_subwindow): don't actually resize the window, just record
	the values and let update_subwindow handle it.
	(Fglyph_animated_timeout_handler): use
	MARK_IMAGE_INSTANCE_CHANGED.
	(image_instantiator_format_create): declare things with
	query_geometry and layout functions.

	* glyphs-x.c: (x_update_subwindow): remove widget sizing.
	(update_widget_face): use query_string_font.
	(x_widget_set_property): don't return Qt when setting is
	succesful.
	(x_combo_box_instantiate): call widget_instantiate rather than
	widget_instantiate_1.

	* glyphs-widget.c: (widget_face_font_info): deleted.
	(widget_text_to_pixel_conversion): deleted.
	(widget_set_property): make sure the new text gets propagated to
	the image instance.
	(widget_layout): new function. wire through to device and format
	specific methods.
	(widget_query_geometry): new function. wire through to device and
	format specific methods. fallback on geometry of widget text.
	(initialize_widget_image_instance): fixup new fields.
	(widget_instantiate_1): deleted.
	(tree_view_instantiate): deleted.
	(tree_view_query_geometry): new function. returns desired sizing
	of tree view.
	(tab_control_instantiate): deleted.
	(tab_control_query_geometry): new function. returns desired sizing
	of tab.
	(widget_instantiate): subsume widget_instantiate_1. Fixup geometry
	things in the light of dynamic layout.
	(static_instantiate): deleted.
	(layout_instantiate): use new glyph_* signatures.
	(image_instantiator_format_create_glyphs_widget): fixup
	query_geometry and layout declarations for various widgets.

	* glyphs-msw.c: (mswindows_widget_instantiate): add comment.
	(mswindows_button_instantiate): use query_string_font for geometry
	calculations.
	(mswindows_update_subwindow): ditto.
	(mswindows_combo_box_instantiate): fixup for new geometry
	management.
	(mswindows_widget_set_property): Don't return Qt so that other
	methods can be called.

2000-01-08  Martin Buchholz  <martin@xemacs.org>

	* gdbinit: rename to .gdbinit so that gdb will automatically source it.

2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>

	* insdel.c (signal_before_change): Make sure START and END are
	within the buffer before calling report_extent_modification().
	(signal_after_change): Ditto for START, NEW_END, and ORIG_END.

2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>

	* extents.h: Correct prototype of report_extent_modification().

	* insdel.c (signal_before_change): Place record_unwind_protect()
	outside MAP_INDIRECT_BUFFERS loops.
	(signal_after_change): Ditto.

	* extents.c (report_extent_modification): Don't expect pointer to
	inside_change_hook.
	(report_extent_modification_mapper): Explain why
	closure->speccount is almost unused.

	* insdel.c (change_function_restore): Call Fset_buffer only if
	necessary.
	(signal_before_change): Don't propagate inside_change_hook to
	report_extent_modification().

2000-01-07  Martin Buchholz  <martin@xemacs.org>

	* elhash.c (make_general_lisp_hash_table): Remove purify UMR.
	(hash_table_rehash_threshold): Removed. Update all callers.

2000-01-03  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* s/windowsnt.h: Fix mail locking stuff.

	* s/aix3-2.h: Remove HAVE_FSYNC which is now autodetected.

	* emacs.c (vars_of_emacs): Added `mail-lock-methods' and
	`configure-mail-lock-method' variables.

	* config.h.in: Fix mail locking stuff.

2000-01-04  Martin Buchholz  <martin@xemacs.org>

	* mule-charset.h (REP_BYTES_BY_FIRST_BYTE):
	Remove macro, always use inline function.
	* mule-charset.c (make_charset): Don't assign to rep_bytes_by_first_byte.
	(rep_bytes_by_first_byte): Make const.

2000-01-03  Didier Verna  <didier@xemacs.org>

	* redisplay.c (generate_fstring_runes): new parameter `offset'.
	Take offset into account when outputting strings or glyphs.
	(generate_formatted_string_db): call generate_fstring_runes with
	an offset of 0 if generating a frame or icon title, or the
	modeline hscroll if generating a modeline.

	* redisplay.h: remove prototype of `generate_formatted_string' and
	add prototype for `generate_formatted_string_db', now used in
	"frame.c".

	* frame.c: `title_string_display_line' and
	`title_string_emchar_dynarr', formerly known as
	`format_string_display_line' and `format_string_emchar_dynarr'
	moved here from "redisplay.c".
	(generate_title_string): formerly known as
	`generate_format_string', moved here from "redisplay.c".
	(update_frame_title): take these name changes into account.
	(init_frame): new function. Initialize here the variables that
	were previously in "redisplay.c" and initialized in
	`init_redisplay'.

	* frame.h: prototype for `init_frame'.

	* window.c (Fmodeline_hscroll): restore the definition (remove the
	MODELINE_IS_SCROLLABLE #ifdef).
	(Fset_modeline_hscroll): ditto, docstring improvement, and return
	the actual value that was set.
	(struct saved_window): turn the `modeline_hscroll' field into a
	Charcount.
	(syms_of_window): restore the declaration of
	`[set-]modeline-hscroll' (remove the MODELINE_IS_SCROLLABLE #ifdef).

	* window.h (struct window): turn the `modeline_hscroll field' into
	a Charcount.

	* emacs.c: include "frame.h" to get `init_frame'.
	(main_1): call `init_frame'.

1999-12-31  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.26 is released.

1999-12-31  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_widget_instantiate): Avoid X errors calling
	XMapWindow() on a NULL pointer X window.

1999-12-31  Martin Buchholz  <martin@xemacs.org>

	* data.c (indirect_function): Use signal_void_function_error().

	* lisp.h: Modify prototypes for signal_*().  Add SUBR_FUNCTION macro.

	* eval.c (PRIMITIVE_FUNCALL): Optimize.
	(signal_void_function_error): return result of Fsignal().
	(signal_invalid_function_error): return result of Fsignal().
	(signal_wrong_number_of_arguments_error): return result of Fsignal().
	(signal_malformed_list_error): Add DOESNT_RETURN.
	(signal_malformed_property_list_error): Add DOESNT_RETURN.
	(signal_circular_list_error): Add DOESNT_RETURN.
	(signal_circular_property_list_error): Add DOESNT_RETURN.
	(Feval): Use returned results of signal_*().  Avoids a crash!
	(Ffuncall): Use returned results of signal_*(). Avoids the crash:
	  (setq debug-on-error t) (funcall 'foo) kbd{r42} kbd{RET}
	- Only check for fun_nargs < subr_min_args if fun_nargs != max_args.
	(function_argcount): Use signal_invalid_function_error().
	(funcall_lambda): Use signal_wrong_number_of_arguments_error().
	Use signal_invalid_function_error().

1999-12-28  Andy Piper  <andy@xemacs.org>

	* debug.c: rename debug_loop elements to X_ to avoid name clashes.

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): strdup
	string_chars.
	(menu_item_descriptor_to_widget_value_1): strdup name.
	(pre_activate_callback): strdup name.

	* scrollbar-x.c (scrollbar_instance_to_widget_value): strdup name.
	(x_update_scrollbar_instance_status): use free_widget_value_tree.

	* dialog-x.c (maybe_run_dbox_text_callback): strdup name.  use
	free_widget_value_tree.
	(dbox_descriptor_to_widget_value): ditto.

	* gui-x.c (widget_value_unwind): use free_widget_value_tree.
	(gui_items_to_widget_values_1): ditto.
	(gui_items_to_widget_values): ditto.
	(free_popup_widget_value_tree): free name.

1999-12-27  Andy Piper  <andy@xemacs.org>

	* nt.c (fstat): use get_osfhandle rather than the handle
	directly. From Fabrice Popineau.

	* process-nt.c (nt_open_network_stream): take types into account
	when warning. From Fabrice Popineau.

1999-12-24  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.25 is released.

1999-12-22  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments.

1999-12-21  Martin Buchholz  <martin@xemacs.org>

	* editfns.c (Fpoint_min):
	(Fpoint_min_marker):
	(Fpoint_max):
	(Fpoint_max_marker):
	(Fchar_after):
	(Fchar_before):
	Docstring fixes.  What's a `buffer pointer' anyways?

	* editfns.c (char=): Remove unused and undocumented optional
	third BUFFER argument.

	* toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P):
	* fns.c (plists_differ):
	* elhash.c (HASH_CODE):
	* elhash.c (KEYS_EQUAL_P):
	* redisplay-output.c (redisplay_move_cursor):
	* redisplay.c (create_text_block):
	* floatfns.c (Flogb):
	* glyphs-msw.c (mswindows_initialize_image_instance_mask):
	* glyphs-msw.c (xpm_to_eimage):
	* buffer.h (POINT_MARKER_P):
	* syntax.c (scan_lists):
	* cmdloop.c (Fcommand_loop_1):
	* widget.c (Fwidget_apply):
	* regex.c (STREQ):
	Remove extra parens, esp. of the form ((expr))

	* floatfns.c (Flogb): Make 64-bit clean.

1999-12-12  Daniel Pittman  <daniel@danann.net>

	* configure.in:
	* configure.usage:
        Clean up Athena widget support:
	- Add `with-athena' to select a variant.
	- Remove all `athena3d' options.
	- Robust detection of Athena libraries and headers.
        - Refuse to build with mismatched library and headers.
        - Only build a 3d Athena if the user asks for it.

1999-12-21  Andy Piper  <andy@xemacs.org>

	* redisplay.c (redisplay_frame): check for faces changed when
	reseting subwindow caches.

	* glyphs.h (struct ii_keyword_entry): add copy_p.
	(struct image_instantiator_methods): add query_geometry_method and
	layout_children_method.
	(IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account
	copying characteristics of keywords.
	(IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords
	whose arguments should not be copied by the specifier code.
	(image_instance_geometry): new enum for layouts.
	(struct Lisp_Image_Instance): re-jig for layouts and update
	macros.

	* glyphs.c (string_instantiate): rename variables.
	(image_instantiate): add strings to those widgets that are
	instantiated per-window.
	(image_copy_vector_instantiator): new function for copying glyph
	specifier instantiators.
	(image_copy_instantiator): ditto.

	* glyphs-x.c (x_update_subwindow): use new face update functions.
	(update_widget_face): update to use new lwlib arg functions.
	(update_tab_widget_face): new function for updating tab control
	label faces.
	(x_widget_instantiate): use new face update functions and new
	lwlib arg functions.
	(x_tab_control_instantiate): ditto.
	(x_tab_control_set_property): ditto.

	* glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for
	callbacks and other things that could recurse.
	(VALID_GUI_KEYWORDS):

	* event-msw.c: fix cpp stuff for cygwin < b20.

	* config.h.in: move uid_t and friends to before the s&m files so
	that they can be used there.

	* Makefile.in.in (debug-temacs): new target that adds emacs
	environment before invoking gdb.

	* lwlib.h (_widget_args): new structure for holding widget
	args. It is reference counted so that we don't have to copy Xt
	args.
	(_widget_value): remove widget args. Add reference to widget_args.

	* lwlib.c (free_widget_value_contents): free widget args using
	free_widget_value_args.

	* lwlib-Xaw.c (xaw_update_one_widget): use new arg packet.
	(xaw_update_one_widget): use XtIsSubclass for determining labels.

	* lwlib.c (lw_add_value_args_to_args): modify to use our reference
	counted arg packet.
	(lw_add_widget_value_arg): new function. Add an arg to the arg
	packet.
	(free_widget_value_args): new function. Remove a reference counted
	arg packet.
	(lw_copy_widget_value_args): new function. Copy reference counted
	arg packet.
	(merge_widget_value_args): new function. Do a merge of widget
	args.
	(merge_widget_value): use it.
	(copy_widget_value_tree): copy widget args using reference
	counting, since we can't easily copy the args we have been given.

	* specifier.h (struct specifier_methods): add copy_instantiator_method.

	* specifier.c (build_up_processed_list): use
	copy_instantiator_method if defined.

1999-12-19  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings.

1999-12-19  Hrvoje Niksic  <hniksic@iskon.hr>

	* profile.c (sigprof_handler): FUN retrieved from the backtrace
	can also be a cons representing anonymous interpreted function.

1999-12-18  Martin Buchholz  <martin@xemacs.org>

	* fns.c (mapcar1):
	(Fmapconcat):
	(Fmapcar):
	(Fmapvector):
	Docstring fixes.  Make them consistent with the lispref and ANSI Lisp.

1999-12-17  Martin Buchholz  <martin@xemacs.org>

	* print.c (print_internal): print ?+ instead of ?\+, etc...
	Make printing a little more efficient.
	Prevent buffer overflow if sizeof EMACS_INT > 8.
	My first 128-bit fix!

1999-12-14  Karl M. Hegbloom  <karlheg@inetarena.com>

	* filelock.c (unlock_all_files): GC_CONSP should be CONSP

1999-12-17  Martin Buchholz  <martin@xemacs.org>

	* database.c:
	* window.c:
	* event-stream.c:
	Remove last vestigial uses of GC_*

	* fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function!
	- Two of those involve evil mapping functions that destructively
	  modify a list being mapped over.
	- Any garbage collection when mapping over a string could cause a
	  crash (typically in mapconcat).

1999-12-08  Adrian Aichner  <adrian@xemacs.org>

	* s\windowsnt.h (DIRECTORY_SEP): Initialize from
	`Vdirectory_sep_char'.

	* lisp.h: Add declaration for `Vdirectory_sep_char' to allow
	customization of `DIRECTORY_SEP' under native Windows NT.

1999-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>

	* buffer.c (Fbury_buffer): Add directions to the docstring.

1999-12-14  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.24 is released.

1999-12-13  Martin Buchholz  <martin@xemacs.org>

	* sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND

	* nas.c: Fix compiler warnings.  Ansify.  C++ compilation support.

1999-12-13  Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* input-method-xlib.c: Make sure src/ does not use Athena, except
	indirectly through lwlib.

1999-12-13  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* dbxrc (pobj):	Add opaque_ptr, remove opaque_list.

1999-12-10  Shenghuo ZHU <zsh@cs.rochester.edu>

	* file-coding.c (add_coding_system_to_list_mapper):
	- (coding-system-list) should list aliases correctly.

1999-12-07  Andy Piper  <andy@xemacs.org>

	* fileio.c (vars_of_fileio): directory separator fix from Mike Alexander.
	* windowsnt.h (ditto):

1999-11-27  Adrian Aichner  <adrian@xemacs.org>

	* sysfile.h: Encapsulate `fstat' for Windows NT just like stat to
	get consistent file modification times.

	* sysdep.h: Declare `wait_for_termination' to use process handle,
	not PID, on Windows NT native.

	* sysdep.c (wait_for_termination): Use process handle, not PID, on
	Windows NT native.  Set exit code correctly on Windows NT.
	(sys_subshell): Use process handle, not PID,
	on Windows NT native.
	(sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT.

	* process-nt.c (nt_create_process): Remove negative pid hack for
	Windows 95.
	(nt_send_process): Declare vol_proc volatile.
	(get_internet_address): warn_when_safe if IP address cannot be
	found.
	(nt_open_network_stream): warn_when_safe if network stream fails
	to open.

	* ntproc.c (create_child): Remove negative pid hack for Windows
	95.  Remove incorrect and unnecessary USE_UNION_TYPE handling.

	* nt.c (fstat): Encapsulate for Windows NT just like stat to get
	consistent file modification times.

	* callproc.c (call_process_cleanup): Use process handle, not PID,
	on Windows NT native.
	(Fcall_process_internal): Ditto.  Close fd_error in parent.  Don't
	check for negative pid on Windows NT/9[58].

1999-12-07  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.23 is released.

1999-12-06  Martin Buchholz  <martin@xemacs.org>

	* events.c (Fcopy_event): Don't copy the lrecord_header.

	* lisp.h (DO_REALLOC):
	Optimize.
	Remove redundant parens.
	Remove generic hygienic macro comment.

	* lrecord.h (set_lheader_implementation): Remove redundant parens.

1999-12-05  Martin Buchholz  <martin@xemacs.org>

	* lstream.c (Lstream_adding):
	- Never compare a size_t and a possibly negative number.
	- Optimize.

1999-12-05  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp/itimer.el: (require 'lisp-float-type).  Use
	  floats directly in itimer-time-difference.

1999-12-05  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_layout): avoid name hiding.

	* gui.h: declare gui_add_item_keywords_to_plist.

	* window.c (Fdelete_window): mark subwindows as changed so that
	they can be GC'd if necessary.

1999-12-02  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* src/callproc.c (Fcall_process_internal): Be careful in writing
	terminating null when copying args. nargs can be < 4.
	Idea from Klaus Frank <klausf@i3.informatik.rwth-aachen.de>

1999-11-29  Kyle Jones  <kyle_jones@wonderworks.com>

	* src/sound.c (Fding): Remove zero initialization of
	  static variables to avoid crashes on systems that dump
	  the initialized data segment read-only.

1999-12-05  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* glyphs-x.c (convert_EImage_to_XImage): Guard against other
	visual classes. From Rasmus Borup Hansen <rbh@math.ku.dk>

1999-12-04  Martin Buchholz  <martin@xemacs.org>

	* lstream.c: (filedesc_reader):
	(filedesc_writer): Try number 2: Support broken systems where
	return type of read() and write() is different from ssize_t.

	* systty.h:
	* sysdep.h:
	* sysdep.c:
	- Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with
	  function equivalents emacs_get_tty() and emacs_set_tty().
	- Moved prototypes to systty.h, where struct event_tty is defined.
	- Renamed bogus `waitp' parameter to `flushp'.

	* lstream.c (filedesc_reader): Support broken systems where return
	type of read() is different from ssize_t.

	* events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil.

	* event-stream.c (menu_move_up): Remove redundant if block.
	(menu_move_down): Gratuitous rewriting.
	(menu_move_left): Work around Cygnus codefusion-990706 compiler bug.
	(menu_move_right): Ditto.

	* lrecord.h (copy_lcrecord):
	(zero_lcrecord):
	Always add parentheses around uses of macro arguments.

	* sysdll.c: #include <stdlib.h> for exit().
	* unexhp9k800.x: #include <stdlib.h> for malloc().
	Use proper prototype for Save_Shared_Data(void).

1999-12-04  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* src/redisplay.c (point_would_be_visible): Correct for topclip.

1999-12-02  Hrvoje Niksic  <hniksic@iskon.hr>

	* lisp.h: Declare Qself_insert_defer_undo.

	* event-stream.c (Fdispatch_event): Get the magic undo thing from
	a symbol property, so commands other than self-insert-command can
	install it.
	(syms_of_event_stream): Define Qself_insert_defer_undo.

1999-11-30  Martin Buchholz  <martin@xemacs.org>

	* floatfns.c (emacs_rint): Rename rint to emacs_rint, so that
	`#undef HAVE_RINT' works.

	* sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1()

1999-11-25  Andy Piper  <andy@xemacs.org>

	* select-msw.c (Fmswindows_set_clipboard): selection fixes from
	Mike Alexander.
	(Fmswindows_delete_selection): ditto.

	* redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed.
	(GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.

	* redisplay.c (redisplay_device): move size changed to macros in
	redisplay.h
	(redisplay_without_hooks): ditto.

	* redisplay-output.c (redisplay_output_layout): rename to avoid
	name hiding.

	* process-nt.c (struct nt_process_data): mks toolkit fixes from
	Mike Alexander.
	(nt_create_process): ditto.
	(nt_send_process): ditto.

	* nt.c (init_environment): make sure mingw32 gets the cached
	system info.

	* gui.h: declare gui_add_item_keywords_to_plist.

	* event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike
	Alexander.

	* console-msw.h: fix cygwin define/header 1.0 problems.
	* glyphs-msw.c: ditto.
	* ntplay.c: ditto.
	* unexcw.c: ditto.
	* s/cygwin32/h: ditto.

1999-11-29  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.22 is released

1999-11-28  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.21 is released.

1999-11-26  Martin Buchholz  <martin@xemacs.org>

	* callproc.c (Fcall_process_internal):
	* config.h.in:
	* esd.c:
	* event-msw.c (ntpipe_slurp_reader):
	* event-msw.c (ntpipe_shove_writer):
	* event-msw.c (winsock_reader):
	* event-msw.c (winsock_writer):
	* event-stream.c (dribble_out_event):
	* fileio.c:
	* fileio.c (Fexpand_file_name):
	* glyphs-x.c (write_lisp_string_to_temp_file):
	* gpmevent.c (tty_get_foreign_selection):
	* lisp.h: Update prototypes.
	* lstream.c (Lstream_flush_out):
	* lstream.c (Lstream_write_1):
	* lstream.c (Lstream_was_blocked_p):
	* lstream.c (Lstream_read_more):
	* lstream.c (Lstream_read):
	* lstream.c (Lstream_fputc):
	* lstream.c (make_stdio_output_stream):
	* lstream.c (stdio_flusher):
	* lstream.c (stdio_closer):
	* lstream.c (make_filedesc_output_stream):
	* lstream.c (errno_would_block_p):
	* lstream.c (filedesc_writer):
	* lstream.c (make_lisp_string_input_stream):
	* lstream.c (make_fixed_buffer_output_stream):
	* lstream.c (fixed_buffer_reader):
	* lstream.c (make_resizing_buffer_output_stream):
	* lstream.c (make_dynarr_output_stream):
	* lstream.c (make_lisp_buffer_output_stream):
	* lstream.c (lisp_buffer_reader):
	* lstream.h (lstream_implementation):
	* md5.c (Fmd5):
	* miscplay.h (reset_parsestate):
	* process-nt.c (nt_send_process):
	* process-unix.c (unix_send_process):
	* sound.c:
	* sysdep.c (sys_close):
	* sysdep.c (sys_read_1):
	* sysdep.c (sys_write_1):
	* sysfile.h:
	* file-coding.c (determine_real_coding_system):
	* file-coding.c (Fdetect_coding_region):
	* file-coding.c (struct decoding_stream):
	* file-coding.c (decoding_reader):
	* file-coding.c (Fdecode_coding_region):
	* file-coding.c (struct encoding_stream):
	* file-coding.c (encoding_reader):
	* file-coding.c (Fencode_coding_region):
	* file-coding.c (convert_to_external_format):
	* file-coding.c (convert_from_external_format):
	- Lstream functions mirror Unix98 read(),write().  Therefore use
	  Unix98 types size_t and ssize_t.
	- Try to make Lstream* functions 64-bit clean.  Someday someone
	  may actually want to read from a Lstream with more than 2**32 bytes.
	- Add configure support for ssize_t.
	- Update all callers of Lstream_read and Lstream_write to
	  use the new types.
	- Fix esd* initiated C++ compile errors.
	- Remove comments referring to `fpurge' - we don't want to call it
	  even if it's there.

	* lisp.h
	- Remove some lingering Lucid compiler support.

	* lisp.h
	- Add prototype for Fdelete_process.

	* gpmevent.c (Freceive_gpm_event): Remove unused variables.

1999-11-27  Martin Buchholz  <martin@xemacs.org>

	* Makefile.in.in (depend): Only update `depend' if there were changes.

1999-11-26  Martin Buchholz  <martin@xemacs.org>

	* editfns.c (get_system_name): Remove.

1999-11-26  Martin Buchholz  <martin@xemacs.org>

	* device-x.c (x_init_device):
	- Replace magic number `17' with equivalent expn using sizeof.
	- Replace strcmp with marginally more efficient memcmp.
	- Avoid using C++ reserved word `class'.

	* file-coding.c (determine_real_coding_system):
	- Look for both initial and final -*- cookies.
	- Replace EQ (foo, Qnil) with NILP (foo)
	- Make searching for cookies more efficient.
	- Recognize only rfc 1521 characters in charset names.

1999-11-22  Kazuyuki IENAGA <kazz@imasy.or.jp>

	* input-method-xlib.c (IMDestroyCallback): #ifdef'd by
	"THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6.
	* input-method-xlib.c (IMInstantiateCallback): Ditto.
	* input-method-xlib.c (XIM_init_device): Revive XOpenIM function
	call for X11R5 systems.
	* input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC()
	again because XIM doesn't concern with frame deletion itself.
	The XIC will be cleared by XIM when XIM is closing (at XIM destroy
	callback).

1999-10-25  Kazuyuki IENAGA <kazz@imasy.or.jp>

        * input-method-xlib.c: Added new lisp object Qxim_xlib.
        New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str).
        All the valid stderr_out were changed to those macros.
        (IMDestroyCallback): Don't test the XIC if the frame is not X
        frame.
        (IMInstantiateCallback): Treat the client_data as "device" not
        "frame" because the caller changed from frame to device.
        Here initializes XIM and activates XICs for each frame which
        doesn't have XIC.
        (XIM_init_device): Register the XIM instantiation callback which
        had been performed by XIM_init_frame() before.
        (XIM_delete_frame): Added a test for the XIM before clearing XIC.
        (XIM_init_frame): Placed an actual code for XIC activation which
        was moved from IMInstantiateCallback.
        (syms_of_input_method_xlib): New function which includes a symbol
        Qxim_xlib that uses in emacs.c.

        * emacs.c: Added a function entry "syms_of_input_method_xlib" for
        input_method_xlib.

        * symsinit.h: Added a declaration of "syms_of_input_method_xlib".

1999-11-05  Robert Pluim  <rpluim@bigfoot.com>

	* emacs.c (shut_down_emacs): Point users to PROBLEMS file

1999-11-16  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay-output.c (compare_runes): Add comments about
	results from profiling.

	* redisplay.h (struct rune): Do not use bitfields for members.
	(struct rune): Add various comments about further optimizations.

1999-11-19  Eric Darve  <darve@crocco.stanford.edu>

	* abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart
	if Vabbrev_start_location is used too.

1999-10-27  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* file-coding.c (detect_eol_type): Return CR when two
	sequential CR are found.
	(determine_real_coding_system): Check EOL type when coding:
	cookie is found and EOL type is not specified.
	Don't assume 8bit char as part of coding: cookie.

1999-10-26  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* file-coding.c (determine_real_coding_system): Check if
	'-*-' exists. End searching for coding: cookie at the end
	of line. Check whether character before coding: is space,
	tab or ';'.

1999-11-07  William M. Perry  <wmperry@aventail.com>

	* gpmevent.c: Completely rewrote GPM mouse support for linux
	  console.  The TTY console and event stream are modified at run
	  time, so this code can now be used as a module.
	  (tty_get_foreign_selection): New function to allow pasting from
	  other virtual consoles.
	  (Fgpm_enable): New lisp-visible function to turn GPM on or off
	  at run time.

	* device-tty.c (tty_asynch_device_change): No longer need to
	  notify GPM code of window/console height/width changes.

	* console-tty.c (tty_init_console): Removed outdated GPM support
	  that was part of the console/event code.

	* event-Xt.c (emacs_Xt_select_console): Ditto

	* event-Xt.c (emacs_Xt_unselect_console): Ditto

	* event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto

	* frame-tty.c (console_type_create_frame_tty): Ditto

1999-11-17  Martin Buchholz  <martin@xemacs.org>

	* nt.c:
	* sysdep.c:
	* s/mingw32.h:
	* s/windowsnt.h:
	- Use Unix 98 types uid_t, gid_t, pid_t.
	- Define them.

1999-11-01  Olivier Galibert  <galibert@pobox.com>

	* alloc.c (reinit_alloc_once_early): Move purify_flag init...
	* emacs.c (main_1): ...here, to get the correct value even with
 	the portable dumper.

1999-11-17  Martin Buchholz  <martin@xemacs.org>

	* lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens.  It's a macro!

	* tooltalk.c (tt_build_string): Remove extra parens.
	* process.c (print_process): Remove extra parens.
	* buffer.h (BI_BUF_PTR_BYTE_POS):
	(BUF_PTR_BYTE_POS):
	(BI_BUF_BYTE_ADDRESS):
	(BI_BUF_BYTE_ADDRESS_BEFORE):
	(valid_memind_p):
	(bytind_to_memind):
	(memind_to_bytind):
	Remove extra parens.  Inline functions are not macros.

	* editfns.c (Fuser_login_name):
	(user_login_name):
	Use proper type uid_t.

1999-11-15  Martin Buchholz  <martin@xemacs.org>

	* syntax.c (complex_vars_of_syntax): Make more readable.
	(define_standard_syntax): New function.

	* syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean.

1999-11-14  Martin Buchholz  <martin@xemacs.org>

	* mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings.

1999-11-12  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2):
	New enum type to make sure no gap in the leading byte definition.

1999-11-11  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5,
	LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C
	to remove a hole in leading byte definition.

1999-11-10  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* mule-charset.c (non_ascii_valid_charptr_p): Check if
	private charset is defined.

1999-11-09  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* mule-ccl.c (ccl_driver): Make sure generated sequences
	are valid when doing `CCL_WRITE_STRING'.
	(ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver.

1999-11-10  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.20 is released

1999-11-04  Martin Buchholz  <martin@xemacs.org>

	* mule-ccl.c (ccl_driver): Warning suppression

1999-11-01  SL Baur  <steve@miho.m17n.org>

	* emacs.c (main_1): Guard call to reinit_vars_of_debug when not
	building a debugged XEmacs.

1999-10-28  Andreas Jaeger  <aj@suse.de>

	* src/emacs.c (main_1): Don't set the malloc hooks if using
	DOUG_LEA_MALLOC.

1999-10-30  Olivier Galibert  <galibert@pobox.com>

	* alloc.c (pdump_dump_rtables): Don't forget to dump the last
 	registered type.
	(pdump): Ditto.

1999-10-25  Olivier Galibert  <galibert@pobox.com>

	* emacs.c (main_1): Call reinit_vars_of_scrollbar_x.

	* symsinit.h: Declare reinit_vars_of_scrollbar_x.

1999-10-25  Martin Buchholz  <martin@xemacs.org>

	* redisplay.h (CLASS_RESET_CHANGED_FLAGS):
	(GLOBAL_RESET_CHANGED_FLAGS):
	(CLASS_REDISPLAY_FLAGS_CHANGEDP):
	(RESET_CHANGED_SET_FLAGS):
	Fix C++ compile errors/warnings.
	These macros were just a tad too clever.

	* process-unix.c (unix_open_network_stream):
	* objects-x.c (allocate_nearest_color):
	* mule-charset.c (vars_of_mule_charset):
	* fileio.c (Ffile_truename):
	* file-coding.c (vars_of_file_coding):
	Fix compile errors/warnings.

	* alloc.c (xstrdup): Use fact that memcpy returns its first arg.
	(allocate_lisp_storage): Simplify.

1999-10-24  Olivier Galibert  <galibert@pobox.com>

	* conslots.h: Add defines with first and last slot names.
	* bufslots.h: Add defines with first and last slot names.

	* buffer.c (common_init_complex_vars_of_buffer): Renamed from
 	reinit_complex_vars_of_buffer
	(reinit_complex_vars_of_buffer): Reset the slots to the dumped
 	value.
	(complex_vars_of_buffer): Dump the slots values.

	* console.c (common_init_complex_vars_of_console): Renamed from
 	reinit_complex_vars_of_console
	(reinit_complex_vars_of_console): Reset the slots to the dumped
 	value.
	(complex_vars_of_console): Dump the slots values.

	* alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
 	pdump_rt_list and move them at the beginning of the file.
	(gc_sweep): Unmark pdumped objects after the sweep phase.
	(pdump_dump_rtables): Change a bare 256 to
 	last_lrecord_type_index_assigned.  Add a separator between the
 	adresses or lrecords and the ones of C structs in the dump file.
	(pdump_load): Cope with the new separator and the renamings.  Stop
 	looking for the hash tables list after it has been found (duh!).

1999-10-24  Robert Bihlmeyer <robbe@orcus.priv.at>

	* sound.c: support HAVE_ESD_SOUND

	* miscplay.c:
	* miscplay.h:
	* linuxplay.c: Move large part of linuxplay to generalized file
	miscplay. Make it platform independent.

	* esd.c: New file

1999-10-24  Adrian Aichner <adrian@xemacs.org>

	* lisp.h (Dynarr_declare): Fix boo-boo.

1999-10-24  Olivier Galibert  <galibert@pobox.com>

	* process-unix.c (allocate_pty): Fix HAVE_GETPT.
	* process.h: Ditto.

1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
	>=0). Handle the cur_elt == 0 case.

1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* unexelf.c: Merge Martin's c++ fixes back in

1999-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>

        * unexelf.c (unexec): Only copy the global offset
        table from memory on sgi machines.

1999-08-13     Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>

        * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
        adding support for an sbss section.  Get IRIX 5.2 to build using
        unexelf.c.

        * m/iris4d.h: Use unexelf.o for unexec.

        * m/iris5d.h: Use unexelf.o for unexec.

1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* unexelf.c: Revert to 21.1 version

1999-08-28  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* window.c (Fwindow_truncated_p): New function.

1999-08-25  Jonathan Marten <jonathan.marten@uk.sun.com>

	* window.c (window_truncation_on): Always return 0 for minibuffer
 	windows, to enable auto scrolling.

1999-10-24 Neal Becker <nbecker@fred.net>
	* process.h: Unix98 PTY support

1999-10-17  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* fileio.c (Ffile_truename): Do proper mule decoding on
	the argument to xrealpath()

1999-08-19  Stephen Tse  <stephent@sfu.ca>

	* process-unix.c (unix_open_network_stream): Add udp network
 	support; rename variable Qtcpip to Qtcp, parameter family to
 	protocol for consistency with Qudp.

	* process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
 	Qtcp, parameter family to protocol for consistency with Qudp.

	* process.c (global_variables): Add a new variable Qudp for udp
 	network support; rename variable Qtcpip to Qtcp for consistency
 	with Qudp.
	(Fopen_network_stream_internal): Rename parameter FAMILY to
 	PROTOCOL for consistency; fix a minor typo and add an explanation
 	in docstring for udp programming.
	(Fopen_multicast_group_internal): Fix a minor typo in docstring.
	(syms_of_process): Add a new variable Qudp for udp network
 	support; rename variable Qtcpip to Qtcp for consistency with Qudp.

	* process.h (extern_variables): Add a new variable Qudp for udp
 	network support; rename variable Qtcpip to Qtcp for consistency
 	with Qudp.

	* procimpl.h: Add a new variable Qudp for udp network support;
 	rename variable Qtcpip to Qtcp for consistency with Qudp.
	(struct process_methods): Rename parameter family to protocol.


1999-10-24  Olivier Galibert  <galibert@pobox.com>

	* alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.

1999-10-23  Olivier Galibert  <galibert@pobox.com>

	* lrecord.h (struct lrecord_header): Removed dumped flags.

	* dynarr.c: Use DUMPEDP instead of dumped flag.

	* lisp.h (DUMPEDP): Added.  Removed dumped flag from dynarr.

	* alloc.c: Removed hash_next linked list pointer.

	* *.c *.h: Removed markobj and mark_object parameters, removed GC_
 	and XGC macros.

1999-10-14  Andy Piper  <andy@xemacs.org>

	* redisplay-x.c (x_output_shadows): fix dodgy maths for border
 	calculations.

	* gutter.c (output_gutter): be more accurate about the area to be
 	cleared since X seems to manage to do the clear after drawing the
 	border.

	* redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
 	redisplay flags as a group.
	(RESET_CHANGED_SET_FLAGS): ditto.
	(CLASS_RESET_CHANGED_FLAGS): ditto.
	(GLOBAL_RESET_CHANGED_FLAGS): ditto.
	(REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
 	as a group.
	(CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
	(GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.

	* redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
 	instead of setting flags individually.
	(redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
	(redisplay_device): ditto.
	(redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
	(redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
	(redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
	(redisplay_without_hooks): ditto.
	(redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.

	* redisplay-x.c (x_output_string): unmap subwindows in the area.
	(x_output_blank): ditto.

	* redisplay-output.c (redisplay_output_display_block): don't unmap
 	subwindows in case layout optimization can avoid it.
	(redisplay_output_subwindow): unmap subwindows in the area.
	(redisplay_output_layout): optimize the output of layouts - only
 	output glyphs that have changed if nothing else of redisplay
 	significance has occurred.
	(redisplay_output_pixmap): change args to
 	redisplay_clear_clipped_region.
	(redisplay_clear_clipped_region): allow the clipped region to be
 	cleared of all subwindows except the one passed in.

	* redisplay-msw.c (mswindows_output_blank): unmap subwindows in
 	the area.
	(mswindows_output_cursor): ditto.
	(mswindows_output_string): ditto.

	* gutter.c (calculate_gutter_size): if the window buffer is nil
 	then don't continue.
	(update_frame_gutters): be more lenient about when we actually
 	update the gutter. Layout optimization makes this
 	non-costly. Cache redisplay flags that we want to temporarily
 	ignore.

	* glyphs.c (Fglyph_animated_timeout_handler): handle image
 	specific timeouts rather than iterating over the instance cache.
	(glyph_animated_timeout_mapper): deleted.
	(add_glyph_animated_timeout): use a weak list to hold onto the
 	image so that it can be GC'ed.
	(disable_glyph_animated_timeout): disable a specific timeout.
	(vars_of_glyphs): disable-animated-pixmaps is a new boolean for
 	controlling whether pixmaps are animated or not.

	* glyphs-msw.c (mswindows_finalize_image_instance): make sure the
	image timeout gets disabled when the image gets freed.

	* glyphs-eimage.c (gif_instantiate): remove meaningless
 	comment. Cope with timeouts specified in the gif extension block.

	* event-msw.c (vars_of_event_mswindows): new variable
 	mswindows-meta-activates-menu.
	(mswindows_wnd_proc): only goto defproc with VK_MENU if the user
 	wants it.

	* glyphs-x.c (x_finalize_image_instance): delete mask first so
 	that we can compare with image.

1999-10-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_key_to_emacs_keysym):
	Recognise keypad keys as different from normal keys.

1999-10-14  Didier Verna  <didier@xemacs.org>

	* glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.

1999-10-10  Olivier Galibert  <galibert@pobox.com>

	* symbols.c (init_symbols_once_early): dump Vquit_flag.

	* symsinit.h: Updated.

	* ntproc.c (vars_of_ntproc): Use defsymbol.

	* emacs.c (main_1): Updated reinit calls.

	* lisp.h: Removed Fpurecopy and pure_put declarations.
	* fns.c: Removed pure_put.

	* eval.c (Fdefvar): pure_put -> Fput
	(Fdefconst): Ditto.
	* frame-x.c (init_x_prop_symbols): Ditto.
	* symbols.c (deferror): Ditto.

	* alloc.c (Fmake_byte_code): Remove Fpurecopy call.
	* buffer.c (vars_of_buffer): Ditto.
	* bytecode.c (Ffetch_bytecode): Ditto.
	(optimize_compiled_function): Ditto.
	* emacs.c (vars_of_emacs): Ditto.
	* emodules.c (vars_of_module): Ditto.
	* eval.c (define_function): Ditto.
	(Fautoload): Ditto.
	* frame.c (vars_of_frame): Ditto.
	* intl.c (Fset_domain): Ditto.
	* lread.c (load_force_doc_string_unwind): Ditto.
	* menubar.c (vars_of_menubar): Ditto.
	* minibuf.c (reinit_complex_vars_of_minibuf): Ditto.

	* debug.c (reinit_vars_of_debug): Extracted.
	* device-x.c (reinit_vars_of_device_x): Ditto.
	* emodules.c (reinit_vars_of_module): Ditto.
	* font-lock.c (reinit_vars_of_font_lock): Ditto.
	* glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
	* glyphs.c (reinit_vars_of_glyphs): Ditto.
	* gui-x.c (reinit_vars_of_gui_x): Ditto.
	* insdel.c (reinit_vars_of_insdel): Ditto.
	* menubar-x.c (reinit_vars_of_menubar_x): Ditto.
	* minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
	* mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
	* print.c (reinit_vars_of_print): Ditto.
	* redisplay.c (reinit_vars_of_redisplay): Ditto.
	* select-x.c (reinit_vars_of_xselect): Ditto.
	* undo.c (reinit_vars_of_undo): Ditto.

1999-10-10  Olivier Galibert  <galibert@pobox.com>

	* symsinit.h: Updated declarations, see other ChangeLog entries.

	* redisplay.c (init_redisplay): Ensure proper reinitialisation.

	* lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.

	* glyphs.c: Add the ii_keyword_entry and related descriptions.
  	Fix the image_instantiator_methods one.

	* file-coding.c: Plonk all data that needs to be dumped in a
 	dynamically allocated structure.

	* extents.c (reinit_vars_of_extents): Extracted from
 	vars_of_extents.

	* event-stream.c (vars_of_event_stream): Don't staticpro when
 	pdump_wire is enough.

	* event-msw.c (reinit_vars_of_event_mswindows): Extracted from
 	vars_of_event_mswindows.

	* event-Xt.c (reinit_vars_of_event_Xt): Extracted from
 	vars_of_event_Xt.

	* eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.

	* emacs.c (main_1): Added some reinit calls.

	* device-x.c (reinit_console_type_create_device_x): Extracted from
 	console_type_create_device_x.

	* console.h: Declare the console_type_entry_dynarr description.

	* console.c: Unstatic the console_type_entry_dynarr description.

	* alloc.c: Removed some dubious comments.  Handle XD_INT_RESET.

1999-10-07  Olivier Galibert  <galibert@pobox.com>

	* symsinit.h: Updated declarations, see other ChangeLog entries.

	* minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
 	complex_vars_of_minibuf.

	* lrecord.h: Removed XD_PARENT_INDIRECT (unused and
 	unimplemented), added XD_LO_LINK.

	* lisp.h (pdump_wire_list): Add declaration.

	* glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
	(INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
	(REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
 	stupid bug fixed.

	* glyphs.c (reinit_image_instantiator_format_create): Remove.

	* glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
 	Remove.

	* glyphs-widget.c
 	(reinit_image_instantiator_format_create_glyphs_widget): Remove.

	* glyphs-msw.c
 	(reinit_image_instantiator_format_create_glyphs_mswindows):
 	Remove.

	* glyphs-eimage.c
 	(reinit_image_instantiator_format_create_glyphs_eimage): Remove.

	* frame.c (Fmake_frame): Don't reset the face cache when using the
 	stream device.

	* file-coding.c: Dumped the_codesys_prop_dynarr and added all
 	relevant descriptions.

	* events.c (reinit_vars_of_events): Extracted from vars_of_events.

	* eval.c: The subr is _not_ a lcrecord.

	* emacs.c (main_1): Call vars_of_specifier early before any
 	specifier creation (e.g in vars_of_glyphs, at least).  Remove the
 	useless reinit_image_instantiator_format*.  Add
 	reinit_vars_of_events and reinit_complex_vars_of_minibuf.  Add
 	calls to lstream_type_create* and process_type_create*.

	* elhash.c: Dump Vall_weak_hash_tables correctly.

	* data.c: Dump Vall_weak_lists correctly.

	* console.c: Fix description.

	* console-stream.c (init_console_stream): Do initializations
 	correctly in the pdump case.

	* chartab.c: Fix description.  Dump Vall_syntax_tables correctly.
	(Fcopy_char_table): Link into Vall_syntax_tables.

	* alloc.c (pdump_wire_list): Added.
	(Fgarbage_collect): Fix loop in stats couting missing the last
 	lrecord type.
	(pdump_register_sub): Added XD_LO_LINK.
	(pdump_dump_data): Ditto.  Fixed XD_LO_RESET_NIL forgttting the
 	counter.
	(pdump_reloc_one): Ditto.
	(pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
 	instead of 256.
	(pdump_dump_wired): Added lists.
	(pdump): Use last_lrecord_type_index_assigned instead of 256.
  	Dump last_lrecord_type_index_assigned value.  Fix minor bugs.

1999-10-07  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_finalize_image_instance): zero out
 	bitmap slices.

	* glyphs-x.c (x_finalize_image_instance): fix FMW problem.

1999-10-06  Andy Piper  <andy@xemacs.org>

	* elhash.c (resize_hash_table): Correct reference to lrecord_header.

1999-10-06  Damon Lipparelli  <lipp@primus.com>

	* elhash.h: forward declare Lisp_Hash_Table.

1999-10-06  Andy Piper  <andy@xemacs.org>

	* glyphs.c (Fset_image_instance_property): mark glyphs as dirty
 	after setting an image instance property.

1999-10-05  Andy Piper  <andy@xemacs.org>

	* gutter.c (update_frame_gutters): output gutters if
 	windows_changed is set. This is the only way of catching changes
 	in selected window which obviously can affect the specifiers.

	* redisplay.c: new state flags, subwindows_state_changed and
 	subwindows_state_changed set.
	(redisplay_window): use them.
	(redisplay_device): ditto.
	(redisplay_without_hooks): ditto.
	(redisplay_frame): ditto. Reset subwindow cachels if
 	subwindows_changed is set.
	(redisplay_window): call mark_glyph_cachels_as_clean after
 	redisplaying.

	* redisplay-x.c (x_output_x_pixmap): select correct
 	pixmap image for display depending on the currently selected
 	slice.

	* redisplay-output.c (compare_runes): check dirtiness when
 	checking RUNE_DGLYPH runes.
	(compare_display_blocks): relax invalidation of display blocks
 	since we can now detect whether individual glyphs have changed or
 	not.

	* redisplay-msw.c (mswindows_output_dibitmap): select correct
 	bitmap image for display depending on the currently selected
 	slice.

	* glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
	(IMAGE_INSTANCE_DIRTYP): new macro.
	(XIMAGE_INSTANCE_DIRTYP): ditto.
	(MARK_IMAGE_INSTANCE_CHANGED): ditto.
	(GLYPH_DIRTYP): ditto.
	(XGLYPH_DIRTYP): ditto.
	(MARK_GLYPH_CHANGED): ditto.
	(GLYPH_CACHEL_DIRTYP): ditto.
	(struct glyph_cachel): add a dirty flag.

	* glyphs.c (update_frame_subwindows): Don't update on
 	glyphs_changed.
	(glyph_animated_timeout_mapper): new function. Map over the
 	instance cache lookinng for animated images to update.
	(Fglyph_animated_timeout_handler): new function. Lisp callback for
 	handling animated image timeout events.
	(disable_glyph_animated_timeout): new function. Add the animated
 	image timeout.
	(disable_glyph_animated_timeout): new function. Remove the
 	animated image timeout.
	(syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
 	friends.
	(vars_of_glyphs): initialize Vglyph_animated_ticker.
	(image_instance_equal): add the currently displayed slice.
	(image_instance_hash): ditto.
	(allocate_glyph): initialize dirty flag.
	(glyph_width): rename glyph -> glyph_or_image.
	(glyph_height_internal): ditto.
	(glyph_dirty_p): new function. Determine whether the image
 	instance in the domain and/or glyph is dirty.
	(set_glyph_dirty_p): set the dirtiness.
	(update_glyph_cachel_data): take dirtiness into account. Pass the
 	image instance we are interested in to glyph_width and friends.
	(get_glyph_cachel_index): make non-static. Always call
 	update_glyph_cachel_data.
	(mark_glyph_cachels_as_not_updated): meaningless formatting
 	change.
	(mark_glyph_cachels_as_clean): new function. Clean dirtiness from
 	glyph cachels.

	* glyphs-x.h (struct x_image_instance_data): change
	pixmap to a list of pixmaps.
	(IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
	(IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
	(XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
	(XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.

	* glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
 	images get deleted properly.
	(init_image_instance_from_x_image): add slices paramater and use
 	it to initialize x_image_instance_data correctly.
	(image_instance_add_x_image): new function. Add new pixmaps to our
 	set of instantiated pixmaps for an image. Used by animated images.
	(x_init_image_instance_from_eimage): add a slices
 	parameter. Instantiate all images from the eimage.
	(x_xpm_instantiate): update use of
 	init_image_instance_from_x_image.
	(init_image_instance_from_xbm_inline): ditto.
	(x_initialize_pixmap_image_instance): add slices paramater and use
 	it to allocate x_image_instance_data correctly.

	* glyphs-msw.h (struct mswindows_image_instance_data): change
 	bitmap to a list of bitmaps.
	(IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
	(IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
	(XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
	(XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.

	* glyphs-msw.c (init_image_instance_from_dibitmap): add slices
 	paramater and use it to initialize mswindows_image_instance_data
 	correctly.
	(image_instance_add_dibitmap): new function. Add new bitmaps to
 	our set of instantiated bitmaps for an image. Used by animated
 	images.
	(mswindows_init_image_instance_from_eimage): add a slices
 	parameter. Instantiate all images from the eimage.
	(mswindows_xpm_instantiate): update use of
 	init_image_instance_from_dibitmap.
	(bmp_instantiate): ditto.
	(init_image_instance_from_xbm_inline): ditto.
	(mswindows_finalize_image_instance): make sure all the bitmap
 	slices get deleted.
	(mswindows_initialize_dibitmap_image_instance): add slices
 	paramater and use it to allocate mswindows_image_instance_data
 	correctly.

	* glyphs-eimage.c (jpeg_instantiate): give extra paramter to
 	init_image_instance_from_eimage.
	(png_instantiate): ditto.
	(tiff_instantiate): ditto.
	(gif_instantiate): allocate bitmaps for all gif slices not just
 	the first one.

	* device.h (struct device): add subwindows_state_changed flag.
	(MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
	(MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.

	* console.h (struct console_methods): add a slice parameter to
 	init_image_instance_from_eimage_method.

	* redisplay.c (create_string_text_block): Allow buffer to be nil
 	without crashing.

1999-09-24  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c: only include gui-x.h if we are building with
 	widgets.

	* gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.

1999-09-28  Lee Kindness <lkindness@csl.co.uk>

	* objects-x.c (allocate_nearest_color): will return 0 (failure)
 	when the colormap is full and the color it has computed to be the
 	'nearest' has been allocated read/write.

1999-10-02  Olivier Galibert  <galibert@pobox.com>

	* search.c (reinit_vars_of_search):   Reinit   the  search   cache
 	correctly.

	* elhash.h:     Make    the    description    visible.     Declare
 	resize_hash_table.

	* elhash.c  (resize_hash_table): Extracted from enlarge_hash_table
 	to generalize the hash table reorganization.
	(reorganize_hash_table): Added.
	(enlarge_hash_table): Uses resize_has_table.

	* casetab.c (complex_vars_of_casetab):  staticpro  the mule mirror
 	tables.

	* alloc.c:   Add  correct  management  of   blocks of  structures.
  	Reorganize hash tables at reload since  the hash values can change
 	with the pointers.

1999-10-01  Olivier Galibert  <galibert@pobox.com>

	* lisp.h: Add pdump_wire declaration

	* elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
	* symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.

	* alloc.c (pdump_wire): Added..
	(pdump_load): Support it.
	(pdump): Support it

	* glyphs-msw.c
 	(reinit_image_instantiator_format_create_glyphs_mswindows): Fix
 	macro calls.

1999-09-28  Olivier Galibert  <galibert@pobox.com>

	* symsinit.h: Added lots of prototypes.

	* symeval.h: Added defsymbol_nodump declaration.

	* symbols.c (find_symbol_value): Lame attempt at making the
 	startup go further.
	(defsymbol_nodump): Added.

	* mule-charset.c: Collapsed global lisp objects arrays in one
 	dumpable structure.

	* lrecord.h: Added some flags.

	* lisp.h: Added dumped flag to dynarrs.  Added dumpstruct
 	declaration.

	* glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
 	staticpro dynamic variables.

	* glyphs.c (reinit_specifier_type_create_image): Added.
	(image_instantiator_format_create): Dump image instantiator format
 	dynarr.
	(reinit_image_instantiator_format_create): Added.

	* emacs.c (main_1): Added reinits calls.

	* dynarr.c: Protect dumped dynarrays from going berzek in free or
 	realloc.

	* specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
 	variables.
	* specifier.c (specifier_type_create): Dump the specifier type
 	dynarr.
	(reinit_specifier_type_create): Added.
	* console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
 	variables.
	* console.c (console_type_create): Dump the console type dynarr.
	(reinit_vars_of_console): Extracted from vars_of_console.
	(reinit_complex_vars_of_console): Extracted from
 	complex_vars_of_console
	* window.c (reinit_vars_of_window): Extracted from vars_of_window.
	* toolbar.c (reinit_specifier_type_create_toolbar): Added.
	* search.c (reinit_vars_of_search): Extracted from vars_of_search.
	* objects.c (reinit_specifier_type_create_objects): Added.
	(reinit_vars_of_objects): Extracted from vars_of_objects.
	* lstream.c (reinit_vars_of_lstream): Extracted from
 	vars_of_lstream.
	* lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
	* gutter.c (reinit_specifier_type_create_gutter): Added.
	* glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
 	Added.
	* glyphs-widget.c
 	(reinit_image_instantiator_format_create_glyphs_widget): Added
	* glyphs-msw.c
 	(reinit_image_instantiator_format_create_glyphs_mswindows): Added.
	* glyphs-eimage.c
 	(reinit_image_instantiator_format_create_glyphs_eimage): Added.
	* event-stream.c (reinit_vars_of_event_stream): Extracted from
 	vars_of_event_stream
	* eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
	* device.c (reinit_vars_of_device): Extracted from vars_of_device.
	* console-x.c (reinit_console_type_create_x): Added.
	* console-tty.c (reinit_console_type_create_tty): Added
	* console-stream.c (reinit_console_type_create_stream): Added.
	(init_console_stream): If PDUMP, always reinitialise basic
 	devices.
	* console-msw.c (reinit_console_type_create_mswindows): Added.
	* buffer.c (reinit_vars_of_buffer): Extracted from
 	init_vars_of_buffer.
	(reinit_complex_vars_of_buffer): Extracted from
 	complex_vars_of_buffer

	* alloc.c: Further with the portable dumping, the revenge.
	(dumpstruct): Added.
	(reinit_alloc_once_early): Extracted from init_alloc_once_early.

	* specifier.c (sizeof_specifier): Correct size computation.
	(make_specifier_internal): Ditto.

1999-09-27  Olivier Galibert  <galibert@pobox.com>

	* alloc.c: Further with the portable dumping.

1999-09-27  Martin Buchholz  <martin@xemacs.org>

	* glyphs-x.c (update_widget_face): Remove bogus cast

	* data.c (sign_extent_lisp):
	* data.c (check_int_range):
	* data.c (Faref):
	* data.c (Faset):
	* data.c (number_char_or_marker_to_int):
	* data.c (number_char_or_marker_to_double):
	* data.c (Frem):
	* data.c (Fmod):
	* extents.c (print_extent_1):
	* fns.c (print_bit_vector):
	* fns.c (Flength):
	* fns.c (Fsafe_length):
	* fns.c (copy_list):
	* fns.c (Fsubseq):
	* fns.c (Felt):
	* fns.c (Flast):
	* fns.c (Fnbutlast):
	* insdel.h:
	* marker.c (print_marker):
	* syntax.h:
	* bytecode.c (bytecode_arithcompare):
	* bytecode.c (bytecode_arithop):
	* lisp.h:
	* lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
	* lisp.h (TRUE_LIST_P):
	* lisp.h (CHECK_TRUE_LIST):
	* lisp.h (bit_vector_length):
	* lisp.h (GCPRO4): Make consistent.
	* lisp.h (NGCPRO4): Make consistent.
	* lisp.h (NNGCPRO4): Make consistent.
	* alloc.c (Fmake_list):
	* alloc.c (Fmake_string):
	Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
	This should make all arithmetic 64-bit clean.

	Use %ld with (long) casts in print statements of types with sizes
	possibly larger than int.

	Following functions had mismatched prototypes!!:
	do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
	char_quoted(), make_string_from_buffer(),
	make_string_from_buffer_no_extents()

	The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
	Extcount are all now EMACS_INT.  I hope to see the day when I can
	create a buffer with more than INT_MAX characters, without having
	XEmacs slow down to a crawl.  I also hope to be able to create a
	list with more than INT_MAX cons cells.

	* redisplay.c (decode_mode_spec):
	The %p and %P specs in the mode line were not correct for buffers
	larger than MAX_INT/100!  The %p spec was off by .5% even for
	small buffers!

1999-09-27  Martin Buchholz  <martin@xemacs.org>

	* cmdloop.c (num_input_keys):
	* print.c (debug_temp):
	* emacs.c (Vinfo_directory):
	Delete unused variables

	* console-x.h (x_interline_space):  Mark as unimplemented.
	* redisplay-x.c (x_interline_space):  Mark as unimplemented.

	* event-Xt.c (pending_timeouts):
	* linuxplay.c (linuxplay_sndbuf):
	* profile.c (QS*):
	* search.c (searchbufs):
	* specifier.c (specifier_type_entry_dynarr):
	* undo.c (pending_boundary):
	* event-stream.c (the_low_level_timeout_blocktype):
	* extents.c (gap_array_marker_freelist):
	* extents.c (extent_list_marker_freelist):
	* print.c (being_printed):
	* print.c (alternate_do_pointer):
	* alloc.c (first_string_chars_block):
	* alloc.c (current_string_chars_block):
	* emacs.c (initial_argv):
	* emacs.c (initial_argc):
	* eval.c (lisp_eval_depth):
	* free-hook.c (pointer_table):
	* free-hook.c (free_queue):
	* free-hook.c (current_free):
	* free-hook.c (strict_free_check):
	* redisplay.c (formatted_string_emchar_dynarr):
	* redisplay.c (formatted_string_display_line):
	* redisplay.c (formatted_string_extent_dynarr):
	* redisplay.c (formatted_string_extent_start_dynarr):
	* redisplay.c (formatted_string_extent_end_dynarr):
	* redisplay.c (updating_line_start_cache):
	* redisplay.c (last_display_warning_tick):
	* redisplay.c (display_warning_tick):
	* redisplay.c (internal_cache):
	* window.c (Vwindow_configuration_free_list):
	Make static.

	* redisplay.c (Vinitial_window_system):  Make CONST.

1999-09-24  Martin Buchholz  <martin@xemacs.org>

	* redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.

	* doprnt.c (get_doprnt_args): Use int, not short, with va_arg.

1999-09-24  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (output_display_line): only clear the borders
 	if we are not displaying the gutter.

1999-09-24  Jan Vroonhof <vroonhof@math.ethz.ch>

	* frame-x.c (x_any_window_to_frame): Let Xt find the widget and
 	then use x_any_widget_or_parent_to_frame().
	(x_find_frame_for_window): remove special cases.

1999-09-24  Andy Piper  <andy@xemacs.org>

	* scrollbar-x.c (x_window_is_scrollbar): deleted.
	* scrollbar-x.h: ditto.

1999-09-23  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (this_marks_a_marked_record): Remove.

	* buffer.c (mark_buffer):
	* buffer.c (nuke_all_buffer_slots):
	* console.c (mark_console):
	* console.c (nuke_all_console_slots):
	* frame.c (mark_frame):
	* frame.c (nuke_all_frame_slots):
	Treat MARKED_SLOT() macros consistently.

	* device.h (error_check_device_type):
	* faces.c (face_getprop):
	* fileio.c (DRIVE_LETTER):
	* filelock.c (lock_file_1):
	* frame-x.c (x_create_widgets):
	* frame.h (error_check_frame_type):
	* keymap.c (print_keymap):
	* keymap.c (Fkey_description):
	* keymap.c (where_is_recursive_mapper):
	* mule-charset.h (CHARSET_LEADING_BYTE):
	* objects-msw.c (mswindows_color_instance_hash):
	* objects.c (color_instance_equal):
	* objects.h (struct color_specifier):
	* objects.h (struct font_specifier):
	* objects.h (struct face_boolean_specifier):
	* opaque.h (get_opaque_ptr):
	* opaque.h (set_opaque_ptr):
	* process-unix.c (set_socket_nonblocking_maybe):
	* specifier.h (SPECIFIER_TYPE_P):
	* symbols.c (store_symval_forwarding):
	* syssignal.h (EMACS_KILLPG):
	* terminfo.c (emacs_tparam):
	* glyphs.c (glyph_putprop):
	* glyphs.c (glyph_remprop):
	* glyphs.c (Fimage_instance_subwindow_id):
	* window.c (mark_window):
	* window.c (mark_window_config):
	* window.c (Fset_window_configuration):
	* window.c (save_window_save):
	* eval.c (Fuser_variable_p):
	* eval.c (Fcommand_execute):
	* eval.c (Feval):
	* eval.c (Ffuncall):
	* lisp.h (XPNTR):
	* lisp.h (INT_OR_FLOATP):
	* lisp.h (GC_INT_OR_FLOATP):
	* lisp.h (XFLOATINT):
	* lisp.h (IS_ANY_SEP):
	* mule-ccl.c (Fccl_execute):
	* mule-ccl.c (Fccl_execute_on_string):
	* redisplay-x.c (x_output_string):
	Remove redundant extra parentheses.

1999-09-22  Martin Buchholz  <martin@xemacs.org>

	* chartab.c (word_boundary_p): Add prototype for warning avoidance.
	* eval.c (PRIMITIVE_FUNCALL): ANSIfy
	* free-hook.c (fun_ptr): ANSIfy
	* getloadavg.c: Remove declaration for errno.
	* gui.c (allocate_gui_item): ANSIfy
	* gui.h (allocate_gui_item): ANSIfy
	* mule-ccl.c (resolve_symbol_ccl_program): Make static
	* realpath.c: Remove K&R support.
	* redisplay-x.c (x_output_display_block): Don't shadow previous local
	* glyphs-widget.c (layout_instantiate):  Don't shadow previous local
	* gutter.c (get_gutter_coords): Make static.
	* lread.c (locate_file_map_suffixes): Make static.
	* ralloc.c (relinquish): ANSIfy
	* redisplay.c:
	* lisp.h:
	Move prototypes from redisplay.c to lisp.h

1999-09-22  Martin Buchholz  <martin@xemacs.org>

	* glyphs-x.c (x_widget_set_property):
	- Remove unnecessary initialization.
	- Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
	* glyphs-x.c (x_widget_instantiate):
	- Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
	* unexelf.c (unexec):
	Add cast for C++ compilability.
	* redisplay.h:
	Fix a typo.
	* ralloc.c (r_alloc_reinit):
	SET_FUN_PTR was broken wrt ANSI aliasing!
	To compensate, use __typeof__ when using gcc, else live with
	possible (but rare) warnings.
	* ralloc.c (init_ralloc):
	Ditto
	* ralloc.c: Use the real dlmalloc prototype for __morecore.
	* lread.c (locate_file_map_suffixes):
	* input-method-xlib.c (XIM_init_frame):
	- Xlib functions should use XPointer, not XtPointer.
	* input-method-xlib.c (XIM_delete_frame):
	- Xlib functions should use XPointer, not XtPointer.
	* input-method-xlib.c (IMDestroyCallback):
	- Simplify.
	- XFRAME (obj) can never be NULL, so don't test for it.
	* gutter.h:
	Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
	* gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
	Run c-backslash-region on macro body.
	* gutter.c (gutter_was_visible):
	Remove redundant parens - this is not a macro.
	* gutter.c (redraw_exposed_gutters):
	Use GUTTER_POS_LOOP.
	* gutter.c (gutter_specs_changed):
	Use GUTTER_POS_LOOP.
	* gutter.c (gutter_geometry_changed_in_window):
	Use GUTTER_POS_LOOP.
	* gutter.c (update_frame_gutters):
	Use GUTTER_POS_LOOP.
	* gutter.c (init_frame_gutters):
	Use GUTTER_POS_LOOP.
	* file-coding.c (determine_real_coding_system):
	Fix C++ compile error.
	* emodules.c (find_make_module):
	Cast return value from xrealloc
	* emacs.c (Fkill_emacs):
	Use __typeof__, when available.
	* emacs.c (voodoo_free_hook):
	Use __typeof__, when available.
	(Unfortunately, the type of __free_hook is glibc-version-dependent)
	* dired.c (user_cache): Use Bufbyte *, not char *
	* dired.c (Fuser_name_all_completions): Ditto.

1999-09-22  Andy Piper  <andy@xemacs.org>

	* redisplay.c (redisplay_frame): reset the gutter display lines
 	when we reset the subwindows.

	* gutter.c (reset_gutter_display_lines): new function.

	* window.c (Flast_nonminibuf_window): new function equivalent to
 	FRAME_LAST_NONMINIBUF_WINDOW ().
	(syms_of_window): declare it.

	* redisplay.c (create_string_text_block): don't add bogus eol
 	markers to gutter display lines.

	* glyphs.c (reset_subwindow_cachels): make sure we unmap
 	subwindows using unmap_subwindow so that expose events get
 	registered correctly.

	* window.c (window_scroll): use Vwindow_pixel_scroll_increment to
 	determine how much to scroll the window.
	(vars_of_window): Vwindow_pixel_scroll_increment is a new
 	variable.

1999-09-20  Robert Pluim  <rpluim@nortelnetworks.com>

	* glyphs-x.c (update_widget_face): Guard fontList declaration for
	non-motif uses.

1999-09-20  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_update_subwindow): update faces.

1999-09-19  Andy Piper  <andy@xemacs.org>

	* glyphs.c (update_frame_subwindows): update if faces have
 	changed.

	* glyphs-x.c (x_widget_instantiate): create the clip widget using
 	lwlib rather than directly.
	(x_finalize_image_instance): delete the clip widget using lwlib.
	(x_update_subwindow): update widget faces.
	(update_widget_face): new function for updating the face
 	properties of a widget.
	(x_widget_set_property): update widget faces.

	* lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
 	manage the clip widgets using lwlib so that we can delete them in
 	a safe manner.

1999-09-16  Martin Buchholz  <martin@xemacs.org>

	* lisp-union.h:
	* lisp-disunion.h:
	Define new, potentially faster INT arithmetic macros
	INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
	* bytecode.c (execute_optimized_function):
	Use new macros.
	Fix metering code
	* bytecode.c (bytecode_negate):
	Optimize for integer case.

1999-08-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* m/mips.h: Support for mips-linux: Add !linux around places
	that are not valid for linux, define TEXT_START, DATA_START,
	DATA_SEG_BITS.

1999-09-16  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_subwindow): clip subwindows
 	that don't completely fit on-screen rather than just unmapping
 	them.

	* glyphs.h: change signature of map_subwindow.

	* glyphs.c (map_subwindow): add display_glyph_area to the
 	signature. make sure the mapped area saved in the subwindow_cachel
 	reflects this.
	(Fforce_subwindow_map): make a no-op. I don't think this does
 	anything useful.

	* glyphs-x.h (struct x_subwindow_data): save the Display rather
 	than the Screen. Add a clipwindow and clipwidget handle.
	(IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
	(IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
	(XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
	(XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.

	* glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
 	as well as the widget itself.
	(x_unmap_subwindow): unmap the clipwindow and clipwidget rather
 	than the widgets and subwindows themselves. move the widget inside
 	the clipwidget.
	(x_subwindow_instantiate): hold onto the Display rather than the
 	Screen. allocate a clipwindow to put the subwindow inside.
	(x_resize_subwindow): use saved Display directly.
	(x_widget_instantiate): allocate a clipwidget of type EmacsManager
 	to put widgets inside.

	* glyphs-widget.c: remove group stuff.

	* glyphs-msw.h (struct mswindows_subwindow_data): new structure to
 	hold the clipwindow.
	(IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
	(XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.

	* glyphs-msw.c: remove group stuff.
	(mswindows_finalize_image_instance): destroy clipwindow as well as
 	the widget itself.
	(mswindows_unmap_subwindow): unmap the clipwindow rather than the
 	widget.
	(mswindows_map_subwindow): ditto. move the widget within the
 	clipwindow.
	(mswindows_subwindow_instantiate): allocate and initialize
 	mswindows_subwindow_data. allocate a clipwindow with the subwindow
 	as a child.
	(mswindows_widget_instantiate): ditto.
	(mswindows_control_wnd_proc): new function that allows us to
 	propagate events from the widget to the main windows control loop.

	* device-msw.c (mswindows_init_device): register new widget clip window
 	class.

	* console.h (struct console_methods): add display_glyph_area to
 	map_window.

	* console-msw.h: declare new window class and wnd proc for
 	widgets.

1999-09-14  Martin Buchholz  <martin@xemacs.org>

	* general.c:
	* eldap.c:
	Move symbols used only by eldap.c into eldap.c as statics.

1999-09-09  Martin Buchholz  <martin@xemacs.org>

	* window.c (syms_of_window):
	* symbols.c (syms_of_symbols):
	* redisplay.c (syms_of_redisplay):
	* print.c (syms_of_print):
	* lisp.h:
	* intl.c (syms_of_intl):
	* general.c (syms_of_general):
	* frame.c (syms_of_frame):
	* fileio.c (syms_of_fileio):
	* file-coding.h:
	* file-coding.c (syms_of_file_coding):
	* extents.c (syms_of_extents):
	* event-stream.c (syms_of_event_stream):
	* event-stream.c (Fnext_event):
	* device.c (syms_of_device):
	* data.c (syms_of_data):
	* casetab.c (syms_of_casetab):
	* casetab.c (check_case_table):
	* callint.c (syms_of_callint):
	* buffer.c (syms_of_buffer):
	Delete unused C symbols:
	Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
	Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
	Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
	Qcommand_execute, Qglyph_invisible,
	Qbuffer_file_coding_system, Qfile_name_handler_alist,
	Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
	Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
	Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
	Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down

	Rename symbols as required by the CHECK_RECORD macro:
	- Qcase_table_p to Qcase_tablep
	- Qcoding_system_p to Qcoding_systemp

	* debug.h:
	* debug.c (syms_of_debug):
	Make debug.c's internal Lisp_Objects static.

	* events.c (vars_of_events):
	* events.c (syms_of_events):
	Use regular old defsymbol instead of KEYSYM + staticpro().

	* select-x.c (CHECK_CUTBUFFER):
	Rewrite in accordance with coding standards.

	* keymap.c (syms_of_keymap):
	Use SPC in the same way as RET, TAB, etc.

1999-08-27  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
	offset twice if HAVE_WMCOMMAND is defined.

1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>

	* redisplay-x.c (x_output_vertical_divider): make sure
 	shadow_thickness is positive.

1999-09-10 Julian Back <jback@rudd.compulink.co.uk>

	* process-nt.c (nt_create_process): fixup to cope with
 	Vprocess_environment.

1999-09-02  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_layout): call output
 	routines with clear_clip false. output layout borders with text
 	correctly.

	* redisplay-msw.c (mswindows_output_blank): call output routines
 	with clear_clip true.
	(mswindows_output_string): ditto.
	(mswindows_output_display_block): ditto.

	* redisplay-x.c (x_output_display_block): call output routines
 	with clear_clip true.

	* redisplay.h: fix output routines for clear_clip parameter.

	* redisplay-output.c (redisplay_output_layout): cope with glyphs
 	in the border.

	* glyphs-widget.c (layout_instantiate): deal with border glyphs.
	(check_valid_glyph_or_instantiator): renamed from
 	check_valid_glyph_or_image.
	(check_valid_border): allow glyphs or their instantiators.
	(check_valid_glyph_or_instantiator_list): renamed from
 	check_valid_glyph_or_image_list,
	(glyph_instantiator_to_glyph): new function. make sure a glyph is
 	a glyph and not an instantiator.
	(substitute_keyword_value): new function. replace a keyword value
 	with a new one.

1999-09-01  Andy Piper  <andy@xemacs.org>

	* glyphs.c (string_set_property): new function to set the data of
 	a string.
	(image_instantiator_format_create): use it.

1999-09-07  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fmapc): Rename back to Fmapc_internal.

1999-07-30  Gleb Arshinov  <gleb@cs.stanford.edu>

	* ntheap.h: CONST (semantically constant) name field of file_data
 	struct

	* unexnt.c (open_output_file): match function definition with
 	function declaration

	* editfns.c: #include "sysfile.h" for getcwd() prototype

	* gif_io.c:  #include "sysfile.h" for close() prototype

1999-09-02  Martin Buchholz  <martin@xemacs.org>

	* elhash.c:
	* elhash.h:
	Change the :type keyword to :weakness, for compatibility with the
	GNU Emacs 20.5 hash table implementation.
	Keep (but don't document) the :type keyword for compatibility.
	Obsolete function hash-table-type
	General cleanup.
	Define function sxhash for compatibility with Common Lisp and GNU Emacs.

1999-09-01  Martin Buchholz  <martin@xemacs.org>

	* floatfns.c (arith_error):
	* floatfns.c (range_error):
	* floatfns.c (range_error2):
	* floatfns.c (domain_error):
	* floatfns.c (domain_error2):
	* lrecord.h (LRECORDP):
	* console-x.h (X_ERROR_OCCURRED):
	* console-x.h (HANDLING_X_ERROR):
	* chartab.c (CATEGORYP):
	* buffer.h (XCHAR_OR_CHAR_INT):
	Remove redundant and confusing parentheses.

	* redisplay-output.c (redisplay_clear_to_window_end):
	Remove redundant initialization.

	* redisplay.h:
	* redisplay-msw.c:
	* redisplay-x.c:
	Move declarations of bevel_modeline() into redisplay.h.

1999-08-30  Olivier Galibert  <galibert@pobox.com>

	* lisp.h: Add staticpro_nodump for undumped staticpro-ing.
	* alloc.c: Add staticpro_nodump for undumped staticpro-ing.  Add
		  alignment information for dumped data.  Enhance
		  descriptions.  Phase out Vterminal_* variables while
		  dumping.
	* lrecord.h: Add chained descriptions and automagically-reset
		  lisp_objects to the description system.

	* console-stream.h: Declare the Vterminal_* variables.

	* buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
		  Vbuffer_local_symbols.
	* console.c: Don't dump Vconsole_list, Vconsole_defaults and
		  Vconsole_local_symbols.
	* eval.c: Don't dump Qunbound_suspended_errors_tag.
	* lread.c: Don't dump Vread_buffer_stream.
	* lstream.c: Don't dump Vlstream_free_list[].
	* search.c: Don't dump last_thing_searched.
	* window.c: Don't dump minibuf_window and
		  Vwindow_configuration_free_list[].

	* faces.c: Add face description.
	* fns.c: Add bit_vector description.
	* glyphs.c: Add image specifier description.
	* objects.c: Add color, face and face boolean specifiers descriptions.
	* opaque.c: Add opaque description.  Don't dump Vopaque_ptr_free_list.
	* rangetab.c: Add range table description.
	* specifier.c: Add specifier and specifier methods description.
	* specifier.h: Add specifier extra description support.

	* symbols.c: Fix symbol_value_buffer_local_description.

	* gdbinit (Lisp): Add opaque_ptr, remove opaque_list.

1999-09-02  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (extent_remprop): Get extent's plist address
 	correctly.

1999-08-31  Andy Piper  <andy@xemacs.org>

	* xmu.h: define Xmu/Converters.h things.

1999-08-31  Andy Piper  <andy@xemacs.org>

	* opaque.c (equal_opaque_ptr): define.
	(hash_opaque_ptr): define.

	* xmu.h: define Xmu/Misc.h things.

1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (determine_real_coding_system): Treat `coding:'
	cookie.

1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (struct decoding_stream): New member `counter'.
	(reset_decoding_stream): Initialize `counter'.
	(decode_coding_ucs4): Use `counter'.
	(decode_coding_utf8): Likewise.

1999-08-31  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_normalize_glyph_area): make sure
 	the clip offset doesn't exceed the height we have available to
 	show.

	* window.h (struct window): add top_yoffset and left_xoffset for
 	pixel scrolling.
	(WINDOW_TEXT_TOP_CLIP): new macro.

	* window.c (window_scroll): add behaviour for pixel-scrolling of
 	tall lines.

	* redisplay.h (struct display_line): add top_clip.
	(DISPLAY_LINE_HEIGHT): adjust for top_clip.
	(DISPLAY_LINE_YPOS): ditto.

	* redisplay.c (position_redisplay_data_type): add
 	start_col_xoffset to prepare for pixel-based h-scrolling.
	(WINDOW_SCROLLED): new macro.
	(next_tab_position): use it.
	(add_glyph_rune): use new hscoll vars.
	(create_text_block): ditto.
	(generate_displayable_area): adjust off-by-one error.
	(regenerate_window): take top_clip into account.
	(regenerate_window_extents_only_changed): ditto.
	(regenerate_window_incrementally): ditto.

	* redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
 	DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
	(x_output_string): ditto.
	(x_output_blank): ditto.
	(x_output_hline): ditto.
	(x_output_eol_cursor): ditto.

	* redisplay-output.c (output_display_line): allow for
 	top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
 	DISPLAY_LINE_YEND macros.
	(redisplay_output_layout): output strings in layouts correctly.
	(redisplay_clear_clipped_region): allow for top_clip.
	(redisplay_calculate_display_boxes): ditto.

	* redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
 	DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
	(mswindows_output_cursor): ditto.
	(mswindows_output_string): ditto.
	(mswindows_redraw_exposed_window): ditto.
	(mswindows_output_display_block): ditto.

	* gutter.c: new specifier type gutter-size.
	(gutter_size_validate): validate gutter-size specifier.
	(Fgutter_size_specifier_p): predicate for gutter-size.
	(Fredisplay_gutter_area): allow the gutter area to be redisplayed
 	under user contol, like Fredisplay_echo_area.
	(syms_of_gutter): add new functions.
	(specifier_type_create_gutter): add new specifier.
	(specifier_vars_of_gutter): change specifier types of *-height to
 	gutter-size.

	* glyphs.c (glyph_width): make work with image instances.

	* console.h (struct console_methods): change api of output_string.

	* glyphs-x.c (x_map_subwindow): move before mapping as reported by
 	Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>

1999-08-30  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
 	for assignment.
	(init_image_instance_from_x_image): ditto.
	(x_xpm_instantiate): ditto.
	(x_colorize_image_instance): ditto. Reported by Richard Cognot
 	<cognot@ensg.u-nancy.fr>

1999-08-29  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_widget_instantiate): move font initialisation so
 	that it doesn't get saved in the user defined args.
	(x_tab_control_instantiate): Set the fg color of the tab's
 	children.
	(x_tab_control_set_property): ditto.

1999-08-27  Damon Lipparelli  <lipp@primus.com>

	* events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
	(XSETTIMEOUT): fixup typo

1999-08-11  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* syntax.c (scan_words): Unified Mule and Non-mule scanning.
	Word boundary search looks back instead of forward so that it
	doesn't peek over the limit.

1999-08-20  Olivier Galibert  <galibert@pobox.com>

	* config.h.in: Add PDUMP define.
	* emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.

	* lrecord.h: Enhance description system.
	* alloc.c: Fix vector and string description.  Add portable
	dumper enumeration fonctions.

	* symbols.c:  Fix symbols description.   Add  symbol_value_forward
	description.
	* eval.c: Add subr description.
	* elhash.c (CLEAR_HENTRY):   Clean  value pointer  too.   Fix hash
	table description.
	(remhash_1): CLEAR_HENTRY evaluates the parameter two times now.

1999-08-20  Olivier Galibert  <galibert@pobox.com>

	* opaque.c: Kill opaque lists, make  Lisp_Opaque_Ptr a lrecord of
	its own.
	* opaque.h: Ditto.

	* eval.c (eval_in_buffer_trapping_errors):
	(run_hook_trapping_errors):
	(safe_run_hook_trapping_errors):
	(call0_trapping_errors):
	(call1_trapping_errors):
	(call2_trapping_errors): OPAQUEP  -> OPAQUE_PTRP.  make_opaque_ptr
	now takes a non-const void *.

1999-08-20  Olivier Galibert  <galibert@pobox.com>

	* opaque.c: Remove make_opaque_long.

	* opaque.h: Remove everything opaque_long related.

	* eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
	opaque_ptr.

	* emacs.c (main_1): Remove make_opaque_long from comment.

1999-08-20  Olivier Galibert  <galibert@pobox.com>

	* event-stream.c (mark_timeout):
	(print_timeout):
	(event_stream_generate_wakeup):
	(event_stream_resignal_wakeup):
	(event_stream_disable_wakeup):
	(event_stream_wakeup_pending_p):
	(vars_of_event_stream): Lisp_Timeout is now a lrecord.

	* events.h (struct Lisp_Timeout): Added.

1999-08-24  Andy Piper  <andy@xemacs.org>

	* console-x.h: declare new pixmap signatures.

1999-08-23  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_update_subwindow): make sure the widget size is
 	maintained after an update.

	* event-Xt.c (emacs_Xt_handle_magic_event): use
 	find_matching_subwindow to check whether the exposure is totally
 	inside a subwindow, if it is then ignore it.

	* glyphs.c (find_matching_subwindow): new function.

	* toolbar-x.c (x_draw_blank_toolbar_button): use new
 	x_output_shadows signature.
	(x_output_toolbar_button): use new x_output_x_pixmap signature.

	* redisplay.h (struct display_box): new structure.
	(struct display_glyph_area): ditto.
  	declare new display_box functions.

	* redisplay-x.c (x_output_pixmap): update for new display
 	box stuff.
	(x_bevel_area): update to allow multiple edge styles and border
 	segments.
	(x_output_display_block): update for new display_box stuff and
 	signatures.
	(x_clear_region): ditto.
	(x_output_x_pixmap): ditto. adjust offsets rather than clip.
	(console_type_create_redisplay_x): declare new console methods.
	(x_output_vertical_divider): update for new bevel_area signature.
	(x_output_shadows): update to allow selective drawing of edges.

	* redisplay-tty.c (tty_output_display_block): do nothing for
 	layouts.

	* redisplay-output.c (redisplay_output_subwindow): convert to use
 	display_box structure, this allows us to put subwindows anywhere
 	with any offset, useful for layout glyphs.
	(redisplay_output_layout): new function. output a layout and its
 	sub-glyphs.
	(redisplay_output_pixmap): new modular function combining generic
 	parts of the X and mswindows versions. convert to use display_box
 	structures.
	(redisplay_clear_clipped_region): new function. clear the area a
 	glyph is going into.
	(redisplay_normalize_glyph_area): new function. calculate the
 	bounds of a display_glyph_area given a display_box.
	(redisplay_normalize_display_box): new function. shrink a
 	display_box to enclose a display_glyph_area.
	(redisplay_display_boxes_in_window_p): check whether the input
 	display_box and display_glyph_area are actually in a window.
	(redisplay_calculate_display_boxes): calculate display boxes based
 	on conventional display_line metrics.
	(bevel_modeline): update for new bevel_area signature.

	* redisplay-msw.c (mswindows_output_blank): update for new
 	display_box stuff.
	(mswindows_output_string): ditto.
	(mswindows_output_dibitmap): ditto.
	(mswindows_output_dibitmap_region): ditto.
	(mswindows_output_pixmap): ditto.
	(mswindows_bevel_area): update to allow multiple edge styles and
 	border segments.
	(mswindows_output_display_block): update for new display_box stuff
 	and signatures.
	(mswindows_clear_region): ditto.
	(console_type_create_redisplay_mswindows): declare new console methods.

	* lisp.h (edge_style): new enum.
	declare display_box and display_glyph_area.

	* gutter.c (output_gutter): update for new bevel_area signature.

	* glyphs.h (image_instance_type): add layout.
	(IMAGE_LAYOUT_MASK): ditto.
	(LAYOUT_IMAGE_INSTANCEP): new macro.
	(CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
	(struct Lisp_Image_Instance): add offsets for layout and the
 	layout type itself. move mask here also.
	(IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
	(IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
	(XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
	(XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.

	* glyphs.c (mark_image_instance): update for layouts.
	(print_image_instance): ditto.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.
	(allocate_image_instance): initialise offsets for layout.
	(decode_image_instance_type): update for layouts.
	(encode_image_instance_type): ditto.
	(Fimage_instance_height): ditto.
	(Fimage_instance_width): ditto.
	(allocate_glyph): ditto.
	(glyph_width): allow image instances as an argument. update for layouts.
	(glyph_height_internal): ditto.
	(syms_of_glyphs): add layout symbols.

	* glyphs-x.h (struct x_image_instance_data): remove mask entry.
	(IMAGE_INSTANCE_X_MASK): update.

	* glyphs-x.c (x_label_instantiate): new function. instantiate a
 	label.
	(image_instantiator_format_create_glyphs_x): initialise new layout
 	glyph type.

	* glyphs-widget.c: new layout type.
	(check_valid_orientation): new keyword checker for layouts.
	(check_valid_justification): ditto.
	(check_valid_border): ditto.
	(check_valid_glyph_or_image_list): ditto.
	(layout_possible_dest_types): new function for layout glyph type.
	(layout_normalize): ditto.
	(layout_instantiate): ditto.
	(syms_of_glyphs_widget): new keywords for layout.
	(image_instantiator_format_create_glyphs_widget): initialise the
 	layout glyph type.

	* glyphs-msw.h (struct mswindows_image_instance_data): remove mask
 	argument.
	(IMAGE_INSTANCE_MSWINDOWS_MASK): update.

	* glyphs-msw.c: declare layout format.
	(image_instantiator_format_create_glyphs_mswindows): initialise it.

	* general.c: new symbols for layouts.

	* console.h (struct console_methods): new console methods for
 	outputting pixmaps and strings.

1999-08-23  Didier Verna  <didier@xemacs.org>

	* sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
 	and `bell_inhibit_time' to `Vbell_inhibit_time'.

1999-08-18  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_subwindow): disable
 	clipping attempt.

1999-08-17  Andy Piper  <andy@xemacs.org>

	* gutter.c (redraw_exposed_gutter): handle degenerate case of no
 	area to expose or no gutter to display.

1999-08-16  Charles G Waldman  <cgw@fnal.gov>

	* sound.c: rename `bell_volume' to `Vbell_volume' and
	`bell_inhibit_time' to `Vbell_inhibit_time'.

1999-08-13  Charles G Waldman  <cgw@fnal.gov>

	* sound.c: (bell-inhibit-time): New variable.
	(ding): Use it.
	(sound-alist): Fix docstring.

1999-08-17  Andy Piper  <andy@xemacs.org>

	* gui-x.c (button_item_to_widget_value): xstrdup name so that
 	deleting it is ok.

1999-08-16 Jeff Miller <jmiller@smart.net>

	* syntax.c (scan_words): make compile.

1999-08-16  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_output_subwindow): try and be more
 	relaxed about clipping possibilities.

	* glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
 	rather than just the widget_value.
	(x_update_subwindow): ditto.
	(x_widget_instantiate): ditto.

	* gutter.c (output_gutter): shrink current display lines if
 	required.

1999-08-15  Andy Piper  <andy@xemacs.org>

	* redisplay.h: declare free_display_lines.

	* redisplay.c (free_display_lines): make non-static.

	* gutter.c (free_frame_gutters): use free_display_lines instead of
 	Dynarr_free.
	(calculate_gutter_size): ditto.

1999-08-12  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* eval.c (run_hook_with_args_in_buffer): GCPRO globals.

1999-08-14  Andy Piper  <andy@xemacs.org>

	* glyphs.c (update_subwindow_cachel): make it less brittle.

1999-08-04  Mike Woolley  <mike@bulsara.com>

	* scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
 	problem in wheelmouse code occurring when the horizontal scrollbar
 	is enabled but not visible.

1999-08-08  Andy Piper  <andyp@beasys.com>

	* toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
	(console_type_create_toolbar_mswindows): use it.

	* glyphs.c (Fset_image_instance_property): fiddly reorganisation.

	* redisplay-output.c (redisplay_output_display_block): unmap
 	subwindows in the block area before outputting the block.

	* event-msw.c (mswindows_wnd_proc): check the update rect before
 	painting and disable expose registration while painting.

	* glyphs.c (register_ignored_expose): check
 	hold_ignored_expose_registration before registering expose events.

	* redisplay.c (redisplay_frame): reset the subwindow cache before
 	displaying the gutter.

	* glyphs-msw.c (mswindows_map_subwindow): move the window before
 	mapping.

	* gutter.c (update_frame_gutters): check for glyphs_changed as if
 	it is the subwindow cache will have been reset.

1999-08-06  Andy Piper  <andyp@beasys.com>

	* gui-x.c (button_item_to_widget_value): cope with strings.

	* glyphs.h: declare global widget functions.
	(IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.

	* glyphs-x.c (x_combo_box_instantiate): do generic initialization
 	here. remove dead code.
	(image_instantiator_format_create_glyphs_x): enable combo boxes
 	for Motif 2.0.

	* glyphs-widget.c (widget_instantiate_1): make non-static.
	(tree_view_instantiate): renamed from combo_box_instantiate.
	(image_instantiator_format_create_glyphs_widget): use new/changed methods.

	* glyphs-msw.c (mswindows_combo_box_instantiate): do generic
 	initialization here.

	* lwlib-Xm.c (xm_update_combo_box): new function.
	(xm_update_one_widget): call it.
	(xm_update_one_value): deal with combo boxes as well as lists.
	(xm_create_combo_box): create a drop-down combo box.

	* toolbar-msw.c (mswindows_output_toolbar): call
 	mswindows_move_toolbar.

1999-08-05  Andy Piper  <andyp@beasys.com>

	* window.c (Fcurrent_pixel_column): new function. use display
 	lines to calculate pixel position of point.
	* window.c (syms_of_window): declare it.

1999-08-05  Andy Piper  <andy@xemacs.org>

	* glyphs.c (check_for_ignored_expose): ignore exposures wholly
 	contained in our ignore list.

	* buffer.c (Frecord_buffer): add call to record-buffer-hook.
	(syms_of_buffer): declare record-buffer-hook.

	* s/mingw32.h: define mousewheel things.

1999-08-04  Mike Woolley <mike@bulsara.com>

	* windowsnt.h (_WIN32_WINNT): enable for win95

	* s/cygwin32.h: define mousewheel things.

	* scrollbar-msw.h: declare mousewheel handler.

	* scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.

1999-08-04  Andy Piper  <andy@xemacs.org>

	* gui-x.c (gui_items_to_widget_values): remove unused variable.
	(gui_items_to_widget_values_1): ditto.

	* gui-x.h: unconditionally define since it is used everywhere.

1999-08-04  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_finalize_image_instance): only free pixels if we
 	have that type of image.

1999-07-30  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_unmap_subwindows): add comparison
 	subwindow to not unmap if required.
	(redisplay_unmap_subwindows_maybe): comparison is Qnil.
	(redisplay_unmap_subwindows_except_us): new function.
	(redisplay_output_subwindow): use it to unmap windows in the area
 	we are displaying into.

	* glyphs.c (update_subwindow_cachel_data): always update as we
 	only ever get called when an update is required.
	(update_subwindow_cachel): new function. sync a subwindow with its
 	cachel.
	(Fresize_subwindow): use it.
	(register_ignored_expose): make sure we set the tail correctly.

1999-07-28  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_clear_bottom_of_window): remove
 	unneeded device.

	* gutter.c (redraw_exposed_gutter): unmap subwindows from the
 	whole gutter.

	* gui.h: declare parse_gui_item_tree_list and
 	parse_gui_item_tree_children.

	* gui.c (parse_gui_item_tree_item): new function for parsing item
 	lists into gui-item trees.
	(parse_gui_item_tree_children): ditto.
	(parse_gui_item_tree_list): ditto.

	* gui-x.h: declare gui_items_to_widget_values.

	* gui-x.c (gui_items_to_widget_values_1): new function for
 	recursively parsing gui-items into widget_values.
	(gui_item_children_to_widget_values): ditto.
	(gui_items_to_widget_values): ditto.
	(sanity_check_lwlib): add widgets macrolets.

	* glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
	(XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
	(IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
	(XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
	(struct expose_ignore): new structure for storing ignorable expose
 	events.

	* glyphs.c (valid_image_instantiator_format_p): fix so that using
 	a console-type as a locale works.
	(mark_image_instance): ITEM->ITEMS.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.
	(struct expose_ignore_blocktype): new blocktype.
	(check_for_ignored_expose): new function. checks frame exposure
 	list for events to ignore.
	(register_ignored_expose): new function. registers an expose event
 	as ignorable.
	(unmap_subwindow): register the expose event as ignorable.
	(vars_of_glyphs): initialise the exposure blocktype.

	* glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
	(x_update_subwindow): modify all widgets using widget_value tree
 	rather than just a single widget value.
	(x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
	make sure widgets don't resize themselves.
	(x_tab_control_instantiate): new function. use lwlib tab functions.
	(x_tab_control_set_property): new function.
	(image_instantiator_format_create_glyphs_x): add tab_control.

	* glyphs-widget.c (widget_text_to_pixel_conversion): calculate
 	slightly more sensibly.
	(initialize_widget_image_instance): ITEM->ITEMS.
	(widget_instantiate_1): parse gui items generically into the ITEMS
 	entry.

	* glyphs-msw.c (mswindows_update_subwindow): replace
 	SINGLE_ITEM->ITEM.
	(mswindows_register_widget_instance): ditto.
	(add_tree_item): modify to use new pre-initialised gui-item
 	structure.
	(add_tab_item): ditto.
	(mswindows_tab_control_instantiate): ditto.
	(mswindows_tab_control_set_property): ditto.
	(image_instantiator_format_create_glyphs_mswindows): predicate
 	existence of widgets on HAVE_WIDGETS.

	* frame.h (struct frame): add subwindow_exposures variables.

	* frame.c (allocate_frame_core): reset subwindow_exposures links.

	* event-msw.c (mswindows_wnd_proc): check for ignored
 	expose events before redrawing.

	* event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
 	expose events before redrawing.

1999-07-30  SL Baur  <steve@xemacs.org>

	* scrollbar-x.c: should include EmacsFrame.h.
	From Jeff Miller <jmiller@smart.net>

1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.19 is released

1999-07-27  Jeff Miller  <jmiller@smart.net>

	* add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around
	  menubar_show_keybindings.

1999-07-23  SL Baur  <steve@miho>

	* mule-charset.c (syms_of_mule_charset): Delete duplicated
	definition of Qccl_program.

	* mule-ccl.h: Make a global declaration of it here.

1999-07-20  Bob Weiner  <weiner@beopen.com>

	* s/sco7.h: Added from rr@sco.com.

1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.

1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (mule_decode): Setup `str->ccl.last_block'.
	(mule_encode): Likewise.

	* mule-ccl.c (Qccl_program): New variable.
	(CCL_SUSPEND): New macro.
	(CCL_INVALID_CMD): New macro.
	(CCL_READ_CHAR): Don't regard as invalid command while processing
	the last block even if input is empty; use
	`CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
	(vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.

	* mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
	(CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
	(CCL_STAT_SUSPEND_BY_DST): Likewise.
	(CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
	(CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.

1999-05-04  Ken'ichi Handa  <handa@gnu.org>

	* mule-ccl.h (struct ccl_program): New member stack_idx.

	* mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
	(ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
	before returing.
	(setup_ccl_program): Initialize ccl->stack_idx to 0.

1998-10-12  Kenichi Handa  <handa@etl.go.jp>

	* mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
	definitions.

1998-08-18  Kenichi Handa  <handa@etl.go.jp>

	* mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
	processing the last block, don't just finish but processes eol
	block of the current CCL program.
	(ccl_driver): Add a new jump label ccl_repeat for the above
	change.

1998-04-15  Kenichi Handa  <handa@etl.go.jp>

	* mule-ccl.c: Typo in comments fixed.
	(Qccl_program_idx): New variables.
	(CCL_ReadMultibyteChar2): Macro name changed from
	CCL_ReadMultibyteCharacter.
	(CCL_WriteMultibyteChar2): Macro name changed from
	CCL_WriteMultibyteChar2.
	(ccl_driver): Adjusted for the above changes.
	(resolve_symbol_ccl_program): New function.
	(Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
	program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
	numbers by resolve_symbol_ccl_program.
	(Fccl_execute_on_string): Likewise.
	(Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
	convert symbols in it to ID numbers by resolve_symbol_ccl_program.

1998-01-21  Kenichi Handa  <handa@etl.go.jp>

	* mule-ccl.h: (struct ccl_program): New member private_state.

	* mule-ccl.c
	(CCL_Call): Fix the comment.
	(CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
	macros for CCL Commands.
	(EXCMD): New macro.
	(ccl_driver): New case label `CCL_Extension'.
	(setup_ccl_program): Initialize the member `private_state' of CCL.

1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>

	* keymap.c (copy_keymap_internal): Inherit the default binding.

1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>

	* event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
	focus the event (XIM_focus_event).
	(emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
	XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
	the interface for future use (XIM_SetGeometry).
	* redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
	location (XIM_SetSpotLocation).
	(x_output_eol_cursor): Ditto.

1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
	Olivier's change to lrecord.h of 1999-04-22

1999-07-20  Robert Pluim  <rpluim@bigfoot.com>

	* gutter.c (redraw_exposed_gutter): Change type of pos from
	enum toolbar_pos -> enum gutter_pos, since former is only defined
	if toolbar support is.

1999-07-19  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_resize_subwindow): cope with widgets as well as
 	subwindows.

	* gutter.c (gutter_validate): new function for the gutter specifier.
	(specifier_type_create_gutter): declare specifier validator.

	* buffer.h (INC_CHARBYTIND): add for no error checking version.

1999-07-18  Andy Piper  <andy@xemacs.org>

	* redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.

	* glyphs-msw.c (console_type_create_glyphs_mswindows): add
 	resize_subwindow.
	(mswindows_resize_subwindow): new function.

	* gutter.c (redraw_exposed_gutter): only reset the
 	current_display_lines if non-zero.
	(Fgutter_pixel_height): new function.
	(Fgutter_pixel_width): new function.

	* event-msw.c (mswindows_wnd_proc): set the mask of the parameter
 	we want to retrive from the tab control.

1999-07-17  Andy Piper  <andy@xemacs.org>

	* window.c (change_window_height): mark gutters changed when we're
 	done.

	* gutter.c (specifier_vars_of_gutter): make defaults more
 	sensible.

	* gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
 	height gutter.
	(DEFAULT_GUTTER_WIDTH): change.
	(DEFAULT_GUTTER_BORDER_WIDTH): change.

1999-07-18  Andy Piper  <andy@xemacs.org>

	* redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.

1999-07-16  Andy Piper  <andy@xemacs.org>

	* frame.c (Fmake_frame): call init_frame_gutters().

	* redisplay.c (add_emchar_rune): use string functions if we are
 	working with a string.
	(position_redisplay_data_type): add string element.

1999-07-15  Andy Piper  <andy@xemacs.org>

	* winslots.h: add real_gutter_size slots to hold the actual gutter
 	size. This is important for autodetected sizes.

	* gutter.c (calculate_gutter_size): calculate size for gutters
 	that have 'autodetect size.

	* redisplay-msw.c (mswindows_output_vertical_divider): adjust
 	extent of divider for gutters.

	* redisplay-x.c (x_output_vertical_divider): adjust extent of
 	divider for gutters.

	* scrollbar.c (update_scrollbar_instance): adjust scrollbar
 	position to take into account the gutters.

	* redisplay.c (generate_modeline): adjust modeline position to
 	take into account the gutters.

1999-07-14  Andy Piper  <andy@xemacs.org>

	* gutter.c (frame_topmost_window): new function.
	(frame_bottommost_window): ditto.
	(frame_leftmost_window): ditto.
	(frame_rightmost_window): ditto.

1999-07-13  Andy Piper  <andy@xemacs.org>

	* redisplay.c (calculate_display_line_boundaries): use text
 	boundaries so that gutters get handled properly.

1999-07-12  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c (x_widget_instantiate): set the font Motif-style if
 	we're using Motif.

	* redisplay-output.c (redisplay_clear_to_window_end): generalised
 	from redisplay-x.c

	* redisplay-x.c (redisplay_clear_to_window_end): moved to
 	redisplay.c

	* redisplay-msw.c (redisplay_clear_to_window_end): deleted.

	* gutter.c: new file - implements gutters. All new functions are
 	semantically equivalent to the toolbar functions.
	(gutter_was_visible): new function.
	(get_gutter_coords): ditto.
	(output_gutter): ditto.
	(clear_gutter): ditto.
	(update_frame_gutters): ditto.
	(redraw_exposed_gutter): ditto.
	(redraw_exposed_gutters): ditto.
	(free_frame_gutters): ditto.
	(init_frame_gutters): ditto.
	(decode_gutter_position): ditto.
	(Fset_default_gutter_position): ditto.
	(Fset_default_gutter_position): ditto.
	(Fdefault_gutter_position): ditto.
	(gutter_after_change): ditto.
	(Fgutter_specifier_p): ditto.
	(recompute_overlaying_specifier): ditto.
	(gutter_specs_changed): ditto.
	(default_gutter_specs_changed): ditto.
	(gutter_geometry_changed_in_window): ditto.
	(default_gutter_size_changed_in_window): ditto.
	(default_gutter_border_width_changed_in_window): ditto.
	(default_gutter_visible_p_changed_in_window): ditto.
	(syms_of_gutter): ditto.
	(vars_of_gutter): ditto.
	(specifier_type_create_gutter): ditto.
	(specifier_vars_of_gutter): ditto.

	* gutter.h: new file. Contains gutter constants and sizing macros
 	similar to those for the toolbar.

	* winslots.h: add gutter variables.

	* window.h: declare window_is_* functions.

	* window.c (window_is_lowest): make non-static.
	(window_is_highest): ditto.
	(window_top_toolbar_height): deleted.
	(window_bottom_toolbar_height): deleted.
	(window_left_toolbar_width): deleted.
	(window_right_toolbar_width): deleted.
	(window_top_gutter_height): add gutter sizing.
	(window_bottom_gutter_height): ditto.
	(window_left_gutter_width): ditto.
	(window_right_gutter_width): ditto.

	* symsinit.h: declarations for gutters vars etc.

	* search.c (bi_find_next_emchar_in_string): new function.

	* scrollbar.c (update_scrollbar_instance): remove reference to
 	window_bottom_toolbar_height which did nothing.

	* redisplay.h (struct display_line): add face indices for
 	overriding defaults in output_display_line.
	Add gutter_changed flags and declarations.

	* redisplay.c (create_string_text_block): new function, similar to
 	create_text_block but for strings. Display tables etc are used
 	from the currently selected window.
	(generate_string_display_line): ditto. Similar to
 	generate_display_line.
	(generate_displayable_area): generate display lines for a given
 	area on a frame. Input is the string, with associated extents, to
 	display.
	(redisplay_frame): add gutter_changed check.
	(redisplay_device): ditto.
	(redisplay_without_hooks): ditto.

	* redisplay-x.c (bevel_modeline): moved to redisplay.c.
	(x_redraw_exposed_area): redraw exposed gutters.
	(x_bevel_area): new redisplay device method.
	(x_type_create_redisplay_mswindows): add bevel_area device method.
	(x_output_display_block): fiddly Martin-style cleanup.
	(x_output_vertical_divider): use bevel_area.

	* redisplay-output.c (output_display_line): check display_lines
 	for face information before using defaults.
	(bevel_modeline): new function, calls bevel_area with appropriate
 	values.

	* redisplay-msw.c (bevel_modeline): moved to redisplay.c.
	(mswindows_redraw_exposed_area): redraw exposed gutters.
	(mswindows_bevel_area): new redisplay device method.
	(console_type_create_redisplay_mswindows): add bevel_area device
 	method.

	* indent.c (string_column_at_point): add column_at_point but for
 	strings.

	* glyphs-x.c (image_instantiator_format_create_glyphs_x): only
 	instantiate widgets that we have a toolkit for.

	* general.c: add Qgutter.

	* frame.h (struct frame): add display lines for gutters and
 	visibility flags.

	* frame.c (set_frame_selected_window): mark gutters changed.

	* emacs.c (main_1): add gutter initialisation.

	* device.h (struct device): add gutter_changed flag and macros to
 	manipulate it.

	* console.h (struct console_methods): new bevel area redisplay
 	method.

	* buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
 	REAL_INC_BYTIND is for buffers.
	(INC_CHARPTR): ditto.

	* Makefile.in.in (objs): add gutter.o

1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.18 is released

1999-07-08  SL Baur  <steve@mule.m17n.org>

	* event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
	XIM_XLIB.
	(emacs_Xt_handle_magic_event): Ditto.
	* redisplay-x.c (x_output_string): Ditto.
	(x_output_eol_cursor): Ditto.

1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>

	*  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
	problem that when XIM is destroyed or missed with some reason,
	xemacs will die.  Now xim=xlib waits the XIM will be ready and
	endures the case of XIM end up.

1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
	SIGINT and SIGCHLD before calling tt_open and restore the
	afterwards. This fixes e.g. the zombie subprocesses on Solaris

1999-07-06  SL Baur  <steve@xemacs.org>

	* s/linux.h: gcc-2.8 changes for powerpc
	From Justin Vallon <vallon@mindspring.com>

1999-07-05  Didier Verna  <didier@xemacs.org>

	* indent.c: new symbol Qcoerce.
	(Fmove_to_column): use it + doc string update.

1999-07-04  Andy Piper  <andy@xemacs.org>

	* console.c: undo earlier Fprovide changes.
	* fns.c: ditto.
	* console.h: ditto.

	* console-tty.c (image_instantiator_format_create_glyphs_tty): new
 	function. validate appropriate image formats for tty.

	* glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
 	initialize consoles parameter.
	(struct image_instantiator_methods): add consoles parameter.
	(IIFORMAT_VALID_CONSOLE): new function. validate the format on the
 	console.
	(INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
 	console.

	* glyphs-msw.c: declare instantiators for later use.
	(image_instantiator_format_create_glyphs_mswindows): validate xpm
 	and friends on the mswindows console.
	* glyphs-x.c: ditto.

	* glyphs.c (valid_image_instantiator_format_p): disallow glyphs
 	that have not been registered on the supplied device.
	(Fvalid_image_instantiator_format_p): add locale argument.
	(instantiate_image_instantiator): valid image instantiator on the
 	device.

	* symsinit.h: add image_instantiator_format_create_glyphs_tty()
 	declaration.

	* emacs.c (main_1): add call to
 	image_instantiator_format_create_glyphs_tty().

1999-06-29  Olivier Galibert  <galibert@pobox.com>

	* lisp.h: Add #include <stddef.h>.

	* sysdep.c: Remove #include <stddef.h>.
	* symbols.c: Remove #include <stddef.h>.
	* sheap.c: Remove #include <stddef.h>.
	* opaque.c: Remove #include <stddef.h>.
	* nt.c: Remove #include <stddef.h>.
	* mule-charset.c: Remove #include <stddef.h>.
	* marker.c: Remove #include <stddef.h>.
	* file-coding.c: Remove #include <stddef.h>.
	* extents.c: Remove #include <stddef.h>.
	* elhash.c: Remove #include <stddef.h>.
	* data.c: Remove #include <stddef.h>.
	* chartab.c: Remove #include <stddef.h>.
	* bytecode.c: Remove #include <stddef.h>.
	* alloc.c: Remove #include <stddef.h>.  Fix vector description

1999-06-30  SL Baur  <steve@miho.m17n.org>

	* editfns.c: Document "%s" format spec.
	Suggested by Bob Weiner <weiner@altrasoft.com>

1999-06-29  Andy Piper  <andy@xemacs.org>

	* event-msw.c: fix definition booboo.

1999-06-28  Andy Piper  <andy@xemacs.org>

	* glyphs-x.c: change tree -> tree-view, progress ->
 	progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
 	combo-box.
	(complex_vars_of_glyphs_x): provide-on-console the implemented
 	widget types.

	* glyphs-msw.c: ditto.
	(complex_vars_of_glyphs_mswindows): ditto.

	* lisp.h: add Fprovide_on_console.

	* fns.c (Ffeaturep): add extra optional console argument.
	(Fprovide_on_console): like Fprovide but provides only on the
 	specified console-type.
	(Frequire): check console-features as well as global features.

	* console.c (Fconsole_features): new function. return features for
 	this console.
	(syms_of_console): add Fconsole_features.

	* console.h (CONMETH_FEATURES): new function for accessing features.
	(CONSOLE_FEATURES): ditto.
	(struct console_methods): add features slot.
	(INITIALIZE_CONSOLE_TYPE): initialize features slot.

1999-06-28  Andy Piper  <andy@xemacs.org>

	* event-Xt.c (handle_focus_event_1): conditionally compile for
 	X11R5.

	* s/cygwin32.h: fix me website address.

	* event-msw.c: add NMHDR for pre b20 cygwin builds.

	* gui-x.c (button_item_to_widget_value): only add callback if it
 	is non-nil.

	* glyphs-x.c: add progress, edit and combo instantiators.
	(x_widget_set_property): new function. uses lwlib to set widget
 	values.
	(x_widget_property): new function. uses lwlib to get widget
 	values.
	(x_button_instantiate): support images in buttons.
	(x_button_property): new function. use lwlib to get the selected
 	state.
	(x_progress_instantiate): new function for instantiating progress
 	gauges.
	(x_progress_set_property): new function. sets the progress gauge
 	position.
	(x_edit_instantiate): new function. for instantiating edit fields.
	(x_combo_instantiate): new function. for instantiating combo
 	boxes.
	(image_instantiator_format_create_glyphs_x): add new device ii
 	formats.

	* glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.

	* console.h (CONSOLE_FEATURES): new features accesor.

	* conslots.h (MARKED_SLOT): add features entry.

1999-06-25  Andy Piper  <andy@xemacs.org>

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
 	gui functions.

	* menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h

	* gui.h (struct Lisp_Gui_Item): add accelerator.

	* gui.c (gui_item_add_keyval_pair): deal with accelerators.
	(gui_item_init): ditto.
	(gui_add_item_keywords_to_plist): ditto.
	(mark_gui_item): ditto.
	(gui_item_hash): ditto.
	(gui_item_accelerator): new function.
	(gui_name_accelerator): new function stolen from gui-x.c

	* gui-x.c (popup_selection_callback): always define. mark
 	subwindows changed after calling a callback.
	(menu_name_to_accelerator): deleted.
	(button_item_to_widget_value): forward gui_item things to gui_item
 	functions.

	* glyphs-x.h (struct x_subwindow_data): add data for widgets. add
 	appropriate accesors.

	* glyphs-x.c: declare new glyph formats.
	(x_finalize_image_instance): unmanage and destroy widgets if they
 	exist.
	(x_unmap_subwindow): handle widgets specially.
	(x_map_subwindow): ditto. offset display of widgets by offset of
 	text widget within container.
	(x_update_subwindow): new function. call lw_modify_all_widgets
 	when we are a widget.
	(x_widget_instantiate): new function for generically creating
 	widgets-glyphs. toolkit specifics forwarded to lwlib.
	(x_button_instantiate): new function for instantiating
 	widgets-glyph buttons.
	(console_type_create_glyphs_x): register update_subwindow.
	(image_instantiator_format_create_glyphs_x): register widget and
 	button types.

	* event-msw.c (mswindows_wnd_proc): remove redundant variable.

	* event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
 	when we get a button press in case we do not have the focus.
	(handle_focus_event_1): set the keyboard focus to the text widget
 	if we do not have it.

	* dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
 	functions.

1999-06-24  SL Baur  <steve@miho.m17n.org>

	* syntax.c (scan_words): Restore non-Mule code.
	(word_constituent_p): Restore.

1999-06-23  Olivier Galibert  <galibert@pobox.com>

	* config.h.in: Add missing #undef *_USER_DEFINED.

1999-06-23  SL Baur  <steve@miho.m17n.org>

	* lisp.h (set_bit_vector_bit): Force promotion to unsigned long
	int (fixes a 64-bit problem).

	* chartab.c (word_boundary_p): Use EQ not == for lisp_object
	comparison.

1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* paths.h.in (PATH_DOC): Made doc-directory configurable.

1999-06-22  Olivier Galibert  <galibert@pobox.com>

	* lrecord.h: Added basic external description system.

	* symbols.c: Added symbol, symbol-value-buffer-local,
 	symbol-value-lisp-magic and symbol-value-varalias description.
	* mule-charset.c: Added charset description.
	* marker.c: Added marker description.
	* keymap.c: Added keymap description.
	* glyphs.c: Added glyph description.
	* floatfns.c: Added float description.
	* file-coding.c: Added coding-system description.
	* extents.c: Added extent description.
	* elhash.c: Added hash-table description.
	* data.c: Added weak-list desciption.
	* chartab.c: Added char-table-entry and char-table description.
	* bytecode.c: Added compiled-function description.
	* alloc.c: Added cons, vector and string description.

1999-06-22  Olivier Galibert  <galibert@pobox.com>

	* lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
	Updated everything to the removal of the "flags" substructure.

	* lisp.h (subr_lheader_initializer): Updated.
	* symeval.h (symbol_value_forward_lheader_initializer): Updated.

1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* syntax.c (word_constituent_p): Deleted.
	(scan_words): Use `WORD_BOUNDARY_P'.

	* chartab.c (Vword_combining_categories): New variable.
	(Vword_separating_categories): Likewise.
	(CATEGORYP): New macro.
	(CATEGORY_SET): Likewise.
	(CATEGORY_MEMBER): Likewise.
	(word_boundary_p): New function.
	(complex_vars_of_chartab): Set up new variable
	`word-combining-categories' and `word-separating-categories'.

1999-06-18  Olivier Galibert  <galibert@pobox.com>

	* lrecord.h: Added description as a placehold in the lrecord
 	implementation structures.  Added the parameter to all constructor
 	defines.

	* alloc.c: Added placeholders.
	* buffer.c: Ditto.
	* bytecode.c: Ditto.
	* chartab.c: Ditto.
	* console.c: Ditto.
	* data.c: Ditto.
	* database.c: Ditto.
	* device.c: Ditto.
	* eldap.c: Ditto.
	* elhash.c: Ditto.
	* eval.c: Ditto.
	* event-stream.c: Ditto.
	* events.c: Ditto.
	* extents.c: Ditto.
	* faces.c: Ditto.
	* file-coding.c: Ditto.
	* floatfns.c: Ditto.
	* fns.c: Ditto.
	* frame.c: Ditto.
	* glyphs.c: Ditto.
	* gui-x.c: Ditto.
	* keymap.c: Ditto.
	* lstream.c: Ditto.
	* marker.c: Ditto.
	* mule-charset.c: Ditto.
	* objects.c: Ditto.
	* opaque.c: Ditto.
	* process.c: Ditto.
	* rangetab.c: Ditto.
	* specifier.c: Ditto.
	* symbols.c: Ditto.
	* toolbar.c: Ditto.
	* tooltalk.c: Ditto.
	* window.c: Ditto.

1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.17 is released

1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>

	* config.h.in (HAVE_LDAP_SET_OPTION): New define
	(HAVE_LDAP_GET_LDERRNO): Ditto
	(HAVE_LDAP_RESULT2ERROR): Ditto
	(HAVE_LDAP_PARSE_RESULT): Ditto
	(HAVE_UMICH_LDAP): Removed
	(HAVE_NS_LDAP): Removed

	* eldap.h (struct Lisp_LDAP): Removed the `livep' member as
	suggested by Olivier Galibert
	(CHECK_LIVE_LDAP): Test on `ld' instead of `livep'

	* eldap.c: Take the removal of `livep' into account in all the
	necessary functions
	(signal_ldap_error): Take two additional parameters
	Added new finer compilation conditions in order to use
	ldap_parse_result or ldap_result2error if available
	(Fldap_open): Conform to this new API
	(Fldap_search_internal): Ditto

1999-06-17  SL Baur  <steve@miho.m17n.org>

	* data.c (struct int_or_double): Should use EMACS_INT not int.

1999-06-16  Norbert Koch  <n.koch@eai-delta.de>

	* redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
	redisplay-x.c

1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
	`CCL_MODE_ENCODING'.

	* file-coding.c (mule_decode): Run `ccl_driver' with
	`CCL_MODE_DECODING'.
	(mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.

	* mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
	(ccl_driver): Add new argument `conversion_mode'.
	(Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
	(Fccl_execute_on_string): Likewise [perhaps it is better to add
	new optional argument].

	* mule-ccl.h (CCL_MODE_ENCODING): New macro.
	(CCL_MODE_DECODING): New macro.
	(ccl_driver): Add new argument `conversion_mode'.

1999-06-15  SL Baur  <steve@miho.m17n.org>

	* mule-charset.c (Fsplit_char): New subr.
	(Fchar_octet): delete.
	(syms_of_mule_charset): DEFSUBR it.

1999-06-13  Andy Piper  <andy@xemacs.org>

	* menubar.h: update declarations involving gui_items.

	* lisp.h: declare Lisp_Gui_Item.

	* glyphs.h (struct Lisp_Image_Instance): update type of gui_item.

	* glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
	(print_image_instance): ditto.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.

	* event-msw.c (mswindows_need_event): assert badly_p status.
	(mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
 	callbacks in tree-view and tab-control widgets.
	(emacs_mswindows_next_event): modify use of
 	mswindows_dequeue_dispatch_event.

	* dialog-msw.c (mswindows_popup_dialog_box): modify for new
 	lisp-based gui_items.

	* glyphs-msw.c (mswindows_update_subwindow): update use of
 	gui_items.
	(mswindows_register_gui_item): new function.
	(mswindows_register_gui_item): fix to use lisp gui_items.
	(mswindows_widget_instantiate): ditto.
	(mswindows_button_instantiate): ditto.
	(add_tree_item): new function to recursively add tree view
 	elements.
	(add_tree_item_list): ditto.
	(mswindows_tree_instantiate): new function. instantiate tree view
 	controls.
	(add_tab_item): new function to add tabs to a tab control.
	(mswindows_tab_instantiate): new function. instantiate tab
 	controls.
	(image_instantiator_format_create_glyphs_mswindows): add tree view
 	and tab controls.
	(vars_of_glyphs_mswindows): ditto.

	* glyphs-widget.c (check_valid_item_list_1): allow nested lists in
 	item lists.
	(check_valid_item_list): ditto.
	(initialize_widget_image_instance): fix to use new lisp gui_item.
	(widget_instantiate_1): allow the setting of default textwidth in
 	characters.
	(widget_instantiate): change to use new widget_instantiate_1
 	signature.
	(combo_instantiate): ditto.
	(static_instantiate): ditto.
	(tab_instantiate): new function for tab widgets.
	(image_instantiator_format_create_glyphs_widget): add tab and tree
 	view widgets.

	* menubar-msw.c (displayable_menu_item): convert to use lisp
 	gui_items.
	(populate_menu_add_item): ditto.
	(populate_or_checksum_helper): ditto.

	* menubar.c (menu_parse_submenu_keywords): convert to use lisp
 	gui_items.
	(Fmenu_find_real_submenu): ditto.

	* gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.

	* gui.c (gui_item_add_keyval_pair): gui_items are now lisp
 	objects, convert functions that use them accordingly.
	(gui_item_init): ditto.
	(gui_item_active_p): ditto.
	(gui_item_selected_p): ditto.
	(gui_item_included_p): ditto.
	(gui_item_display_flush_left): ditto.
	(gui_item_display_flush_right): ditto.
	(mark_gui_item): ditto.
	(allocate_gui_item): new function to create a gui_item.
	(make_gui_item_from_keywords_internal): ditto. create and return a
 	gui_item as well as setting keywords.
	(gui_parse_item_keywords): ditto.
	(gui_parse_item_keywords_no_errors): ditto.
	(gui_add_item_keywords_to_plist): new function, not yet used.
	(gui_item_hash): new function.
	(gui_item_id_hash): use gui_item_hash.
	(gui_item_equal): new function.
	(print_gui_item): new function.

1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.16 is released

1999-06-10  Andy Piper  <andy@xemacs.org>

	* select-msw.c (mswindows_own_selection): only set the clipboard
 	if asked.
	(mswindows_get_foreign_selection): only get the clipboard if
 	asked.
	(mswindows_disown_selection): only disown the clipboard if asked.

1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (coding_system_from_mask): Use `raw-text' instead
	of `no-conversion'.
	(complex_vars_of_mule_coding): Use `raw-text' as the coding-system
	of coding-category `no-conversion'.

1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (Qraw_text): New variable.
	(syms_of_mule_coding): Add new symbol `raw-text'.
	(complex_vars_of_mule_coding): Add new coding-system `raw-text';
	define coding-system `binary' independently; define coding-system
	`no-conversion' as an alias for `raw-text'.

	* file-coding.h (Qraw_text): New variable.

1999-06-08  SL Baur  <steve@xemacs.org>

	* s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.

1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
 	base64.el.
	(base64_decode_1): Signal errors instead of returning -1.

1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>

	* mule-charset.c (Fmake_char): Update docstring.

1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.

1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (base64_decode_1): Allow and ignore any non-base64
 	characters in input.

1999-05-27  Olivier Galibert  <galibert@pobox.com>

	* emacs.c (Fdump_emacs): Add clear_message() lost with the removal
	of report_pure_usage().

1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fstring_lessp): Remove O(n^2) under Mule.

1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.15 is released

1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>

	* frame.c (Fset_mouse_position):
	(Fset_mouse_pixel_position):
	* window.c (Fsplit_window):
	(Fmove_to_window_line):
	Fix crash when invoking functions with an already-deleted window
	argument.

	* indent.c (vertical_motion_1):
	(vmotion_pixels):
	(Fvertical_motion_pixels):
	* window.c (Fwindow_displayed_text_pixel_height):
	Fix error message when invoking functions with an already-deleted
	window argument.

1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* sysdep.c (request_sigio_on_device): Guard against glibc
	2.1's stub streams implementation.

1999-06-03  SL Baur  <steve@xemacs.org>

	* config.h.in:
	* emacs.c:  Implement x.y.z version numbers
	From Jan Vroonhof <vroonhof@math.ethz.ch>

1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* mule-charset.c (complex_vars_of_mule_charset): Registry of
	japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
	"jisc6226.1983".

1999-06-03  SL Baur  <steve@xemacs.org>

	* frame-x.c:
	* device-x.c: rename session option to wmcommand.
	From Oliver Graf <ograf@rhein-zeitung.de>

1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fsubstring): Don't traverse the same region twice with
 	charcount_to_bytecount().

1999-06-03  SL Baur  <steve@steve1.m17n.org>

	* m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
	garbage.

	* s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
	doesn't really work as is implied by the commentary).
	Don't define SYSTEM_MALLOC so the old GNU malloc can be used.

1999-06-02  SL Baur  <steve@steve1.m17n.org>

	* symsinit.h: Declare vars_of_ntproc.
	* emacs.c (main_1): Call it.

	* ntproc.c (syms_of_ntproc): Move variable initializations from
	here ...
	(vars_of_ntproc): ... to here [new function].

	* file-coding.c (syms_of_file_coding): Rename.
	(vars_of_file_coding): Ditto.
	(complex_vars_of_file_coding): Ditto.

	* symsinit.h: Rename *_mule_coding to *_file_coding.

	* emacs.c (main_1): Call them by the proper name.

	* device-msw.c (syms_of_device_mswindows): Move variable
	initializations from here ...
	(vars_of_device_mswindows): ... to here.

	* chartab.c (vars_of_chartab): New function.

	* symsinit.h: New function, vars_of_chartab.

	* emacs.c (main_1): Call it.

	* mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
	(vars_of_mule_canna): ... to here.

	* mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
	initializations out of syms_of_mule_ccl.

	* symsinit.h: Declare new function vars_of_mule_ccl.

	* emacs.c (main_1): Call it.

1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (base64_decode_1): Ignore whitespace.

1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>

	* mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
 	ARG2.

1999-05-21  Andy Piper  <andy@xemacs.org>

	* xselect.c: deleted.

	* symsinit.h: declare select initialisation.

	* select.h: new file. declare commonly used select functions and
 	variables.

	* select.c: new file. generalised from xselect.c.
	(clean_local_selection_data): moved from xselect.c.
	(get_local_selection): ditto. device specific pieces called via a
 	devmeth.
	(handle_selection_clear): ditto.
	(Fown_selection_internal): renamed and generalised from
 	Fx_own_selection_internal. moved from xselect.c.
	(Fdisown_selection_internal): ditto.
	(Fselection_owner_p): ditto.
	(Fselection_exists_p): ditto.
	(Fget_selection_internal): ditto.
	(syms_of_select): new function. QXXXX values moved from xselect.c
	(vars_of_select): new function. selection_converter_alist,
 	lost_selection_hooks moved and renamed from xselect.c

	* select-x.c: renamed from xselect.c.
 	(x_own_selection): converted to device specific. non-X-specific
 	bits moved to select.c.
	(x_get_foreign_selection): ditto.
	(x_disown_selection): ditto.
	(x_selection_exists_p): ditto.
	(console_type_create_select_x): new function.

	* select-msw.c (mswindows_own_selection): new device method to set
 	the clipboard when we 'own' the selection.
	(mswindows_get_foreign_selection): new device method to get the
 	clipboard.
	(mswindows_disown_selection): new device method to delete the
 	selection when we 'disown' it.
	(console_type_create_select_mswindows): new function.

	* emacs.c (main_1): add select to things to initialise.

	* console.h (struct console_methods): new console methods for
 	selection.

	* Makefile.in.in (x_objs): xselect.c renamed to select-x.c

1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (long_to_string): Install a faster version.

1999-05-16  Andy Piper  <andy@xemacs.org>

	* ntproc.c (syms_of_ntproc): default
 	win32-start-process-share-console to t.

1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>

	* config.h.in: Do it here.

	* bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.

1999-05-14  Andy Piper  <andy@xemacs.org>

	* toolbar-msw.c (mswindows_output_toolbar): hash on something
 	hashable.

1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.14 is released

1999-05-12  Andy Piper  <andy@xemacs.org>

	* ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.

1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
	run_temacs_argv array -- fixes random memory corruption crash

1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* window.c (Fcurrent_window_configuration):
	Save minibuffer height;

	* window.c (set_window_configuration): use it.

1999-05-10  Robert Pluim  <rpluim@bigfoot.com>

	* lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version

1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay.c (redisplay_window): Do not put data
	in the line start cache if it is not guaranteed to be correct

1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* window.c (struct window_config): Removed frame
	size members.
	(window_config_equal): No longer compare frame sizes.
	(Fset_window_configuration): Resize old top window to fit in the
	current frame directly, no longer use a fake frame resize.
	(Fcurrent_window_configuration): No longer save frame size

1999-05-11  Andy Piper  <andy@xemacs.org>

	* ntproc.c (sys_spawnve): actually assign argv[0] instead of the
 	first character.

1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>

	* sysdep.c (init_system_name): If gethostname gives a proper
	domain name, don't look further for one.

1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
	(Fintern_soft): Accept a symbol argument.

1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (Fintern): ...do it here.

	* lread.c (read_atom): Don't handle keywords here.

1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.

1999-05-03  Olivier Galibert  <galibert@pobox.com>

	* lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
	is interned in the main obarray.

1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* menubar-x.c (pre_activate_callback): set accelerator field in
	"No menu" entries to nil. Avoid crash in
	command_builder_operate_menu_accelerator

1999-05-03  Olivier Galibert  <galibert@pobox.com>

	* symeval.h (symbol_value_forward_lheader_initializer): Ditto.

	* lisp.h (DEFUN): Fix lrecord header initialisation.

1999-05-02  Andy Piper  <andy@xemacs.org>

	* objects-msw.c (mswindows_font_instance_truename): add a ';'.

	* ntproc.c (sys_kill): cast using MS mandated defines.

1999-04-29  Andy Piper  <andy@xemacs.org>

	* m/intel386.h: remove redundant definitions.

	* s/mingw32.h: new header for mingw32.

	* unexnt.c: (open_input_file): function moved to nt.c.
	(close_file_data): ditto.
	(rva_to_section): function moved to ntproc.

	* symsinit.h: declare syms_of_ntproc();

	* objects-msw.c (mswindows_font_instance_truename): new function.

	* ntproc.c: remove many warnings.
	(_sys_read_ahead): moved from nt.c and made static.
	(rva_to_section): moved from unexnt.c but not defined under
 	mingw32.
	(win32_executable_type): implement what we can for mingw32
 	headers.
	(sys_spawnve): fix bad MULE/GCPRO bug in filename handling.

	* ntheap.h: remove declarations of functions that are now static.

	* ntheap.c: support static heap.

	* nt.h: conditionalise X_OK definition.

	* nt.c: eliminate many warnings and support mingw32.
	(open_input_file): function moved from unexnt.c and made static
	(close_file_data): ditto.
	(_sys_read_ahead): moved to ntproc.c

	* emacs.c: make sure syms_of_ntptroc gets called under windows.

	* console-msw.h: support mingw32.
	* getloadavg.c: ditto.
	* ntplay.c: ditto.
	* sysdep.c: ditto.
	* sysdir.h: ditto.
	* systime.h: ditto.
	* systty.h: ditto.

	* config.h.in: don't turn on DEBUG_ENCAPSULATION by default because
 	some systems don't have all of the encapsulated system calls.

	* callproc.c: warning elimination.
	* dired-msw.c: ditto.
	* process-nt.c: ditto.
	* realpath.c: ditto.

	* Makefile.in.in: tweak : and ; for building under mswindows.

1999-04-26  Michael Harnois  <mharnois@willinet.net>

	* eldap.c (allocate_ldap): Adapt to the new semantics of
	alloc_lcrecord_type().

1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>

	* file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.

1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* Delete mule-coding.c and mule-coding.h because they are not
	used.

1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* objects.c (print_font_instance): Check for NILP(f->device),
	i.e. Vthe_null_font_instance.
	(font_instance_truename_internal): ditto.
	(Ffont_instance_properties): ditto.

1999-04-22  Olivier Galibert  <galibert@pobox.com>

	* lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
	array anymore.

1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>

	* Makefile.in.in (tests): Don't mention tests explicitly -- makes
	it easier to add new ones.

1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (reject_constant_symbols): Ditto.
	(init_symbols_once_early): Ditto.

	* print.c (print_symbol): Don't use ->obarray.

	* symbols.c (Funintern): Ditto.

	* alloc.c (Fmake_symbol): Don't set ->obarray.

	* lisp.h (struct Lisp_Symbol): Removed .obarray field.

	* symbols.c (init_symbols_once_early): Removed
 	Vpure_uninterned_symbol_table.
	(Fintern): Don't store to ->obarray field.

1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>

	* data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
	(eq_with_ebola_notice): Remove abracadabra support.

1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
 	retrieve the distinguished names of entries

1999-03-08  Martin Buchholz  <martin@xemacs.org>

	* lread.c (read_escape): Make hex escapes read only two hex digits.

1999-04-05  Olivier Galibert  <galibert@pobox.com>

	* Makefile.in.in: Remove puresize-adjust.h and recursive makes.
	* make-src-depend: Remove puresize-adjust.h.
	* src-headers: Remove puresize-adjust.h.
	* config.h.in: Kill everything purespace/gung-ho related.

	* dbxrc: Make gung-ho mandatory.
	* gdbinit: Ditto.

	* lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
 	c_readonly and lisp_readonly.  Remove implementation arrays.
	(C_READONLY_RECORD_HEADER_P): Added.
	(LISP_READONLY_RECORD_HEADER_P): Added.
	(SET_C_READONLY_RECORD_HEADER): Added.
	(SET_LISP_READONLY_RECORD_HEADER): Added.

	* lisp.h: Kill everything purespace/non gung-ho related.
	(CHECK_C_WRITEABLE): Added.
	(CHECK_LISP_WRITEABLE): Added.
	(C_READONLY): Added.
	(LISP_READONLY): Added.

	* lisp-union.h: Make gung-ho mandatory.
	* lisp-disunion.h: Ditto.

	* alloc.c: Kill everything purespace/non  gung-ho related. Fix all
 	set_lheader_implementation calls.
	(c_readonly): Added.
	(lisp_readonly): Added.
	(make_string_nocopy): Added.
	(Fpurecopy):  Changed to do  nothing.   Kept the old documentation
 	for reference purposes for the next patches.
	(sweep_lcrecords_1): Don't free C readonly lcrecords.
	(sweep_bit_vectors_1): Don't free C readonly bitvectors.
	(SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.

	* fns.c: Make gung-ho mandatory.
 	(Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
	(Fremprop): Ditto.
	(Ffillarray): Ditto.

	* data.c: Make gung-ho mandatory.
	(pure_write_error): Removed.
	(c_write_error): Added.
	(lisp_write_error): Added.
	(Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
	(Fsetcdr): Ditto.
	(Faset): Ditto.

	* symbols.c: Make gung-ho mandatory.  make_pure_pname ->
 		  make_string or make_string_nocopy.  Fix various
	 	  alloc_lcrecord_type.

	* lread.c: Remove everything purespace related.
	(Flocate_file_clear_hashing): purified -> c_readonly.
	(locate_file): Ditto.
	(read_atom): make_pure_pname -> make_string.

	* emacs.c (Frun_emacs_from_temacs): Remove purespace stats
 		  reporting.
	(Fdump_emacs): Ditto.

	* print.c (print_internal): Make gung-ho mandatory.
	* ntheap.c (sbrk): Ditto.
	* mem-limits.h (EXCEEDS_LISP_PTR): Ditto
	* symeval.h (symbol_value_forward_lheader_initializer): Ditto.

	* sheap.c (more_static_core): Remove puresize-adjust.h from
 		  message.

	* syntax.c (complex_vars_of_syntax): make_pure_string ->
 		  make_string_nocopy.
	* keymap.c (make_keymap): Fix alloc_lcrecord_type.
	(vars_of_keymap): make_pure_string -> make_string_nocopy.
	* events.c (deinitialize_event): Fix set_lheader_implementation.
	(zero_event): Ditto.
	* specifier.c (make_specifier_internal): Fix alloc_lcrecord.
	* menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
	* mule-charset.c (make_charset): Ditto.
	* console.c (allocate_console): Ditto.
	(complex_vars_of_console): Ditto.
	* file-coding.c (allocate_coding_system): Ditto.
	* device.c (allocate_device): Ditto
	* gui-x.c (gcpro_popup_callbacks): Ditto.
	* extents.c (allocate_extent_auxiliary): Ditto.
	(allocate_extent_info): Ditto.
	(copy_extent): Ditto.
	* glyphs.c (allocate_image_instance): Ditto.
	(allocate_glyph): Ditto.
	* frame.c (allocate_frame_core): Ditto.
	* database.c (allocate_database): Ditto.
	* tooltalk.c (make_tooltalk_message): Ditto.
	(make_tooltalk_pattern): Ditto.
	* rangetab.c (Fmake_range_table): Ditto.
	(Fcopy_range_table): Ditto.
	* process.c (make_process_internal): Ditto.
	* chartab.c (Fmake_char_table): Ditto.
	(make_char_table_entry): Ditto.
	(copy_char_table_entry): Ditto.
	(Fcopy_char_table): Ditto.
	* elhash.c (make_general_lisp_hash_table): Ditto.
	(Fcopy_hash_table): Ditto.
	* buffer.c (allocate_buffer): Ditto.
	(complex_vars_of_buffer): Ditto.
	* event-stream.c (allocate_command_builder): Ditto.
	* objects.c (Fmake_color_instance): Ditto.
	(Fmake_font_instance): Ditto.
	(vars_of_objects): Ditto.
	* toolbar.c (update_toolbar_button): Ditto.
	* window.c (allocate_window): Ditto.
	(make_dummy_parent): Ditto.
	(Fcurrent_window_configuration): Fix alloc_lcrecord.
	(vars_of_window): Fix make_lcrecord_list.
	* faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
 		  Flist.
	* lstream.c (Lstream_new): Fix make_lcrecord_list.
	* opaque.c (make_opaque): Fix alloc_lrecord.
	(make_opaque_list): Fix alloc_lrecord_type.

1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>

	* process.c (Fstart_process_internal): Ditto.

	* ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
 	locate_file().

	* glyphs-x.c (x_locate_pixmap_file): Ditto.

	* glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
 	locate_file().

	* emodules.c (vars_of_module): New variable Vmodule_extensions.
	(emodules_load): Use it when calling locate_file().

	* emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
 	locate_file().

	* callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
	(vars_of_callproc): Initialize it.
	(Fcall_process_internal): Use it when calling locate_file().

	* alloc.c (disksave_object_finalization): Use
 	Flocate_file_clear_hashing().

	* lread.c (Flocate_file_clear_hashing): Clear all hasing when
	given `t' as argument.

1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c (locate_file): Expand `pathel' when appropriate.
	(Flocate_file_clear_hashing): Expand path elements.
	(Flocate_file_clear_hashing): Use Vlocate_file_hash_table.

	* dired.c (make_directory_hash_table): Create the hash-table only
	if the directory open is successful.

	* lread.c (decode_mode_1): New function.
	(decode_mode): Ditto.
	(Flocate_file): Use them.
	(Flocate_file): Expand FILENAME.
	(locate_file_map_suffixes): New function.
	(locate_file_in_directory_mapper): New function.
	(locate_file_in_directory): Use locate_file_in_directory_mapper()
 	and locate_file_map_suffixes().
	(locate_file_construct_suffixed_files): Use
 	locate_file_map_suffixes().
	(locate_file_without_hash): Don't GCPRO path.
	(Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
	(syms_of_lread): Remove Qlocate_file_hash_table.
	(locate_file_find_directory_hash_table): Use
 	Vlocate_file_hash_table.
	(locate_file_refresh_hashing): Ditto.

	* lread.c: Renamed read_objects to Vread_objects.

1999-04-16  Olivier Galibert  <galibert@pobox.com>

	* mule-charset.c: Generally resync with fsf 20.3 charset
 	interface.
	(make_charset): Add long and short name.  Use id instead of
 	leading byte.
	(Fmake_charset): Ditto.
	(Fmake_reverse_direction_charset): Ditto.
	(Fcharset_property): Ditto.
	(Fcharset_short_name): Added.
	(Fcharset_long_name): Added.
	(Fcharset_description): Renamed from charset-doc-string.
	(syms_of_mule_charset): Synced symbols.
	(complex_vars_of_mule_charset): Synced charsets.

	* mule-charset.h: Removed leading byte (uses id instead), added
 	short and long name.

1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>

	* file-coding.c (Fdefine_coding_system_alias): New function.

1999-04-08  Olivier Galibert  <galibert@pobox.com>

	* mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
 	and -ascii fonts for displaying ascii instead of iso8859-1 only.

1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (set_extent_glyph_1): Make sure that the glyph we
	attach to the extent is valid.

1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (user_name_completion): Mule-ize.
	(user_name_completion): Use xmalloc/xrealloc/xfree.
	(user_name_completion): Use DO_REALLOC.
	(user_name_completion): Cut down the number of static variables;
 	use a structure.
	(user_name_completion): Username completion is always
 	case-sensitive.

1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (base64_decode_1): Remove COUNTER.
	(base64_decode_1): Accept CRLF in addition to CR.
	(base64_decode_1): Disallow a stray character after final EOF; the
	check was probably a remnant of buggy recode code.

1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (init_provide_once): Provide `base64'.

1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
	(Fbase64_encode_region): If buffer is read-only, bail out early.
	(Fbase64_decode_region): Ditto.
	(Fbase64_encode_region): Initialize SPECCOUNT to pacify the
 	compiler.
	(Fbase64_encode_string): Ditto.
	(Fbase64_decode_region): Ditto.
	(Fbase64_decode_string): Ditto.

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (Fdirectory_files): Remove redundant code.

1999-03-05  Philip Aston  <philipa@parallax.co.uk>

	* frame-msw.c Make raise-frame restore minimised windows.

1999-03-05  Philip Aston  <philipa@parallax.co.uk>

	* device-msw.c: Fix DEFVAR format - Death to phantom quote, and
 	add magic newline.

1999-03-05  Philip Aston  <philipa@parallax.co.uk>

	* toolbar-msw.c Consider captions when deciding whether to rebuild
 	toolbar. This fixes the initial toolbar display for those of us
 	who don't like captions. These patches applied by Andy Piper.

1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.13 is released

1999-03-12  SL Baur  <steve@xemacs.org>

	* file-coding.c: Guard ucs table initialization with ifdef MULE.

1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>

	* file-coding.c:  docstring and comment improvements.
	(decode_ucs4)  flag possible data loss with comment.

1999-03-10  Martin Buchholz  <martin@xemacs.org>

	* file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
	(ucs_to_char):
	(Fucs_char):
	(Fset_char_ucs):
	(decode_coding_ucs4):
	(encode_coding_ucs4):
	(detect_coding_utf8):
	(decode_coding_utf8):
	(encode_utf8):
	(encode_coding_utf8):
	Add CHECK_* macros where needed to avoid crashes.
	#ifdef out all composite character support using
	#ifdef ENABLE_COMPOSITE_CHARS
	Use normal XEmacs coding standards.
	Fix docstrings.
	Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.

1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (make-coding-system): Add description about
	`ucs-4' and `utf-8'.
	(detection_state): Modify to implement ucs-4 and utf-8.
	(detect_coding_type): Likewise.
	(detect_coding_ucs4): New implementation.
	(detect_coding_utf8): New implementation.
	(encode_utf8): fixed.
	(syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
	`utf-8'.

1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
	2022 registry to private area.

1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (encode_utf8): New function.
	(encode_coding_utf8): New implementation.

1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (ucs_to_mule_table): New variable; abolish
	`Vucs_to_mule_table'
	(mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
	(set-ucs-char): New function.
	(ucs_to_char): New function.
	(ucs-char): New function.
	(set-char-ucs): New function.
	(char-ucs): New function.
	(decode_ucs4): Use `ucs_to_char'.
	(complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
	`mule-to-ucs-table'.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* chartab.h: EXFUN `Fget_char_table'.

	* file-coding.c (encode_ucs4): New function.
	(encode_coding_ucs4): Use `encode_ucs4'.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (decode_coding_ucs4): New implementation.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (decode_coding_ucs4): fixed.

	* file-coding.c (Vmule_to_ucs_table): New variable.
	(mule_char_to_ucs4): New function.
	(encode_coding_ucs4): New implementation.
	(complex_vars_of_mule_coding): Define variable
	`mule-to-ucs-table'.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (decode_coding_utf8): New implementation.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (decode_coding_utf8): fixed.

1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (Vucs_to_mule_table): New variable.
	(decode_ucs4): Refer `Vucs_to_mule_table'.
	(complex_vars_of_mule_coding): Define variable
	`ucs-to-mule-table'.

1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* file-coding.c (detect_coding_ucs4): New function (not
	implemented yet).
	(decode_coding_ucs4): New function.
	(encode_coding_ucs4): New function (not implemented yet).
	(detect_coding_utf8): New function (not implemented yet).
	(decode_coding_utf8): New function.
	(encode_coding_utf8): New function (not implemented yet).
	(make-coding-system): New type `ucs4' and `utf8'.
	(coding-system-type): Likewise.
	(detection_state): Add `ucs4' and `utf8'.
	(detect_coding_type): Likewise.
	(mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
	(mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
	(decode_ucs4): New function (very incomplete).
	(syms_of_mule_coding): Add `ucs4' and `utf8'.

	* file-coding.h: Add definitions for UCS-4 and UTF-8.

1999-03-08  Martin Buchholz  <martin@xemacs.org>

	* mule-charset.c:
	(non_ascii_valid_char_p):
	(lookup_composite_char):
	(composite_char_string):
	(make-composite-char):
	(composite-char-string):
	(syms_of_mule_charset):
	(complex_vars_of_mule_charset):
	* mule-charset.h (LEADING_BYTE_COMPOSITE):
	(CHAR_LEADING_BYTE):
	(MAKE_CHAR):
	* file-coding.h (CODING_STATE_COMPOSITE):
	(CODING_STATE_ISO2022_LOCK):
	(iso_esc_flag):
	(LEADING_BYTE_COMPOSITE):
	* file-coding.c (struct iso2022_decoder):
	(decoding_closer):
	(reset_iso2022):
	(parse_iso2022_esc):
	(encode_coding_iso2022):
	#ifdef out all composite character support using
	#ifdef ENABLE_COMPOSITE_CHARS

	* alloc.c: Define lrecord_coding_system only if ! FILE_CODING

1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>

	* fns.c (Fbase64_encode_string): Calculate `allength' in the same
	way of `Fbase64_encode_region'.

1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>

	* fns.c (base64_encode_1): Don't add a newline at the tail.

1999-03-08  Andy Piper  <andy@xemacs.org>

	* menubar-msw.c (displayable_menu_item): correct off-by-one &
	handling.

1999-03-07  Martin Buchholz  <martin@xemacs.org>

	* console-stream.h (struct stream_console):
	* event-unixoid.c (event_stream_unixoid_select_console):
	(event_stream_unixoid_unselect_console):
	* print.c (Fexternal_debugging_output):
	* sysdep.c (reset_one_device):
	* console-stream.c (stream_init_console):
	(stream_delete_console):
	(allocate_stream_console_struct): move into stream_init_console.
	(free_stream_console_struct): move into stream_delete_console.
	Use `fd' only for file descriptors.
	Therefore, rename members of struct stream_console.

	* systime.h: Unix98 says sys/time.h should define select(), but
	some systems define that in unistd.h.  So include that file always.

	* glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
	multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
	(HAS_IIFORMAT_METH_P): Prevent macro from being used in
	non-boolean context
	(MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.

	* EmacsShell.c:
	* balloon_help.c:
	Add #include <stdio.h>.
	Some versions of assert.h use printf() without #include'ing stdio.h

	* free-hook.c (blocktype): Add gcpro5_type to blocktype.
	(log_gcpro): Remove unused variable FRAME.
	(show_gcprohist): Ansify.
	Comment the #endif's

	* frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
	after it's just been XtDestroy'ed!

1999-02-18  Martin Buchholz  <martin@xemacs.org>

	* opaque.c (print_opaque):
	(sizeof_opaque):
	(equal_opaque):
	(hash_opaque):
	Egcs 1.1.1 seems to have a bug where
	INTP (p->size_or_chain)
	will crash XEmacs.  Fix by introducing intermediate variable.

	* sound.c (Fdevice_sound_enabled_p): Fix compiler warning.

	* dired.c (Fdirectory_files):
	(Ffile_name_completion):
	(Ffile_name_all_completions):
	(file_name_completion):
	- Use `directory' instead of `dirname' to sync with FSF Emacs and
	avoid compiler warnings.
	- Fix up docstrings so that C variables match documentation.

1999-03-05  Martin Buchholz  <martin@xemacs.org>

	* alloc.c: (garbage_collect_1): Reorg code to make scope of local
	variables as small as possible to help out the compiler and the maintainer.

	* alloc.c: (disksave_object_finalization):
	Set all the *-load-path variables to
	nil, not just load-path itself.  This gets the locate-file hash
	tables garbage collected BEFORE dump, and has the side effect of
	preventing crashes on OSF4.0+egcs.

	* alloc.c:
	* gdbinit:
	* dbxrc:
	- Clean up gdb/dbx debugging support.
	- Storing an EMACS_INT in an enum is not 64-bit clean!
	- So change the enum to a set of separate variables.
	- Add test cases to help debug the debugging support!
	- Add `lisp-shadows' and `run-temacs' targets for dbx.
	- Both dbx and gdb have been tested now.

1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.12 is released

1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>

	* device-x.c: Support to find best visual without flashing.

1999-03-02  Paul Keusemann  <pkeusem@visi.com>

	* database.c (berkdb_map): Add flags argument to cursor call (must
	  be 0 according to docs) required for Berkeley DB 2.6.4 and later.

1999-03-03  Martin Buchholz  <martin@xemacs.org>

	* hash.c:
	* hash.h:
	General cleanup.  Get free-hook.c working again.
	Remove unused functions:
	make_strings_hash_table, copy_hash, expand_hash_table.

	* malloc.c:
	* mem-limits.h:
	Always use new ANSI-style function prototypes.

	* unexalpha.c (unexec): Never use implicit int.

	* sgiplay.c (close_sound_file):
	(play_sound_file):
	(restore_audio_port):
	(play_sound_data):
	(audio_initialize):
	(play_internal):
	(drain_audio_port):
	(write_mulaw_8_chunk):
	(write_linear_chunk):
	(write_linear_32_chunk):
	(initialize_audio_port):
	(open_audio_port):
	(set_channels):
	(set_output_format):
	(adjust_audio_volume):
	(get_current_volumes):
	(parse_snd_header):
	Always use new ANSI-style function prototypes.
	Use unistd.h for missing prototypes.

	* unexelfsgi.c (round_up):
	(find_section):
	(unexec): Always use new ANSI-style function prototypes

	* elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio

	* console.h (struct console_methods): Always use full ANSI prototypes

	* emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes

1999-03-02  Andy Piper  <andy@xemacs.org>

	* event-stream.c (init_event_stream): make sure native mswindows
 	gets an appropriate event loop.

1999-02-22  Andy Piper  <andy@xemacs.org>

	* frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
	than SW_SHOWNORMAL to prevent resizing of maximised frames.
	(mswindows_raise_frame): remove comment.

1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.11 is released

1999-02-25  SL Baur  <steve@xemacs.org>

	* mule-charset.c (Qleading_byte): New variable to implement
	charset-leading-byte function.
	(Fcharset_property): Use it.
	(syms_of_mule_charset): Initialize it.
	From Kazuyuki IENAGA <ienaga@jsys.co.jp>

1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>

	* glyphs-x.c (cononvert_EImage_to_XImage): correct
	bytes per pixel counting.

1999-02-15  Andy Piper  <andy@xemacs.org>

	* s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
	major lockups.

1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* fns.c (Fbase64_encode_string): New optional argument
	`NO_LINE_BREAK'.

1999-02-16  Martin Buchholz  <martin@xemacs.org>

	* gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
	* alloc.c (xcalloc):  undef xcalloc, just like xmalloc

1999-02-10  Martin Buchholz  <martin@xemacs.org>

	* s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
	* xintrinsic.h:  Redo CONST support for X11 R4 compatibility.

1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.10 is released

1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>

	* process-nt.c (nt_send_process):
 	Fix for process-send-region/process-send-string breaking when size
	of the input > 128 chars: change maximum chunk size for process
	stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
	succeeds.

1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.9 is released

1999-01-30  Martin Buchholz  <martin@xemacs.org>

	* bytecode.c (funcall_compiled_function): Call
	UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.

	* backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
	#ifdef 0 out unused macro.

1999-01-27  Martin Buchholz  <martin@xemacs.org>

	* gui.c (gui_parse_item_keywords_internal): Make static.

1999-01-21  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c: add xface support.
	(mswindows_xface_instantiate): new function copied from glyphs-x.c
	(image_instantiator_format_create_glyphs_mswindows): do device
 	specific initialisation for xfaces.
	(xbm_create_bitmap_from_data): line data must be padded to a word
 	boundary.

	* glyphs-x.c (xface_validate): moved to glyphs.c
	(xface_normalize): ditto.
	(xface_possible_dest_types): ditto.
	(image_instantiator_format_create_glyphs_x): do device specific
 	initialisation for xfaces.

	* glyphs.h: declare xface symbol.

	* glyphs.c: move generic xface support here.
	(xface_validate): moved from glyphs-x.c
	(xface_normalize): ditto.
	(xface_possible_dest_types): ditto.
	(image_instantiator_format_create): xface declarations moved from
 	glyphs-x.c.

1999-01-14  Adrian Aichner  <adrian@xemacs.org>

	* event-stream.c (vars_of_event_stream): Fixing documentation.

1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* glyphs-eimage.c (gif_instantiate): Correct handling of
	interlaced gifs to avoid writing past the end of the eimage
	buffer.

1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>

	* search.c (Freplace_match): Handle single backslash at end of
	NEWTEXT correctly.

1999-01-12  William M. Perry  <wmperry@aventail.com>

	* eldap.c (Fldap_open): slow down interrupts around ldap_open to
	  avoid connection errors.

1999-01-12  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_update_line): backout change that
 	shouldn't have gone ine.

1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
 	collide with ldap.el

1999-01-11  Andy Piper  <andy@xemacs.org>

	* redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
	(DISPLAY_LINE_YPOS): new macro.

	* redisplay-msw.c (mswindows_output_string): use it.
	(mswindows_output_pixmap): ditto.
	(mswindows_output_display_block): ditto.

	* redisplay-output.c (redisplay_output_display_block): new
 	function. just call the devmeth, maybe insert some generic code
 	here later.
	(compare_display_blocks): use it.
	(output_display_line): ditto.
	(redisplay_unmap_subwindows_maybe): new function. potentially
 	unmap subwindows in the given area.

	* glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
 	resetting.

1999-01-10  J. Kean Johnston  <jkj@sco.com>

	* Makefile.in.in: Set value of moduledir
	- Changed DUMPENV to include $(MODULEPATH)
	- Added install rule to install header files for use by ellcc.

	* config.h.in: Added INHIBIT_SITE_MODULES
	- Added HAVE__DLERROR
	- Added HAVE_DLFCN_H
	- Added DLSYM_NEEDS_UNDERSCORE

	* dll.c: Removed.

	* emodules.c: New file containing dynamic loading code.

	* emodules.h: New file.

	* emacs.c: Added variables Vmodule_directory,
	Vsite_module_directory, Vconfigure_module_directory and
	Vconfigure_site_module_directory.
	- (main_1): Added new variable inhibit_site_modules and command
	line options `-no-site-modules' and `--no-site-modules'.
	- (main_1): Call syms_of_module() instead of syms_of_dll().
	- (main_1): Call vars_of_module().
	- (vars_of_emacs): Introduce inhibit-site-modules,
	module-directory, configure-module-directory,
	site-module-directory, and configure-site-module-directory to the
	Lisp reader.

	* lisp.h: Declare load_module and list_modules, as well as
	Vmodule_directory, Vsite_module_directory,
	Vconfigure_module_directory and Vconfigure_site_module_directory.

	* paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
	- Added correct support for site-lisp directory.

	* symbols.c (defsubr): Modified to allow modules to add new subrs
	after dump time.
	- (defsubr_macro): Same.
	- (defvar_magick): Only use purespace when not initialized, so
	that loaded modules can still add symbols.

	* symsinit.h: Add definitions for syms_of_module(),
	vars_of_module().  Removed syms_of_dll().

	* sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
	- (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
	- (dll_error): use _dlerror() if HAVE__DLERROR is defined.

	* s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
	explicitly pass -belf for native cc.

	* s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
	hard-coding the library name.

1999-01-01    <martin@xemacs.org>

	* device-x.c (Fx_set_font_path):
	Add proper cast to permit compilation under C++.

	* buffer.c (directory_is_current_directory):
	Add proper casts to permit compilation under C++.

1998-12-30  Damon Lipparelli  <lipp@primus.com>

	* event-msw.c (mswindows_wnd_proc):
	  Fixed failure when building with MSVC 5.

1998-12-29  Martin Buchholz  <martin@xemacs.org>

	* file-coding.c (decode_coding_iso2022):
	- Prevent crash when decoding ISO7/Lock detected files
	- the usual martin fiddling

1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c:
	  glyphs-msw.c:
	  Fixed failures when building with MSVC.
	* unexnt.c (dump_bss_and_heap):
	  Removed compiler warning by removing bss_data variable.

1998-12-18  Jim Radford  <radford@robby.caltech.edu>

	* device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
 	so that packages that distribute their own fonts can access them.

1998-12-28  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_button_instantiate): cope with buttons
 	that have an image provided.

	* glyphs.h: add Q_image decl.

	* glyphs-widget.c new functionality allowing images in
 	widgets.
 	(check_valid_glyph_or_image): new function to validate
 	glyphs passed in through :image.
	(widget_normalize): new function. convert :image parameters into
 	real glyphs if not already so.
	(widget_instantiate_1): mess with size parameters to be similar to
 	:image if provided.
	(syms_of_glyphs_widget): new keyword :image.
	(image_instantiator_format_create_glyphs_widget): normalize
 	buttons and allow :image.

1998-12-27  Andy Piper  <andy@xemacs.org>

	* frame-msw.c (mswindows_init_frame_1): warning elimination.

	* glyphs-widget.c (check_valid_anything): no-op function.
	(check_valid_callback): check callbacks in gui_items.
	(check_valid_symbol): as it sounds.
	(check_valid_string_or_vector): ditto.
	(widget_validate): modified for descriptors that are vectors or
 	sequences of keyword/val pairs.
	(widget_instantiate_1): ditto.
	(image_instantiator_format_create_glyphs_widget): allow gui_item
 	keywords in the instantiator.

	* gui.c (gui_parse_item_keywords_internal): renamed from
 	gui_parse_item_keywords but taking error behaviour.
	(gui_parse_item_keywords): use it.
	(gui_parse_item_keywords_no_errors): ditto.
	(gui_item_add_keyval_pair): add Error_behavior flag and only
 	signal invalid keywords if required.

	* gui.h: new gui signatures.

	* menubar.c (menu_parse_submenu_keywords): use new
 	gui_item_add_keyval_pair signature.

	* s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.

1998-12-28  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.8 is released.

1998-12-28  Martin Buchholz  <martin@xemacs.org>

	* editfns.c (get_home_directory):
	(user-home-directory): Simplify.


	* callproc.c (child_setup):
	- Environment variables were being passed to inferior processes
	  using internal encoding.
	- Convert to external encoding.
	- Rename local var `tem' to better name `tail'.
	- Use Flength instead of `manual' calculation.

	* buffer.c (kill-buffer):
	(record-buffer):
	(set-buffer-major-mode):
	(current-buffer):
	- Fix up parameter names to correspond to docstrings.
	- Don't use `bufname' when a buffer will do as well.
	- Remove one unneeded GCPRO.

	* buffer.h (initial_directory):
	* buffer.c (init_initial_directory):
	- use correct conversions between internal and external format.
	(directory_is_current_directory): new function
	(init_buffer): convert initial_directory to internal format.
	- solve crashes when current working directory is non-ASCII.

	* alloc.c (xmalloc):
	(xcalloc):
	(xrealloc):
	- remove stupid casts, since XEmacs requires an ANSI C system.
	(lrecord_type_index): replace abort() with more readable assert().

	(reset_lcrecord_stats): remove.
	(sweep_lcrecords_1):
	- replace call to reset_lcrecord_stats() with call to xzero().

1998-12-27  Martin Buchholz  <martin@xemacs.org>

	* process-unix.c (unix_create_process):
	- Fix crash invoking program with non-ASCII name.
	  Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
	- Remove unused variable `env'.
	- Rename `temp' to better name `save_errno'.
	- Reorganize code for clarity.  But still too chicken to nuke the
	  BSD 4.2 support.

1998-12-24  Martin Buchholz <martin@xemacs.org>

	* XEmacs 21.2.7 is released.

1998-12-23  Martin Buchholz  <martin@xemacs.org>

	* glyphs.c (decode_device_ii_format):
	- Fix indentation.
	- Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.

	* glyphs-x.c (x_subwindow_instantiate):
	- A image instance mask was being assigned to a image instance type!
	- X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.

	* glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
	Fix indentation.
	* glyphs-x.h: Make indentation consistent.

	* emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.

	* glyphs-widget.c (check_valid_glyph): Warning suppression.
	- Make it static
	- #ifdef it out, since it's not actually used yet (FIX THIS!)

	* glyphs-widget.c:
	* glyphs.h:
	Move declarations of decode_device_ii_format and
	decode_image_instantiator_format into glyphs.h where they belong.

1998-12-22  Martin Buchholz  <martin@xemacs.org>

	* frame-x.c (x_delete_frame): Revert part of my changes at the
	suggestion of Gunnar Evermann - unfortunately no one really
	understands this code.

	* callproc.c (init_callproc): code cleanup.

	* free-hook.c (malloc):
	(check_malloc):
	(__free_hook):
	(__malloc_hook):
	(__realloc_hook):
	(block_input_malloc):
	(block_input_realloc):
	* device-x.c (x_delete_device):
	* emacs.c (voodoo_free_hook):
	* events.c (print_event):
	(CHECK_EVENT_TYPE):
	(CHECK_EVENT_TYPE2):
	(CHECK_EVENT_TYPE3):
	Use proper prototypes.
	Make C_E_T macros a little faster.
	Pedantic fiddly little changes.  You really don't care.

1998-12-22  Andy Piper  <andy@xemacs.org>

	* redisplay-output.c (redisplay_clear_region): make sure that
 	fg/bg colors get set even when we are in the border area.

1998-12-13  Martin Buchholz  <martin@xemacs.org>

	* console-msw.c: Function definitions follow coding standards
	- This prevents e.g. find-tag on Lisp_Event finding DEVENT

1998-12-11  Martin Buchholz  <martin@xemacs.org>

	* events.h (struct timeout_data):
	* event-tty.c (tty_timeout_to_emacs_event):
	* event-msw.c (mswindows_wm_timer_callback):
	* event-Xt.c (Xt_timeout_to_emacs_event):
	* event-msw.c (mswindows_cancel_dispatch_event):
	Make sure Lisp_Objects inside events are initialized to Qnil, not
	Qnull_pointer, which is now illegal.

1998-12-10  Martin Buchholz  <martin@xemacs.org>

	* lisp.h: Fix up prototypes to match alloc.c

1998-12-08  Martin Buchholz  <martin@xemacs.org>

	* windowsnt.h: Remove `support' for using index and rindex

	* filelock.c (current_lock_owner):
	- Change uses of index -> strchr, rindex -> strrchr

1998-12-07  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c (set_descriptor_non_blocking):
	Since O_NONBLOCK is now always #defined, make use of fcntl
	conditional on F_SETFL being defined.

	* console-msw.c (DHEADgER):
	(DOPAQUE_DATA):
	(DEVENT):
	(DCONS):
	(DCONSCDR):
	(DSTRING):
	(DVECTOR):
	(DSYMBOL):
	(DSYMNAME):
	- max_align_t should not be visible to the user of the
	  XOPAQUE_DATA macro.
	- use Bufbyte instead of char
	- parens around (FOOP (obj)) are always redundant.
	  If they were necessary, we should fix the macro instead.
	- Always use string_data(foo) instead of foo->data.


1998-12-06  Martin Buchholz  <martin@xemacs.org>

	* frame-msw.c (mswindows_init_frame_1):
	- use make_lisp_hash_table, not Fmake_hash_table
	- include elhash.h

	* lisp.h:
	* alloc.c (make_vector): remove travesty
	(Fmake_vector):
	(make_pure_vector):
	(pure_cons):
	(make_bit_vector_internal):
	(make_bit_vector):
	(make_bit_vector_from_byte_vector):
	(Fmake_bit_vector):
	- make vector_equal a little faster.
	- Don't use variable name `new'.
	- Use size_t instead of EMACS_INT.
	- usual Martin-style pointless bit-twiddling.

	* fns.c (mapcar1):
	(Fmapconcat):
	(Fmapcar):
	(Fmapvector):
	Make mapcar faster.  In particular, make
	  (mapc #'identity long-string)
	MUCH faster under Mule.
	* tests/automated/lisp-tests.el: Test 'em!

	* bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
	bytecode.

1998-12-01  Martin Buchholz  <martin@xemacs.org>

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
	Qnil, not NULL, to initialize `null' Lisp_Objects.

1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>

	* specifier.c (display_table_validate): Update.

	* redisplay.c (create_text_block): Use them.

	* glyphs.c (display_table_entry): New function.
	(get_display_tables): Ditto.

1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (toplevel): Mention that eldap.c compiles with
	OpenLDAP libs
	(Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
	(Fldap_search_internal): Ditto

1998-12-11  Martin Buchholz  <martin@xemacs.org>

	* event-msw.c (mswindows_cancel_dispatch_event):
	Gratuitous code prettification


1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fnconc): Fix use of wrong_type_argument().

	* floatfns.c (Ffloat): Fix docstring.
	(Ffloat): Fix use of wrong_type_argument().
	(Fabs): Ditto.
	(extract_float): Ditto.
	(Fceiling): Ditto.
	(Fround): Ditto.
	(Ftruncate): Ditto.

1998-12-06  Martin Buchholz  <martin@xemacs.org>

	* frame-msw.c (mswindows_init_frame_1):
	- use make_lisp_hash_table, not Fmake_hash_table
	- include elhash.h

	* lisp.h:
	* alloc.c (make_vector): remove travesty
	(Fmake_vector):
	(make_pure_vector):
	(pure_cons):
	(make_bit_vector_internal):
	(make_bit_vector):
	(make_bit_vector_from_byte_vector):
	(Fmake_bit_vector):
	- make vector_equal a little faster.
	- Don't use variable name `new'.
	- Use size_t instead of EMACS_INT.
	- usual Martin-style pointless bit-twiddling.

	* fns.c (mapcar1):
	(Fmapconcat):
	(Fmapcar):
	(Fmapvector):
	Make mapcar faster.  In particular, make
	  (mapc #'identity long-string)
	MUCH faster under Mule.
	* tests/automated/lisp-tests.el: Test 'em!

	* bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
	bytecode.

1998-12-02  Didier Verna  <didier@xemacs.org>

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
	accelerator field to nil for labels.

1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* menubar-msw.c (displayable_menu_item):
	  Escape occurrences of '&' and support occurrences of the
	 '%_' accelerator indicator in menus.

1998-11-26  Didier Verna  <didier@xemacs.org>

	* dired.c (Fdirectory_files): use make_string instead of
	make_ext_string on the filename. The conversion external->internal
	format is already done in sys_readdir.

1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* glyphs.c (normalize_image_instantiator): GCPRO instantiator

1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c
	  (Belatedly) added Kirill to list of file's authors.
	  emacs_mswindows_quit_p: Don't process WM_PAINT messages in
	  quit checking. WM_PAINT messages cause redisplay, but
	  windows' states are not necessarily stable when this function
	  gets called.

1998-12-17  Andy Piper  <andy@xemacs.org>

	* strftime.c (zone_name): CONSTify.

1998-12-15  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_combo_instantiate): ditto.
	(mswindows_widget_property): return Qunbound when no property available.
	(mswindows_button_property): ditto.
	(mswindows_combo_property): ditto.
	(mswindows_widget_set_property): ditto.

	* glyphs-widget.c (check_valid_item_list): use properties.

	* glyphs.h (struct Lisp_Image_Instance): we have properties now.

	* glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
	(Fimage_instance_property): ditto.
	* glyphs-widget.c (widget_property): ditto.
	(widget_set_property): ditto.

	* frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
 	as setting the class cursor so that GC actually changes the
 	cursor.

	* config.h: don't undef MAIL_USE_POP.

1998-12-13  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c
 	(image_instantiator_format_create_glyphs_mswindows): line ->
 	label.
	(mswindows_label_instantiate): ditto. Play with window flags.
	(image_instantiator_format_create_glyphs_mswindows): ditto.
	(vars_of_glyphs_mswindows): provide Qlabel as we support it now.

	* glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
 	cope with lines and labels.
	(static_instantiate): use widget_instantiate_1.
	line -> label.
	(image_instantiator_format_create_glyphs_widget): ditto.

1998-12-10  Andy Piper  <andy@xemacs.org>

	* Makefile.in.in (objs): add gui.o

1998-12-10  Andy Piper  <andy@xemacs.org>

	* gui.c: adjust defines of HAVE_POPUPS so that we can build with
 	no window system.

1998-12-09  Andy Piper  <andy@xemacs.org>

	* glyphs.c (finalize_image_instance): mark glyphs changed when an
 	image instance is removed so that the subwindow cache gets reset
 	and thus destroyed images get GC'd.

1998-12-08  Andy Piper  <andy@xemacs.org>

	* gui-msw.c (mswindows_handle_gui_wm_command): call
 	MARK_SUBWINDOWS_CHANGED.

	* glyphs-msw.c (mswindows_finalize_image_instance): make sure
 	subwindows really get deleted.

	* redisplay.c: new variable subwindows_changed[_set].
	(redisplay_window): use it.
	(redisplay_frame): ditto.
	(redisplay_device): ditto.
	(redisplay_without_hooks): ditto.

	* device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
 	subwindows redisplay as per glyphs equivalent.
	* redisplay.h: ditto.
	(MARK_SUBWINDOWS_CHANGED): ditto.
	(RESET_CHANGED_SET_FLAGS): ditto.
	* frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.

1998-12-07  Andy Piper  <andy@xemacs.org>

	* frame.c (Fmake_frame): reset subwindow cachels on non-stream
 	frames.

	* redisplay.c (redisplay_frame): invalidate subwindow cachels.

	* event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
 	messages and paint widget glyphs as appropriate with their face fg
 	& bg.

1998-12-06  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
 	here rather than in glyphs-widget - do this because we only want
 	to provide what is really available.

	* glyphs.c (Fimage_instance_property): new function to get the
 	properties of image instances. wires through to console specific
 	methods and then to widget specific methods.
	(Fset_image_instance_property): ditto but for setting widget properties.
	(check_valid_face): make extern so that it can be used elsewhere.

	* glyphs-widget.c (widget_property): new function. gets the
 	properties of widgets in general and wires the function through to
 	widget specific ones.
	(widget_set_property): ditto but for setting widget properties.

	* glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
 	add items to the list. Play with window styles a bit to get the
 	desired effect.
	(mswindows_widget_property): break out specific widget properties.
	(mswindows_button_property): new function. gets the checked state
 	of a button.
	(mswindows_combo_property): new function. gets the current
 	selection in the combo box.
	(mswindows_widget_set_property): new function. sets specific
 	properties of specific widgets.

	* glyphs-widget.c (check_valid_item_list): new function. check
 	that items for a combo-box are just a list of strings.
	(combo_validate): new function. check there is an item list.
	(widget_instantiate_1): new function. renamed from
 	widget_instantiate so that we can do slightly different things for
 	other widgets.
	(widget_instantiate): call widget_instantiate_1.
	(combo_instantiate): new function to instantiate combo boxes,
 	defaults height to the pixel height of the number of items in the
 	box.
	(syms_of_glyphs_widget): move widget keywords here.
	(image_instantiator_format_create_glyphs_widget): use new combo
 	functions.

1998-12-04  Andy Piper  <andy@xemacs.org>

	* event-msw.c (mswindows_wnd_proc): mule-ize.

	* glyphs.c (pixmap_to_lisp_data): mule-ize.

	* glyphs-msw.c (extract_xpm_color_names): mule-ize.
	(resource_name_to_resource): ditto.
	(mswindows_resource_instantiate): ditto.
	(mswindows_widget_instantiate): ditto.
	(mswindows_widget_set_property): ditto.

	* redisplay-output.c (redisplay_output_subwindow): don't show
 	subwindows if they are obscured at the edge of the frame, emacs
 	gets into some sort of redisplay loop otherwise.

	* gui.h: prototype gui_item_selected_p.

	* gui.c (gui_item_selected_p): new function to determine the
 	selected state of a gui_item.

	* frame.h (struct frame): add subwindows_changed flag.

	* redisplay.c (redisplay_frame): call update_frame_subwindows ().

	* glyphs.c (update_subwindow): new function to update a
 	subwindow's state.
	(update_frame_subwindows): new function to update all the
 	subwindows on a frame.

	* console.h (struct console_methods): add update_subwindow.

	* glyphs-msw.c (mswindows_widget_property): return selected state
 	for selected property.
	(mswindows_update_subwindow): new function. updates widget glyphs
 	in redisplay as per menubars or toolbars e.g. selected state.
	(console_type_create_glyphs_mswindows): add update_subwindow.

1998-12-03  Andy Piper  <andy@xemacs.org>

	* console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
 	tty coding system things are such.

	* glyphs-widget.c (widget_face_font_info): new function for
 	pulling out height and width metrics for a widget's face.
	(widget_text_to_pixel_conversion): calculate pixel sizes of text
 	for widgets.

	* event-msw.c (mswindows_drain_windows_queue): translate messages
 	that are destined for subwindows. This makes edit fields interact
 	with the keyboard correctly.
	nuke warnings by #ifndef'ing out stuff not required by msg select().

	* glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
 	macro defining the iiforma without the symbol required by widget.
	(INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.

	* general.c (syms_of_general): add Qwidget, Qselected.

	* faces.c (complex_vars_of_faces): add widget face inheriting from
 	gui-element face.

1998-11-09  Andy Piper  <andy@xemacs.org>

	* window.h (struct window): add a cache of subwindows on a
 	per-window basis.

	* window.c (mark_window): mark the subwindow_instance_cache.
	(allocate_window): initialise the subwindow instance_cache.

	* toolbar-x.c (x_output_toolbar): call redisplay_clear_region
 	instead of the devmeth.
	(x_clear_toolbar): ditto.

	* redisplay-x.c (x_output_display_block): call
 	redisplay_output_subwindow for subwindows and widgets.

	* redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
 	types to do nothing for.

	* lisp.h: declare new widget/subwindow symbols.

	* glyphs.c (image_instantiate): cache subwindows on a per-window
 	basis.
	(subwindow_possible_dest_types): new function for subwindow dest
 	types.
	(subwindow_instantiate): generic instantiation of a
 	subwindow. specialised by device multi-methods.
	(Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
 	subwindows.
	(Fimage_instance_subwindow_id): ditto.
	(Fresize_subwindow): ditto.
	(Fforce_subwindow_map): ditto.

	* glyphs-x.c (x_print_image_instance): remove subwindow
 	stuff. Handled genrically in glyphs.c.
	(x_image_instance_equal): ditto.
	(x_image_instance_hash): ditto.
	(x_finalize_image_instance): delete subwindows when required.
	(mark_subwindow) (print_subwindow) (finalize_subwindow)
 	(subwindow_hash) (Fmake_subwindow): deleted because of new,
 	glyph-based, subwindow implementation.
	(Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
 	in glyphs.el
	(Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
 	glyphs.c.
	(x_unmap_subwindow): new function to unmap X subwindows.
	(x_map_subwindow): new function to map X subwindows.
	(x_subwindow_instantiate): new function to instantiate X
 	subwindows.
	(x_resize_subwindow): new function to resize X subwindows.
	(console_type_create_glyphs_x): add subwindow functions.
	(image_instantiator_format_create_glyphs_x): add device
 	multi-methods for xpm, xbm and subwindow.

	* glyphs.el (subwindow-xid): old alias for new subwindow functions.
	(subwindow-width): ditto.
	(subwindow-height): ditto.

	* glyphs-msw.c (mswindows_widget_instantiate): new function for
 	generally instantiating ms subwindows. Used by
 	mswindows_*_instantiate.
	(mswindows_edit_instantiate): instantiate an edit field on a
 	mswindows frame.

1998-11-04  Andy Piper  <andy@xemacs.org>

	* symsinit.h: declare new functions.

	* redisplay.h: declare new functions.

	* redisplay-x.c (x_output_display_block): call
 	redisplay_clear_region rather than x_clear_region.
	(x_output_string): ditto.
	(x_output_pixmap): ditto.
	(x_clear_to_window_end): ditto.
	(x_output_eol_cursor): ditto.
	(x_clear_region): only do X specific things. other duties handled
 	in redisplay_clear_region.

	* redisplay-tty.c (tty_clear_region): do tty specific things - some
 	duties moved to redisplay_clear_region.

	* redisplay-output.c (clear_left_border): use
 	redisplay_clear_region instead of device method.
	(clear_right_border): ditto.
	(output_display_line): ditto.
	(redisplay_output_subwindow): ditto.
	(redisplay_clear_top_of_window): ditto.
	(redisplay_clear_region): perform duties previously handled by
 	device methods. call the appropriate device method at the
 	end. unmap subwindows if necessary.

	* redisplay-msw.c (mswindows_output_string): use
 	redisplay_clear_region instead of mswindows_clear_region.
	(mswindows_clear_to_window_end): ditto.
	(mswindows_output_display_block): output subwindows when required.
	(mswindows_clear_region): only do mswindows specific things,
 	everything else is now handled in redisplay_clear_region.

	* gui.h: add item id hash defines and declare function prototypes.

	* gui.c (mark_gui_item): new function for marking gui_items.
	(gui_item_hash): generic hash function for generating command ids
 	for gui_items.

	* gui-msw.c: new file.
	(mswindows_handle_gui_wm_command): new function to handle widget
 	callbacks.

	* glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
 	multi-methods.
	(IIFORMAT_HAS_SHARED_METHOD): ditto.
	(DEFINE_DEVICE_IIFORMAT): ditto.
	(INITIALIZE_DEVICE_IIFORMAT): ditto.
	(struct Lisp_Image_Instance): add widget and subwindow data plus
 	appropriate access functions.

	* glyphs.c (decode_device_ii_format): new function for decoding
 	image instantiator functions based on a device type as well as an
 	image format.
	(decode_image_instantiator_format): just call
 	decode_device_ii_format with nil device.
	(add_entry_to_device_ii_format_list): new function for per device
 	method instances.
	(add_entry_to_image_instantiator_format_list): just call
 	add_entry_to_device_ii_format_list with nil device.
	(check_valid_vector): new function.
	(instantiate_image_instantiator): instantiate using per-format
 	method and then per-format-per-device method (device
 	multi-methods). signal an error if neither is possible.
	(mark_image_instance): cope with subwindows and widgets.
	(print_image_instance): ditto.
	(image_instance_equal): ditto.
	(image_instance_hash): ditto.
	(allocate_glyph): ditto.
	(glyph_width): ditto.
	(glyph_height_internal): ditto.
	(xpm_instantiate): removed because of device multi-methods.
	(mark_subwindow_cachels): new cachel functions for caching
 	instantiated subwindows on a per-frame basis. mostly copied from
 	glyph cachel functions.
	(update_subwindow_cachel_data): ditto.
	(add_subwindow_cachel): ditto.
	(get_subwindow_cachel_index): ditto.
	(reset_subwindow_cachels): ditto.
	(mark_subwindow_cachels_as_not_updated): ditto.
	(unmap_subwindow): generic unmapping of subwindows based on cachel
 	data.
	(map_subwindow): ditto.
	(initialize_subwindow_image_instance): generic initialisation of
 	subwindow data.
	(syms_of_glyphs): add widget keywords.

	* glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
 	x_subwindow_data.

1998-11-04  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c: new file for instantiating widget type glyphs.
	(widget_possible_dest_types): new general dest type function for
 	widgets.
	(widget_validate): ditto.
	(initialize_widget_image_instance): ditto
	(widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
 	before handing on control to device multi-methods.
	(syms_of_glyphs_widget): new function.
	(image_instantiator_format_create_glyphs_widget): new function,
 	added placeholders for button, edit, combo, scrollbar
	(vars_of_glyphs_widget): new function.

	* glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
 	storing window ids of widgets.

	* glyphs-msw.c (mswindows_finalize_image_instance): cope with
 	deletion of widget and subwindow glyphs.
	(mswindows_unmap_subwindow): new device function for unmapping
 	subwindows on a msw frame.
	(mswindows_map_subwindow): ditto.
	(mswindows_register_image_instance): register instantiated widgets
 	with the widget hashtable.
	(mswindows_button_instantiate): instantiate a button type widget
 	on an msw frame.
	(mswindows_subwindow_instantiate): instanttiate a subwindow on a
 	mswindows frame.
	(image_instantiator_format_create_glyphs_mswindows): add device
 	multi-methods for xbm, xpm, subwindow, edit and button.

	* frame.h (struct frame): add subwindow_cachels dynarr for caching
 	information about subwindows visible on the current frame. used by
 	redisplay_clear_region to unmap subwindows as required.

	* frame.c (mark_frame): mark subwindow_cachels.
	(allocate_frame_core): instantiate subwindow_cachels.

	* frame-msw.c (mswindows_init_frame_1): instntiate and mark the
 	widget hashtable.

	* event-msw.c (mswindows_wnd_proc): add call to
 	mswindows_handle_gui_wm_command to handle widget callbacks.

	* emacs.c (main_1): add calls to glyphs-widget initialisation
 	routines.

	* console.h (struct console_methods): add
 	unmap/map_subwindow_method for use be redisplay_clear_region to
 	map and unmap subwindows. Remove xpm and xbm stuff - now dealt
 	with by image instantiator multi-methods. Add
 	resize_subwindow_method.

	* console-stream.c (stream_clear_region): change signature to
 	match new generic clear region function.

	* Makefile.in.in: add glyphs-widget.o to list of objects.

	* console-msw.h (struct mswindows_frame): add widget hashtable for
 	wiring command ids to callbacks.

1998-12-16  Andy Piper  <andy@xemacs.org>

	* XEmacs 21.2.6 is released

1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>

	* md5.c (Fmd5): Correctly initiate string input stream.

	* Makefile.in.in (tests): Add md5-tests.el.

1998-12-06  Martin Buchholz  <martin@xemacs.org>

	* lisp.h:
	* alloc.c (make_vector): remove travesty
	(Fmake_vector):
	(make_pure_vector):
	(pure_cons):
	(make_bit_vector_internal):
	(make_bit_vector):
	(make_bit_vector_from_byte_vector):
	(Fmake_bit_vector):
	- make vector_equal a little faster.
	- Don't use variable name `new'.
	- Use size_t instead of EMACS_INT.
	- usual Martin-style pointless bit-twiddling.

	* fns.c (mapcar1):
	(Fmapconcat):
	(Fmapcar):
	(Fmapvector):
	Make mapcar faster.  In particular, make
	  (mapc #'identity long-string)
	MUCH faster under Mule.
	* tests/automated/lisp-tests.el: Test 'em!

1998-12-06  Martin Buchholz  <martin@xemacs.org>

	* bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
	bytecode.

1998-12-13  Martin Buchholz  <martin@xemacs.org>

	* console-msw.c: Function definitions follow coding standards
	- This prevents e.g. find-tag on Lisp_Event finding DEVENT

1998-12-11  Martin Buchholz  <martin@xemacs.org>

	* events.h (struct timeout_data):
	* event-tty.c (tty_timeout_to_emacs_event):
	* event-msw.c (mswindows_wm_timer_callback):
	* event-Xt.c (Xt_timeout_to_emacs_event):
	* event-msw.c (mswindows_cancel_dispatch_event):
	Make sure Lisp_Objects inside events are initialized to Qnil, not
	Qnull_pointer, which is now illegal.

1998-12-10  Martin Buchholz  <martin@xemacs.org>

	* lisp.h: Fix up prototypes to match alloc.c

1998-12-09  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
 	XSETINT for assigning lisp objects.

1998-12-07  Martin Buchholz  <martin@xemacs.org>

	* opaque.h:
	* console-msw.c (DHEADER):
	(DOPAQUE_DATA):
	(DEVENT):
	(DCONS):
	(DCONSCDR):
	(DSTRING):
	(DVECTOR):
	(DSYMBOL):
	(DSYMNAME):
	- max_align_t should not be visible to the user of the
	  XOPAQUE_DATA macro.
	- use Bufbyte instead of char
	- parens around (FOOP (obj)) are always redundant.
	  If they were necessary, we should fix the macro instead.
	- Always use string_data(foo) instead of foo->data.

1998-12-07  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c (set_descriptor_non_blocking):
	Since O_NONBLOCK is now always #defined, make use of fcntl
	conditional on F_SETFL being defined.

1998-12-09  Andy Piper  <andy@xemacs.org>

	* menubar-msw.c (mswindows_handle_wm_command): add back in checks
 	that got removed in the merge

1998-11-30  Greg Klanderman  <greg@alphatech.com>

	* dired.c (vars_of_dired): bugfix for previous conditionalization
	of user-name-completion on non- Windows NT.

1998-12-08  Martin Buchholz  <martin@xemacs.org>

	* windowsnt.h: Remove `support' for using index and rindex

	* filelock.c (current_lock_owner):
	- Change uses of index -> strchr, rindex -> strrchr

1998-12-06  Martin Buchholz  <martin@xemacs.org>

	* frame-msw.c (mswindows_init_frame_1):
	- use make_lisp_hash_table, not Fmake_hash_table
	- include elhash.h

1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>

	* XEmacs 21.2.5 is released

1998-11-30  Martin Buchholz  <martin@xemacs.org>

	* xselect.c (receive_incremental_selection):
	* xselect.c (x_get_window_property):
	* xmu.c (XmuReadBitmapDataFromFile):
	* xmu.c (XmuCursorNameToIndex):
	* xgccache.c (describe_gc_cache):
	* xgccache.c (gc_cache_lookup):
	* xgccache.c (free_gc_cache):
	* xgccache.c (make_gc_cache):
	* window.h:
	* window.c (map_windows_1):
	* window.c (Fother_window_for_scrolling):
	* window.c (window_scroll):
	* window.c (change_window_height):
	* window.c (Fsplit_window):
	* window.c (window_left_gutter_width):
	* window.c (window_modeline_height):
	* window.c (invalidate_vertical_divider_cache_in_window):
	* window.c (window_needs_vertical_divider_1):
	* window.c (update_mirror_internal):
	* window.c (SET_LAST_FACECHANGE):
	* widget.c (Fwidget_plist_member):
	* unexec.c (copy_text_and_data):
	* unexcw.c (copy_executable_and_dump_data_section):
	* tooltalk.doc:
	* tooltalk.c (struct Lisp_Tooltalk_Pattern):
	* tooltalk.c (struct Lisp_Tooltalk_Message):
	* toolbar.h (struct toolbar_button):
	* toolbar.c (default_toolbar_visible_p_changed_in_window):
	* toolbar.c (recompute_overlaying_specifier):
	* toolbar.c (toolbar_validate):
	* toolbar.c (toolbar_button_at_pixpos):
	* toolbar.c (get_toolbar_coords):
	* toolbar.c (update_frame_toolbars):
	* toolbar-x.c:
	* toolbar-msw.c (mswindows_handle_toolbar_wm_command):
	* toolbar-msw.c (mswindows_find_toolbar_pos):
	* toolbar-msw.c (mswindows_output_toolbar):
	* toolbar-msw.c (mswindows_clear_toolbar):
	* toolbar-msw.c:
	* systty.h:
	* syssignal.h:
	* sysproc.h:
	* sysfile.h:
	* sysdll.c:
	* sysdep.h:
	* sysdep.c (rmdir):
	* sysdep.c (sys_fopen):
	* sysdep.c (sys_open):
	* sysdep.c (tty_init_sys_modes_on_device):
	* sysdep.c (get_eof_char):
	* sysdep.c (child_setup_tty):
	* sysdep.c (set_descriptor_non_blocking):
	* syntax.h:
	* syntax.c (scan_words):
	* syntax.c:
	* symsinit.h:
	* symeval.h (struct symbol_value_varalias):
	* symeval.h (struct symbol_value_forward):
	* symbols.c (syms_of_symbols):
	* symbols.c (init_symbols_once_early):
	* symbols.c (Fbuilt_in_variable_type):
	* symbols.c (Fsymbol_value_in_buffer):
	* symbols.c (default_value):
	* symbols.c (Fset):
	* symbols.c (find_symbol_value_quickly):
	* symbols.c (store_symval_forwarding):
	* symbols.c (set_default_console_slot_variable):
	* symbols.c (set_default_buffer_slot_variable):
	* symbols.c (verify_ok_for_buffer_local):
	* symbols.c (symbol_is_constant):
	* symbols.c (oblookup):
	* symbols.c (Funintern):
	* symbols.c (Fintern):
	* symbols.c (check_obarray):
	* sunplay.c:
	* specifier.h (struct specifier_methods):
	* specifier.h:
	* specifier.c (specifier_instance):
	* specifier.c (specifier_instance_from_inst_list):
	* specifier.c (decode_locale_type):
	* specifier.c (specifier_equal):
	* specifier.c (finalize_specifier):
	* specifier.c (prune_specifiers):
	* specifier.c (kill_specifier_buffer_locals):
	* sound.c (init_native_sound):
	* sound.c:
	* signal.c (alarm):
	* search.c (Fmatch_data):
	* search.c (match_limit):
	* search.c (Freplace_match):
	* search.c (skip_chars):
	* search.c (scan_buffer):
	* search.c:
	* scrollbar.c (specifier_vars_of_scrollbar):
	* scrollbar.c (Fscrollbar_set_hscroll):
	* scrollbar.c (vertical_scrollbar_changed_in_window):
	* scrollbar.c (release_window_mirror_scrollbars):
	* scrollbar.c (free_scrollbar_instance):
	* scrollbar-x.c:
	* scrollbar-msw.c:
	* s/msdos.h (O_BINARY):
	* s/linux.h:
	* s/freebsd.h (LIBS_TERMCAP):
	* regex.c (re_match_2_internal):
	* regex.c (compile_extended_range):
	* regex.c (POP_FAILURE_POINT):
	* regex.c (PUSH_FAILURE_POINT):
	* redisplay.h (RESET_CHANGED_SET_FLAGS):
	* redisplay.h:
	* redisplay.h (struct display_line):
	* redisplay.h (struct rune):
	* redisplay.c (vars_of_redisplay):
	* redisplay.c (redisplay_variable_changed):
	* redisplay.c (UPDATE_CACHE_RETURN):
	* redisplay.c (validate_line_start_cache):
	* redisplay.c (mark_redisplay_structs):
	* redisplay.c (mark_glyph_block_dynarr):
	* redisplay.c (window_line_number):
	* redisplay.c (redisplay_frame):
	* redisplay.c (redisplay_window):
	* redisplay.c (generate_modeline):
	* redisplay.c (create_right_glyph_block):
	* redisplay.c (create_left_glyph_block):
	* redisplay.c (create_text_block):
	* redisplay.c:
	* redisplay-x.c (x_output_hline):
	* redisplay-x.c (x_output_vertical_divider):
	* redisplay-tty.c (tty_output_display_block):
	* redisplay-output.c (output_display_line):
	* redisplay-output.c:
	* redisplay-msw.c (mswindows_output_vertical_divider):
	* redisplay-msw.c (mswindows_ring_bell):
	* redisplay-msw.c (mswindows_output_cursor):
	* redisplay-msw.c:
	* rangetab.c:
	* ralloc.c:
	* puresize.h (RAW_PURESIZE):
	* profile.c (syms_of_profile):
	* profile.c (Fstart_profiling):
	* profile.c (sigprof_handler):
	* profile.c:
	* procimpl.h:
	* process.c (vars_of_process):
	* process.c (read_process_output):
	* process.c (get_process):
	* process.c:
	* process-unix.c (unix_open_multicast_group):
	* process-unix.c (unix_get_tty_name):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_reap_exited_processes):
	* process-unix.c (unix_create_process):
	* process-unix.c (unix_init_process_io_handles):
	* process-unix.c (allocate_pty):
	* process-unix.c:
	* process-nt.c (nt_open_network_stream):
	* process-nt.c (nt_update_status_if_terminated):
	* process-nt.c (nt_finalize_process_data):
	* process-nt.c:
	* print.c (debug_short_backtrace):
	* print.c (debug_backtrace):
	* print.c (print_symbol):
	* print.c (print_internal):
	* print.c (print_cons):
	* print.c (Fwrite_char):
	* print.c (print_prepare):
	* print.c (canonicalize_printcharfun):
	* print.c (output_string):
	* print.c:
	* opaque.h:
	* opaque.c (allocate_managed_opaque):
	* opaque.c:
	* offix.c (DndSetData):
	* objects.c (face_boolean_create):
	* objects.c (font_instantiate):
	* objects.c (font_create):
	* objects.c (color_create):
	* objects.c (finalize_font_instance):
	* objects.c (finalize_color_instance):
	* objects.c:
	* objects-x.c (x_font_instance_truename):
	* objects-x.c:
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (allocate_nearest_color):
	* objects-tty.c (tty_initialize_font_instance):
	* objects-tty.c (tty_initialize_color_instance):
	* objects-msw.c (mswindows_initialize_color_instance):
	* ntproc.c (syms_of_ntproc):
	* ntproc.c (Fwin32_set_process_priority):
	* ntproc.c (sys_spawnve):
	* ntproc.c:
	* ntheap.c (get_data_end):
	* nt.c (period):
	* nt.c:
	* nt.c (stat):
	* nt.c (generate_inode_val):
	* nt.c (sys_rename):
	* nas.c:
	* mule-wnnfns.c (Fwnn_hinsi_number):
	* mule-wnnfns.c (Fwnn_yuragi):
	* mule-wnnfns.c (Fwnn_common_learn):
	* mule-wnnfns.c (Fwnn_suffix_learn):
	* mule-wnnfns.c (Fwnn_prefix_learn):
	* mule-wnnfns.c (Fwnn_okuri_learn):
	* mule-wnnfns.c (Fwnn_complex_conv):
	* mule-wnnfns.c (Fwnn_last_is_first):
	* mule-wnnfns.c (Fwnn_bmodify_dict_add):
	* mule-wnnfns.c (Fwnn_notrans_dict_add):
	* mule-wnnfns.c (Fwnn_fiusr_dict_add):
	* mule-wnnfns.c (Fwnn_fisys_dict_add):
	* mule-wnnfns.c (Fwnn_hinsi_list):
	* mule-wnnfns.c (Fwnn_fuzokugo_set):
	* mule-wnnfns.c (Fwnn_dict_search):
	* mule-wnnfns.c (Fwnn_word_toroku):
	* mule-wnnfns.c (Fwnn_hindo_update):
	* mule-wnnfns.c (Fwnn_bunsetu_henkou):
	* mule-wnnfns.c (Fwnn_kakutei):
	* mule-wnnfns.c (Fwnn_begin_henkan):
	* mule-wnnfns.c (Fwnn_dict_comment):
	* mule-wnnfns.c (Fwnn_dict_add):
	* mule-wnnfns.c (Fwnn_open):
	* mule-mcpath.c (mc_getcwd):
	* mule-coding.c (vars_of_mule_coding):
	* mule-coding.c (convert_to_external_format):
	* mule-coding.c (encoding_marker):
	* mule-coding.c (decoding_marker):
	* mule-coding.c (Fcopy_coding_system):
	* mule-coding.c (Fmake_coding_system):
	* mule-coding.c (Fcoding_system_list):
	* mule-coding.c (Ffind_coding_system):
	* mule-coding.c (symbol_to_eol_type):
	* mule-coding.c:
	* mule-charset.c (complex_vars_of_mule_charset):
	* mule-charset.c (vars_of_mule_charset):
	* mule-charset.c (Fset_charset_ccl_program):
	* mule-charset.c (struct charset_list_closure):
	* mule-charset.c (Ffind_charset):
	* mule-charset.c (make_charset):
	* mule-charset.c (non_ascii_valid_char_p):
	* mule-charset.c:
	* mule-ccl.c (ccl_driver):
	* mule-canna.c (c2mu):
	* mule-canna.c (Fcanna_henkan_begin):
	* mule-canna.c (Fcanna_parse):
	* mule-canna.c (Fcanna_store_yomi):
	* mule-canna.c (Fcanna_touroku_string):
	* mule-canna.c (Fcanna_initialize):
	* minibuf.c:
	* menubar.c (menu_parse_submenu_keywords):
	* menubar-x.c (make_dummy_xbutton_event):
	* menubar-x.c (set_frame_menubar):
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c:
	* menubar-msw.h:
	* menubar-msw.c (mswindows_popup_menu):
	* menubar-msw.c (mswindows_update_frame_menubars):
	* menubar-msw.c (mswindows_handle_wm_command):
	* menubar-msw.c (unsafe_handle_wm_initmenu_1):
	* menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
	* menubar-msw.c (update_frame_menubar_maybe):
	* menubar-msw.c (populate_or_checksum_helper):
	* menubar-msw.c (empty_menu):
	* menubar-msw.c:
	* md5.c:
	* marker.c (set_marker_internal):
	* marker.c (print_marker):
	* malloc.c:
	* make-src-depend:
	* lstream.c (lisp_buffer_rewinder):
	* lstream.c (mark_lstream):
	* lrecord.h:
	* lrecord.h (struct lrecord_header):
	* lread.c (readevalloop):
	* lread.c (locate_file):
	* lread.c (locate_file_in_directory):
	* lread.c (Flocate_file):
	* lread.c (load_force_doc_string_unwind):
	* lread.c (ebolify_bytecode_constants):
	* lread.c:
	* lisp.h:
	* lisp-union.h:
	* lisp-disunion.h:
	* linuxplay.c (linux_play_data_or_file):
	* linuxplay.c (audio_init):
	* line-number.c:
	* keymap.h:
	* keymap.c (describe_map):
	* keymap.c (describe_map_mapper):
	* keymap.c (Fdescribe_bindings_internal):
	* keymap.c (Fsingle_key_description):
	* keymap.c (map_keymap_sorted):
	* keymap.c (get_relevant_keymaps):
	* keymap.c (Flookup_key):
	* keymap.c (raw_lookup_key_mapper):
	* keymap.c (Fdefine_key):
	* keymap.c (Fevent_matches_key_specifier_p):
	* keymap.c (key_desc_list_to_event):
	* keymap.c (define_key_parser):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (keymap_submaps):
	* keymap.c (keymap_store_internal):
	* keymap.c (keymap_delete_inverse_internal):
	* keymap.c (keymap_store_inverse_internal):
	* keymap.c (print_keymap):
	* keymap.c (Lisp_Keymap):
	* keymap.c:
	* intl.c:
	* insdel.c (convert_bufbyte_string_into_emchar_dynarr):
	* insdel.c (make_gap):
	* input-method-xlib.c (get_XIM_input):
	* input-method-xlib.c (XIM_init_frame):
	* imgproc.c:
	* hash.h:
	* hash.c:
	* gui.c:
	* gui-x.c (button_item_to_widget_value):
	* gui-x.c (popup_selection_callback):
	* glyphs.h (struct image_instantiator_methods):
	* glyphs.c (mark_glyph_cachels):
	* glyphs.c (Fglyph_type):
	* glyphs.c (image_instantiate):
	* glyphs.c (image_create):
	* glyphs.c (make_image_instance_1):
	* glyphs.c (finalize_image_instance):
	* glyphs.c:
	* glyphs-x.c (finalize_subwindow):
	* glyphs-x.c (xface_validate):
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs-x.c (convert_EImage_to_XImage):
	* glyphs-msw.c:
	* glyphs-msw.c (mswindows_resource_instantiate):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (convert_EImage_to_DIBitmap):
	* glyphs-eimage.c (tiff_instantiate):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (struct png_error_struct):
	* glyphs-eimage.c (gif_memory_storage):
	* glyphs-eimage.c:
	* gifrlib.h:
	* getloadavg.c (getloadavg):
	* getloadavg.c:
	* gdbinit:
	* free-hook.c (log_gcpro):
	* free-hook.c (check_malloc):
	* free-hook.c (check_free):
	* free-hook.c (ROUND_UP_TO_PAGE):
	* free-hook.c:
	* frame.h (struct frame):
	* frame.h:
	* frame.c (change_frame_size_1):
	* frame.c (allocate_frame_core):
	* frame.c:
	* frame-x.c (x_focus_on_frame):
	* frame-x.c (x_init_frame_2):
	* frame-x.c (x_popup_frame):
	* frame-x.c (xemacs_XtPopup):
	* frame-x.c:
	* frame-x.c (Foffix_start_drag_internal):
	* frame-x.c (x_cde_destroy_callback):
	* frame-x.c (x_wm_hack_wm_protocols):
	* frame-tty.c (tty_frame_visible_p):
	* frame-msw.c (mswindows_make_frame_invisible):
	* frame-msw.c (mswindows_after_init_frame):
	* frame-msw.c (mswindows_init_frame_1):
	* fns.c (syms_of_fns):
	* fns.c (Fbase64_decode_string):
	* fns.c (Fnconc):
	* fns.c (Ffillarray):
	* fns.c (Fobject_plist):
	* fns.c (Fget):
	* fns.c (Fcanonicalize_lax_plist):
	* fns.c (Fcanonicalize_plist):
	* fns.c (Fplist_remprop):
	* fns.c (Fplist_get):
	* fns.c (advance_plist_pointers):
	* fns.c (internal_plist_put):
	* fns.c (Fnreverse):
	* fns.c (Fremassq):
	* fns.c (Felt):
	* fns.c (Fsubstring):
	* fns.c (Fbvconcat):
	* fns.c (Flength):
	* fns.c (length_with_bytecode_hack):
	* fns.c (print_bit_vector):
	* fns.c:
	* floatfns.c (Ffloor):
	* floatfns.c:
	* floatfns.c (in_float_error):
	* fileio.c (Ffile_modes):
	* fileio.c (Fexpand_file_name):
	* fileio.c (Fmake_temp_name):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (Ffile_name_directory):
	* file-coding.h:
	* file-coding.c (vars_of_mule_coding):
	* file-coding.c (convert_to_external_format):
	* file-coding.c (encoding_marker):
	* file-coding.c (decoding_marker):
	* file-coding.c (Fcopy_coding_system):
	* file-coding.c (Fmake_coding_system):
	* file-coding.c (struct coding_system_list_closure):
	* file-coding.c (Ffind_coding_system):
	* file-coding.c (symbol_to_eol_type):
	* file-coding.c:
	* faces.h (struct face_cachel):
	* faces.c (vars_of_faces):
	* faces.c (face_property_was_changed):
	* faces.c (mark_face_cachels):
	* faces.c (temporary_faces_list):
	* faces.c (struct face_list_closure):
	* faces.c:
	* extents.h (struct extent):
	* extents.c (vars_of_extents):
	* extents.c (struct copy_string_extents_1_arg):
	* extents.c (add_string_extents_mapper):
	* extents.c (Fextent_property):
	* extents.c (Fset_extent_property):
	* extents.c (symbol_to_glyph_layout):
	* extents.c (properties_equal):
	* extents.c (print_extent):
	* extents.c (print_extent_1):
	* extents.c (extent_in_region_p):
	* extents.c (gap_array_make_gap):
	* extents.c:
	* events.h (struct Lisp_Event):
	* events.h:
	* events.c (Fevent_properties):
	* events.c (format_event_object):
	* events.c (Fmake_event):
	* events.c (event_equal):
	* events.c (print_event):
	* events.c (mark_event):
	* event-stream.c ((read-char)
	* event-stream.c (vars_of_event_stream):
	* event-stream.c (syms_of_event_stream):
	* event-stream.c (Fset_recent_keys_ring_size):
	* event-stream.c (Fsit_for):
	* event-stream.c (Fnext_event):
	* event-stream.c (execute_help_form):
	* event-stream.c (maybe_kbd_translate):
	* event-stream.c:
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (mswindows_drain_windows_queue):
	* event-msw.c (mswindows_pump_outstanding_events):
	* event-msw.c:
	* event-msw.c (slurp_thread):
	* event-msw.c (struct ntpipe_slurp_stream):
	* event-msw.c (HANDLE_TO_USID):
	* event-Xt.c (emacs_Xt_handle_magic_event):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (x_reset_modifier_mapping):
	* event-Xt.c (x_reset_key_mapping):
	* event-Xt.c:
	* eval.c (syms_of_eval):
	* eval.c (warn_when_safe):
	* eval.c (warn_when_safe_lispobj):
	* eval.c (Fbacktrace_frame):
	* eval.c (Fbacktrace):
	* eval.c (top_level_set):
	* eval.c (unbind_to_hairy):
	* eval.c (specbind_magic):
	* eval.c (specbind_unwind_wasnt_local):
	* eval.c (call2_trapping_errors):
	* eval.c (call1_trapping_errors):
	* eval.c (catch_them_squirmers_call2):
	* eval.c (call0_trapping_errors):
	* eval.c (run_hook_trapping_errors):
	* eval.c (catch_them_squirmers_eval_in_buffer):
	* eval.c (call4_in_buffer):
	* eval.c (call3_in_buffer):
	* eval.c (call2_in_buffer):
	* eval.c (call1_in_buffer):
	* eval.c (call0_in_buffer):
	* eval.c (run_hook):
	* eval.c (run_hook_with_args_in_buffer):
	* eval.c (Fapply):
	* eval.c (Feval):
	* eval.c (do_autoload):
	* eval.c (un_autoload):
	* eval.c (Fautoload):
	* eval.c (Finteractive_p):
	* eval.c (Fcommand_execute):
	* eval.c (signal_quit):
	* eval.c (call_with_suspended_errors):
	* eval.c (signal_error):
	* eval.c (return_from_signal):
	* eval.c (Fcall_with_condition_handler):
	* eval.c (run_condition_case_handlers):
	* eval.c (condition_case_1):
	* eval.c (Funwind_protect):
	* eval.c (unwind_to_catch):
	* eval.c (internal_catch):
	* eval.c (Fmacroexpand_internal):
	* eval.c (Fuser_variable_p):
	* eval.c (Fdefconst):
	* eval.c (Fdefvar):
	* eval.c (Ffunction):
	* eval.c (signal_call_debugger):
	* eval.c (call_debugger):
	* eval.c:
	* emacs.c (main):
	* emacs.c (sort_args):
	* emacs.c (main_1):
	* elhash.h:
	* elhash.c:
	* editfns.c (Fencode_time):
	* editfns.c (Fdecode_time):
	* editfns.c (Fuser_full_name):
	* editfns.c:
	* editfns.c (save_excursion_restore):
	* ecrt0.c:
	* dynarr.c:
	* doprnt.c (emacs_doprnt_1):
	* doc.c (verify_doc_mapper):
	* doc.c (Fsnarf_documentation):
	* doc.c (Fdocumentation):
	* dll.c:
	* dired.c (user_name_completion):
	* dired.c (Fdirectory_files):
	* dialog-x.c:
	* dialog-msw.c:
	* dgif_lib.c (FreeSavedImages):
	* dgif_lib.c (DGifGetImageDesc):
	* device.h:
	* device.h (struct device):
	* device.c (Fselect_device):
	* device.c (allocate_device):
	* device.c:
	* device-x.c (Fx_keysym_on_keyboard_p):
	* device-x.c (Fx_valid_keysym_name_p):
	* device-x.c (x_IO_error_handler):
	* device-x.c (x_delete_device):
	* device-x.c (x_finish_init_device):
	* device-x.c (x_init_device):
	* device-x.c:
	* device-msw.c (mswindows_init_device):
	* dbxrc:
	* database.c (vars_of_database):
	* database.c (Fput_database):
	* database.c (Fopen_database):
	* database.c (berkdb_remove):
	* database.c (berkdb_put):
	* database.c (Fdatabasep):
	* database.c (print_database):
	* database.c:
	* data.c (vars_of_data):
	* data.c (syms_of_data):
	* data.c (init_errors_once_early):
	* data.c (prune_weak_lists):
	* data.c (finish_marking_weak_lists):
	* data.c (print_weak_list):
	* data.c (Fmod):
	* data.c (Fstring_to_number):
	* data.c (Fnumber_to_string):
	* data.c (Findirect_function):
	* data.c (Fsetcdr):
	* data.c (Ffloatp):
	* data.c (Fsubr_interactive):
	* data.c (Farrayp):
	* data.c (Fkeywordp):
	* data.c (Fnull):
	* data.c:
	* console.h (CONSOLE_NAME):
	* console.h:
	* console.c (vars_of_console):
	* console.c (Fselect_console):
	* console.c:
	* console-x.h (DEVICE_X_COLORMAP):
	* console-x.h (struct x_device):
	* console-x.c (x_device_to_console_connection):
	* console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
	* console-tty.c (tty_init_console):
	* console-tty.c:
	* console-msw.h (struct mswindows_frame):
	* conslots.h:
	* config.h.in:
	* cmds.c (internal_self_insert):
	* cmds.c (Fforward_line):
	* cmds.c (Fforward_char):
	* cmds.c:
	* cmdloop.c:
	* chartab.c (mark_char_table_entry):
	* chartab.c:
	* casefiddle.c (casify_word):
	* callproc.c (child_setup):
	* callproc.c (Fcall_process_internal):
	* callproc.c:
	* callint.c (Fcall_interactively):
	* bytecode.h:
	* bytecode.c (execute_rare_opcode):
	* bytecode.c (execute_optimized_program):
	* bytecode.c:
	* bufslots.h:
	* buffer.h (BUFFER_REALLOC):
	* buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
	* buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
	* buffer.h:
	* buffer.h (MAP_INDIRECT_BUFFERS):
	* buffer.h (CHECK_LIVE_BUFFER):
	* buffer.c (init_initial_directory):
	* buffer.c (complex_vars_of_buffer):
	* buffer.c (vars_of_buffer):
	* buffer.c (finish_init_buffer):
	* buffer.c (Fget_file_buffer):
	* buffer.c (Fbuffer_list):
	* buffer.c (mark_buffer):
	* balloon_help.c (balloon_help_move_to_pointer):
	* balloon_help.c (show_help):
	* balloon_help.c:
	* backtrace.h:
	* alloc.c (garbage_collect_1):
	* alloc.c (sweep_strings):
	* alloc.c (sweep_compiled_functions):
	* alloc.c (sweep_bit_vectors_1):
	* alloc.c (sweep_vectors_1):
	* alloc.c (sweep_lcrecords_1):
	* alloc.c (tick_lcrecord_stats):
	* alloc.c (pure_string_sizeof):
	* alloc.c (mark_conses_in_list):
	* alloc.c (mark_object):
	* alloc.c (report_pure_usage):
	* alloc.c (make_pure_float):
	* alloc.c (make_pure_string):
	* alloc.c (free_managed_lcrecord):
	* alloc.c (mark_string):
	* alloc.c (noseeum_make_marker):
	* alloc.c (allocate_event):
	* alloc.c (Fbit_vector):
	* alloc.c (Fvector):
	* alloc.c (make_float):
	* alloc.c (Fmake_list):
	* alloc.c (Flist):
	* alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
	* alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
	* alloc.c (DECLARE_FIXED_TYPE_ALLOC):
	* alloc.c (dbg_constants):
	* alloc.c (gc_record_type_p):
	* alloc.c (free_lcrecord):
	* alloc.c (xmalloc):
	* alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
	* abbrev.c:
	* Makefile.in.in (mostlyclean):
	* Makefile.in.in (external_client_xlib_objs_nonshared):
	* Makefile.in.in (temacs_link_args):
	* Makefile.in.in (release):
	* Makefile.in.in (dnd_objs):
	* Makefile.in.in (objs):
	* Makefile.in.in (PROGNAME):
	* EmacsShell.c: cast strings to (XtPointer)
	* EmacsFrame.c: cast strings to (XtPointer)
	- mega patch
	- rewrite basic lisp functions for speed
	- rewrite bytecode interpreter for speed
	- rewrite list looping constructs for speed and safety using
	  tortoise/hare.
	- use size_t where appropriate.
	- new hashtable implementation
	- cleanup implementation of opaques
	- opaques can now be purecopy'ed
	- move some cl functionality into C for speed.
	- remove last remaining VMS support
	- spelling fixes
	- improve gdb/dbx debugger support
	- move pure.c back into alloc.c for performance
	- enable report_pure_usage() if --memory-usage-stats
	- remove remnants of Energize support (EMACS_BTL, cadillac...)
	- don't use symbols with leading `_' or embedded `__'
	- globally cleanup duplicated semicolons `;;'
	- I give in on %p vs %lx - we use printf("%lx",(long) p)
	  globally.
	- globally replace O_NDELAY with O_NONBLOCK.
	- globally replace CDISABLE with _POSIX_VDISABLE.
	- use O_RDONLY and O_RDWR instead of magic `0' and `2'.
	- define (and maybe use!) STDERR_FILENO and friends.
	- add support for macros defined in C
	- `when', `unless', `not' and `defalias' now defined in C,
	  so that they are universally available.
	- rename defvar_mumble to defvar_magic
	- rename RETURN__ to RETURN_SANS_WARNINGS
	- use consistent style of initial caps in error messages
	- implement last, butlast, nbutlast, copy-list in C.
	- provide typedefs for all struct Lisp_foo types
	- Lisp_Objects must be initialized to Qnil rather than 0.
	- make sure XEmacs runs (slowly) with always_gc == 1;
	- fast and safe LOOP_* macros
	- change calls to XSETOBJ to XSETFOO
	- replace calls to XSETINT by make_int()
	- plug up memory leaks
	- use style markobj (foo), not silly ((markobj) (foo))
	- use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))

1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>

	* unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0

1998-11-28  SL Baur  <steve@altair.xemacs.org>

	* XEmacs 21.2-beta4 is released.

1998-11-27  SL Baur  <steve@altair.xemacs.org>

	* mule-charset.c (complex_vars_of_mule_charset): Fix graphic
	property in control-1 charset.
	From Julian Bradfield <jcb@daimi.au.dk>

1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* gui-x.c (button_item_to_widget_value): Ignore :key-sequence
	keyword.
	Add stub for :label.

	* gui.c (gui_item_add_keyval_pair): ditto.

	* menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
	:key-sequence keyword.
	Add stub for:label.
	Support :active for submenus like the Windows code and FSF Emacs.

1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (make_directory_hash_table): make_string() is OK because
	readdir() Mule-encapsulates.

1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fbase64_encode_string): Fix docstring.
	(Fbase64_decode_string): Ditto.

1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>

	* editfns.c (Ftranslate_region): Use
	convert_bufbyte_string_into_emchar_string().

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* editfns.c (Ftranslate_region): Accept vectors and char-tables as
	well as strings.
	(Ftranslate_region): Turn table into an array of Emchars for
	larger regions.

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* chartab.c (Freset_char_table): Fix wrong placement of #endif.

1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>

	* chartab.c (Freset_char_table): Don't blindly fill chartables of
	type `char' with nils.

	* chartab.c (canonicalize_char_table_value): Coerce ints to chars
	for tables of type `char'.

1998-11-26  Didier Verna  <didier@xemacs.org>

	* input-method-xlib.c (Initialize_Locale): don't call
	XtSetLanguageProc. We've done the whole work here.
	* input-method-xfs.c (Initialize_Locale): ditto.
	* input-method-motif.c (Initialize_Locale): ditto.

1998-11-26  Didier Verna  <didier@xemacs.org>

	* process-unix.c (unix_create_process): handle properly
	Vfile_name_coding_system for converting the program and directory
	names.

1998-11-27  SL Baur  <steve@altair.xemacs.org>

	* m/arm.h: New file.
	From James LewisMoss <dres@ioa.com>

1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>

	* m/mips-nec.h:
	Fix the realpath() problem of UnixWare2.1.3.
	Patches for NEC's sysv4.2 machine.

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (Fdirectory_files): Remove redundant code.

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (free_malloced_ptr): New function.
	(XMALLOC_OR_ALLOCA): New macro.
	(XMALLOC_UNBIND): Ditto.
	(Fbase64_encode_region): Use malloc() for large blocks; arrange it
	to be freed in case of non-local exit.
	(Fbase64_encode_string): Ditto.
	(Fbase64_decode_region): Ditto.
	(Fbase64_decode_string): Ditto.
	(STORE_BYTE): New macro.
	(base64_decode_1): Use it.

1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (base64_value_to_char): Base64 stuff.

1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>

	* editfns.c (Fbuffer_substring): New function.

	* lisp.h: Declare make_string_from_buffer_no_extents().

	* insdel.c (make_string_from_buffer_1): New function.
	(make_string_from_buffer_no_extents): Ditto.

1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
	sound work on AIX with OSS installed.  Linux should still work.

1998-11-03  Andy Piper  <andyp@parallax.co.uk>

	* config.h.in: name change for cygwin/version.h

	* configure.in: check for cygwin/version.h now.

	* cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
	CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
	move cygwin32/version.h to cygwin/version.h

1998-11-03  Olivier Galibert  <galibert@pobox.com>

	* lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
	int to long.

1998-10-22  Andy Piper  <andyp@parallax.co.uk>

	* cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
	CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
	enable BROKEN_SIGIO under b20 to make QUIT work.

1998-10-22  Andy Piper  <andyp@parallax.co.uk>

	* frame-msw.c (mswindows_size_frame_internal): force frame sizing
	to fit within the constraints of the screen size. I.e. make the
	frame small enough to fit and move it if some of it will be
	off-screen.

1998-10-19  Greg Klanderman  <greg@alphatech.com>

	* dired.c: conditionalize inclusion of user-name-completion
	primitives on non-Windows NT.  The needed functions don't exist on NT.

1998-11-24  SL Baur  <steve@altair.xemacs.org>

	* gifrlib.h: Clean up types for 64 bit compile.
	* dgif_lib.c (DGifInitRead): Ditto.
	(MakeSavedImage): Ditto.
	* emacs.c (decode_path): Ditto.
	From Steve Carney <carney@pa.dec.com>

1998-10-16  William M. Perry  <wmperry@aventail.com>

	* glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
	  (cehckboxes instead of checkboxes).

1998-10-15  SL Baur  <steve@altair.xemacs.org>

	* XEmacs 21.2-beta3 is released.

1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>

	* runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
	gnuclient.  Otherwise, we run xemacs as we always did.  This gets
	rid of the annoying DOS window when running gnuclient.

1998-10-13  Andy Piper  <andyp@parallax.co.uk>

	* dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
	HAVE_MS_WINDOWS typo.

1998-10-13  SL Baur  <steve@altair.xemacs.org>

	* process-unix.c (unix_send_process): Set closed flag on writable
	pipe after SIGPIPE is received and before we call deactivate_process.

1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* window.c (Fset_window_start): respect narrowing when
	checking wheter start is at the beginning of a line.
	(Fset_window_buffer): Ditto
	Fixes repeatable crash in VM.

1998-10-09  SL Baur  <steve@altair.xemacs.org>

	* window.c (specifier_vars_of_window): Set default vertical
	divider width to 1 on ttys.

1998-10-08  Martin Buchholz  <martin@xemacs.org>

	* alloc.c:
	* unexec.c:
	* malloc.c:
	Add <stddef.h> to get ptrdiff_t declaration

1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* scrollbar-msw.c: Use the same vertical scrollbar drag hack as
	  is used for Motif or Lucid scrollbars under X.

1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>

	* m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
	`configure'

1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>

	* frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.

1998-10-05  Andy Piper  <andyp@parallax.co.uk>

	* s/cygwin32.h: more cygwin b20 reorganisation.

1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>

	* nas.c: Added necessary support functions to be able to handle
	WAVE files in memory, just like the support for SND files in
	memory.

1998-09-30  SL Baur  <steve@altair.xemacs.org>

	* callproc.c (child_setup): Fix spelling typo.

1998-09-29  SL Baur  <steve@altair.xemacs.org>

	* XEmacs 21.2-beta2 is released.

1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>

	* regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
	to prevent memory corruption in the case of jumping out of a series of
	nested match patterns. This is a rather brute force approach, though.

1998-09-02  Andy Piper  <andyp@parallax.co.uk>

	* config.h.in: ditto.

	* s/cygwin32.h: rearrange declarations to cope with cygwin
 	b20. Include cygwin32/version.h if it exists.

1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* device-msw.c (mswindows_init_device): Call new
	  mswindows_enumerate_fonts() function in objects-msw.c instead
	  of font_enum_callback_1() to enumerate fonts.

	  font_enum_callback_1() and _2() moved to objects-msw.c.

	* faces.c (complex_vars_of_faces): Make the mswindows default
	  face font fully specified and provide some fallbacks.

	* objects-msw.c: font_enum_callback_1() and _2() moved here
	  from objects-msw.c. Obtain the enumerated font's character
	  sets by table lookup instead of using the locale-specific
	  string provided by Windows.

	  New public non-method mswindows_enumerate_fonts() that fills
	  in the supplied mswindows device's font list.

	  mswindows_initialize_font_instance: Use the supplied name
	  variable instead of f->name when signalling errors. Match font
	  weights and character sets using lookup tables which handle
	  spaces instead of by frobbing.

1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
	  on the size of code fragments passed to run_in_other_process.

	  run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
	  the amount of memory to allocate in the other process.

	  Removed sigkill_code_end(), sigint_code_end() and
	  sig_enable_code_end() since they are now redundant.

	  send_signal() and enable_child_signals(): Don't try to work
	  out the end of the code fragments passed to
	  run_in_other_process()

1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>

	* src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
	FreeBSD-current.

	* src/unexelf.c: Partially synched with FSF's 20.3.

1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (signal_after_change): Map across indirect buffers
	here, and not in the upper-level functions.
	(signal_first_change): Don't check for Armageddon.
	(signal_before_change): Map across indirect buffers here.
	(prepare_to_modify_buffer): ...and here.

1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (signal_after_change): Add return value.
	(buffer_insert_string_1): Use it.
	(buffer_delete_range): Ditto.
	(buffer_replace_char): Ditto.
	(cancel_multiple_change): Map the indirect buffers.

1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
	(uninit_buffer_text): Ditto.

	* buffer.c (Fmake_indirect_buffer): Implement stricter
	error-checking.

1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (change_function_restore): Reverse order of
	function-call and assignment.
	(first_change_hook_restore): Ditto.

	* extents.c (mark_extent_auxiliary): Mark them.
	(Fset_extent_property): Set them.
	(Fextent_property): Get them.
	(Fextent_properties): Ditto.
	(vars_of_extents): Set their default.

	* extents.h (struct extent_auxiliary): Add before_change_functions
	and after_change_functions.

	* insdel.c (signal_before_change): Use it.
	(signal_after_change): Ditto.

	* extents.c (report_extent_modification): New function.

	* insdel.c (signal_before_change): Don't check for Armageddon.
	(signal_after_change): Ditto.

1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>

	* redisplay.c (redisplay_window): make sure a new starting point
	is chosen if it somehow got moved from the beginning of the line
	-- this can happen because Fwiden was called recently.

	* window.c (Fset_window_start): set start_at_line_beg correctly
	(Fset_window_buffer): Ditto

1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
	(uninit_buffer_text): Ditto.

	* buffer.c (Fmake_indirect_buffer): Implement stricter
	error-checking.

1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* emacs.c (main_1): Removed references to *vars_of_filelock.

	* lisp.h: Added Fsystem_name.

	* filelock.c: Replaced by version from FSF 20.2. Now implements
	locking by using symlinks which is NFS safe. However keep the
	GCPRO's in lock_file and the calls to callx_in_buffer like our old
	version (and of course use ansi C, acessor macros, etc).

1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* process-unix.c (unix_create_process): Reset SIGHUP handler to
	SIG_DFL. We now try to conserve any inherted SIG_IGN settings
	in init_signals_very_early. However these should not be passed
	on to children attached to the new pty.

1998-08-28  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.

1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* fileio.c (file-name-directory, file_name_as_directory):
	  Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.

1998-09-02  Andy Piper  <andyp@parallax.co.uk>

	* emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC

	* ralloc.c: uncomment __morecore.

1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c(winsock_writer): Supply a dummy 4th argument to
	  WriteFile() to fix a winsock 1.x bug on Win95.

1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>

	* event-Xt.c (emacs_Xt_mapping_action): Check for device being
 	deleted.
	(x_event_to_emacs_event): Ditto.
	(emacs_Xt_handle_focus_event): Ditto.
	(emacs_Xt_handle_magic_event): Ditto.

	* console-x.h (struct x_device): New flag being_deleted.
	(DEVICE_X_BEING_DELETED): New macro.

	* device-x.c (x_IO_error_handler): Throw to top-level instead of
	returning.  Before doing that, set the being_deleted flag on the
	device.

1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>

	* device-x.c (x-seppuku-on-epipe): Removed.

1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>

	* frame-x.c (x_delete_frame): Flush the X output buffer after
	calling XtDestroyWidget to ensure that the windows are really
	killed right now.

1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>

	* menubar-x.c (my_run_hook): New unused function.
	(pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
	since we ignore the results of the contained functions anyway.

1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>

	* glyphs-eimage.c (gif_instantiate): Fix a crash in handling
	interlaced GIF files that are smaller than 4 lines high...

1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>

	* buffer.c (map_over_sharing_buffers): Deleted.

	* insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.

	* buffer.c (Fkill_buffer): Keep indirect_children updated while
	killing them.

1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (buffer_insert_string_1): Advance the point bytind in
	all the buffers.
	(buffer_delete_range): Ditto.

	* marker.c (init_buffer_markers): Set point-marker to the value of
	point in an indirect buffer.

1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>

	* undo.c (undo_prelude): Test last-undo-buffer against base
 	buffer.

	* insdel.c (MAP_INDIRECT_BUFFERS): Use it.

	* buffer.h (BUFFER_BASE_BUFFER): New macro.

1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (init_buffer_text): Initialize it here.

	* line-number.c: Address line_number_cache through buffer->text.

	* buffer.c (mark_buffer): Mark line number cache.

	* bufslots.h (line_number_cache): Move to struct buffer_text.

	* insdel.c (buffer_insert_string_1): Propagate signals and changes
	across the children buffers.
	(buffer_delete_range): Ditto.
	(buffer_replace_char): Ditto.
	(gap_left): Ditto.
	(gap_right): Ditto.

	* insdel.c (MAP_INDIRECT_BUFFERS): New macro.

	* buffer.c (Fmake_indirect_buffer): Uncomment.

1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>

	* macros.c (Fend_kbd_macro): Remove trailing period from error
	message.
	(Fexecute_kbd_macro): Ditto.

1998-08-21  Greg Klanderman  <greg@alphatech.com>

	* dired.c (Fuser_name_completion): remove optional 2nd argument.
	(Fuser_name_completion_1): new function to return uniqueness
	indication in addition to the user name completion.
	(user_name_completion): change type of `uniq' argument.

1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* lread.c (vars_of_lread): Removed `source-directory' variable.

1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
	Cygwin.

1998-08-19  SL Baur  <steve@altair.xemacs.org>

	* dired.c (vars_of_dired): Fix misapplied patch.

1998-08-16  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Fremrassq, remrassq_no_quit):
	A XCAR that should have been an XCDR turned Fremrassq into Fremassq

1998-07-17  Didier Verna  <didier@xemacs.org>

	* redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
	style as foreground GC for faces that have the `dim' property.
	(x_output_string): when the `dim' face property is set,
	ensure the gray pixmap has been created, and get a proper
	foreground GC to draw the text.

1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
	  Manually track the state of the left and right Ctrl and Alt
	  modifiers.

1998-08-07 Matt Stupple <matts@tibco.com>

	* ntproc.c: don't wait on char_consumed at thread entry.
	Additionally, to get the 'process' marked as finished, ensure
	that the CHILD_ACTIVE macro returns false, so before exiting
	close char_avail and set it to NULL, and close other handles
	to reduce handle leak problems.

1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* menubar-msw.c (displayable_menu_item): take account of menu
	  depth when deciding whether to try to display accelerators.

1998-08-04  Andy Piper  <andyp@parallax.co.uk>

	* event-msw.c: use MsgWaitForMultipleObjects if there are no
	subprocesses.

	* glyphs-msw.c: fix a couple of potential handle leaks.

1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>

	* dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
	  *decoding ONLY* back into the core.
	* glyphs-eimage.c: Change referenced header file for GIF
	  reading to point to the incore version.

1998-07-20  Martin Buchholz  <martin@xemacs.org>

	* casefiddle.c (casify_object):
	Change algorithm from O(N**2) to O(N).
	Code cleanup.
	Doc string cleanup.

1998-07-22  Greg Klanderman  <greg@alphatech.com>

	* dired.c (file_name_completion_unwind): don't leak the cons.

1998-07-20  Greg Klanderman  <greg@alphatech.com>

	* dired.c (Fuser_name_completion): new function.
	(Fuser_name_all_completions): new function.
	(user_name_completion): new function.
	(syms_of_dired): 2 new DEFSUBRs.
	(vars_of_dired): initialize user name cache vars.

1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>

	* glyphs-eimage.c (png_instantiate): Add proper handling for background
 	colors taken from the default face.  Also correct a thinko in
	transparency (not alpha) handling.

1998-07-23  Martin Buchholz  <martin@xemacs.org>

	* s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
	* unexalpha.c: ANSI C-ize.  Clean compiler warnings.
	* lread.c (Fload_internal):  Be very careful with printfs of
	size_t's
	* gui-x.c (menu_name_to_accelerator): tolower wants an `int'
	argument.

1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>

	* callint.c (Fcall_interactively): GCPRO prompt string before
	passing it to Fread_key_sequence

1998-07-27  SL Baur  <steve@altair.xemacs.org>

	* keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
	Vvertical_divider_map.

	* mule-canna.c (vars_of_mule_canna): Initialize every symbol to
	Qnil or 0, none were initialized prior to this change.

	Rename misnamed `V' prefixed integer variables:
	Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
	Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
	Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
	Vcanna_ichiran_revLen.

	Rename misnamed `V' prefixed integer variables and initialize
	properly in the vars_of routine.
	Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
	Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
	Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
	Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
	Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
	Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
	Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
	Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
	Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
	Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
	Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
	Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
	Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
	Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
	Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
	Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
	Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
	Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
	Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
	Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
	Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
	Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
	Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
	Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
	Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
	Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
	Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
	Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
	Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
	Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
	Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
	Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
	Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
	Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
	Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
	Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
	Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
	Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
	Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
	Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
	Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
	Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
	Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
	Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
	Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
	Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down

1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
	(x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
	keys thus no longer considering all keysyms on a key.

1998-07-19  SL Baur  <steve@altair.xemacs.org>

	* XEmacs 21.2-beta1 is released.

1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (Fldap_search_internal): When converting the list of
	attributes to search Copy the final 0 from Lisp strings to C
	strings.
	Check base, not Vldap_default_base as a a string

1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* nt.c: Remove Vstdio_str; already defined in console-stream.c.

	* unexnt.c: Unconditionally define bss_start and bss_size, and
	  ensure that they don't go in the .bss section.

1998-07-17  Olivier Galibert  <galibert@pobox.com>

	* glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
	byte order is dependant  of  the local  byte order).
	From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>

1998-07-18  SL Baur  <steve@altair.xemacs.org>

	* glyphs-msw.c (mswindows_resource_normalize): Qresource ->
	Qmswindows_resource.
	From Jonathan Harris <jhar@tardis.ed.ac.uk>

1998-07-12  SL Baur  <steve@altair.xemacs.org>

	* general.c (syms_of_general): Add defsymbol for Qresource.

	* glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
	Qmswindows_resource.
	(TopLevel): Rename 'resource image format to 'mswindows_resource.
	(mswindows_resource_validate): Rename.
	(mswindows_resource_normalize): Rename.
	(mswindows_resource_possible_dest_types): Rename.
	(mswindows_resource_instantiate): Rename.
	(image_instantiator_format_create_glyphs_mswindows): Replace
	`resource' with `mswindows.resource'.

	* XEmacs 21.0-pre5 is released.

1998-07-10  SL Baur  <steve@altair.xemacs.org>

	* mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
	server type in environment.
	Use alloca-ed strings instead of tiny fixed size ones.

1998-07-09  SL Baur  <steve@altair.xemacs.org>

	* XEmacs 21.0-pre4 is released.

1998-07-01  James N. Potts  <jnpotts@plutonium.net>

	* fileio.c: (expand_file_name): under win32: Don't treat names
	as UNC names if a drive letter has been specified.  If a drive
	has been specified, strip out extra directory-separators that
	reportedly cause problems under Win95.

1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
	  MSVC >= 5.0. Put emacs init and zero-init data in a special
	  section of the executable when this is defined.

	* unexnt.c, ntheap.h:
	  Removed unused find_section() and get_section_size().

	* unexnt.c:
	  Fix up the executable's checksum after dumping otherwise the
	  profiler complains.
	  When DUMP_SEPARATE_SECTION is defined, don't need to dump
	  zero-init data separately from init data. Dump emacs data
	  into a special section of the executable.
	  When DUMP_SEPARATE_SECTION not defined, dump .bss up to
	  my_ebss instead of up to the end of bss.

1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* filelock.c: Removed Vconfigure_lock_directory - already
	  defined in emacs.c.

	* frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
	  defined in frame.c and general.c respectively.

	* glyphs-msw.c: Removed Qresource - already defined in
	  general.c.

1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (Fldap_search_internal): Docstring fixes

1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
	  EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
	  EMACSPACKAGEPATH and INFOPATH variables.
	  Removed unused get_emacs_configuration function.

	* s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
	  it is now defined at build-time by the makefile.

1998-07-01  James N. Potts  <jnpotts@plutonium.net>

	* fileio.c: (expand_file_name): under win32: Don't treat names as
	UNC names if a drive letter has been specified.  If a drive has
	been specified, strip out extra directory-separators that
	reportedly cause problems under Win95.

1998-07-05  Andy Piper  <andyp@parallax.co.uk>

	* faces.c (complex_vars_of_faces): for the gui-element face don't
	fallback to the default face, instead provide reasonable default
	fallbacks that were previously hardcoded elsewhere.

1998-07-06  Olivier Galibert  <galibert@pobox.com>

	* glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
	when the X server endianness is different than the client's one.

1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>

	* eval.c (run_hook_with_args_in_buffer): Check
	  default (non-buffer-local) value of hook for
	  nil before treating it as a function.  Don't initialize
	  the `globals' variable twice.

1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* fileio.c: Don't do directory separator canonicalisation in
	  substitute-in-file-name because we don't know that the
	  filename refers to a local file.

1998-06-24  Adrian Aichner  <adrian@xemacs.org>

	* process-nt.c (nt_create_process): Try appending the standard
	  executable file extensions to the filename if none supplied.

1998-06-29  SL Baur  <steve@altair.xemacs.org>

	* fileio.c (Fsubstitute_in_file_name): Enable double slash notation
	for cygwin32.
	From Keisuke Mori <ksk@ntts.com>

1998-06-24  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c (mswindows_output_toolbar): only enable masked
	images if we have masks. This handles the xbm case (have masks)
	and avoids overuse of resources in the xpm case (generally no masks).
	Don't output small toolbars.

1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>

	* eval.c (run_hook_with_args_in_buffer): Don't treat
	  the default value of a buffer local hook as a list of
	  hooks unless it is both a cons and the car of that cons
	  is not Qlambda.

1998-06-29  SL Baur  <steve@altair.xemacs.org>

	* extents.c: Email address for Ben Wing is ben@xemacs.org.
	* process-unix.c: Ditto.
	* mule-coding.h: Ditto.
	* mule-coding.c: Ditto.
	* mule-charset.c: Ditto.
	* mule-charset.h: Ditto.
	* file-coding.c: Ditto.
	* file-coding.h: Ditto.

1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c: Guard against recursion when freeing
	  FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.

	* frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
	  Call ShowWindow twice in init_frame_3 to get round runemacs
	  weirdness.

1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>

	* scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.

	* winslots.h: Rename.

	* window.c (specifier_vars_of_window): Renamed
	vertical-divider-draggable-p to vertical-divider-always-visible-p,
	as suggested by Ben Wing.
	(specifier_vars_of_window): Fix docstrings.

1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* unexaix.c: Line number information works correctly again.

1998-06-22  Olivier Galibert  <galibert@pobox.com>

	* emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.

1998-06-21  Martin Buchholz  <martin@xemacs.org>

	* editfns.c (get_home_directory): ANSIfy.
	XEmacs is compilable under C *and* C++.
	It's XEmacs, not Xemacs!

1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* console-msw.h: added a list of fonts to device data.

	* device-msw.c: enumerate list of available fonts in
	  mswindows_init_device. Free list in mswindows_delete_device.

	* objects-msw.c: Added helper function match_font used by
	  mswindows_initialize_font_instance and mswindows_list_fonts.
	  Allow a charset to be specified in a font string, even if
	  previous fields haven't been specified.

1998-06-23  Greg Klanderman  <greg@alphatech.com>

	* indent.c (column_at_point): column cache bugfix.
	Set last_known_column_point to the buffer position for
	which the column was requested, not buffer's point.

	* redisplay.c (decode_mode_spec): for current-column, show
	window's point's column, not buffer's point's column.

1998-06-23  Andy Piper  <andyp@parallax.co.uk>

	* menubar-msw.c (mswindows_handle_wm_command): use
	enqueue_misc_user event rather than
	mswindows_enqueue_msic_user_event to fix customize problems. Add some
	checks that X does.

	* console-msw.h: declare mswindows_enqueue_magic_event.

	* event-msw.c (mswindows_enqueue_magic_event): make global.

1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>

	* line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
	(buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
	(add_position_to_cache): Use EMACS_INT instead of int.

1998-06-21  Olivier Galibert  <galibert@pobox.com>

	* lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
	suitable for an int used as a boolean (btw, C sucks.).

1998-06-18  Andy Piper  <andyp@parallax.co.uk>

	* object-msw.c: remove warnings.

	* device-msw.c: #define wrongly named cygwin structure elements.

	* s/cygwin32.h: define DEMI_BOLD

1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* redisplay-msw.c: new function mswindows_apply_face_effects.
	  This is called by output_string and output_cursor to display
	  underline and strikeout on faces.

1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* console-msw.h: added a list of fonts to device data.

	* device-msw.c: enumerate list of available fonts in
	  mswindows_init_device. Free list in mswindows_delete_device.

	* objects-msw.c: Added helper function match_font used by
	  mswindows_initialize_font_instance and mswindows_list_fonts.
	  Allow a charset to be specified in a font string, even if
	  previous fields haven't been specified.

1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* objects-msw.c:
	  Removed compilation warnings from mswindows_string_to_color.
	  mswindows_list_fonts returns a more general bogus font.
	  New lisp-visible function mswindows-color-list.

1998-06-19  David Bush <david.bush@adn.alcatel.com>

	* editfns.c (Fuser_login_name): Modify to user new function
	user_login_name.
	(user_login_name): C only function to avoid Lisp object overhead
	Returns "unknown" instead of nil in Cygwin environment

	* fileio.c (Fexpand_file_name): Treat "~" and "~user" as
	equivalent for current user in Cygwin environment. Use new
	function user_login_name to get username.

	* lisp.h: Declare user_login_name

1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* unexaix.c (make_hdr): Fixed bias computations so debugging info
	works again.
	Some other insignificant nitpicks.

1998-06-18  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
	creating the image list and make sure he bk color is transparent.

1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
	completed_timeouts. The timer could have expired.

1998-06-17  Andy Piper  <andyp@parallax.co.uk>

	* console-msw.h: move XEMACS_RECT_WH inside frame
	parameters. define macors to access it.

	* frame-msw.c (mswindows_init_frame_1): use new target_rect
	parameter to initialize desired sizing. (mswindows_init_frame_2):
	enable and size the frame to something sensible when we get
	here. (mswindows_set_frame_properites): use new
	mswindows_size_frame_internal function and size frame if frame
	parameters not just if init is finished - WM_SIZE happens too
	early for some specs. (mswindows_size_frame_internal): new
	function abstracted from mswindows_set_frame_properties.
	(Vmswindows_use_system_frame_size_defaults):
	new variable controls whether to allow the system to pick frame
	size defaults, defaults to nil.

	* event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
	than duplicated code.

1998-06-15  Colin Rafferty <colin@xemacs.org>

	* Makefile.in.in: Made EXTW_LINK expand properly.

1998-06-12  Martin Buchholz  <martin@xemacs.org>

	* redisplay.c (vars_of_redisplay): default value of
	column-number-start-at-one should be NIL!

1998-06-11  Martin Buchholz  <martin@xemacs.org>

	* casefiddle.c:
	(upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"

1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>

	* eldap.c (Fldap_search_internal): Use build_ext_string instead of
	build_string to avoid crashes under Mule.

1998-06-13  Andy Piper  <andyp@parallax.co.uk>

	* ntplay.c (play_sound_data_1): don't delete the sound data until
	the next sound is played and the previous one finished.

1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>

	* fileio.c (directory-sep-char): Escape backslashes.

1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>

	* event-stream.c: Fix docstring reference.

1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>

	* alloc.c (make_float): Remove useless initialization of `next'
 	field.
	(make_pure_float): Ditto.

	* lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.

1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>

	* fileio.c (Fmake_directory_internal): Remove conditionals
	on WINDOWSNT when calling mkdir.

	* ntproc.c: Deleted the following unused functions:
	register_child, reap_subprocess, sys_wait.

	* nt.c (sys_rename): Ifzeroed this implementation.
	Deleted the following unused functions:
	sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
	sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
	sys_read, sys_write.
	Merger sys_fopen and sys_open with sysdep.c implementation.

	* sysdep.c: Removed MS-DOS code.
	(sys_rename): Deal with Microsoft rename weirdness.
	(sys_open): Implemented for Windows.
	(sys_fopen): Ditto.
	(sys_mkdir): Ditto.

1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>

	* buffer.c (complex_vars_of_buffer): Removed %t description from
	the docstring.

1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>

	* scrollbar-msw.c: initialize the cbSize element of the
	SCROLLINFO struct before calling SetScrollInfo. WinNT seems
	to ignore the value of cbSize, but Win95 (and I presume Win98)
	appear to want it set to sizeof(SCROLLINFO).

1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-stream.c: Defined Qcancel_mode_internal.
	(syms_of_event_stream): defsymbol'ed it.

	* events.h: Externed it.

	* event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.

1998-06-04  Oliver Graf <ograf@fga.de>

	* frame-x.c (x_cde_destroy_callback): free the data
	(cde-start-drag-internal) corrected root position, 21.1 needs this
	hardcoded in Button events
	(offix-start-drag-internal) corrected root position

1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>

	* process-nt.c (signal_cannot_launch): Use signal_simple_error()
	instead of error().

1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>

	* dialog-msw.c (button_width): Removed `inline' from the function
	declaration.

1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>

	* frame-msw.c: add WS_VISIBLE flag to the first frame created.
	Note that adding this flag to subsequent frames causes problems.

1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>

	* glyphs-eimage.c (png_instantiate) move 'struct
	png_memory_storage tbr' out of nested block to avoid dangling
	reference

1998-06-02  Andy Piper  <andyp@parallax.co.uk>

	* faces.h:
	* faces.c: rename 3d-object -> gui-element. add toolbar face which
	inherits from gui-element.

	* glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
	with existing code, generate masks correctly.

1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-eimage.c: Changed included header for gifs to use
	Gifreader instead of giflib.

	* glyphs-x.c: removed the image-related functions that were
	moved into glyphs-eimage.

1998-06-02  David Bush  <david.bush@adnb.alcatel.com>

	* glyphs.c (bitmap_to_lisp_data) Define XFree to be free
	if built without X Windows support.

1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fconcat): Synch docstring with new reality.

1998-06-03  SL Baur  <steve@altair.xemacs.org>

	* frame.c: Remove reference to msdos.h (which is going away).
	Suggested by Hrvoje Niksic and Kirill Katsnelson.

1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-eimage.c (jpeg_instantiate): Fix handling of
	grayscale images/


1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>

	* events.h: Fixed commentary about misc-user scrollbar events.

	* scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
	object as an event channel, instead of window object.
	(x_update_horizontal_scrollbar_callback): Ditto.

1998-05-29  Andy Piper  <andyp@parallax.co.uk>

	* ntplay.c (play_sound_data_1) new function. convert alloca data
	to malloc if necessary.
	(play_sound_file): if the file is not in our path then convert to
	data and play.

1998-06-01  SL Baur  <steve@altair.xemacs.org>

	* mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
	* msdos.c (Frecent_doskeys): Ditto.

	* unexalpha.c (unexec): Reverse parameters in call to memcpy.
	Suggested by Reggie Perry <perry@zso.dec.com>

	* buffer.h: Eliminate size in declaration.

1998-06-01  Olivier Galibert  <galibert@pobox.com>

	* unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.

1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* gui.c (gui_item_init): Changed the default value for config member
	from Qunbound to Qnil.

1998-06-01  Greg Klanderman  <greg@alphatech.com>

	* indent.c (vmotion_pixels): Don't #define abs().

1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>

	* s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
	respectively.

1998-05-30  Andy Piper  <andyp@parallax.co.uk>

	* glyphs.h: add xbm declarations.

	* console.h: add xbm_instantiate_method device method.

	* glyphs.c (check_valid_xbm_inline) (xbm_validate)
	(bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
	(xbm_possible_dest_types): moved here from glyphs-x.c. use
	locate_pixmap_file device method and read_bitmap_data_from_file
	instead of XmuReadBitmapDataFromFile.
	(xbm_instatntiate): make a device method.

	* glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
	new function that just calls XmuReadBitmapDataFromFile.
	(x_xbm_instatntiate): device method from xbm_instantiate.

	* glyphs-msw.c (read_bitmap_data) (NextInt)
	(read_bitmap_data_from_file): new functions copied from Xmu
	sources.
	(xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
	inline data to an mswindows bitmap.
	(init_image_instance_from_xbm_inline) (xbm_instantiate_1)
	(mswindows_xbm_instantiate): mswindows-ized versions of the X
	functions.

1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>

	* window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
	`modeline-visible-p'.
	Declared specifier lisp variables at the beginning oh the file
	as static.

	* procimpl.h (struct process_methods): Changed semantics of
	create_process method so it accepts lisp strings instead of
	char pointers.

	* process.c (Fstart_process_internal): Moved building of
	unix style argv from here to process-unix.c, ...

	* process-unix.c (unix_create_process): ... right here.

	* process-nt.c (nt_create_process): Changed this function to
	support new semantics, so avoided a GC problem.

	* events.c (Fmake_event): Document misc-user events properties.
	(Fmake_event): Do not allow arbitrary objects for channel property
	of misc-user events.
	(Fmake_event): Change misc-user event validation: it is function
	which is required, not button.

	* event-msw.c (mswindows_user_event_p): Recognize misc user events as
	user events.
	(mswindows_enqueue_misc_user_event): Added function.
	(mswindows_bump_queue): Removed function.
	(mswindows_enqueue_magic_event): Support NULL HWND parameter.
	(mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
	(mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
	(emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
	really nothing, which is my personal favorite thing.

	* console-msw.h: Removed prototype for mswindows_bump_queue().
	Added prototype for mswindows_enqueue_misc_user_event().

	* menubar-msw.c (mswindows_handle_wm_command): Use
	mswindows_enqueue_misc_user_event().

	* toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.

	* dialog-msw.c (dialog_proc): Ditto.

	* scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
	 (mswindows_handle_scrollbar_event): Use frame, not window, for misc
	user events channel.

1998-05-29  Greg Klanderman  <greg@alphatech.com>

	* window.c (Fwindow_displayed_text_pixel_height): was relying on
	incorrect semantics of vmotion_pixels which has been fixed.  don't
	use it anymore as it can't easily be used.

	* indent.c (vmotion_pixels): fix off by one bug moving up.  also
	the motion was reported incorrectly if you tried to go past end of
	buffer.

1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>

	* toolbar.h: Removed misleading commentary, as Martin suggested.

1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>

	* lisp.h: Extern Qactivate_menubar_hook.

	* menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
	run_hook ().

1998-05-29  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c: use BPLINE macro.

	* select-msw.c (mswindows-selection-exists-p)
	(mswindows-delete-selection): doc string fixes.

	* toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
	unpressable. warning elimination.

1998-05-28  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (dbg_constants):
	* dbxrc:
	* gdbinit:
	Remove toolbar_data debugging code, since that lrecord has
	also been removed.

Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>

	* alloc.c: zap cached value of (user-home-directory), so that
	  it's not undumped.

	* buffer.c: From init_buffer(), separated out code that
	  determined the initial directory for the *scratch* buffer, and
	  put them into a function called "init_initial_directory()".
	  The initial directory is now available as a global "char *"
	  called initial_directory.

	* buffer.h: Added extern entries for initial_directory[] and
	  init_initial_directory().

	* editfns.c: added new elisp function "user-home-directory",
	which basically returns getenv("HOME"), but attempts to use
	other values if $HOME isn't set.This may have to be tweaked in
	the future as, under Unix, "/" is used if $HOME isn't set (this
	probably should be set to the current directory).  To support
	this, a new C function, "get_home_directory()", now exists,
	which returns the "home directory", as a "char *" string.

	* emacs.c: Rearrange NT initialization order so that
	environment/registry variables will be properly entered into
	Vprocess_environment.

	* fileio.c: replaced egetenv("HOME") with calls to the new
	  get_home_directory().

	* lisp.h: Added function prototypes for uncache_home_directory()
	  and get_home_directory(), along with lisp prototypes for
	  Fuser_home_directory() and friends.

	* nt.c: replaced getenv("HOME") with calls to the new
	  get_home_directory().

	* sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
	  warnings about getcwd(), etc. not having prototypes.

1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>

	* process-nt.c (send_signal): Emulate SIGHUP.
	(validate_signal_number): Ditto.

	* event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
	remove MOD_SHIFT from ASCII characters.
	(mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
	F10 is pressed.

1998-05-24  Oliver Graf <ograf@fga.de>

	* frame-x.c (cde-start-drag-internal): added filename and multi-
	data transfers
	(x_cde_convert_callback) dito

1998-05-26  Oliver Graf <ograf@fga.de>

	* frame-x.c: include event-mod.h also with CDE
	(x_cde_convert_callback) made the thing working
	(cde-start-drag-internal) also debugging

1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>

	* m/sparc.h:
	* getloadavg.c:
	* malloc.c:
	* unexec.c:
	* mem-limits.h:
	  - add __OpenBSD__ where __NetBSD__ was found.
	  - TODO: replace platform-specific conditional compilation by
	    feature tests in configure.in.

1998-05-15  Greg Klanderman  <greg@alphatech.com>

	* window.c (Fwindow_displayed_text_pixel_height): New function.
	(syms_of_window): DEFSUBR it.

	* indent.c (Fvertical_motion_pixels): New function - request
	movement in pixels.
	(vmotion_pixels): helper.
	(syms_of_indent): DEFSUBR.
	* lisp.h: declaration for vmotion_pixels().

	* indent.c (Fvertical_motion): Add optional third argument PIXELS,
	to request returning motion in pixels.
	(Fvertical_motion_pixels): Remove, functionality merged into
	Fvertical_motion.
 	* window.c (window_scroll): call Fvertical_motion with 3 arguments.
	(Fmove_to_window_line): ditto.
	* lisp.h: Change declaration for Fvertical_motion.

	* window.c: rename window-text-pixel-{height,width,edges} to
	window-text-area-pixel-*.

1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>

	* tooltalk.c (vars_of_tooltalk) added staticpro for
	Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str

1998-05-27  Andy Piper  <andyp@parallax.co.uk>

	* faces.c: create a new 3d_object_face, make modeline and
	vertical_divider faces fallback to this rather than the default.

1998-05-21  Andy Piper  <andyp@parallax.co.uk>

	* s/cygwin32.h: define charsets for cygwin.

1998-05-25  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
	and coordinates. resize bitmaps if we have already settled on a
	different size.

	* glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.

1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>

	* toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.

	* menubar-msw.c (mswindows_handle_wm_command): Ditto.

	* gui.h: Ditto.

	* gui-x.c (popup_selection_callback): Ditto.

	* dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.

	* gui.c (get_callback): Renamed to get_gui_callback.

1998-05-17  Martin Buchholz  <martin@xemacs.org>

	* glyphs.h: order rearrangement.

	* device-tty.c (tty_asynch_device_change): Warning suppression.
	* device-x.c (x_device_system_metrics): Warning suppression.
	Make Doc strings consistent with coding standards.

1998-05-24  Martin Buchholz  <martin@xemacs.org>

	* general.c: multiple definition of `Qicon'.  general.c seems
	  like a good home for Qicon.

1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>

	* This patch is to fix compilation warnings under Windows.

	* s/windowsnt.h: Encapsulate getpid with sys_getpid.
	Added prototypes for FSF inherited functions, with which XEmacs is
	sprinkled thoroughly.
	Removed some #if 0 code. Bracketed some more definitions, probably
	related to Visual C versions prior to 4 (we do not support them).

	* sysfloat.h (logb): Finally, get logb() prototyped.

	* sysfile.h: Added Windows specific includes.
	Removed old Windows specific code bracketed with #if 0.

	* sysdep.h: Added prototype for xrealpath().

	* sysdep.c (sys_getpid): Added function, to support '95 negative pids.

	* symsinit.h: Added prototypes for syms_of_dired_mswindows,
	vars_of_dired_mswindows and init_ntproc (Grrr).

	* realpath.c: Added Windows specific include files.
	(xrealpath): Conditionalized declaration of some auto variables on
	S_IFLNK, to avoid warnings.

	* ntproc.c: Disabled some compiler warnings. This file is going to
	die, so I have not cleaned it up much.
	(set_process_dir): Const parameter.
	(Fwin32_short_file_name): Down CHECK_* macros to one argument.
	(Fwin32_long_file_name): Ditto.
	(Fwin32_set_process_priority): Ditto. Why didn't I remove these
	three functions?

	* nt.h: Added prototypes for set_process_dir and convert_time.

	* nt.c: More include files.
	(getpwnam): Consted char* argument.
	(get_emacs_configuration): Const return value.
	(opendir): Const argument.
	(stat): Casted converstion long->short.
	(stat): Removed ad hoc and questionable support for non-MSC compile.
	(sys_pipe): Removed unused auto variable.
	(_sys_read_ahead): Removed calls to DebPrint.
	(sys_read): Ditto, in 2 places.
	(term_ntproc): Added unused int parameter to signal handler, to
	avoid a warning when compiling a call to signal().
	(msw_sigset): Properly return old signandler or NULL instead of void.

	* floatfns.c (Flogb): Casted arguments to unary minus to signed.

	* gmalloc.c (morecore): Ditto.
	(_free_internal): Ditto.

	* lread.c (parse_integer): Ditto.

	* dired-msw.c: Added several include files.

	* cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
	of Compilers to Shut Up.

	* callproc.c: Added #includes to suppress warnings under Windows.
	(init_callproc): Removed #if0'ed code and unused variables.

1998-05-25  Andy Piper  <andyp@parallax.co.uk>

	* device-msw.c (mswindows_device_system_metrics): do planes in a
	way consistent with X.

	* glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
	use SetPixel, use DIBits functions.
	(xpm_to_eimage): frob colors more closely like xpm deos.

	* toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
	to be closer to X version.

	* event-msw.c: use tooltip string directly.

	* redisplay-msw.c: reinstate Kirill's bg pixmap change.

	* objects-msw.c: frob rgb colors that only Kyle uses.

	* dialog-msw.c (button_width): INLINE -> inline.

1998-05-23  SL Baur  <steve@altair.xemacs.org>

	* getloadavg.c (getloadavg): Fix typo.

1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>

	* objects-msw.c (mswindows_initialize_font_instance): Added support
	for font character sets.
	Replaced 'XXX' with '####' in comments throughout the file.

1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>

	* emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
	console_type_create_dialog_mswindows(), to initialize Windows dialog
	support.

	* symsinit.h: Prototyped the above functions.

	* dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
	checks to dialog.c...

	* dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
	device must support dialog boxes, and the descriptor must supply at
	least one button.

	* dialog-msw.c: New file, dialogs for Windows.

1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c (ldap_search_unwind): Return Qnil instead of nothing
	(Fldap_search_internal): Removed unused variable `err'

	* eldap.h: Moved Lisp_LDAP declaration here instead of using a
	forward declaration

1998-05-17  Martin Buchholz  <martin@xemacs.org>

	* eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
	defined.  Therefore there is no need to handle the case when
	HAVE_LDAP is undefined.  Similarily, there is no reason to have
	any code wrapped within `#ifdef emacs', since this code is only
	useful within an emacs.  This simplifies the code significantly.

	* inline.c: Include eldap.h only if HAVE_LDAP.
	* inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
	already does that.

1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>

	* unexnt.c (copy_executable_and_dump_data_section): Suppress
	printing dump stats when building without DEBUG_XEMACS.
	(dump_bss_and_heap): Ditto.

1998-05-21  Andy Piper  <andyp@parallax.co.uk>

	* gnuclient.c: don't suppress window system if there is no display
	and we are running under mswindows. send 'mswindows device type if
	we are in this situation.

1998-05-20  Andy Piper  <andyp@parallax.co.uk>

	* general.c:
	* lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.

	* glyphs-msw.c: change cursor imgae type name to resource. Fix
	some nits.

1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>

	* EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
	{top,bottom}-{left,right} values in addition to
	{top,bottom}_{left,right}.

1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fmake_temp_name): Remove unreached code.

	* process-nt.c (validate_signal_number): Use
	signal_simple_error().

1998-05-19  Martin Buchholz  <martin@xemacs.org>

	* unexhp9k800.c:
	* sound.c (vars_of_sound):
	* sysdep.c (reset_sigio_on_device):
	* window.c (window_bottom_gutter_height):
	unexhp9k800.c:258: warning: implicit declaration of function
	`calculate_checksum'
	sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
	sysdep.c:1012: warning: unused variable `owner'
	window.c:993: warning: `window_right_toolbar_width' defined but not used

1998-05-19  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c (mswindows_create_resized_mask)
	(mswindows_create_resized_bitmap): new funnctions split out from
	mswindows_resize_dibitmap_instance.

	* glyphs-msw.h: declare new resize functions.

	* toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
	functions so that the original bitmaps are preserved.

	* sheap.c: fixup static heap exhausted error to avoid FAQs.

	* redisplay-msw.c (mswindows_output_blank): fixup brush from bg
	color if we are trying to output 0 depth bg pixmap.

	* scrollbar-msw.c: warning elimination.

1998-05-18  Martin Buchholz  <martin@xemacs.org>

	* frame-x.c (x_update_frame_external_traits): Start preprocessor
	directives in column 1.

	* search.c (skip_chars): Avoid using xzero with arrays, since some
	compilers get confused by the construct &array.

1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* objects-msw.h:
	* objects-msw.c: Changed the charset value for a new font from
	"don't care" to "ansi".

	* glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.

1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
	modifier on control chars.
	Use IsCharAlpha() instead of isaplha().

1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").

1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* objects-msw.c (mswindows_initialize_font_instance): Use ANSI
	charset when creating font.
	(mswindows_initialize_color_instance): Do not create brush along
	with a color.
	(mswindows_finalize_color_instance): Do not delete it then.

	* objects-msw.h (struct mswindows_color_instance_data): Removed
	brush slot, and corresponding accessor macro.

1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* toolbar.c: Removed toolbar_data lrecord implementation.
	(mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
	with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
	(compute_frame_toolbar_buttons): Ditto.
	(CHECK_TOOLBAR): Ditto.
	(set_frame_toolbar): Removed allocation of toolbar_data lrecord.
	(update_frame_toolbars): Do not check for changed buffer
	here. Toolbar information is provided by cached specs in
	windows. The check for buffer is eliminated because toolbars are
	marked changed in set_frame_selected_window() in frame.c
	Added check for changed toolbars geometry.
	(compute_frame_toolbars_data): Removed unused second parameter;
	Adjusted callers of this static function throughout the file.
	(init_frame_toolbars): Initialize current_toolbar_size.
	(update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
	what is its current expansion, for clarity.
	(init_frame_toolbars): Ditto.
	(init_device_toolbars): Ditto.
	(init_global_toolbars): Ditto.

	* toolbar.h: Removed definition of toolbar_data lrecord.
	Added accessor macros FRAME_TOOLBAR_BUTTONS and
	FRAME_CURRENT_TOOLBAR_SIZE.
	Added macro DEVICE_SUPPORTS_TOOLBARS_P.

	* toolbar-x.c (x_output_toolbar): The same change as in
	toolbar-msw.c
	(x_output_toolbar): Ditto.
	(x_redraw_exposed_toolbar): Ditto.

	* toolbar-msw.c (mswindows_output_toolbar): Retrieve current
	buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
	(mswindows_output_toolbar): Ditto.
	(mswindows_output_toolbar): Ditto.

	* frame.c (mark_frame): Removed marking of arrays, according to
	frameslots.h change.
	(nuke_all_frame_slots): Ditto.
	(set_frame_selected_window): Mark toolbars changed when
	last_nonminibuf_window changes.

	* frame.h (struct frame): Moved some slots to frameslots.h.
	Added current_toolbar_size array.
	Changed references from toolbar_data to toolbar_buttons in macros
	FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
	FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
	FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.

	* frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
	Moved arrays of lisp objects here from frame.h: toolbar_size,
	toolbar_visible_p, toolbar_border_width.
	Removed toolbar_data slot and added toolbar_buttons.

1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>

	* symsinit.h: Externed syms_of_process_nt()

	* emacs.c (main_1): Call syms_of_process_nt()

	* process-nt.c: Quote process arguments by a call to Lisp function
	`nt-quote-process-args'.
	(syms_of_process_nt): New function.
	(nt_send_process): Flush data stream after each write, to avoid
	leaving buffered data.
	(nt_send_process): When blocked on process output, wait for
	process to slurp more for progressively increasing time intervals.

1998-05-17  Martin Buchholz  <martin@xemacs.org>

	* window.c (have_undivided_common_edge): Make file-local function
	static.
	(map_windows): Return 0 if all map functions successful.
	Fix typos.

	* winslots.h: Use unlikely names for local variables in macros to
	avoid shadowing warnings.

1998-05-17  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
	so that we re-output if the toolbar size has changed.

1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.

	* s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.

	* unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
	greater).

1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>

	* glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
	get bitmap manifest constants defined.

	* console-msw.h: Include system files in angle brackets, not in
	quotes.

	* window.c (specifier_vars_of_window): Fixed a typo in
	`vertical-divider-line-width' docstirng.

1998-05-16  Olivier Galibert  <galibert@pobox.com>

	* line-number.c (delete_invalidate_line_number_cache): Use an
	EMACS_INT.
	(buffer_line_number): Remove dangerous, plain wrong when using
	64bits emacs ints, cast.

	* insdel.c (buffer_delete_range): Use an EMACS_INT.

	* cmds.c (Fforward_line): Use EMACS_INTs.

	* search.c (bi_scan_buffer): Change to use EMACS_INTs.
	(scan_buffer): Ditto.
	(bi_find_next_newline_no_quit): Remove useless cast.
	(find_next_newline_no_quit): Ditto.
	(find_next_newline): Ditto.
	(find_before_next_newline): Use an EMACS_INT.

	* lisp.h: Change scan_buffer to pass EMACS_INTs.

1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>

	* menubar-msw.c (mswindows_handle_wm_command): Ditto.

	* toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.

	* gui-x.c (popup_selection_callback): Use it.

	* gui.h (get_callback): Declare it.

	* gui.c (get_callback): New function.

1998-05-15  SL Baur  <steve@altair.xemacs.org>

	* window.c (have_undivided_common_edge): Guard scrollbar specific
	stuff.
	(window_needs_vertical_divider_1): Ditto.

1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>

	* emacs.c (decode_path): Eliminate compiler warning.
	(Fdecode_path): Renamed to Fsplit_path.
	(Fsplit_string_by_char): New function.

1998-05-14  Damon Lipparelli  <lipp@primus.com>

	* winslots.h: close comment

1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>

	* callproc.c: Removed declared and unused variable Qbuffer_file_type.

	* bufslots.h: Removed buffer_file_type slot.

	* buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
	buffer local flags.
	(complex_vars_of_buffer): Removed buffer-file-type variable and
	its default reference.

1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>

	* faces.c (complex_vars_of_faces): Defined
	Vvertical_divider_face.
	(vars_of_faces): Staticpro it.

	* faces.h: Externed Vvertical_divider_face.

	* redisplay-x.c (x_output_vertical_divider): Use
	Vvertical_divider_face to draw the divider instead of modeline
	face.

	* redisplay-msw.c (mswindows_output_vertical_divider): Draw
	divider face using Vvertical_divider_face background.
	Fix drawing spacing gaps around the divider.

1998-05-14  Didier Verna  <didier@xemacs.org>

	* redisplay-x.c (x_output_vertical_divider): removed hard-wired
	values for the vertical divider line width and spacing. Use the
	cached values from the window structure instead.
	(x_divider_width): ditto.

	* window.c (specifier_vars_of_window): new specifiers:
	vertical-divier -line-width and -spacing.
	(vertical_divider_global_width_changed): formerly known as
	vertical_divider_shadow_thickness_changed.

	* winslots.h: new slots: vertical_specifier _line_width and
	_spacing. Plus corrected a comment typo.

1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>

	* window.h: Declared window_divider_width().

	* console-stream.c (stream_divider_width): Removed method.
	(console_type_create_stream): And declaration for it.

	* redisplay.c (pixel_to_glyph_translation): Use
	window_divider_width() instead of divider_width redisplay method.
	(pixel_to_glyph_translation): Fix top divider edge calculation
	when scrollbar is on top.

	* window.c (window_divider_width): New function, an outphaser for
	divider_width redisplay method.
	(window_right_gutter_width): Use it.
	(specifier_vars_of_window): For	vertical-divider-{spacing,line-width}
	specifiers, set fallback values differently on TTYs, and document
	the behavior of these on TTYs in the docstrings.

	* scrollbar.c (update_scrollbar_instance): Use
	window_divider_width() instead of divider_width redisplay method.

	* console.h (struct console_methods): Removed divider_width_method.

	* redisplay-tty.c (tty_divider_width): Removed device method.
	(console_type_create_redisplay_tty): Removed definition for it.
	(tty_output_vertical_divider): Respect the value returned by
	window_divider_width thus divider line width specification.

	* redisplay-msw.c (mswindows_divider_width): Removed device method.
	(console_type_create_redisplay_mswindows): Removed definition for it.
	(mswinodws_output_vertical_divider): Respect the value returned by
	window_divider_width thus divider line width specification.

1998-05-15  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c: guess toolbar frame size a bit more accurately.

1998-05-15  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c: resource loading implementation.
	(cursor_normalize): new function.
	(cursor_validate): ditto.
	(cursor_instantiate): ditto.
	(cursor_name_to_resource): ditto.
	(cursor_possible_dest_types): ditto.
	(check_valid_symbol): ditto.
	(check_valid_string_or_int): ditto.

1998-05-14  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
	VINTR and VQUIT.

	* process-unix.c (process_signal_char): Use VSUSP instead of
	non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* specifier.c (specifier_instance): Change locale precedence of
	instantiation so window locale has higher priority than buffer
	locale.
	(Fspecifier_instance): Reflect this in docstring.
	(Fadd_spec_list_to_specifier): Ditto.
	(Fadd_spec_to_specifier): Ditto.
	(Fremove_specifier): Ditto.

1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>

	** Dialog separation into a device method from Andy Piper

	* emacs.c (main_1): Call console_type_create_dialog_x().

	* dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
	into this device method.
	(console_type_create_dialog_x): New function.

	* dialog.c (Fpopup_dialog_box): New function.
	(syms_of_dialog): Defsubr it.

	* console.h (struct console_methods): Declared
	popup_dialog_box_method().

	* symsinit.h: Defined console_type_create_dialog_{x,mswindows}

1998-05-14  Oliver Graf <ograf@fga.de>

	* dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
	* frame-x.c (x_cde_transfer_callback): checked for merge errors

1998-05-13  Oliver Graf <ograf@fga.de>

	* dragdrop.c (vars_of_dragdrop): provide dragdrop-api

1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>

	* console.h (device_metrics): Removed dbcs, input-method-editor
	and right-to-left metrics.

	* device.c (Fdevice_system_metric): Ditto.
	(Fdevice_system_metrics): Ditto.
	(syms_of_device): Ditto.
	(Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
	again.

1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>

	* line-number.h (mark_line_number_cache): Remove unused
	declaration.

	* line-number.c (LINE_NUMBER_FAR): Increase to 32768.
	(get_nearest_line_number): Simplify.
	(add_position_to_cache): Make the old marker point nowhere.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	** Renamed window-divider-map => vertical-divider-map
	and event-over-divider-p => event-over-vertical-divider-p,
	in the following files/functions:
	* events.h:
	* events.c (Fevent_over_divider_p):
	* keymap.c (get_relevant_keymaps):
	(vars_of_keymap):

	* redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.

	* redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* window.c (vertical_divider_changed_in_window): Renamed so.
	(specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
	(window_needs_vertical_divider_1): Decide whether we need it based
	on the value of the above specifier. If separators are unwanted,
	put them only if there's no scrollbar between this window and its
	right neighbor.
	(have_undivided_common_edge): New function, helper for the above.
	(window_needs_vertical_divider): Return either a cached value,
	or clauclate and cache one.
	(invalidate_vertical_divider_cache_in_window): Implemented.
	(map_windows): Changed return type to int, return the value from
	MAPFUN.

	* window.h: Prototype invalidate_vertical_divider_cache_in_window.
	(struct window): Added need_vertical_divider_p and
	need_vertical_divider_valid_p.

	* winslots.h: Added vertical_divider_draggable_p slot.

	* scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
	(specifier_vars_of_scrollbar): Used it in all vertical specifiers.

	* frame.c (invalidate_vertical_divider_cache_in_frame): New function.

	* frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
	invalidate_vertical_divider_cache_in_frame().
	Prototype it.

1998-05-14  Andy Piper  <andyp@parallax.co.uk>

	* toolbar-msw.c: provide correct parameters to TB_SETROWS.

	* glyphs-msw.c (mswindows_initialize_image_instance_mask): size
	masks correctly and don't select 0.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* winslots.h: New file, declaration of some struct window and
	struct saved_window members.

	* window.h (struct window): Include it, with required preprocessor
	magic.

	* window.c (mark_window): Ditto.
	(allocate_window): Ditto.
	(struct saved_window): Ditto.
	(mark_window_config): Ditto.
	(saved_window_equal): Ditto.
	(Fset_window_configuration): Ditto.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.

1998-05-12  Didier Verna  <didier@xemacs.org>

	* redisplay-x.c (x_output_vertical_divider): draw shadows around
	the divider line. The shadow thickness is currently
	hard-wired. This will probably be turned into a specifier soon.

1998-05-12  Didier Verna  <didier@xemacs.org>

	* console.h (struct console_methods): the divider_width console
	method now requires a struct window * argument.

	* redisplay-x.c (x_divider_width): ditto. Plus remove
	X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
	(x_output_vertical_divider): give a depressed look when the shadow
	thickness is negative.

	* console-stream.c (stream_divider_width): pass a struct window *
	argument.

	* redisplay-tty.c (tty_divider_width): ditto.

	* window.c (window_right_gutter_width): totdi.

	* redisplay.c (generate_modeline): ittod.

	* scrollbar.c (update_scrollbar_instance): ttido.

	* redisplay-msw.c (mswindows_divider_width): ottid.
	WARNING: this enables to compile, but the feature is not functional.

	* window.h (struct window): new field
	vertical_divider_shadow_thickness.

	* window.c (specifier_vars_of_window): new specifier
	vertical-divider-shadow-thickness.
	(vertical_divider_shadow_thickness_changed): new function to
	inform redisplay that the window has changed.
	(mark_window): handle new field vertical_divider_shadow_thickness
	from struct window.
	(allocate_window): ditto.
	(saved_window_equal): toddi.
	(Fset_window_configuration): totid.
	(save_window_save): ttdio.
	(struct saved_window): new field vertical_divider_shadow_thickness.

1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* device-msw.c (mswindows_device_system_metrics): Support a deluge
	of metrics.

1998-05-12  Oliver Graf <ograf@fga.de>

	* frame-x.c (x_cde_transfer_callback): fixed for the new protocol
	* event-Xt.c (x_event_to_emacs_event): C++ compability

1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>

	* emacs.c (Fdecode_path): Default SEPCHAR to value of
	path-separator.

1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>

	* emacs.c (vars_of_emacs): Do it here; change the meaning of
	Vpath_separator.

	* fileio.c (vars_of_fileio): Don't define Vpath_separator here.

1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>

	* emacs.c (decode_path_1): New function.
	(decode_path): Use it.
	(Fdecode_path): Renamed from Fdecode_path_internal; use
	decode_path_1.

1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>

	* macros.c (Fzap_last_kbd_macro_event): New function.
	(Fend_kbd_macro): Remove REMOVE_LAST kludge.

1998-05-10  Andy Piper  <andyp@parallax.co.uk>

	* redisplay-msw.c (mswindows_output_dibitmap_region): make sure
	multiple bitmaps are output vertically as well as horizontally.
	* (mswindows_output_dibitmap): don't cope with bitmap boundaries
	crossing lines this is handled by
	mswindows_output_dibitmap_region.

1998-05-12  Martin Buchholz  <martin@xemacs.org>

	* inline.c: Include eldap.h

	* menubar-x.c (x_update_frame_menubar_internal):
	Remove: unused variable `container'

1998-05-11  Martin Buchholz  <martin@xemacs.org>

	* s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
	Unfortunately, the resulting temacs still cannot dump.

	* symbols.c (symbol_is_constant):
	(verify_ok_for_buffer_local):
	-Wswitch Warning suppression - add default case to switches.

	* redisplay.c (decode_mode_spec): Remove unused variables,
	Replace Fcoding_system_property (codesys, Qmnemonic) with
	XCODING_SYSTEM_MNEMONIC (codesys);
	Fcoding_system_property is for users.

	* buffer.c:
	* fileio.c:
	* lread.c:
	* xselect.c:
	Change empty docstrings into no doc strings at all.
	Fix bogus FSF-format docstrings.

	* extents.c:
	Standardize docstrings.

	* floatfns.c:
	Explain problems with matherr.

	* glyphs.c:  make DEFUNs etags-readable, i.e. single-line

	* syssignal.h:
	if BROKEN_SIGIO, then SIGIO wants to be undefined.
	if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
	Fix the weird resultant interaction (causes windows problems)

	* gdbinit:
	* dbxrc:
	Take new EMACSBOOTSTRAPLOADPATH into account.
	Update documentation strings

	* Makefile.in.in:
	- Adjust for luser's CDPATH being set to something weird.
	- Take into account bash 2.02's tendency to print the cwd when
	  using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
	- fix the run-temacs target to use $(DUMPENV)
	- fix the run-puremacs target to use $(DUMPENV)
	- fix the `depend' target to properly $(RM) the right files
	- Generate a better TAGS file for XEmacs' lisp code using
	  hand-crafted regexps.
	- Use standard coding conventions for modules/Makefile.in

1998-05-12  Didier Verna  <didier@xemacs.org>

	* redisplay.c: removed the scrolling modeline code that didn't
	make it for 21.0. To be continued ...

1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (Fdecode_path_internal): Removed bogus handling of nil
	and empty string inputs.

1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay-x.c (x_output_vertical_divider): Fixed typo.

1998-05-10  Oliver Graf <ograf@fga.de>

	* event-stream.c (enqueue_misc_user_event_pos): created
	* lisp.h (enqueue_misc_user_event_pos): prototype added
	* frame-x.c (x_cde_transfer_callback): debug code plus API changes
	* emacs.c: call vars_of_dragdrop
	* dragdrop.c (vars_of_dragdrop): provide dragdrop

1998-05-11  Oliver Graf <ograf@fga.de>

	* frame-x.c (x_cde_transfer_callback): return at correct pos
	* event-Xt.c (x_event_to_emacs_event): changed format of drop
	object for MIME (see comment in dragdrop.c)
	* dragdrop.c: API change documented in comment
	removed provide of dragdrop [is provided by dragdrop.el]

1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>

	* window.c (window_needs_vertical_divider): Enable vertical
	dividers for every non-rightmost window.
	(window_left_gutter_width): Left gutter consists of mythical
	toolbar and a virtual scrollbar.
	(window_right_gutter_width): The right one may have a divider
	also.

	* scrollbar.c (update_scrollbar_instance): Position vertical
	scrollbar left to divider if the latter present.

	* redisplay.h: Declared OVER_DIVIER constant.

	* redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
	case.

	* redisplay-x.c (x_output_vertical_divider): Output divider along
	the right side of the window, down to window bottom. Swapped
	foreground and background colors so it is visible by default.

	* redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
	stick the divider to the right window side.

	* redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
	deadbox painting.
	(mswindows_divider_width): Ask system for user preferred value.
	(mswindows_output_vertical_divider): Always output the divider on
	the right side of a window, down to bottom.

	* keymap.c (get_relevant_keymaps): Route mouse button events which
	happened over a window divider through window-divider-map.
	(Fkey_binding): Documented that in the docstring.
	Defined the variable Vwindow_divider_map.

	* events.c (Fevent_over_divider_p): Added this function.

	* events.h: EXFUNed it.

1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>

	* toolbar.c (update_frame_toolbars): Re-layout frame windows if
	toolbar geometry is suspected to change.

1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* src/device-msw.c
	* src/event-msw.c
	Condition dnd and dde code on HAVE_DRAGNDROP.

1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (format_event_object): Print space as SPC etc.

1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_internal): In the default case, abort() if
	ERROR_CHECK_TYPECHECK.

	* fileio.c (Fmake_temp_name): Doc fix.

1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>

	* xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.

	* undo.c (Fprimitive_undo): Fixed typo.

1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (concat): Signal error on integer argument.

1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>

	* console.h (device_metrics): Prefixed each constatnt with DM_

	* device.c: (Fdevice_system_metric): Renamed so from plural form
	(metrics); Changed parameters order and added DEFAULT parameter;
	Unabbreviated some metric constants; Fixed and untabified doc string.
	(Fdevice_system_metrics): Added. Returns a plist of all provided
	metrics.

	* device-msw.c (mswindows_device_system_metrics): Renamed
	device_metrics enum constants.
	Return Qunbound instead of Qnil.

	* device-tty.c (tty_device_system_metrics): Ditto.

	* device-x.c (x_device_system_metrics): Ditto.

1998-05-10  Andy Piper  <andyp@parallax.co.uk>

	* redisplay-msw.c: implement background pixmaps (really!). Make
	sure bg color is transparent if we have bg pmaps.
	* (mswindows_output_string) (mswindows_clear_region): output bg
	pmap if required.
	* (mswindows_output_dibitmap_region): new function.
	* (mswindows_output_dibitmap): output offset pixmaps, blt masks in
	the bg color rather than transparently.

	* toolbar-msw.c: use masks if they exist.

	* glyphs-msw.c: set up masks correctly.

	* event-msw.c: typedef SOCKET if cygwin and not msg select().

1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>

	* regex.c (re_match_2_internal): Check for quit.

1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>

	* frame.c (Ffocus_frame): New function.

1998-05-06  Oliver Graf <ograf@fga.de>

	* Makefile.in.in: removed dragdrop.o from objs
	* config.h.in: HAVE_DRAGNDROP added
	* emacs.c: do syms_of_dragdrop only if HAVE_DRAGNDROP is defined
	* event-Xt.c: dragdrop.h include now depends on HAVE_DRAGNDROP
	changed calls to dnd_url_hexify_string
	MIME data is now a list of MIME strings or lists
	this was required by CDE, and a good idea in any case
	* dragdrop.c (dnd_url_hexify_string): method prefix code added
	* dragdrop.h: dnd_url_hexify_string prototype changed
	* frame-x.c (x_cde_transfer_callback): CDE adapted the new API

1998-05-05  Jonathan Harris <jhar@tardis.ed.ac.uk>

	* event-msw.c: now creates misc-user-events on dnd drops

1998-05-05  Oliver Graf <ograf@fga.de>

	* events.h: changed comment for misc_user_events
	* events.c (make-event): removed dnd_data defs
	* frame.c: removed everything referring to drag_and_drop_functions
	* frame-x.c (x_cde_transfer_callback): disabled (needs to be changed)
	* lisp.h: removed Qdnd_data
	* general.c: removed Qdnd_data
	* symsinit.h: added syms_of_dragdrop
	* frame.el: deleted default-drag-and-drop-functions

1998-05-04  Oliver Graf <ograf@fga.de>

	* events.c: removed all dnd_drop stuff
	* events.h: extended misc_user_data by button info
	removed dnd_drop event
	* emacs.c: added call to syms_of_dragdrop
	* dragdrop.c: created
	* dragdrop.h: created
	* event-stream.c (enqueue_misc_user_event): initialization of the
	new fields of misc_user_data
	dnd_drop stuff removed
	* keymap.c: drop symbols removed
	* Makefile.in.in: added dragdrop.o to objs

1998-05-09  SL Baur  <steve@altair.xemacs.org>

	* EmacsFrame.c (EmacsFrameSetValues): Fix typo.
	Suggested by: Kirill M. Katsnelson  <kkm@kis.ru>

1998-05-09  Kirill M. Katsnelson  <kkm@kis.ru>

	* This change adds four scrollbar specifiers:
	  {horizontal,vertical}-scrollbar-visible-p and
	  scrollbar-on-{top,left}-p.
	  Spare parts supplied by Didier Verna <didier@xemacs.org>

	* frameslots.h: Added slots for the four specifier caching.

	* frame.h: FRAME_SCROLLBAR_{WIDTH,HEIGHT} count for scrollbar
	visible specifiers.
	Removed old resource-only controlled scrollbar_on_* ints.

	* frame-x.c (x_layout_widgets): Removed (to x-scrollbar.el)
	initialization of old style scrollbar placement from resources.

	* frame-tty.c (tty_init_frame_1): Removed initialization of old
	style scrollbar placement.

	* frame-msw.c (mswindows_init_frame_1): Removed random
	initialization of scrollbar sizes to 15 pixel.

	* redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Use
	scrollbar placement specifiers cached values from window, instead
	of the old per-frame values.
	(mswindows_output_vertical_divider): Ditto.

	* redisplay-x.c (x_output_vertical_divider): Ditto.

	* redisplay-output.c (redisplay_clear_bottom_of_window): Ditto.

	* scrollbar.c (update_scrollbar_instance): Ditto.
	(specifier_vars_of_scrollbar): Declared the four specifiers.

	* window.h (struct window): Defined slots for caching the new
	specifiers.

	* window.c (mark_window): Mark them.
	(allocate_window): Initialize them.
	(struct saved_window): Store them in a cool place.
	(saved_window_equal): Compare them.
	(save_window_save): Save them.
	(Fset_window_configuration): Fetch them back.
	(window_needs_vertical_divider): Check for scrollbar placement
	using window cached specs.
	(window_top_gutter_height): Ditto.
	(window_bottom_gutter_height): Ditto.
	(window_left_gutter_width): Ditto.
	(window_right_gutter_width): Ditto.
	(window_scrollbar_width): Account for scrollbar visibility
	specification in window.
	(window_scrollbar_height): Ditto.

1998-04-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* device.c (Fdevice_system_metrics): Added function.
	Moved (device-pixel-height), (device-pixel-width),
	(device-mm-width), (device-mm-height), (device-bitplanes),
	(device-color-cells) to device.el, amd make them call
	(device-system-metrics).

	* console.h (struct console_methods): Replaced methods:
	device_pixel_width_method(), device_pixel_height_method(),
	device_mm_width_method(), device_mm_height_method(),
	device_bitplanes_method(), device_color_cells_method()
	with single device_system_metrics_method().
	(device_metrics): Declared enumeration of supported
	device system metrics.

	* device-msw.c (mswindows_device_system_metrics): Implement
	device_system_metrics_method(), remove six obsolete methods.

	* device-tty.c (tty_device_system_metrics): Ditto.

	* device-x.c (x_device_system_metrics): Ditto.

1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>

	* EmacsFrame.c (update_various_frame_slots): Do not store internal
	border width there.
	(EmacsFrameInitialize): Do it rather here.
	(EmacsFrameSetValues): If EditRes has changed internal border
	width, mark frame size as slipped.

1998-05-06  Kirill M. Katsnelson  <kkm@kis.ru>

	* frame.h (struct frame): Added char_{width,height} member
	variables and access macros
	Added size_slipped redisplay bit and mark/clear macros.

	* redisplay.c (redisplay_frame): Adjust frame size if size slipped
	bit is set.
	(redisplay_device): Call redisplay_frame if size slipped bit is set.

	* frame.c (adjust_frame_size): Redisplay beats frame back in shape
	with this. Added.
	(frame_size_slipped): Added.
	(internal_set_frame_size): Clear size slipped bit.
	(change_frame_size_1): Store real charsize into frame object.
	(vars_of_frame): Declared adjust-frame-function.

	* frame-msw.c (mswindows_update_frame_external_traits): Same
	change as for frame-x.c
	(mswindows_frame_size_fixed_p): Implemented the method.

	* frame-x.c (x_update_frame_external_traits): Do not call
	Fset_frame_size to adjust frame, redisplay will do.

	* faces.c (update_EmacsFrame): Mark frame as slipped when default
	font changes.

	* toolbar.c (compute_frame_toolbars_data): Removed obsoleted call
	to change_frame_size. Redisplay will fix it later.
	Removed toolbar_*_changed_in_frame specifier
	change handlers.
	(specifier_vars_of_toolbar): Calls to these routed to
	frame_size_slipped generic handler.

	* toolbar-x.c: Removed toolbar_*_changed_in_frame device methods.

	* scrollbar-x.c: Removed scrollbar_*_changed_in_frame device
	methods.

	* scrollbar.c: Removed scrollbar_*_changed_in_frame specifier
	change handlers.
	(specifier_vars_of_scrollbar): Calls to the above changed to
	frame_size_slipped generic handler.

	* menubar-x.c (x_update_frame_menubar_internal): Do not resize
	frame, just mark frame size as slipped.

	* device-x.c: Removed declaration of in_specifier_change_function.

	* EmacsFrame.c (EmacsFrameSetValues): Do not check
	in_specifier_change_function.
	(EmacsFrameSetValues): Simulate a call to resize callback when no
	actual geometry change happened.

	* console.h (struct console_methods): Removed declarations for all
	<specifier>_changed_in_frame methods for toolbars and scrollbars.
	Added frame_size_fixed_p method.

1998-05-08  SL Baur  <steve@altair.xemacs.org>

	* redisplay.c (decode_mode_spec): Guard against garbage
	overwriting the stack.

1998-05-08  Kirill M. Katsnelson  <kkm@kis.ru>

	* dired-msw.c (vars_of_dired_mswindows): Syntax fix for union
	lisp object type.

	* menubar-msw.c (populate_menu_add_item): Ditto.

	* ntheap.c (sbrk): Ditto.

	* ntproc.c (create_child): Ditto.
	(syms_of_ntproc): Ditto.

1998-05-07  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c: updates to support total transparency.
	(mswindows_initialize_image_instance_icon): don't resize bitmaps
	for icons.
	(mswindows_initialize_image_instance_mask): new function.
	Use these new functions as appropriate.

	* glyphs-msw.h (mswindows_initialize_image_instance_icon):
	function renamed.

	* frame-msw.c: use renamed mswindows_initialize_image_instance_icon.

	* redisplay-msw.c: MaskBlt bitmaps if we have a mask, BitBlt
	otherwise.

1998-05-07  Kirill M. Katsnelson  <kkm@kis.ru>

	* unexnt.c (read_in_bss): Removed unused variables, replaced exits
	with aborts.
	(map_in_heap): Ditto.

1998-05-06  SL Baur  <steve@altair.xemacs.org>

	* frame.c (adjust_frame_size): Don't mix integers and Lisp_Objects.

1998-05-07  Kirill M. Katsnelson  <kkm@kis.ru>

	* print.c (write_string_to_stdio_stream): Under MS Windows, flush
	stdio and stderr after output. Ouch.

1998-05-05  Andy Piper  <andyp@parallax.co.uk>

	* event-msw.c: comment out broken dnd stuff and don't use msw socket
	support if we have cygwin select.

1998-05-03  Kirill M. Katsnelson  <kkm@kis.ru>

	* events.h (STREAM_* defines): Defined constants for the parameter
	FLAGS to create_stream_pair_cb().

	* process.c (Fopen_network_stream_internal): Use flags from events.h
	(Fopen_multicast_group_internal): Ditto.

	* process-unix.c (unix_create_process): Ditto.

	* event-unixoid.c (event_stream_unixoid_create_stream_pair): Ditto.
	Changed #ifdef process type logic to catch configuretion errors
	when no process type is defined.

	* event-msw.c: Implemented winsock_stream
	(get_process_input_waitable): Differentiate network connections.
	(emacs_mswindows_select_process): Ditto.
	(emacs_mswindows_create_stream_pair): Ditto.
	(emacs_mswindows_delete_stream_pair): Ditto.

	* process-nt.c: Implemented network connections.
	(nt_init_process): Initialize Winsock.

	* sysdep.c (init_system_name): Ask for the right name right from
	the system.

	* ntproc.c: Removed select emulation crap and dynamic Windock
	loading.

	* nt.c: Removed a lot of terrible wrappers for socket functions.

	* s/windowsnt.h: Removed sys_select encapsulation.

1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>

	* search.c (Fmatch_data): Synch with FSF.

1998-05-04  Greg Klanderman  <greg@alphatech.com>

	* events.h: Add extern declarations for focus_follows_mouse and
	investigate_frame_change().
	* cmdloop.c (Fcommand_loop_1): cleanup focus-follows-mouse
	handling - move externs to events.h.

1998-05-05  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c: generate an AND mask when creating an icon and really
	make it an icon if that is what is required.

	* glyphs-msw.h (mswindows_create_icon_from_image): new cursor
	argument.

	* frame-msw.c (mswindows_set_frame_pointer): set the frame cursor when
	asked.

1998-05-05  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* s/windowsnt.h:
	* s/rtu.h:
	* s/aix4.h:
	* m/wicat.h:
	* m/gould.h:
	* m/gould-np1.h
	* unexhp9k3.c:
	* unexconvex.c:
	* unexalpha.c:
	* unexaix.c:
	* regex.c:
	* process-unix.c:
	* mule-mcpath.c:
	* msdos.c:
	* lisp.h:
	* gmalloc.c:
	* getloadavg.c:
	* broken-sun.h:
	Removed references to ancient bcmp, bzero, and bcopy.

1998-05-04  Andy Piper  <andyp@parallax.co.uk>

	* gui.el: make gui-button-face colors apply in the mswindows
	domain as well as for x.

	* objects-msw.c (mswindows_string_to_color): grok
	rgb:rrrr/gggg/bbbb color formats used by xpm-button.el.

1998-05-04  Greg Klanderman  <greg@alphatech.com>

	* window.c (Fselect_window): Add optional second argument
	`norecord' to avoid recording a buffer change.
	* window.h: change the EXFUN for Fselect_window.
	* window.c (Fdelete_window): call Fselect_window with 2nd arg Qnil.
	(Fother_window): ditto.
	(temp_output_buffer_show): ditto.
	(Fset_window_configuration): ditto.
	(Fset_window_configuration): ditto.
	* frame.c (Fselect_frame): ditto.
	(Fset_frame_selected_window): ditto.
	(delete_frame_internal): ditto.
	* device.c (Fselect_device): ditto.
	* console.c (Fselect_console): ditto.
	* callint.c (Fcall_interactively): ditto.

1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>

	* search.c (Fregexp_quote): Loop by characters, not by bytes.

1998-05-05  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* redisplay.c (window_line_number): Guard against selected_device
	= nil.

	* frame-x.c (x_init_frame_2): Revert to updating frame title.

1998-05-05  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (shut_down_emacs): Update crash report information.

1998-05-04  Kyle Jones  <kyle_jones@wonderworks.com>

	* linuxplay.c: Initialize audio_dev to /dev/dsp at
	  compile time instead of at run-time.  Don't initialize
	  mixer_fd, audio_fd and audio_vol to -1; none of them need
	  it, and XEmacs will crash on some architectures when
	  these variable are modified after being initialized.
	  Declare audio_dev, audio_vol, audio_fd, and mixer_fd as
	  static, since none of them need to be visible outside
	  linuxplay.c.

1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>

	* eldap.c (make_ldap): New function.
	(finalize_ldap): Use it.
	(Fldap_open): Ditto.

	* eldap.c (struct Lisp_LDAP): Removed connection status symbol.

	* eldap.h (LDAP_LIVE_P): Removed
	(CHECK_LIVE_LDAP): Adapt to changes in struct Lisp_LDAP

1998-05-03  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c: (read_escape): Restore handling of \M-a; clarify
	comment.

1998-05-04  Kyle Jones  <kyle_jones@wonderworks.com>

	* realpath.c: Rename realpath() to xrealpath().

	* fileio.c: Call xrealpath() instead of realpath().

	* sysdep.h: Use #define to map xrealpath() calls to
	  realpath() on systems that have realpath().

1998-05-04  Martin Buchholz  <martin@xemacs.org>

	* rangetab.c:
	* rangetab.h: Move #include's from rangetab.h into rangetab.c for
	consistency.
	* inline.c: include rangetab.h to get GCC inlines

1998-05-03  SL Baur  <steve@altair.xemacs.org>

	* event-stream.c (event_stream_next_event): Reverse previous patch to
	slow down poll for quit.
	Suggested by Kyle Jones <kyle_jones@wonderworks.com>

	* lread.c (read_escape): Turn off interpretation of "\M..."
	Suggested by Olivier Galibert <galibert@pobox.com>

	* lread.c (read_escape): add explanatory comment about why
	FSF_KEYS are being turned off.

1998-05-02  SL Baur  <steve@altair.xemacs.org>

	* lread.c (FSF_KEYS): Remove if built with Mule.

1998-05-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-msw.c (ntpipe_shove_flusher): Removed.
	(init_shove_stream): Flusher undeclared.

1998-05-02  SL Baur  <steve@altair.xemacs.org>

	* rangetab.c: `default_dumped' removed.

1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fmake_event): Initialize key data for key-press
	events.

1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (close_stream_unwind): Renamed to delete_stream_unwind.
 	Delete the stream.
	(Finsert_file_contents_internal): Delete STREAM after use.
	(Fmake_temp_name): Improve randomness of generated file names.
	(Fmake_temp_name): Don't initialize COUNT if in temacs.

1998-05-02  Olivier Galibert  <galibert@pobox.com>

	* buffer.h: Put  the  range_table  lrecrod  declaration  where  it
	belongs...

	* rangetab.h: New file - ...which is here.

	* rangetab.c: Move declarations to rangetab.h

1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>

	* data.c (Fneq): Fix docstring.
	(arithcompare_many): Slightly simplify.

1998-04-29  Andy Piper  <andyp@parallax.co.uk>

	* s/cygwin32.h: don't define BROKEN_CYGWIN anymore since we normally
	link with unixoid event loop now.

1998-05-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-stream.c (event_stream_next_event): Disable polling for
	quit while XEmacs is blocked waiting for an event.

1998-05-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* specifier.h: Corrected documentation on magic specifiers.
	Documented DEPTH parameter to instantiate_method.
	Renamed	reveal->unlock_ghost_specifiers_protected().

	* specifier.c: Removed the reveal mechanism and made ghost
	specifiers read-only, so they are accessible as fallbacks of magic
	specifier, but aren't modifiable unless C code enables so.
	 (specifier_equal): Compare specifier fallbacks as well.

	* scrollbar.c (init_frame_scrollbars):
	(init_device_scrollbars):
	(init_global_scrollbars): Renamed
	reveal->unlock_ghost_specifiers_protected().

1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fcar_less_than_car): Fix Flss caller.
	(Fcdr_less_than_cdr): Ditto.

	* lisp.h: Fix declarations.

	* data.c: Enable many arguments versions of <, >, <=, >= and /=.

	* bytecode.c (Fbyte_code): Use arithcompare.

	* data.c (arithcompare): Make non-static.

1998-04-30  Greg Klanderman  <greg@alphatech.com>

	* frame.c (Fselect_frame): update docstring to describe
	focus-follows-mouse behavior.

1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (Fwrite_char): Don't touch Vprint_gensym.
	(print_error_message): Don't gcpro TAIL.
	(Fdisplay_error): Simplify.

1998-04-30  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_internal): Use long_to_string().

	* redisplay.c (decode_mode_spec): Remove bogus calculation of the
	number of digits.

	* print.c (Fprin1): Removed THE_STREAM.
	(Fprinc): Ditto.
	(Fprint): Ditto.
	(Fdisplay_error): Canonicalize STREAM here.
	(print_error_message): Don't canonicalize STREAM.
	(print_error_message): Use print_internal() instead of Fprin1 and
	Fprinc.

	* print.c: (Fprin1_to_string): Delete internal stream explicitly.
	(Ferror_message_string): Ditto.
	(Fterpri): Use write_char_internal.

1998-04-18  Martin Buchholz  <martin@xemacs.org>

	* console-x.h: Initialize_Locale should not depend on HAVE_XIM,
	esp. in the future.

	* Makefile.in.in: be more careful generating depend.

	* *.c (F*): Unfortunately, etags can only detect per-line
	patterns, and so the DEFUN macro must have the lisp name and the C
	name on the same line for a complete TAGS file.  Make it so.

	* signal.c (init_signals_very_early):
	* process.c (Fsignal_process): Order the signals in decreasing
	order of standardization.  Provide helpful standardization
	comments.  Add missing signal names.

	* unexhp9k800.c: Remove undefined roundup.
	* symsinit.h: Add prototype for init_hpplay().

1998-04-30  Hrvoje Niksic  <hniksic@srce.hr>

	* window.c (Fcenter_to_window_line): New function.
	(Frecenter): Use it.

1998-04-30  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (make_directory_hash_table): Constify.

	* scrollbar.c (Fscrollbar_page_up): Use Fcenter_to_window_line
	instead of Frecenter.
	(Fscrollbar_page_down): Ditto.
	(Fscrollbar_to_top): Ditto.
	(Fscrollbar_to_bottom): Ditto.

	* window.c (Frecenter): Removed.

1998-04-29  Andy Piper  <andyp@parallax.co.uk>

	* console.h: xpm_normalize is not a console method anymore.

	* event-msw.c: honour toolbar help string length.

	* glyphs-msw.c: make copyright more meaningful. implement color
	symbol support for Xpm. (extract_xpm_color_symbols) new function.

	* glyphs.c (pixmap_to_lisp_data) (xpm_normalize): fucntions moved
	from glyphs-x.c

	* glyphs.h: declare pixmap_to_lisp_data.

	* toolbar-msw.c: more meaningful copyright.

1998-04-30  Hrvoje Niksic  <hniksic@srce.hr>

	* macros.c (Fend_kbd_macro): New arg REMOVE-LAST.

	* gui-x.c (popup_selection_callback): Treat anonymous interactive
	and compiled-function interactive callbacks as commands.

1998-04-28  Hrvoje Niksic  <hniksic@srce.hr>

	* abbrev.c (obarray_has_blank_p): Simplify.

1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>

	* getloadavg.c (getloadavg): Removed some code repetition.

1998-05-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* process-nt.c: Document usage of #pragma warning.
	(alloc_process_memory): Spell _ALPHA_ correctly.

1998-04-29  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Change `progname' to `PROGNAME' for
	consistency.

1998-04-29  Kirill M. Katsnelson  <kkm@kis.ru>

	* frame.c (change_frame_size_1): Adjust frame row/columns taking
	real toolbar size into account, not the theoretical one.

	* toolbar.c (set_frame_toolbar): Removed unused parameter.
	Return void, not unused int.
	Logic which checks whether toolbar to be recomputed moved here
	from macro COMPUTE_TOOLBAR_DATA (r.i.p)
	(compute_frame_toolbars_data): Removed COMPUTE_TOOLBAR_DATA. It
	did not work due to a bug, and also did not check whether toolbar
	size has changed.
	Compute new character sizes passed to change_frame_size, do not
	use the old (pre-toolbar-change) ones.
	(update_frame_toolbars): Honor frame_changed and clear frame bits.
	(recompute_overlaying_specifier): New helper function, called from
	default toolbar specifier change handlers.
	(default_toolbar_specs_changed): Use it.
	(default_toolbar_size_changed_in_frame): Ditto.
	(default_toolbar_border_width_changed_in_frame): Ditto.
	(default_toolbar_visible_p_changed_in_frame): Ditto.
	(toolbar_geometry_changed_in_window): New handler. The old one,
	some_windows_value_changed, did not do the trick.
	(default_toolbar_size_changed_in_window): New handler for default
	toolbar.
	(default_toolbar_border_width_changed_in_window): Ditto.
	(default_toolbar_visible_p_changed_in_window): Ditto.
	(specifier_vars_of_toolbar): Use one of the above four handlers
	instead of some_windows_value_changed in toolbar specifiers.

1998-04-29  Andy Piper  <andyp@parallax.co.uk>

	* redisplay-msw.c (mswindows_output_string)
	(mswindows_output_string): output the background pixmap if we have
	one.

1998-04-28  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* paths.h.in: Added PATH_PROGNAME and PATH_VERSION.

1998-04-28  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (complex_vars_of_emacs): Added `emacs-program-name' and
	`emacs-program-version'.

1998-04-29  Kirill M. Katsnelson  <kkm@kis.ru>

	* process-nt.c: Signal support for Windows NT.
	New code under subheadings "Running remote threads" and "Sending
	signals".
	(nt_create_process): Create new process suspended, then enable
	signals in it, then resume it.
	(nt_kill_child_process): Implemented
	(nt_kill_process_by_pid): Ditto.
	(process_type_create_nt): Registered the two above.

1998-04-28  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c : slight cleanup and bugfix related to memory
	corruption and possible leaks. Also fix a visual problem
	with XPM pointers

1998-04-28  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (x_init_image_instance_from_eimage): Make sure
	automatic pointers are null...

1998-04-27  Greg Klanderman  <greg@alphatech.com>

	* cmdloop.c (Fcommand_loop_1): Call investigate_frame_change if
	focus_follows_mouse is true.

	* event-stream.c (next_event_internal): Only call
	investigate_frame_change if focus_follows_mouse is false.

	* event-stream.c (investigate_frame_change): Fix
	focus_follows_mouse handling.  It was the case that, with
	focus_follows_mouse true, (select-frame (next-frame)) could leave
	next-frame with input focus, but not window manager focus.  Now
	needs to be called from 2 places, conditional on the value of
	focus_follows_mouse.

1998-04-24  Kirill M. Katsnelson  <kkm@kis.ru>

	* frame.c (Fmake_frame): GC-protect new frame immediately upon
	creation.

1998-04-27  Kirill M. Katsnelson  <kkm@kis.ru>

	* frame.c (delete_frame_internal): Fixed spurious minibuffer
	frames when creating minibufferless frames (reverted to 20.3
	source, change not in ChangeLog)

1998-04-26  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.h: Added CONCHECK_LDAP macro

	* eldap.c: Moved definition of most Lisp_object keywords to
	general.c
	(Fldap_close): Modified semantics to match those of
	`Fclose_database'
	(Fldap_search_internal): Do not consider a
	`LDAP_SIZELIMIT_EXCEEDED' a fatal error

	* general.c: Added several keywords needed by eldap.c.  Sorted
	keywords alphabetically.

1998-04-24  Hrvoje Niksic  <hniksic@srce.hr>

	* eldap.c (finalize_ldap): New function; use it when declaring
	LDAP lrecord type.

1998-04-27  Kirill M. Katsnelson  <kkm@kis.ru>

	* fileio.c (Fwrite_file_contents_internal): Prefer stat() over
	fstat() back for Windows, where closing a file changes its
	modification time.

1998-04-26  Amir J. Katz  <amir@ndsoft.com>

	* sysdep.h: Simplified definition of strerror()

Sun Apr 23 1998  Andy Piper  <andyp@parallax.co.uk>

	* emacs.c:
	* symsinit.h:
	* glyphs-eimage.c: rename glyphs_read to glyphs_eimage.

	* glyphs.c:
	* console.h:
	* glyphs-x.c:
	* glyphx-msw.c: make xpm_normalize and xpm_instantiate device
	methods and use them appropriately. Remove redundant pixmap file
	handling functions.

Sun Apr 23 1998  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c: use XINT for lisp ints.

	* console-msw.c: remove redundant functions that break under union
	type.

	* frame-msw.c: build lisp ints for functions that expect them.

	* objects-msw.c: don't LISP_HASH COLORREF's.

	* sheap.c: remove dependency on VALMASK.

1998-04-27  SL Baur  <steve@altair.xemacs.org>

	* debug.c (vars_of_debug): Remove `Fprovide("internal-debug")'.

1998-04-27  Jonathan Harris <jhar@tardis.ed.ac.uk>

	* device-msw.c: Unconditionally use InitCommonControls() instead
	of InitcommonControlsEx() - the latter is not defined in all
	environments.

1998-04-26  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Religiously use ${progname}.

	* paths.h.in: Remove reference to user-defined site-lisp location.
	* debug.c (vars_of_debug): Rename feature to 'internal-debug.

1998-04-24  Martin Buchholz  <martin@xemacs.org>

	* mule-charset.h:
	* mule-charset.c:
	Use ints instead of bitfields for Lisp_Charset fields.  This
	should work around bugs in the latest egcs snapshot, and make
	XEmacs faster.  Introduce dimension and chars as fields in
	Lisp_Charset instead of computing them every time.  The extra
	space is about 1k, a reasonable price.

1998-04-25  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (xface_normalize): Add console_type parameters to
	calls to `potential_pixmap_file_instantiator'.

Sat Apr 24 1998  Andy Piper  <andyp@parallax.co.uk>

	* event-msw.c: fix and enable signal pipe handling when using msg
	select().

1998-04-25  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* process-unix.c (allocate_pty): Typo fix.

1998-04-25  Olivier Galibert  <galibert@pobox.com>

	* s/irix5-0.h (PTY_OPEN): Ditto
	* s/irix4-0.h (PTY_OPEN): Restore the stb variable.

1998-04-25  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (complex_vars_of_emacs): Typo fixes.

	* emacs.c: Added configure-exec-prefix-directory.

	* paths.h.in: Added PATH_EXEC_PREFIX.

1998-04-25  Olivier Galibert  <galibert@pobox.com>

	* unexelfsgi.c (unexec): Kludge for Irix 5.3 which clears the
	.sbss section no matter what. Defensively remove the alignment fix
	if the .sbss section type isn't modified (Irix 6.5SE). Remove some
	warnings.

1998-04-24  Martin Buchholz  <martin@xemacs.org>

	* data.c (Fnot): There has traditionally been kludgy startup lisp
	code that called `null' even if `not' was more appropriate,
	because `not' was defined in lisp.  This is one primitive
	sufficiently important that it should ALWAYS be defined.

Sat Apr 24 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: add glyphs-eimage.o to build.

	* console.h: added console methods init_image_instance_from_eimage
	and locate_pixmap_file.

	* emacs.c: add initialisation for glyphs-eimage.c

	* symsinit.h: declare glyphs-eimage functions.

	* glyphs-eimage.c: New file - generalised eimage support for gif,
	tiff, png and jpeg, mainly from glyphs-x.c.

	* glyphs-msw.c: added init_image_instance_from_eimage. Tidied up
	file location.

	* glyphs-x.c: disable gif, tiff, png and jpeg support in this
	file. Added init_image_instance_from_eimage. Tidied up file
	location.

	* glyphs.h:
	* glyphs.c: abstract image location.

Fri Apr 24 19:38:19 1998  Andy Piper  <andyp@parallax.co.uk>

	* config.h.in: support our special select

	* event-msw.c:
	* toolbar-msw.c:
	* console-msw.h: toolbar cleanup.

	* device-msw.c:
	* emacs.c:
	* frame-msw.c:
	* glyphs-msw.h:
	* ntplay.c:
	* process-unix.c:
	* select-msw.c:
	* sheap.c:
	* s/cygwin32.h: warning elimination.

1998-04-24  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fload_average): New argument USE_FLOATS.

	* alloc.c (Fstring): New function, synched with FSF 20.3.

Thu Apr 23 19:38:19 1998  Andy Piper  <andyp@parallax.co.uk>

	* unexcw.c: cope with the reversed executable sections written by
	binutils-2.9 ld and egcs.

1998-04-24  Kirill M. Katsnelson  <kkm@kis.ru>

	* menubar-msw.c (populate_or_checksum_helper): Fixed to compile
	with union type.

1998-04-23  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fload_average): Respect errno when reporting getloadavg()
	errors.

	* getloadavg.c (getloadavg): Cleaner Solaris implementation, based
	on sample code by Casper Dik.

1998-04-23  SL Baur  <steve@altair.xemacs.org>

	* frame-x.c (x_delete_frame): remove dead code.

1998-04-22  SL Baur  <steve@altair.xemacs.org>

	* print.c (Falternate_debugging_output): Unconditionally define.

1998-04-22  Hrvoje Niksic  <hniksic@srce.hr>

	* eval.c: Ditto.

	* alloc.c: Ditto.

	* lread.c: Ditto.

	* print.c: Removed standalone hacks.

1998-04-23  Kirill M. Katsnelson  <kkm@kis.ru>

	* toolbar-msw.c (mswindows_clear_toolbar): Fixed wabbit buttons.
	(mswindows_output_toolbar): Gave 3D look to toolbars. Still no
	pretty, needs more work.
	(mswindows_move_toolbar): Renamed so because it does not deal with
	redrawing exposed toolbars.
	Properly position toolbars.
	(mswindows_redraw_exposed_toolbars): Changed calls to the above.
	(mswindows_find_toolbar_pos): Do not assert if toolbar not
	found: a command can come from a menu.
	(mswindows_handle_toolbar_wm_command): Quickly return nil if
	toolbar not found.

1998-04-22  Kirill M. Katsnelson  <kkm@kis.ru>

	* device-msw.c (tagINITCOMMONCONTROLSEX): Uniform declaration
	between SDK and cygwin.
	(mswindows_init_device): InitCommonControls ->
	InitCommonControlsEx typo fix.

Wed Apr 22 12:59:35 1998  Andy Piper  <andyp@parallax.co.uk>

	* glyphs-msw.c (EImage2DIBitmap): count the number of bytes correctly.

Wed Apr 22 12:59:35 1998  Andy Piper  <andyp@parallax.co.uk>

	* config.h.in: support for HAVE_MSG_SELECT.

	* console-msw.h: add support for four toolbars.

	* device-msw.c: init common controls.

	* event-msw.c: if HAVE_MSG_SELECT is defined use unixoid event
	stream tye callbacks and select() on events rather than MWFMO.
 	Added event handling for tooltip messages. If you have this
	special select then all process support works under cygwin.

	* frame-msw.c: add support for four toolbars.

	* redisplay-msw.c: update toolbars when an area is exposed.

	* signal.c: _WIN32 -> WINDOWSNT.

	* event-stream.c: enable unixoid initialization if we have it.

	* event-unixoid.c: allow us to turn off the signal pipe.

	* toolbar-msw.c: major overhaul. Enable support for all four
	toolbars, fix display and sizing problems, enable tooltip support,
	be more optimal about deleting toolbars.

	* toolbar.h: reinstate 0 toolbar border width for msw.

	* s/cygwin32.h: minor define updates.

1998-04-22  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (Falternate_debugging_output): Define only if
	DEBUG_XEMACS.

1998-04-21  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fmake_temp_name): Updated docstring.

1998-04-21  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_prepare): New argument FRAME_KLUDGE.
	(print_prepare): If writing to a frame, return a resizing buffer
	stream.
	(print_finish): Flush the stream.
	(Fprin1): Adjust calls to print_prepare() and print_finish().
	(Fprinc): Ditto.
	(Fprint): Ditto.
	(print_internal): Optimize printing of characters.

	* print.c (RESET_PRINT_GENSYM): New macro.
	(print_prepare): Use it.
	(print_finish): Ditto.
	(Fwrite_char): Ditto.
	(Fprin1_to_string): Ditto.

1998-04-22  SL Baur  <steve@altair.xemacs.org>

	* config.h.in: add FOR_MSW variable.
	From Itay Ben-Yaacov <pezz@www-mail.huji.ac.il>

1998-04-20  Kirill M. Katsnelson  <kkm@kis.ru>

	* alloc.c (report_pure_usage): Remove ifdef WINDOWSNT around
	"Don't panic, I will restart make".

1998-04-19  Kirill M. Katsnelson  <kkm@kis.ru>

	* process.c (vars_of_process): Declared lisp variable
	windowed-process-io.

	* procimpl.h: Externally declared it.

	* process-nt.c (nt_create_process): Changed to honor the above
	variable, and to utilize SHGetFileInfo to determine file type.

1998-04-21  Martin Buchholz  <martin@xemacs.org>

	* mule-ccl.c: Fix compiler warnings.  I hate compiler warnings.
	The code is clearer anyways without macros that goto.

1998-04-22  SL Baur  <steve@altair.xemacs.org>

	* glyphs.h: Add prototypes for signal_image_error and
	signal_image_error_2.
	Suggested by Hrvoje Niksic <hniksic@srce.hr>

1998-04-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* fileio.c: Changed `directory-sep-char' to `path-separator',
	following a change in GNU Emacs.

1998-04-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c: As suggested by Hrvoje Niksic
	(Fldap_search_internal): Loop and GCPRO cleanup
	(print_ldap): Removed text translation

1998-04-19  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c: (print_ldap): Ignore escapeflag
	(Fldap_search_internal): Added unwind protection to appropriately
	free the LDAP temporary structures in case of interruption.  Added
	a QUIT to the result fetching loop.

1998-04-19  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (TopLevel): New variables: Vinfodock_major_version,
	Vinfodock_minor_version, Vinfodock_build_version.
	(vars_of_emacs): Initialize them.

	* config.h.in: Add InfoDock version numbers.

	* device-x.c (have_xemacs_resources_in_xrdb): distinguish whether
	we're running as InfoDock or XEmacs.

1998-04-18  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c: Remove definition of Q_color_symbols.

	* glyphs.h: Declare Q_color_symbols and evaluate_xpm_color_symbols.

1998-04-17  Jonathan Harris <jhar@tardis.ed.ac.uk>

	* console-msw.h:
	Added "commctrl.h" and "X11/xpm.h" includes to support toolbars
	and XPM.

	* glyphs-msw.c:
	Removed (!NILP (Vmswindows_bitmap_file_path)) check in
	locate_pixmap_file() so that lookups of absolute paths don't fail
	if this is unset.
	Added new mswindows_xpm_normalize();

	* glyphs.h:
	* glyphs.c:
	* glyphs-x.c:
	Moved generic XPM support out of glyphs-x.c into glyphs.c.
	Functions moved:
	signal_image_error, signal_image_error_2,
	check_valid_xpm_color_symbols, evaluate_xpm_color_symbols,
	xpm_possible_dest_types.
	xpm_normalize and xpm_instantiate in glyphs.c just call the
	appropriate x_ or mswindows_ funtion in glyphs-x.c or
	glyphs-msw.c.

	* toolbar-msw.c:
	Don't assert on empty toolbar.

	* toolbar.c:
	* toolbar.h:
	Adjusted mswindows default toolbar height/widths so redisplay is
	correct.

1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>

	* tooltalk.c (tt_message_arg_ival_string): Ditto.

	* redisplay.c (window_line_number): Ditto.
	(decode_mode_spec): Ditto.

	* glyphs.c (print_image_instance): Ditto.

	* doprnt.c (emacs_doprnt_1): Ditto.

	* data.c (Fnumber_to_string): Use long_to_string().

	* lisp.h: Declare long_to_string().

	* print.c (Fprin1_to_string): Do the Vprint_gensym_alist stunt.

	* emacs.c (main_1): Don't create print stream.

	* print.c: Removed print_stream implementation.
	(print_prepare): Don't create a print_stream.
	(long_to_string): New function, from GNU Wget.
	(print_internal): Use it.
	(output_string): alloca() copies only for strings smaller than
	65536 bytes; else, inhibit gc.

1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>

	* config.h.in: Check for DLERROR.

	* sysdll.c: Cosmetic changes.

1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>

	* sysdll.c (dll_error): It's `dlerror', not `dl_error'.

1998-04-17  Kirill M. Katsnelson  <kkm@kis.ru>

	* specifier.c (prune_specifiers): Fix for Vall_specifiers
	corruption.

	* specifier.h: Fixed GC_* macros to utilize GC_EQ, as suggested by
	Steve.

1998-04-17  Hrvoje Niksic  <hniksic@srce.hr>

	* dll.c (Fdll_open): Simplify interface.

	* sysdll.c: Allocate BUF dynamically.

	* cmds.c (internal_self_insert): Removed `no-self-insert' hack.

Fri Apr 17 12:59:35 1998  Andy Piper  <andyp@parallax.co.uk>

	* event-msw.c: don't use LocalAlloc()/LocalFree(). With unix
	processes use a filestream for output. This makes subprocess
	support work under cygwin.

1998-04-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* fileio.c (vars_of_fileio): Resurreced directory-sep-char to be
	DIRECTORY_SEP instead of hardwired "/".

1998-04-16  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* fileio.c (file_name_as_directory): Now returns "./" (or NT
	equivalent) for "".

1998-04-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c: Fully rewritten introducing a new opaque LDAP Lisp
	data type.

	* eldap.h: Ditto

1998-04-17  Olivier Galibert  <galibert@pobox.com>

	* fileio.c (vars_of_fileio): Finish directory_sep_char removal.

1998-04-14  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (main_1): Added option --debug-paths and analogous
	variable.

1998-04-15  Hrvoje Niksic  <hniksic@srce.hr>

	* frame-msw.c (Vmswindows_frame_being_created): Don't staticpro.

	* console-msw.h, event-msw.c, frame-msw.c: Renamed
	mswindows_frame_being_created to Vmswindows_frame_being_created.

1998-04-12  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-msw.c (emacs_mswindows_quit_p): Do not check for quit
	character in modal loop.

	* fileio.c: Removed Vdirectory_sep_char variable.

	* lisp.h: Removed extern decl for the above.

1998-04-16  SL Baur  <steve@altair.xemacs.org>

	* indent.c (vertical_motion_1): set_marker_restricted takes
	Lisp_Objects.

1998-04-17  Hrvoje Niksic  <hniksic@srce.hr>

	* md5.c (Fmd5): Correctly rename argument.

	* print.c (Fprin1_to_string): Remove useless variable.

1998-04-13  Greg Klanderman  <greg@alphatech.com>

	* indent.c (vertical_motion_1): new helper function to share
	common code between Fvertical_motion and Fvertical_motion_pixels.
	Properly handle the WINDOW argument as the doc string indicates it
	should.  Update docstrings to be more clear and concise.
	(Fvertical_motion): use vertical_motion_1.
	(Fvertical_motion_pixels): use vertical_motion_1.

1998-04-15  Kirill M. Katsnelson  <kkm@kis.ru>

	* specifier.h: Introduced magic specifiers. Please read comments
	in specifier.h.

	* specifier.c: Reworked many functions to support magic
	specifiers.

	* scrollbar.c (specifier_vars_of_scrollbar): Made magic specifiers
	Vscrollbar_width and Vscrollbar_height.
	(init_frame_scrollbars): Enabled critical lisp code operate on
	ghost specifiers.
	(init_device_scrollbars): Ditto.
	(init_global_scrollbars): Ditto.

	* scrollbar-msw.c (Fmswindows_init_scrollbar_metrics): Scrollbar
	init function, called from init-scrollbars-from-resuorce in
	lisp/scrollbar.c
	(syms_of_scrollbar_mswindows): DEFSUBR it.

	* emacs.c (main_1): Called syms_of_scrollbar_mswindows()

	* symsinit.h: Declared syms_of_scrollbar_mswindows()

Thu Apr 16 12:59:35 1998  Andy Piper  <andyp@parallax.co.uk>

	* frame-msw.c:
	* console-msw.h: add toolbars to frame parameters.

	* emacs.c: call console_type_create_mswindows_toolbar

	* event-msw.c: call toolbar handling code in main event loop.

	* glyphs-msw.c (mswindows_create_icon_from_image)
	(mswindows_resize_dibitmap_instance): new functions. Remove mask
	stuff from various others.

	* redisplay-msw.c:
	* menubar-msw.c: warning elimination.

	* toolbar-msw.c: new file. Reasonable implementation of toolbars
	for mswindows. Some features are not complete.

	* toolbar.c: enable toolbar parameters for mswindows.

	* toolbar.h: choose slightly different toolbar defaults for
	mswindows.

1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>

	* lisp.h (CHECK_IMPURE): Use it.

	* data.c (pure_write_error): Accept an argument.

	* emacs.c (vars_of_emacs): New variable `internal-error-checking';
	initialize it.

1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fmake_temp_name): Avoid random(); simplify.

1998-04-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (complex_vars_of_emacs): Changed configure-exec-path to
	configure-exec-directory.
	(decode_path): Doesn't call file-name-as-directory no more as
	empty components would lead to evil behavior.

1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (decode_extent): Unify the error message.

1998-04-17  Hrvoje Niksic  <hniksic@srce.hr>

	* md5.c (Fmd5): Simplify; use only input and encoding streams.
	(Fmd5): Separate coding guesswork into md5_coding_system().
	(Fmd5): Don't close the stream; deleting it is enough.

1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Prefer fstat() over
	stat.

1998-04-15  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Fsubseq): Make (subseq nil 0 0) return nil, not #*.

1998-04-16  SL Baur  <steve@altair.xemacs.org>

	* device-x.c (get_device_from_display): Use "infodock" as the
	fallback name when running as InfoDock.

1998-04-14  Greg Klanderman  <greg@alphatech.com>

	* device-x.c (compute_x_app_name): New function needed to compute
	application name to use now that XtOpenDisplay is decomposed into
	XOpenDisplay and XtDisplayInitialize.
	(x_init_device): use it.

1998-04-06  Greg Klanderman  <greg@alphatech.com>

	* device-x.c (have_xemacs_resources_in_xrdb): adhere to coding
	standards and avoid opening display twice by breaking
	XtOpenDisplay into XOpenDisplay and XtDisplayInitialize.
	(x_init_device): Ditto.

1998-04-15  Olivier Galibert  <galibert@pobox.com>

	* s/aix3-2-5.h: Ditto.

	* s/aix4-1.h: Ditto.

	* s/aix4-2.h: Ditto.

	* s/bsd386.h: Ditto.

	* s/bsdos2-1.h: Ditto.

	* s/dgux.h: Ditto.

	* s/esix.h: Ditto.

	* s/esix5r4.h: Ditto.

	* s/hpux8.h: Ditto.

	* s/hpux9-shr.h: Ditto.

	* s/hpux9-x11r4.h: Ditto.

	* s/hpux9.h: Ditto.

	* s/hpux9shxr4.h: Ditto.

	* s/isc3-0.h: Ditto.

	* s/isc4-0.h: Ditto.

	* s/ptx.h: Ditto.

	* s/sco4.h: Ditto.

	* s/sco5.h: Ditto.

	* s/usg5-3.h: Ditto.

	* s/usg5-4-2.h: Ditto.

	* s/usg5-4.h: Kill a bunch of now autodetected defines.

1998-04-05  Greg Klanderman  <greg@alphatech.com>

	* window.c (Fwindow_displayed_pixel_height): rename more
	appropriately as window-text-pixel-height.
	(syms_of_window): Update the DEFSUBR.
	(Fwindow_text_pixel_width): New function for completeness.
	(Fwindow_text_pixel_edges): New function.
	(syms_of_window): DEFSUBR 2 new functions.

1998-04-13  Greg Klanderman  <greg@alphatech.com>

	* redisplay.c (redisplay_window): When echo area is active, and we
	swap in the echo area buffer, restore the minibuffer's pointm and
	startp when we restore the minibuffer to the window.  This avoids
	having the minibuffer point randomly change when it is active but
	not selected and a message is shown.

1998-04-16  Hrvoje Niksic <hniksic@srce.hr>

	* md5.c: replaced RSA reference code with GNU textutils implementation.

1998-04-14  Martin Buchholz  <martin@xemacs.org>

	* signal.c (init_signals_very_early): Make `nohup xemacs &' work.
	Wrap #ifdefs around uses of SIGQUIT and SIGILL.

1998-04-12  Kirill M. Katsnelson  <kkm@kis.ru>

	* objects-msw.c (mswindows_initialize_font_instance): Fixed assert
	abuse; proper cleanup on GDI error.

1998-04-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* console-msw.h: Declared get_nt_process_handle() and
	mswindows_bump_queue().
	Removed declarations for mswindows_enqueue_dispatch_event() and
	mswindows_enqueue_magic_event().

	* event-msw.c (emacs_mswindows_create_stream_pair): Casts on
	handle types and get_osfhandle() return type. From Andy Piper.
	(emacs_mswindows_select_process): Get Win32 process handle
	directly from process lrecord.
	(get_process_handle): Removed function.
	(emacs_mswindows_handle_magic_event): Removed handling of
	XM_BUMPQUEUE magic event.
	(mswindows_wnd_proc): Removed handling of WM_EXITMENULOOP message,
	which called a do-nothing handler in menubar-msw.c
	(mswindows_wnd_proc, WM_EXITSIZEMOVE): Queue an empty event
	instead of magic event, via mswindows_bump_queue().
	(mswindows_wnd_proc, WM_CLOSE): Ditto.
	(mswindows_need_event): Call mswindows_bump_queue() upon process
	termination, in case process pipe does not get closed along.
	Do not close process handle.
	(mswindows_bump_queue): Added function.
	(mswindows_enqueue_dispatch_event): Made static.
	(ntpipe_slurp_*): Revamped the slurp thread implementation so the
	stream does not expect the thread to terminate when stream is closed.
	(ntpipe_slurp_reader): Fixed an attempt to read zero bytes from
	the pipe.

	* event-stream.c (event_stream_deal_with_async_timeout):
	Conditionalized timer-based polling for finished processes on
	HAVE_UNIX_PROCESSES.

	* menubar-msw.c (mswindows_handle_wm_command): Queued proper bump
	queue event.
	(mswindows_handle_wm_exitmenuloop): Removed function.

	* menubar-msw.h: Removed unused function prototype.

	* process-nt.c (get_nt_process_handle): Added function.

	* signal.c (init_poll_for_sigchld): Conditionalized on
	HAVE_UNIX_PROCESSES.

1998-04-13  Kirill M. Katsnelson  <kkm@kis.ru>

	* frame-msw.c: Implemented the following methods:
	mswindows_get_mouse_position()
	mswindows_set_mouse_position()
	mswindows_frame_totally_visible_p()

1998-04-11  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c: Renamed inhibit-package-init to inhibit-early-packages
	to better reflect its semantics.
	Renamed inhibit-update-autoloads to inhibit-package-autoloads.
	(complex_vars_of_emacs): Added site-directory and lisp-directory.
	-no-packages -> no-early-packages.

	* Makefile.in.in: Reflected reinstatement of paths.h.in.

	* paths.h.in: Reinstated.

	* paths.h.in.in: Removed.

	* config.h.in: Moved configure path and directory options from
	paths.h.in.in.

1998-04-11  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-msw.c (emacs_mswindows_quit_p): don't recurse.

1998-04-10  Kirill M. Katsnelson  <kkm@kis.ru>

	* callproc.c (init_callproc): Correctly initialize
	`shell-file-name' for WINDOWSNT

	* emacs.c (main_1): Properly called new functions (see symsinit.h
	entry for which).

	* event-msw.c (struct ntpipe_slurp_stream):
	(slurp_thread):
	(make_ntpipe_input_stream):
	(get_ntpipe_input_stream_waitable):
	(get_ntpipe_input_stream_param):
	(ntpipe_slurp_reader):
	(ntpipe_slurp_closer):
	(init_slurp_stream): Win32 pipe input stream implementation.
	(struct ntpipe_shove_stream):
	(shove_thread):
	(make_ntpipe_output_stream):
	(get_ntpipe_output_stream_param):
	(ntpipe_shove_writer):
	(ntpipe_shove_was_blocked_p):
	(ntpipe_shove_flusher):
	(ntpipe_shove_closer):
	(init_shove_stream): Win32 pipe output stream implementation.
	(mswindows_enqueue_process_event): Dispatch helper.
	(find_waitable_handle):
	(add_waitable_handle):
	(remove_waitable_handle): New three, waitable handles handling.
	(mswindows_need_event_in_modal_loop): Simplified.
	(mswindows_need_event): Simplified.
	(mswindows_need_event): Generate process events on process output;
	kick status_notify when a process ends.
	(mswindows_find_console): Simplified.
	(emacs_mswindows_event_pending_p): Adjusted parameters to
	mswindows_need_event().
	(emacs_mswindows_next_event): Ditto.
	(get_process_input_waitable):
	(get_process_handle): Process select/unselect helpers.
	(emacs_mswindows_select_process): Implemented.
	(emacs_mswindows_unselect_process): Implemented.
	(emacs_mswindows_quit_p): Call mswindows_drain_windows_queue()
	directly so do not even try do dequeue process events. Saved a
	byte and a tick.
	(emacs_mswindows_create_stream_pair): Implemented.
	(emacs_mswindows_delete_stream_pair): Implemented.
	(vars_of_event_mswindows): Registered the above two.
	(lstream_type_create_mswindows_selectable): Function called from
	emacs.c to create two pipe lstream types.

	* ntproc.c (sys_select): Disgustful brain fart this file is.

	* process-nt.c: New file: Asynchronous subprocess implemenation
	for Win32.

	* process.h: Declare Fprocess_id().

	* signal.c (init_signals_very_early): Conditionalize possibly
	nonexistent signals.

	* symsinit.h: Declared:
	lstream_type_create_mswindows_selectable ()
	process_type_create_nt ()
	vars_of_process_nt ()

	* s/windowsnt.h: Defined HAVE_WIN32_PROCESSES.
	Removed fake SIGTRAP, SIGPIPE and SIGCHLD.

1998-04-10  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Fnthcdr):
	Most times through the loop will get a cons, so optimize for that.

	* bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround.
	Add NATNUMP check for Bnth bytecode.
	Bnth: Optimize case of n > length (list).
	QUITs not necessary since even if list is circular, n will count
	down to 0.
	Bnthcdr: inline the code for nthcdr (we have a bytecode for it,
	after all)
	Bcdr, Bcar: Use tail recursion.

1998-04-10  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (redisplay_window): Don't lose with negative
	scroll_step.

1998-04-09  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fmake_temp_name): Don't use `+' in generated file
	names.
	(Fmake_temp_name): Randomize the initial values of counters.

1998-04-07  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* Makefile.in.in: paths.h.in is now generated from paths.h.in.in.

	* emacs.c (decode_path): Removed parsing of "::" into nil component.

1998-04-09  Martin Buchholz  <martin@xemacs.org>

	* lstream.c (make_filedesc_stream_1): Fix another Martin blooper.

1998-04-07  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (Fdump_emacs): Delete superfluous open comment.

1998-04-06  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (Fdump_emacs): Move call to disable_free_hook back to
	Fdump_emacs where it belongs.

1998-04-07  Kirill M. Katsnelson  <kkm@kis.ru>

	* nt.c (sys_mkdir): Added the second unused parameter, after UNIX
	version. Suggested by Martin.

1998-04-07  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-msw.c (mswindows_wnd_proc): Fix member access macro names.

	* frame-msw.c (mswindows_frame_property):
	(mswindows_internal_frame_property_p):
	(mswindows_frame_properties): Implemented for the 'left and 'top
	properties.
	(console_type_create_frame_mswindows): Regsitered the above.
	(mswindows_set_title_from_bufbyte): Update title only if it has
	really changed. This avoids a bit of flashing.

	* console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title
	smoother.
	(MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek!

1998-04-06  Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* unexfreebsd.c: introduce FreeBSD port's patch to avoid
	FreeBSD-current warns "Absurd new brk addr".

1998-04-06  Colin Rafferty  <colin@xemacs.org>

	* glyphs-x.c (struct gif_error_struct): Made the err_str point to
	a CONST char* instead of non-const.
	(tiff_memory_write): Add fake return statement to shut up warnings.

1998-04-06  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Correctly handle
	special files larger than 32K.

1998-04-06  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fmake_temp_name): Don't call mktemp().

1998-04-06  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* unexelf.c: include <config.h> first.

1998-04-04  Martin Buchholz  <martin@xemacs.org>

	* sysdep.c:  Add #include <sys/termio.h> for AIXHFT as suggested
	on c.e.x.

	* nt.c:
	* ntproc.c:
	Change "config.h" to <config.h>.  Add dire warnings to code since
	config.h is not included first.

	* powerpc.h: Avoid redefinition warning on START_FILES.

	* window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window.
	* hpplay.c: Rename play_gain to hp_play_gain in accordance with
	coding standards.

	* frame-x.c (x_lower_frame):
	(x_raise_frame_1): Clarify code.  Save a nanosecond if frame not
	visible.

	* fileio.c (Fmake_temp_name): Use static CONST suffix; save a
	nanosecond.

1998-04-05  Amir J. Katz  <amir@ndsoft.com>

	* sysproc.h: Added #include <sys/types.h> before <sys/socket.h>
	otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1

	* sysdep.h: strerror() does not return CONST in gcc 2.8.1

1998-04-05  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (generate_fstring_runes): Grok specifiers and
	symbols indirecting to specifiers.

1998-04-06  Olivier Galibert  <galibert@pobox.com>

	* events.c (print_event): XINT() may return a long.

	* insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int.
	(buffer_insert_string_1): ditto.

	* regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor
	ptrdiff_t are portably printable as an int.

	* redisplay.c (window_line_number): Don't assume that an EMACS_INT
	in an int.

	* alloc.c (report_pure_usage): Don't assume that a size_t is
	displayable as an int.

1998-04-06  SL Baur  <steve@altair.xemacs.org>

	* process-unix.c: Fix typo in #ifdef.
	From Hrvoje Niksic <hniksic@srce.hr>

1998-04-06  Olivier Galibert  <galibert@pobox.com>

	* unexelfsgi.c (unexec): Don't treat the sbss section as bss if it
	isn't one. Needed for irix 6.5.

1998-04-05  Martin Buchholz  <martin@xemacs.org>

	* sysdep.h: Two prototypes that weren't properly size_t'ed

1998-04-04  Martin Buchholz  <martin@xemacs.org>

	* ralloc.c: mallopt <==> malloc.h.

1998-04-04  Martin Buchholz  <martin@xemacs.org>

	* emacs.c: #include <paths.h>, not "paths.h"
	This is a standard bug.  It manifests if you configure in the
	source tree, then configure elsewhere with --srcdir.
	Remove misleading PATH_EXEC comment; PATH_PACKAGEPATH is also used.

1998-04-04  Olivier Galibert  <galibert@pobox.com>

	* s/386bsd.h: Removed obsolete define.

1998-04-04  Olivier Galibert  <galibert@pobox.com>

	* s/386-ix.h: Removed useless define.

	* sysdep.c (insque): Removed. Not used anywhere in the code.

1998-04-04  Olivier Galibert  <galibert@pobox.com>

	* process-unix.c (unix_kill_child_process): Use TIOCSIGSEND or
	TIOCSIGNAL as needed.

	* s/usg5-4.h: Remove kludgy TIOCSIGSEND #define which breaks on
	irix 6.5.

1998-03-28  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (emchar_string_displayed_columns): Simplify for
	non-Mule case.

	* events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Issue nicer output.

1998-04-01  Martin Buchholz  <martin@xemacs.org>

	* sysdir.h (sys_mkdir):
	* sysfile.h (sys_read):
	(sys_write):
	(sys_chmod):
	(sys_creat):

	* sysdep.c (sys_read_1):
	(sys_read):
	(sys_write_1):
	(sys_write):
	(sys_mkdir):
	(sys_readlink):
	(sys_chmod):
	(sys_creat):

	* nt.c (sys_read):
	(sys_chmod):
	(sys_creat):
	(sys_write): Change types of sys_* in accordance with published
	standards. Use size_t and mode_t instead of unsigned int and int.

1998-04-03  Martin Buchholz  <martin@xemacs.org>

	* config.h.in (enum_field):
	* lisp-union.h:
	* extents.h:
	* redisplay.c (add_margin_runes):
	Prefer enums for use as bitfields in preference to unsigned int,
	but allow the possibility to suppress it if a compiler disallows
	it or emits annoying warnings.  Currently only __SUNPRO_C cc -Xc
	used unsigned ints.

	* event-stream.c: Fixup DEFVAR for
	Vcomposed_character_default_binding; Real bug!
	* event-msw.c: Rename mswindows_button2* to mswindows_mouse_button*
	* emacs.c: Rename suppress_early_backtrace to
	suppress_early_error_handler_backtrace
	* objects-x.c: Rename handle_nonfull_spec_fonts to
	x_handle_non_fully_specified_fonts
	* lread.c: Rename puke_on_fsf_keys to
	fail-on-bucky-bit-character-escapes
	* lread.c:
	* doc.c: Rename Vdoc_file_name to Vinternal_doc_file_name
	* fileio.c:
	* bufslots.h:
	* buffer.c: Rename save_length to saved_size
	* alloc.c: Rename pureptr to pure_bytes_used
	* abbrev.c: Rename last_abbrev_point to last_abbrev_location
	* lisp.h:
	DEFVAR_* are supposed to be named following a standard convention.

1998-04-03  Martin Buchholz  <martin@xemacs.org>

	* callint.c:
	* ralloc.c:
	* data.c:
	* eldap.c:
	* extents.c:
	* frame-msw.c:
	* frame-x.c:
	* general.c:
	* process.c:
	* xselect.c:
	Rationalize defsymbol handling.
	defsymbols are supposed to have equivalent C and Lisp names, for
	consistency.  At least one real bug (end-glyph-layout) fixed.
	Move multiply defsymbol'ed stuff into general.c.

1998-04-03  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* m/ibmrs6000.inp: Removed; obsoleted by configure.in changes.

1998-04-03  Martin Buchholz  <martin@xemacs.org>

	* console-tty.c (Fset_console_tty_input_coding_system):
	(Fset_console_tty_output_coding_system):
	Input/Output and encoding/decoding were reversed.

1998-04-02  SL Baur  <steve@altair.xemacs.org>

	* m/powerpc.h: Remove LD_SWITCH_MACHINE for Linux.

1998-04-02  Greg Klanderman  <greg@alphatech.com>

	* window.c (set_window_pixsize): Move up call to
	check_min_window_sizes.

	* indent.c (vmotion_1): renamed from vmotion() and added
	additional argument to optionally return the pixel motion.
	(vpix_motion): Helper for vmotion_1.
	(vmotion): Wrapper - just call vmotion_1() with the right args.
	(Fvertical_motion_pixels): New function.
	(syms_of_indent): DEFSUBR it.

1998-04-02  Martin Buchholz  <martin@xemacs.org>

	* xselect.c:
	* event-Xt.c:
	* emacs.c:
	Remove last vestiges of #ifdef EPOCH code.  It had no chance of
	working anyways.  In honour of seeing Marc Andreesen in person for
	the first time today.

1998-04-01  Martin Buchholz  <martin@xemacs.org>

	* extents.h:
	* lisp-union.h:
	Don't use enums as bitfields - only unsigned ints.
	Fixes: warning: nonportable bit-field type

	* eval.c (call_with_suspended_errors): More volatilizing to
	appease Sunpro cc.

	* mem-limits.h:
	* ralloc.c: Remove #undef NULL; they're not even used!

	* process-unix.c (unix_send_process): send_process is a method, so
	we can't include volatile in the prototype.  We make the argument
	non-volatile, make a volatile copy, and then use that instead.

	* frame-x.c (x_delete_frame): The `frame' variable is initialized
	but not actually used.

	* Makefile.in.in (xselect.o): The last line of b34-pre2's
	src/Makefile.in.in contains a dependency that should have been
	patched away.
	(mostlyclean): Remove the removal of depend.* - no such files
	exist anymore

	* make-src-depend: include a dependency on only one of
	lisp-union.h or lisp-disunion.h.

1998-04-01  Martin Buchholz  <martin@xemacs.org>

	* specifier.c (specifier_instance_from_inst_list): A nanosecond
	saved is a nanosecond earned.

1998-03-31  Greg Klanderman  <greg@alphatech.com>

	* redisplay.c (update_line_start_cache): Fix bug involving
	invisible text in which the line_start_cache gets hosed.

Sun Mar 29 1998  Andy Piper  <andyp@parallax.co.uk>

	* console-msw.h: define FRAME_MSWINDOWS_CDC.

	* frame-msw.c: (mswindows_set_frame_icon) new function. Works but
	no masks as yet.

	* glyphs-msw.c: GNUize the code. Fix 24bpp display and make the
	default. Add managment of icons.

	* glyphs-msw.h: add icon attributes.

	* redisplay-msw.c: (mswindows_output_pixmap) remove unused cursor
	code.

	* objects-msw.c: eliminate char subscript warning.

1998-04-01  SL Baur  <steve@altair.xemacs.org>

	* sysdll.c (dll_close): fix typo.
	Suggested by Marcus Thiessel <marcus_thiessel@hp.com>


1998-03-28  Kyle Jones  <kyle_jones@wonderworks.com>

	* device.c (Fset_device_class): Recompute cached
	  specifiers everywhere if device class is changed.
	  Set various redisplay flags so that the device's
	  various frames are redisplayed.

1998-03-31  SL Baur  <steve@altair.xemacs.org>

	* lrecord.h (DECLARE_NONRECORD): Remove redundant paren.
	Suggested by Martin Buchholz <martin@xemacs.org>

1998-04-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* gui.c (gui_item_display_flush_left): Fix suffix length.

1998-04-01  Kirill M. Katsnelson  <kkm@kis.ru>

	* s/windowsnt.h: Defined SIZEOF_LONG_LONG and SIZEOF_VOID_P

	* dired-msw.c: Included <limits.h>

	* config.h.in (VOID_P_BITS): Fixed so that uses SIZEOF_VOID_P

1998-03-31  SL Baur  <steve@altair.xemacs.org>

	* glyphs.c (image_instantiate_cache_result): Correct order of
	parameters to Fputhash.
	Suggested by Kirill M. Katsnelson <kkm@kis.ru>

1998-03-30  Martin Buchholz  <martin@xemacs.org>

	* redisplay.c (create_right_glyph_block): glyph_type should really
	be glyph_layout.

1998-03-29  Martin Buchholz  <martin@xemacs.org>

	* sysfile.h: Move all encapsulations from lisp.h/emacsfns.h into
	sysfile.h.  Users of the functionality herein will have to
	#include sysfile.h.
	Check all .o files for missing #includes.
	* config.h.in:
	Discovered that config.h.in was missing ENCAPSULATE_CLOSEDIR, as a
	result of fixing the above.

	* gui.c (gui_item_add_keyval_pair): We should not use the idiom
	error ("%S", lisp_object) in C code.
	I converted the code to use signal_simple_error_2 instead.
	(signal_too_long_error): Ditto.

	* glyphs.c (image_instantiate_cache_result): Use XC[AD]R instead
	of Fc[ad]r.  This is always called with valid conses, and in fact,
	already assumed it.

	* font-lock.c (find_context): Use context_none with context
	instead of ccontext_none.

	* fns.c (Flength): The CONSP and NILP code can be combined.
	Change the name of the arg to SEQUENCE from OBJ.
	(Fnthcdr): CHECK_NATNUM instead of CHECK_INT.  Optimize out Fcdr calls.
	(Felt): Change argument from seq to sequence to match docstring.

1998-03-28  Martin Buchholz  <martin@xemacs.org>

	* fns.c (string_putprop):
	(string_getprop): Make method functions static.

	* window.c (find_window_by_pixel_pos): Warning suppression.

	* imgproc.c (splitbox): Warning suppression.

	* redisplay-x.c (x_output_eol_cursor): Remove redundant XSETWINDOW.

	* glyphs-x.c (signal_image_error):
	(signal_image_error_2):
	(convert_EImage_to_XImage):  Make functions static.

	* editfns.c (Fbuffer_size): Rename the `F' function to
	Fbuffer_size in accordance with coding standards.

	* dll.c (Fdll_open): Fix up data conversion.
	Provide auxiliary function maybe_call_library_function().

	* device-x.c (get_x_display): make function static.

	* data.c (Fcar): Should generate listp, not consp error.
	(Fcdr): Should generate listp, not consp error.

1998-03-27  Martin Buchholz  <martin@xemacs.org>

	* console-tty.c (free_tty_console_struct):
	Replace con->console_data with CONSOLE_type_DATA (con)

	* *.[ch]:  C++ compilability of xemacs, on Linux and Solaris.

	* casetab.c (Fcase_table_p): Optimize.

	* eval.c:
	* bytecode.c:
	Rename Fcondition_case_3 to condition_case_3 - it's not a DEFUN.

	* buffer.h:
	Remove all *BUFFER_OR_STRING* macros - unused.
	(memind_to_bytind): Merge two versions of function by moving
	#ifdef ERROR_CHECK_BUFPOS into the function body.
	(*_DATA_ALLOCA*): get types correct.  rewrite for clarity.

	* balloon_help.c (balloon_help_destroy): rearrange order of
	functions, and remove prototype from header file.

	* alloc.c (deadbeef_memory): Rewrite. Use size_t for clarity.
	Don't bother with the left-over bytes, since in practice we will
	always get called with a size multiple of 4.
	(Fmake_list): CHECK_NATNUM instead of CHECK_INT
	(vector[4567]): Currently unused; ifdef out.
	(make_pure_float): make function static.
	(garbage_collect_1): Optimize.

1998-03-23  Martin Buchholz  <martin@xemacs.org>

	* marker.c (print_marker): Fix compiler warning, real bug!

	* device.h (MARK_DEVICE_FRAMES_FACES_CHANGED):
	* frame.h (MARK_FRAME_FACES_CHANGED):
	(MARK_FRAME_TOOLBARS_CHANGED):
	(MARK_FRAME_SIZE_CHANGED):
	(MARK_FRAME_CHANGED):
	(MARK_FRAME_WINDOWS_CHANGED):
	(MARK_FRAME_WINDOWS_STRUCTURE_CHANGED):
	Fix multiple evaluation of macro arguments.
	Macros are a fact of life.  Callers have to use temp variables to
	avoid multiple evaluation of arguments.

	* data.c (Ftrue_list_p): New function, with obvious meaning.
	This is terminology from Cltl2.
	Also define a corresponding macro TRUE_LIST_P.

	* device-x.c (validify_resource_component): Optimize. Rename.
	Use the standard technique of using a precomputed table of valid chars.

	(x_get_resource_prefix):
	(Fx_get_resource):
	(Fx_get_resource_prefix):
	Avoid fixed buffer sizes.  Use a char_dynarr.
	Run validify_resource_component on all computed components.

	* lisp.h: Define a char_dynarr type.

1998-03-22  Martin Buchholz  <martin@xemacs.org>

	* fns.c (Fcopy_alist): Optimize.

	* alloc.c (acons): New function.  Now used in the C code.
	Definition in cl.el is commented out.  Add docstring.
	Use acons in functions which create alists.
	* lisp/cl.el (acons): Add docstring.  Really otta be a macro, tho.

	* buffer.c (Fbuffer_memory_usage):
	* window.c (Fwindow_memory_usage):
	Clean up horrible consing code using new acons function.
	Fix incorrect value reported for gap-overhead.

	* fns.c (Fmember):
	(Fold_member):
	(Fmemq):
	(Fold_memq):
	(memq_no_quit):
	(Fassoc):
	(Fold_assoc):
	(Fassq):
	(Fold_assq):
	(assq_no_quit):
	(Frassoc):
	(Fold_rassoc):
	(Frassq):
	(Fold_rassq):
	(rassq_no_quit):
	(Fdelete):
	(Fold_delete):
	(Fdelq):
	(Fold_delq):
	(delq_no_quit):
	(delq_no_quit_and_free_cons):
	(Fremassoc):
	(Fremassq):
	(remassq_no_quit):
	(Fremrassoc):
	(Fremrassq):
	(remrassq_no_quit):
	(Fnreverse):
	(Freverse):
	(Fnthcdr):
	Optimize.
	Replace calls to Fcar, Fcdr, Fsetcar with XCAR and XCDR.
	Simplify logic.
	Many of these functions wouldn't QUIT if called on cyclic lists.
	e.g. try (progn (setq x '(nil)) (setcdr x x) (reverse x))
	One benchmark of delq showed it to be 3 times faster.

	* emacs.c:
	* database.c:
	Cleanup of database functions.
	Make the get_subtype and get_type methods return Lisp_Objects,
	instead of C strings.  No more need for both dbm_type and dbm_lisp_type.
	Rewrite the doc strings to be consistent with XEmacs tradition.
	Replace old `dbm' names with `database'.
	Rename struct database to struct Lisp_Database.
	Rename DEFUN arguments to `database', when applicable.

	* buffer.c:
	* chartab.c:
	* console.c:
	* data.c:
	* database.c:
	* device.c:
	* elhash.c:
	* eval.c:
	* event-stream.c:
	* extents.c:
	* faces.c:
	* frame.c:
	* glyphs.c:
	* keymap.c:
	* lstream.c:
	* mule-charset.c:
	* mule-coding.c:
	* objects.c:
	* opaque.c:
	* process.c:
	* rangetab.c:
	* specifier.c:
	* symbols.c:
	* tooltalk.c:
	* window.c:
	Place DEFINE_LRECORD_* after definition of static object methods, to
	avoid redundant declarations.

	* console.c:
	* console.h:
	* device.c:
	* device.h:
	* extents.c:
	* extents.h:
	* frame.c:
	* frame.h:
	* glyphs.c:
	* glyphs.h:
	* lisp.h:
	* lstream.c:
	* lstream.h:
	* signal.c:
	* specifier.c:
	* specifier.h:
	Eliminate MAC_* macros.
	The MAC_ macros use non-standard comiler extenstions which cause
	gcc to generate bad code on Sparc/Solaris.  Attractive though the
	idea of using those compiler extensions is, they are just not
	robust enough to use in the real world.  So we eliminate them.
	We put up with some sub-optimalities, like macros with multiple
	evaluation.  Such is life with C.  The MAC_ macros were pretty
	darn ugly anyways.  We CAN use inline functions, since the advent
	of C++ means that compilers must support those anyways.

1998-03-21  Martin Buchholz  <martin@xemacs.org>

	* alloc.c (list*): Optimize recursion levels.

	* alloc.c: Add debugger support via enum dbg_constants.
	* gdbinit: Complete rewrite.
	* gdbinit.union: Remove
	* gdbinit.pre-4.14: Remove
	* dbxrc: Complete rewrite.
	* man/xemacs-faq.texi:
	Proper robust debugger support for gdb and Sun's dbx.
	Support all combinations of Kylish DEFINEs.
	Work out of the box with no user customizations.
	See the updated faq for details.

	* emacsfns.h: Remove.  Move declarations to lisp.h
	* dynarr.h: Remove.  Move declarations to lisp.h
	* lisp.h.
	Optimize header file handling to improve compile time over a network.
	Introduce EXFUN macro for external declaration to correspond to DEFUN.
	Include header files only when necessary, i.e. not from lisp.h:
	- unistd.h, limits.h, fnctl.h, blocktype.h, dynarr.h, emacsfns.h


	* lisp.h:
	* lisp-union.h:
	* lisp-disunion.h:
	Rewrite low level object frobbing.
	Make it safe to use XSETOBJ on uninitialized Lisp_Objects.
	(markbit might have been set otherwise)
	Move XPRNTRVAL->XPNTR computation out of lisp-*union.h, since it
	is union-type-independent.

	* EmacsFrame.c:
	* alloc.c:
	* chartab.c:
	* console.c:
	* dialog-x.c:
	* doc.c:
	* elhash.c:
	* eval.c:
	* event-Xt.c:
	* event-stream.c:
	* event-unixoid.c:
	* extents.c:
	* faces.c:
	* file-coding.c:
	* frame.c:
	* glyphs.c:
	* insdel.c:
	* keymap.c:
	* lstream.c:
	* marker.c:
	* menubar-x.c:
	* mule-coding.c:
	* opaque.c:
	* ralloc.c:
	* rangetab.c:
	* redisplay-msw.c:
	* redisplay-output.c:
	* redisplay-tty.c:
	* redisplay-x.c:
	* redisplay.c:
	* scrollbar-x.c:
	* scrollbar.c:
	* specifier.c:
	* symbols.c:
	* toolbar-x.c:
	* toolbar.c:
	* window.c:
	As a result of the above lisp*.h changes, we can now safely remove
	initializations of Lisp_Objects before calling XSETOBJ on them.
	This was only being done half the time, anyways.

	* Makefile.in.in (depend): New target. calls make-src-depend.
	* depend: New file. Generated by make-src-depend
	* make-src-depend: New file. generates up-to-date dependencies.
	Makefile dependencies are now automagically maintained, and
	CORRECT.  lisp.h and friends are now included in the dependencies,
	since this complies with the principle of least astonishment.

	* symbols.c (symbol_is_constant): Optimize.

1998-03-30  SL Baur  <steve@altair.xemacs.org>

	* frame.c (vars_of_frame): Default frame name should be InfoDock
	for InfoDock.

1998-03-29  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (voodoo_free_hook): ELF libraries built with newer
	versions of GCC do horrible things in dumped binaries after exit()
	is called.
	(Fkill_emacs): Use it.

1998-03-28  SL Baur  <steve@altair.xemacs.org>

	* s/linux.h: For simplicity, do not use standard linking because
	it is deadly with new GCC.

Sat Mar 28 10:16:29 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: fix fastdump target

	* console-msw.h: add memory dc to frame.

	* frame-msw.c: manage memory dc on frame creation/deleteion

	* frame.h: mess with toolbar macros so that xemacs doesn't die
	in redisplay with a triple build.

	* g;yphs-msw.c: GNUize the code. Fix 24bpp display and make the
	default.

	* glyphs-msw.h: remove memory dc from image attributes.

	* redisplay-msw.c: fix redisplay to use new frame memory dc.

	* sheap.c: bump initial sheap yet again to allow byyte
	recompilation.

	* unexcw.c: fix section parsing for multiple idata and rdata
	sections.

1998-03-27  SL Baur  <steve@altair.xemacs.org>

	* emacs.c: Enabled free-hook.c code if
	LOSING_GCC_DESTRUCTOR_FREE_BUG is defined.

1998-03-28  Kyle Jones  <kyle_jones@wonderworks.com>

	* Fixed display bug where changes to builtin glyphs like
	  Vcontrol_arrow_glyph would not be propagated
	  immediately to the display.

	* device.h: Added glyphs_changed field to device
	   struct.  Created MARK_DEVICE_GLYPHS_CHANGED macro.

	* frame.h: Added glyphs_changed field to frame
	   struct.  Created MARK_FRAME_GLYPHS_CHANGED macro.

	* redisplay.h: Declared glyph_changed and
	   glyph_changed_set variables, mimicking clip_changed
	   and clip_changed_set.  New macro MARK_GLYPHS_CHANGED.

	* redisplay.c: Defined glyph_changed and
	   glyph_changed_set variables, mimicking
	   clip_changed and clip_changed_set.

	   (redisplay_window): Reset the window's glyph cache is
	   f->glyphs_changed is non-zero.  Call regenerate_window
	   if f->glyphs_changed is non-zero.

	   (redisplay_frame): Clear f->glyphs_changed after
	   successful redisplay of all windows on frame.

	   (redisplay_device): Redisplay frame if f->glyphs_changed
	   is non-zero.  Clear d->glyphs_changed after successful
	   redisplay of all frames on device

	   (redisplay_without_hooks): Redisplay devices if
	   glyphs_changed is non-zero.  Redisplay an individual
	   device if d->glyphs_changed is non-zero.  Clear
	   glyphs_changed after successful redisplay of all
	   devices.

	   (redisplay_glyphs_changed): Dropped use of
	   MARK_CLIP_CHANGED.  Call MARK_FRAME_GLYPHS_CHANGED for
	   all affected frames.  For locales that are not device
	   related, mark all frames.

	* redisplay-output.c (compare_display_blocks):
	   Output the whole display block if f->glyphs_changed is
	   non-nil.

1998-03-27  Kyle Jones  <kyle_jones@wonderworks.com>

	* callproc.c (Fcall_process_internal): In the case where
	  fd_error and fd1 are the same don't close that
	  descriptor twice.

1998-03-27  SL Baur  <steve@altair.xemacs.org>

	* frame-x.c (x_update_frame_external_traits): Need a Lisp_Object
	frame as well as a struct frame.

1998-03-27  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (main_1): Reinstated PATH searching for invocation data.

1998-03-26  Kirill M. Katsnelson  <kkm@kis.ru>

	* menubar.c (Fmenu_find_real_submenu): See the entry for gui.h.

	* menubar-msw.c (populate_menu_add_item): Used GCPRO_GUI_ITEM
	macro to aviod warnings, in 2 places.
	(populate_or_checksum_helper): Ditto
	(populate_or_checksum_helper): Added placeholder for menu right
	flash customization.

	* gui.h (GCPRO_GUI_ITEM): Code which warning-free GC protects a
	GUI_ITEM structure moved into this macro from menubar.c

	* frame-x.c (x_update_frame_external_traits): Moved part of the
	former update_EmacsFrame() here.
	(console_type_create_frame_x): Declared the above method.

	* frame-msw.c (mswindows_set_frame_properties): Do not try to
	resize the frame if called from Fmake_frame the first time
	(potential race	condition).
	(mswindows_init_frame_1): Fixed support for popup frames.
	(mswindows_delete_frame): Fixed memory leak.
	(mswindows_get_frame_parent): Implemented.
	(mswindows_update_frame_external_traits): Moved part of the former
	update_EmacsFrame() here.
	(console_type_create_frame_mswindows): Declare get_frame_parent
	and update_frame_external_traits methods.

	* faces.c (update_EmacsFrame): Converted into a device method
	`update_frame_external_traits'.

	* event-msw.c (mswindows_wnd_proc, WM_SIZE): Rewrote to avoid
	relying on an assumption on when Windows calls this handler.
	(mswindows_find_frame): Return the frame being created if the
	windows does not yet have associated frame object
	(mswindows_find_frame): Casted long to Lisp_Object properly.

	* device.c (window_system_pixelated_geometry): Changed to call the
	device_implementation_flags device method.

	* device-msw.c (mswindows_device_implementation_flags):
	Implemented.
	(console_type_create_device_mswindows): Declared the above.

	* console.h (struct console_methods): Added
	device_implementation_flags_method and
	update_frame_external_traits_method.
	Defined flags retuned by device_implementation_flags_method.

	* console-msw.h (struct mswindows_frame): Added charheight and
	charwidth fields.
	Added macros for referring to these two, Rvalue.
	Moved Windows-specific macros from frame.h here.
	(typedef struct XEMACS_RECT_WH): Added.
	Declared global variables.

1998-03-19  Kirill M. Katsnelson  <kkm@kis.ru>

	* console-msw.h: Added prototypes for
	mswindows_protect_modal_loop() and
	mswindows_unmodalize_signal_maybe().

	* scrollbar-msw.c (mswindows_update_scrollbar_instance_status):
	Removed redundant call to set_frame_size method.

	* frame.c (Fframe_property): For a window system with pixel-based
	geometry, convert passed char-based metrics to pixels.
	(Fframe_properties): Ditto.
	(Fset_frame_height): Ditto.
	(Fset_frame_width): Ditto.
	(Fset_frame_size): Ditto.
	(frame_conversion_internal): Added a parameter, controlling
	whether the function uses real char metrics or 1 when geometry is
	pixel-based.
	Allow NULL for output int* params.
	(pixel_to_char_size): frame_conversion_internal() is called with
	indication to fake font size to 1.
	(char_to_pixel_size): Ditto.
	(round_size_to_char): Ditto.
	(pixel_to_real_char_size):
	(char_to_real_pixel_size):
	(round_size_to_real_char): New three counterparts of the above
	metioned functions, which always use real character metrics.
	(change_frame_size_1): Use real character metrics when computing
	minibuffer height.

	* frame.h: Prototypes for pixel_to_real_char_size(),
	char_to_real_pixel_size(), round_size_to_real_char().

	* frame-msw.c (mswindows_init_frame_1): Rewritten to support
	system-default new window width and height.
	(mswindows_init_frame_2): Commented out, unused.
	(mswindows_after_init_frame): Added frame method.
	(mswindows_set_frame_size): Reworked to support pixel base
	geometry.
	(mswindows_set_frame_position): Cahnged to use SetWindowPos.
	(mswindows_lower_frame): Ditto.
	(mswindows_set_frame_properties): Fixed to perform correct
	calculation, and to support pixel geometry.
	(console_type_create_frame_mswindows): init_frame_2 removed,
	after_init_frame added.

	* faces.c (default_face_height_and_width_1): Added.
	(update_EmacsFrame): Changed method of notifying mswindwows frame,
	so modeline border gets redrawn.

	* faces.h: Prototype for default_face_height_and_width_1().

	* event-msw.c (mswindows_wnd_proc, WM_SIZE): Redisplay after
	maximize/restore window.
	(mswindows_wnd_proc, WM_WINDOWPOSCHANGING): Do not round size to
	char if window is maximized.
	Use real char metrics for rounding.
	Call DefWindowProc to process WM_GETMINMAXINFO
	(mswindows_set_chord_timer): Changed chord timeout from 1/2 to 1/3
	system double click time

	* device.c (domain_device_type): New function.
	(window_system_pixelated_geometry): New function.
	(Fdomain_device_type): New function, lisp interface to
	domain_device_type().
	(syms_of_device): DEFSUBRed the above.

	* device.h: Ptorotypes for domain_device_type() and
	window_system_pixelated_geometry().

	* menubar-msw.c (mswindows_update_frame_menubars): Call
	update_frame_menubar_maybe always.

1998-03-27  SL Baur  <steve@altair.xemacs.org>

	* s/hpux11.h:
	* s/hpux11-shr.h: New files.
	From Marcus Thiessel <marcus_thiessel@hp.com>

	* Makefile.in.in: temporarily comment -lmcheck support.
	Suggested by Marcus Thiessel <marcus_thiessel@hp.com>

1998-03-26  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* emacs.c (vars_of_emacs): Fixed bug: Now respects configure
	setting of inhibit-site-lisp.
	(main_1): inhibit-site-lisp is now exclusively
	configure-initialized.

1998-03-27  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Don't feed
	error_with_frob() with LispObjects.

1998-03-26  Kirill M. Katsnelson  <kkm@kis.ru>

	* redisplay-msw.c (mswindows_output_cursor): Added parameters for
	character under cursor, and a flag indicating whether the cursir
	is over an image. Draw bar cursor always over an image glyph.
	Callers are changed accross the file.
	Honor the value of window::text_cursor_visible_p.
	(mswindows_output_pixmap): Cursor drawing code #if0ed.
	(mswindows_output_display_block): Call to output cursor after
	drawind an image.

1998-03-27  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c:
	* imgproc.c:
	* imgproc.h:
	* glyphs-x.h: Added in a colormap variable in the X specific image
	struct to handle IMAGE_POINTER images which must be allocated in the
	default colormap of the screen.  Also reformated the code to follow
	coding standards.

	* glyphs.h:
	* glyphs.c:
	* glyphs-x.c: added image-conversion-error type

	* objects-x.c (allocate_nearest_color): Corrected a minor bug involving
	setting the values into XColor.

1998-03-25  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* free-hook.c (check_realloc): Handle the degerate case of realloc with
	a NULL value acting the same as malloc.

1998-03-24  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay-x.c (x_output_eol_cursor): Use x_clear_region
	  instead of XClearArea to erase the cursor so that background
	  pixmaps are handled properly.  New fourth parameter findex
	  added so that it can be passed to x_clear_region.

1998-03-25  Kirill M. Katsnelson  <kkm@kis.ru>

	* process.c (Fprocess_send_eof): Close output stream before
	deleting stream pair.
	(deactivate_process): Ditto, both input and output streams.

	* event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do
	not close passed lstreams.

1998-03-24  Kirill M. Katsnelson  <kkm@kis.ru>

	* fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific.

Mon Mar 23 22:14:12 1998  Andy Piper  <andyp@parallax.co.uk>

	* configure.in: compile in glyphs-msw.o when compiling fopr
	mswindows.

Mon Mar 23 22:14:12 1998  Andy Piper  <andyp@parallax.co.uk>

	* msw-glyphs.el: add support for xpm and bmp. change
	eval-and-compile to progn.

Mon Mar 23 22:14:12 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: fastdump - new target for dumping bypassing
	bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move
	imgproc.o to object list.

	* glyphs-msw.h:
	* glyphs-msw.c: new files adding support for xpm and bmp and
	EImages.

	* redisply-msw.c: add support for outputing color pixmaps.

	* console-msw.h: add bitspixel field to mswindows frame.

	* device-msw.c: initialise bitspixel field in mswindows frame.

	* glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if
	the device type is mswindows.

	* emacs.c: call glyphs-msw.c init functions if compiling with
	mswindows.

	* symsinit.h: add prototypes for glyphs-msw.c functions.

	* sheap.c: make includes src-dir compliant.

	* events.c: remove cygwin ^H <-> erase hack.

	* s/cygwin32.h: remove NOMULTIPLEJOBS defn.

1998-03-24  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (my_jpeg_output_message): Added new function to redirect
	any error/warning messages from the jpeg library to XEmacs.  Also
	get rid of an unneeded temp variable in the tiff code.

1998-03-14  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (fixup_internal_substring): Protect asserts with #ifdef
	ERROR_CHECK_BUFPOS.

	* minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte.
	(Ftry_completion): Fixed typo.

	* dired.c (file_name_completion): Removed `readfunc', a remnant of
	dead VMS code.

1998-03-13  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (Fdirectory_files): Simplify logic.

	* symbols.c (reject_constant_symbols): Allow setting a keyword's
	function slot.

1998-03-23  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c (readevalloop): Don't specbind Qstandard_input to
	READCHARFUN.

1998-03-09  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c (read_atom): Ditto.

	* symbols.c (reject_constant_symbols): Do the keyword stunts only
	if the symbol is in Vobarray.

	* symbols.c (reject_constant_symbols): Signal error when
	attempting to assign a value to a keyword, unless the value is the
	keyword itself.

	* symbols.c (Fintern): Initialize symbol's ->obarray to t only
	when OBARRAY is Vobarray.

1998-03-21  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fmake_event): Allow creation of misc-user-events.

1998-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* config.h.in, emacs.c: Changed allow-site-lisp to
	inhibit-site-lisp.  Made -no-autoloads set inhibit-site-lisp.

1998-03-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* <Today>: The Big Path Searching Overhaul.

	* symsinit.h: Added declaration for complex_vars_of_emacs in
	emacs.c.

	* paths.h.in: Adjusted the comments to reality as dictated by
	configure.

	* filelock.c (complex_vars_of_filelock): Added support for lock
	directories passed in from configure.

	* emacs.c (complex_vars_of_emacs): Added all relevant installation
	paths passed from configure.  They all have the prefix "configure-" now.

	* config.h.in: Added HAVE_SITE_LISP configuration option.

	* callproc.c (init_callproc): Ripped out all the bogus path setup.

	* Makefile.in.in: Updated all calls of "temacs -l" with absolute
	file names because auf the more minimalistic load-path setup in
	lread.c.  Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather
	than EMACSLOADPATH because EMACSLOADPATH is now more persistent than
	before.

	* lread.c (init_lread): Ripped out bogus load-path setup.

1998-03-21  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame.h: Move the check for an initialize_frame_toolbars
	  method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting
	  clunked by toolbar-less builds.

1998-03-20  SL Baur  <steve@altair.xemacs.org>

	* m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript.

1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (window_line_number_buf): Made it larger.

	* opaque.c (print_opaque): Ditto.

	* lstream.c (print_lstream): Avoid `%p'.

	* keymap.c (ensure_meta_prefix_char_keymapp): Use
	error_with_frob().

	* input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf
	dynamically.

	* event-Xt.c (describe_event_window): Allocate buf dynamically.

	* doc.c (Fsubstitute_command_keys): Warn of sprintf().

	* device-x.c (x_init_device): Allocate path dynamically.
	(x_init_device): Allocate buf1 and buf2 dynamically.

1998-03-14  Hrvoje Niksic  <hniksic@srce.hr>

	* ExternalShell.c (GetGeometry): Use a larger buffer for
	sprintf().

1998-03-19  Kirill M. Katsnelson  <kkm@kis.ru>

	* redisplay.c (point_would_be_visible): Fix
	window::line_cache_validation_override reference counter.
	(start_with_line_at_pixpos): Ditto.

1998-03-20  Olivier Galibert  <olivier.galibert@mines.u-nancy.fr>

	* insdel.c (bytecount_to_charcount): Use 'L' suffix on long
	constants probably too large for an int.

1998-03-18  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c (read_atom_0): Signal Qend_of_file if readcharfun
	returned -1.
	(read_escape): Ditto.
	(FSF_LOSSAGE): Ditto.

1998-03-20  SL Baur  <steve@altair.xemacs.org>

	* emacs.c: path-separator (and parse-colon-path) moved from Lisp
	into C because we need it for early initialization.

	* Makefile.in.in (libmcheck): Add.

	* config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H.

	* hash.c (grow_hashtable): Fix tests to compare against
	Qnull_pointer since this function may be called before any symbols
	or the Lisp engine is initialized.

	* emacs.c (main_1): Restore usage of free-hook.c.

	* free-hook.c (check_realloc): Change aborts to printfs.
	(check_free): Ditto.

1998-03-18  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our
	control variable is being modified underneath us.
	- Avoid calling delete_console_internal on stream consoles.

	* console-tty.c (free_tty_console_struct): NULL out pointers after
	xfree'ing.

	* console-stream.c (allocate_stream_console_struct): Fix memory
	leak -- if the stream_console struct is already allocated, don't
	reallocate it.
	(free_stream_console_struct): Don't leave dangling freed pointer
	around.

	* redisplay-output.c (redisplay_redraw_cursor): Fully bracket.

1998-03-17  SL Baur  <steve@altair.xemacs.org>

	* frame.c (delete_frame_internal): Correct check.

	* imgproc.c: Include <config.h>.

1998-03-13  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c: fix for upside-down TIFFs.

1998-03-14  Kirill M. Katsnelson  <kkm@kis.ru>

	* fileio.c (Finsert_file_contents_internal): Removed all DOS_NT
	specific code; rely on FILE_CODING streams instead.
	(Fwrite_region_internal): Ditto.
	(decide_buffer_type): Function removed.
	(buf_decide_buffer_type): Function removed.
	(Many places): References to DOS_NT replaced with WINDOWSNT. MSDOS-
	specific code removed.

	* lread.c (Fload_internal): Removed ugly DOS style re-opening a
	file in text mode. '\r' is perfectly handled in readevallop().

	* redisplay.c (decode_mode_spec): Made %t decode to "T" unconditionally.

	* s/windowsnt.h (FILE_CODING): Define always.

1998-03-15  Kirill M. Katsnelson  <kkm@kis.ru>

	* s/windowsnt.h: Added prototypes for generally used functions
	implemented in nt.c

	* fileio.c (Ffile_readable_p): Conditionalized declared never used
	variables.
	(Fexpand_file_name): Ditto.
	(check_executable): Ditto.

	* lread.c (parse_integer): Eliminated a warning resulted from
	applying unary minus to unsigned int.

1998-03-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.c: (Fldap_search_internal): Print error information from
	errno when connection fails

1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>

	* lread.c: New macro, to avoid exposing an lstream to Lisp error
 	handlers.
	(reader_nextchar): Use it.
	(read1): Ditto.

1998-03-15  Kyle Jones  <kyle_jones@wonderworks.com>

	* cmds.c (Fforward_char): Dropped support for
	  signal-error-on-buffer-boundary.  Added details to
	  doc string.

	  (Fbackward_char): Dropped support for
	  signal-error-on-buffer-boundary by way of change to
	  Fforward_char.  Added details to doc string.

	  Definition of signal-error-on-buffer-boundary moved to
	  lisp/simple.el.

	* window.c (Fscroll_up): Dropped support for
	  signal-error-on-buffer-boundary.  Added details to
	  doc string.

	  (Fscroll_down): Dropped support for
	  signal-error-on-buffer-boundary.  Added details to doc
	  string.

1998-03-15  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay-tty.c (tty_clear_frame): Record that the
	  real location of teh cursor has been moved to 0,0.
	  Failure to do this makes the display code believe the
	  cursor is in a place where it is not.

1998-03-15  Kyle Jones  <kyle_jones@wonderworks.com>

	* console.h: Added set_final_cursor_coords method to console
	  struct.

	* console-tty.h: Added final_cursor_x and final_cursor_y
	  slots to console struct.  Added CONSOLE_TTY_FINAL_CURSOR
	  macros to access them.

	* redisplay.c (create_text_block): No longer
	  turn off the cursor if computing a block when
	  cursor_in_echo_area is 0 and the echo area is
	  inactive.  Needed so that the cursor will not be
	  frozen in the minibuffer when cursor_in_echo_area
	  is non-zero.

	* redisplay-output.c (redisplay_move_cursor): Don't
	  bail if we're moving the cursor in a selected
	  minibuffer window.  Needed so that simple cursor
	  optimization can be done in the minibuffer even when
	  cursor_in_echo_area is non-zero.

	  (redraw_cursor_in_window): Set final cursor coordinates
	  as a special case for cursor_in_echo_area != 0, since
	  the buffer switching between minibuffer and echo area
	  buffer seems to confuse the normal cursor positiong
	  code otherwise.  Set final cursor coordinates in the
	  general case before calling output_display_line.

	* redisplay-tty.c: New function tty_set_final_cursor_coords.

	  (tty_output_end): Set logical cursor position to the final
	  cursor position as specified in CONSOLE_TTY_CURSOR_{X,Y},
	  and then go to it.

	  (tty_redisplay_shutdown): Changed code to use
	  tty_set_final_cursor_coords() to go to the bottom
	  left of the screen instead of using cmgoto()

	  (console_type_create_redisplay_tty): Declare that tty
	  consoles have the set_final_cursor_coords method.

1998-03-13  Hrvoje Niksic  <hniksic@srce.hr>

	* emacs.c (main_1): Avoid snprintf(); allocate the buffer
	dynamically.

1998-03-13  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (png_instantiate): Added in override support
	for png backgrounds.

1998-03-13  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (png_instantiate): Fixed a bug that was causing
	overruns when attempting to display transparent pngs

1998-03-13  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (png_instantiate): Fix brainfart in error handling code.

1998-03-13  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main_1): Guard call to snprintf.

	* config.h.in: Add HAVE_SNPRINTF.

1998-03-13  Kirill M. Katsnelson  <kkm@kis.ru>

	* event-stream.c (init_event_stream): Initialize mswindows event
	loop in stream mode if no other window systems available. Thanks
	to Darryl Okahata.

1998-03-04  Kirill M. Katsnelson  <kkm@kis.ru>

	* alloc.c (garbage_collect_1): Removed #ifndef WINDOWSNT around
	mark_profiling_info().

1998-03-11  SL Baur  <steve@altair.xemacs.org>

	* console-tty.c (Fset_console_tty_coding_system): Guard against
	terminal-coding-system being left unitialized by a locale.
	From Kazuyuki IENAGA <ienaga@jsys.co.jp>

1998-03-11  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* config.h.in: Added in new feature check HAVE_VSNPRINT to check
	for safe ways to deal with vsprintf and friends.

	* glyphs-x.c (gif_instantiate): Changed gif support to call external
	library Giflib 3.1.  Altered GIF/JPEG/PNG formats to use new EImage
	format for dealing with images to better support color handling, and
	facilitate the change to a device-neutral implementation.  Added TIFF
	support.

	* Makefile.in.in: Removed all gif related files

	* emacs.c (main_1): Removed reference to init_gif_err
	* symsinit.h: ditto

	* dgif_lib.c: Removed from the source distribution
	* gif_err.c: ditto
	* gif_lib.h: ditto
	* gifalloc.c: ditto

Mon Mar 09 13:00:55 1998  Andy Piper  <andyp@parallax.co.uk>

	* file-coding.c: warning elimination

	* ntplay.c: new file. basic implementation of sound support.

	* redisplay-msw.c (mswindows_update_dc): cachel bug is gone so we
	don't need this code under cygwin.

	* sheap.c: need large heap slop for byte compiling with three
	display types.

	* sound.c: eliminate warnings. enable sound under mswindows.

	* s/cygwin32.h: miscellaneous updates for sound support.

1998-03-09  SL Baur  <steve@altair.xemacs.org>

	* config.h.in: Add BITMAPDIR.

	* glyphs-x.c (locate_pixmap_file): Assume BITMAPDIR is a
	colon-separated path.

	* emacs.c (main_1): Initialize dll support with the path the
	binary.
	(make_arg_list_1): Ditto.

	* sysdll.h: Add legalese.
	* sysdll.c: Ditto.

	* sysdll.c: sysdll.h needs to be included with double quotes not
	angle brackets.
	Use RTLD_GLOBAL as an open flag if it exists.

1998-03-09  Martin Buchholz  <Martin Buchholz <martin@xemacs.org>>

	* eldap.c (Fldap_search_internal): call garbage_collect_1 instead
	of Fgarbage_collect.  The two are identical except the latter
	generates some `fresh' garbage :)

1998-03-09  SL Baur  <steve@altair.xemacs.org>

	* keymap.c: Add symbols for mouse-4 and mouse-5.
	(define_key_check_and_coerce_keysym): Mouse-4, Mouse-5 keysym support.
	(syms_of_keymap): Ditto.

1998-01-26  Hrvoje Niksic  <hniksic@srce.hr>

	* marker.c (print_marker): Print marker's lheader.uid.
	(Fbuffer_has_markers_at): New function, synched with FSFmacs 20.2.
	(Fbuffer_has_markers_at): Disabled by default.

1998-01-25  Hrvoje Niksic  <hniksic@srce.hr>

	* sound.c (Fplay_sound_file): Place the result of continuable
	error back to FILE.

1998-03-09  SL Baur  <steve@altair.xemacs.org>

	* emacs.c, config.h.in: New DLL support.
	* sysdll.h, sysdll.c: New files.
	* dll.c: renamed from dlopen.c, use interface defined in sysdll.c.
	From William Perry <wmperry@aventail.com>

	* eldap.h: Fix copyright.
	* eldap.c: Ditto.

1998-03-08  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Add dependencies for process-unix.o.

1998-03-08  Kyle Jones  <kyle_jones@wonderworks.com>

	* glyphs-x.c (write_lisp_string_to_temp_file):
	  Don't explicitly initialize conversion_out_dynarr, because
	  doing so may cause it to be put into read-only space
	  and modifying it later would make XEmacs crash.

1998-03-07  Kyle Jones  <kyle_jones@wonderworks.com>

	* events.h: Add do_backspace_mapping parameter to
	  function prototype of character_to_event.

	* events.c: Add fifth parameter to character_to_event to
	  control the backspace mapping.  In character_to_event map most
	  characters that match tty-erase-char to the backspace keysym,
	  but only if do_backspace_mapping paramter is non-zero.

	  (Fcharacter_to_event): Tell character_to_event() to DO
	  backspace mapping.

	* event-stream.c:
	  (maybe_read_quit_event): Tell character_to_event() to DO
	  backspace mapping.

	  (maybe_kbd_translate): Tell character_to_event() to DO backspace
	  mapping.

	  (lookup_command_event): Tell character_to_event() to DO backspace
	  mapping.

	* event-unixoid.c:
	  (read_event_from_tty_or_stream_desc): Tell character_to_event()
	  to DO backspace mapping.

	* keymap.c:
	  (get_keyelt): Tell character_to_event() to NOT DO backspace
	  mapping.

	  (define_key_parser): Tell character_to_event() to NOT DO backspace
	  mapping.

	  (Fsingle_key_description): Tell character_to_event() to DO
	  backspace mapping.

1998-03-04  Kirill M. Katsnelson  <kkm@kis.ru>

	* alloc.c (Fpurecopy): Do not mark symbols through
	Vpure_uninterned_symbol_table twice: hash (OBJ, nil) instead of
	(OBJ, OBJ).

1998-03-07  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (shut_down_emacs): Disable forced auto-save in a crash.
	It causes more problems than it solves.

1998-03-02  Greg Klanderman  <greg@alphatech.com>

	* window.c (Fwindow_displayed_pixel_height) New function.
	(Fenlarge_window_pixels): New function.
	(Fshrink_window_pixels): New function.
	(window_displayed_pixel_height): New, helper for
	Fwindow_displayed_pixel_height.
	(change_window_height): Add `inpixels' argument.
	(syms_of_window): 3 new DEFSUBR's.

Thu Mar 05 12:01:35 1998  Andy Piper  <andyp@parallax.co.uk>

	* redisplay-msw.c (mswindows_output_cursor): separate getting
	cachel index from retrieving cachel to work around apparent bug in
	gcc.

1998-03-06  Kyle Jones  <kyle_jones@wonderworks.com>

	* events.c (character_to_event): The tty_erase_char test
	doesn't do anything because it's in the wrong place.
	Moved it to where it can take effect.

	* dired.c (Fdirectory_files): Initialize GCPRO'ed variable.

	* events.c (character_to_event): Never map '(control
	  foo) to QKbackspace.  Only map ASCII 8 to QKbackspace;
	  don't map any other key.

1998-03-05  Kyle Jones  <kyle_jones@wonderworks.com>

	* src/redisplay-output.c (redisplay_move_cursor): Bail if
	  cursor_in_echo_area is non-zero and we're fiddling
	  with the cursor in a minibuffer window, since that is a
	  special case that is handled elsewhere and this function
	  need not handle it.  Return 1 so the caller will assume we
	  succeeded.

Wed Mar 04 08:55:12 1998  Andy Piper  <andyp@parallax.co.uk>

	* device.c (init_global_resources): compile in based on window
	system not just x.

	* console.c (select_console_1): add mswindows console type.

1998-03-04  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay-output.c (redisplay_redraw_cursor): Redraw
	  the cursor in the minibuffer window if cursor_in_echo_area
	  is non-zero.

Wed Mar 04 08:55:12 1998  Andy Piper  <andyp@parallax.co.uk>

	* emacs.c (main_1): predicate display_use to mswindows only if x
	is not already selected.

	* event-msw.c: comment out non-code for HAVE_TOOLBAR case. don't
	compile debug_process_finalisation if x is compiled in.

	* event-stream.c (init_event_stream): don't make X and mswindows
	mutually exclusive. Select msw event loop if started that way,
	X/tty event loop otherwise.

	* frame.h: protect toolbar #defines from assuming ints are in
	toolbar_data. This happens if you have two display types compiled
	in and one supports toolbars and the other doesn't.

	* s/cygwin32.h: warning elimination.

1998-03-03  SL Baur  <steve@altair.xemacs.org>

	* editfns.c (Ftemp_directory): New function.
	From Glynn Clements <glynn@sensei.co.uk>

	* editfns.c (Ftemp_directory): Use build_ext_string.

1998-03-02  Martin Buchholz  <Martin Buchholz <martin@xemacs.org>>

	* symsinit.h: add prototype for syms_of_dlopen

1998-03-02  Kyle Jones  <kyle_jones@wonderworks.com>

	* window.c (save_window_save): save value of
	  default_toolbar_height slot.

	  (Fset_window_configuration): restore value of
	  default_toolbar_height slot.

Fri Feb 20 21:22:34 1998  Darryl Okahata  <darrylo@sr.hp.com>

	* "Fast" dired-in-C enhancements for Windows 95/NT:

	* ntproc.c:
	* device-msw.c:
	  Moved definition of `Vwin32_downcase_file_names' from ntproc.c
	  to device-msw.c, and renamed it to
	  `Vmswindows_downcase_file_names'.  It doesn't really belong
	  here, but I didn't want to create a new file, just for this one
	  variable.  This fixes a bug in `expand-file-name' that caused
	  all returned filenames to be lowercased (this was supposed to be
	  conditional upon Vmswindows_downcase_file_names, but wasn't, as
	  it was never initialized due to obsolescence of ntproc.c).  This
	  variable is also used by the dired-in-C enhancements.

	  Also moved and renamed `Vwin32_get_true_file_attributes' to
	  `Vmswindows_get_true_file_attributes'.  This affects stat() in
	  nt.c, and so it really does need to be initialized.

	  However, there's still one more variable in ntproc.c that still
	  needs to be moved/renamed, `Vwin32_pipe_read_delay', but I
	  didn't touch this, as this is a subprocess issue.

	* dired-msw.c: New file for dired-in-C enhancements for
	  Windows 96/NT.

	* emacs.c: Initialization calls for dired-msw.c.

	* nt.c (convert_time): make into public function (dired-in-C
	  functions use it).

1998-02-28  Kirill M. Katsnelson  <kkm@kis.ru>

	* sysdep.h: Prototypes for the above 2 functions

	* sysdep.c (get_pty_max_bytes): Moved here from process.c
	(get_eof_char): Ditto

	* symsinit.h: Prototypes for initialization functions called from
	emacs.c: process_type_create_mswindows, process_type_create_unix,
	vars_of_process_mswindows, vars_of_process_unix.

	* procimpl.h: New file. Includes prototypes and other stuff shared
	by process.c and implementation files (process-unix.c,
	process-msw.c in future).

	* process.h (PROCESS_LIVE_P): Changed to test against stream
	existence, to avoid dependency on fds.

	* process.c: Only process implementation independent code is now
	in this file. Moved the rest into process-unix.c
	(Fopen_network_stream_internal): Added 5th parameter, protocol
	family. Defaults to 'tcp/ip when unspecified.

	* process-unix.c: New file, implementation of UNIX
	processes. UNIX-specific code from the old process.c is here.

	* Lstream.c (Lstream_was_blocked_p): New function. Replaces
	filedesc_stream_was_blocked_p.
	(filedesc_was_blocked_p): Implementation of the method for
	filedesc stream
	(filedesc_stream_set_pty_flushing): set pty_flushing flag
	(filedesc_stream_fd): New function, returns fd of the stream

	* lstream.h (lstream_implementation): was_blocked_p is a new
	optional lstream method.
	Added prototypes for functions in lstream.c

	* lisp.h: (USID): Typedef for Unique Stream IDentifier. Reuqired
	by the new code in many places.

	* events.h (struct event_stream): Declaration of the two mandatory
	event stream methods, required by process support.

	* event-unixoid.c (event_stream_unixoid_create_stream_pair):
	Implementation of the method shared by TTY and X
	(event_stream_unixoid_delete_stream_pair): Ditto

	* event-tty.c (emacs_tty_next_event): get_process_from_usid()
	instead of get_process_from_fd()
	(emacs_tty_create_stream_pair): New events tream method
	(emacs_tty_delete_stream_pair): New events tream method

	* event-stream.c (event_stream_create_stream_pair): New event
	stream method
	(event_stream_delete_stream_pair): Ditto

	* event-msw.c (debug_process_finalization): Although if0'ed,
	removed obsolete code

	* event-Xt.c (emacs_Xt_create_stream_pair): Implementation if the
	new event stream method
	(emacs_Xt_delete_stream_pair): Ditto

	* emacs.c (main_1): Added calls to process_type_create*() and
	vars_of_process()

	* callproc.c: (many places): removed DOS support

1998-03-02  SL Baur  <steve@altair.xemacs.org>

	* process.c (Fprocess_status): Restore old behavior -- call
	Fget_process on a string argument.

Mon Mar 02 11:37:36 1998  Andy Piper  <andyp@parallax.co.uk>

	* file-coding.h:
	* file-coding.c: more cleanup by only including iso2022 stuff in a
	mule build. (setup_eol_coding_systems) move (T) -> :T etc.

	* event-stream.c: (Fopen_dribble_file) Qescape_quoted only exists in
	mule.

	* md5.c: remove warning.

	* unexcw.c: move .idata -> .rdata for cygwin b19.

	* Makefile.in.in: add msw dependencies.

	* sheap.c: up static heap parameters.

	* s/cygwin32.h: add prototypes to eliminate warnings.

1998-03-02  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (blddir): Import blddir.
	Add blddir to dump-time load-path.

	* nas.c (play_sound_data): Add braces for clarity.
	(play_sound_file): Ditto.

1998-03-01  SL Baur  <steve@altair.xemacs.org>

	* alloc.c: Boost static vector size for breathing room.  Double
	the size if we may be dynamically linking.

	* dlopen.c (Fdl_open): Use RTLD_GLOBAL flag on dlopen if available.

	* device-x.c (x_init_device): Hardcode `Emacs' as the filename
	containing localized menubars.

	* config.h.in: Add HAVE_UNIX_PROCESSES for 20.6.

	* alloc.c (init_alloc_once_early): Document movement of mmap
	enabling code to emacs.c.

	* Makefile.in.in: Update FILE_CODING dependencies.

1998-03-01  Kyle Jones  <kyle_jones@wonderworks.com>

	* file-coding.c (setup_eol_coding_systems): Don't try
	  to copy the mnemonic property of the coding system
	  unless it is a string.

	  (allocate_coding_system): Initialize coding system
	  struct member 'mnemonic' to Qnil.  Leaving its value
	  set to 0 causes a crash.

1998-03-01  SL Baur  <steve@altair.xemacs.org>

	* file-coding.c (DEFINE_SUB_CODESYS): Undo previous patch.

1998-03-01  Kyle Jones  <kyle_jones@wonderworks.com>

	* callint.c: Read coding system names for the 'z' and
	  'Z' interactive specs if FILE_CODING or MULE is defined.
	  Previously, coding system names were read only if MULE was
	  defined.

	* file-coding.h: Removed charset-based category types
	  from enumerated coding_category_type if not building
	  with MULE.

	* file-coding.c (syms_of_mule_coding): Don't define
	  symbols for charset-based coding systems unless
	  building with MULE.

1998-02-28  SL Baur  <steve@altair.xemacs.org>

	* alloc.c (garbage_collect_1): Guard call to selected_frame so it
	cannot be called during GC.
	- Update current count of staticpro'ed objects.

1998-02-28  Kyle Jones  <kyle_jones@wonderworks.com>

	* menubar.c (Fmenu_find_real_submenu): Document the
	  "use struct as array" hack.  Convert struct pointer to
	  array to avoid compiler warnings.

1998-02-26  SL Baur  <steve@altair.xemacs.org>

	* buffer.c (complex_vars_of_buffer): Fix DOC string for
	buffer-file-coding-system.

1998-02-26  Damon Lipparelli  <lipp@primus.com>

	* symsinit.h: syms_of_ldap() is actually syms_of_eldap().

	* eldap.c: removed duplicates.

1998-02-26  SL Baur  <steve@altair.xemacs.org>

	* file-coding.c (setup_eol_coding_systems): Disable SUB_CODESYS
	feature -- it causes stack corruption in Mule.

1998-02-27  Kirill M. Katsnelson  <kkm@kis.ru>

	* events.c (character_to_event): The code which guesses TTY
	backspace character is conditionalized on HAVE_TTY

1998-02-26  SL Baur  <steve@altair.xemacs.org>

	* console.c (complex_vars_of_console): Guard tty_erase_char with
	HAVE_TTY.
	* conslots.h: Ditto.

1998-02-25  SL Baur  <steve@altair.xemacs.org>

	* events.c (character_to_event): Correct operations on tty_erase_char.
	From Martin Buchholz <martin@xemacs.org>

	* file-coding.c (setup_eol_coding_systems): Unix/Binary sub
	coding-system display should default to the empty string.
	- Use '(t)' for Mac/Text mode.

Tue Feb 17 12:50:37 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: make sure clean removes msw executables. This
 	prevents the build stalling after puresize has been adjusted. Add
 	file-coding.o to list of objects.

	* buffer.c:
	* buffer.h:
	* bufslots.h:
	* callproc.c:
	* console-tty.c:
	* emacs.c:
	* event-Xt.c:
	* event-stream.c:
	* glyphs-x.c:
	* lread.c:
	* md5.c:
	* mule-canna.c:
	* mule-ccl.c:
	* process.c:
	* redisplay-x.c:
	* redisplay.c: remove #ifdef MULE's from stuff that relates to
	file-coding. include file-coding.h rather than mule-coding.h
	where applicable.

	* mule-coding.c: #if 0 out functionality until file-coding is
	split up.

	* file-coding.h:
	* file-coding.c: new files. copies of mule-coding.h and
 	mule-coding.c. The mule case is unchanged. The non-mule case
 	removes coding relating to other charsets - iso2022, big5, sjis,
 	ccl. (setup_eol_coding_systems) add the eol type to the subsidiary
 	coding system mnemonics so that it shows on the modeline,
 	currently (B) for unix style (T) for mac and dos styles.

	* fileio.c: remove #ifdef MULE's from stuff that relates to
 	file-coding. include file-coding.h rather than mule-coding.h where
 	applicable. FSFMACS_SPEEDY_INSERT is gone since file coding is
	always on.

	* sheap.c: (more_static_core) remove spurious \n's from error
	message.

1998-02-25  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp-disunion.h: Added XUINT macro.

	* lisp-union.h: Added XUINT macro.

	* data.c (Flsh): Used XUINT instead of XINT to
	  extract the value of the first argument to avoid sign
	  extension of the result.

1998-02-25  SL Baur  <steve@altair.xemacs.org>

	* s/decosf4-0.h: Add -D_BSD.
	From Tore Olsen <toreo@tihlde.hist.no>

1998-02-21  Greg Klanderman  <greg@alphatech.com>

	* device-x.c (x_init_device): allow `x-emacs-application-class' to
 	be nil prior to connecting to the X server.  When this is the
	case, the application class is chosen based on whether the user
	has any resources with application class `XEmacs' set in the
	resource database.
	(vars_of_device_x): make x-emacs-application-class nil by default
	and document new behavior in its doc string.

1998-02-23  Aki Vehtari  <Aki.Vehtari@hut.fi>

	* menubar.c: Doc fix: suffix can be form.

	* gui.c (gui_parse_item_keywords): Allow button descriptors
	at least 2 long.
	(gui_item_display_flush_left): Suffix can be form.

	* gui-x.c (button_item_to_widget_value): Allow button descriptors
	at least 2 long.
	(button_item_to_widget_value): Suffix can be form.

1998-02-24  SL Baur  <steve@altair.xemacs.org>

	* s/sol2.h: define HAVE_GETLOADAVG for late edition Solaris
	From Georg Nikodym <georgn@Canada.Sun.COM>

1998-02-24  Didier Verna  <didier@xemacs.org>

	* redisplay.c (generate_fstring_runes): fixed the modeline
	scrolling lossage (the % constructs appearing in the
	modeline). Now that we can have negative positions and boundaries,
	max_pos == -1 can't mean 'no limit' anymore. Me, stupido!
	(add_string_to_fstring_db_runes): Ditto.
	(add_glyph_to_fstring_db_runes): Ditto.

1998-02-19  Jim Radford  <radford@robby.caltech.edu>

	* sysdep.c: Don't clobber SIGIO event flags we don't care about.
	* device.h: removed old_sigio_flag, sigio_enabled from device
	Secretly (on Solaris) F_SETOWN calls I_SETSIG. We unknowingly
	clobbered the changes so restoring the owner would cause
	F_SETOWN's I_SETSIG to fail therby causing an annoying syslog
	message.  Changed FASYNC version to match (untested).

1998-02-22  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main): Enable mmap for glibc-2.1 and Linux libc5.
	Enable mmap only for non-Mule for glibc-2.0.

1998-02-21  SL Baur  <steve@altair.xemacs.org>

	* config.h.in: Define _NO_MALLOC_WARNING_ if using dlmalloc from
	Linux libc5.

1998-02-19  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* emacs.c: declare hooks only if !DOUG_LEA_MALLOC since the
	declaration conflicts with glibc's own.

1998-02-19  SL Baur  <steve@altair.xemacs.org>

	* config.h.in: Remove HAVE_TERM, add USE_MINIMAL_TAGBITS and
	USE_INDEXED_LRECORD_IMPLEMENTATION.

	* process.c (Fopen_network_stream_internal): Remove TERM support.

	* sysproc.h: Remove TERM support.

1998-02-20  Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* input-method-xfs.c: add setlocale(LC_CTYPE, "") right after
	setlocale(LC_NUMERIC, "C").  Because, without this, the LC_CTYPE
	got a side effect of LC_NUMERIC then set to "C".

1998-02-19  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main): Enable mmap'ing with XEmacs/Mule.

	* redisplay.c (add_string_to_fstring_db_runes): Fix infloop
	problem with long modelines and glyphs.

	* unexelf.c: The proper way to check for GNU libc is with __GLIBC__.
	Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de>

1998-02-18  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Remove all references to prefix-args.

1998-02-18  Kirill M. Katsnelson  <kkm@kis.ru>

	* sysdep.c (mswindows_set_errno): New function
	(mswindows_set_last_errno): Ditto
	These convert Win32 error code to ANSI C errno.

	* sysdep.h: Prototypes for the above 2 functions.

	* menubar-msw.c (vars_of_menubar_mswindows): Fprovide
	('mswindows-menubar) removed. See the entry of 1998-01-03

	* process.c: FSFmacs proc_buffered_char static array
	#if0'ed in 2 places. It is never used.

1998-02-01  Kyle Jones  <kyle_jones@wonderworks.com>

	* window.c (save_window_save): Save window-cached
	  speciifer values.
	  (saved_window_equal): Added comparisons of window-cached
	  specifier values.
	  (Fset-window-configuration): Restore window-cached
	  specifier values.

1998-02-18  Didier Verna  <didier@xemacs.org>

	* modeline.el (mouse-drag-modeline): added the horizontal
	scrolling functionality for the modeline. This could still be
	improved, for instance when the mouse goes out of the modeline.

1998-02-18  Didier Verna  <didier@xemacs.org>

	* redisplay.c:
 	(generate_formatted_string_db): new flag to distinguish a modeline
	string from a title or icon one, plus use a negative first pos to
	indicate the modeline hscroll amount.
	(add_string_to_fstring_db_runes): completely rewrote this function
	to handle the case of scrolled modelines.
	(add_glyph_to_fstring_db_runes): handle the case of scrolled
	modelines.

	* window.c:
	(Fmodeline_hscroll): new function to return the	modeline current
	horizontal scroll amount.
	(Fset_modeline_hscroll): new function to scroll the modeline
	horizontaly.
	Plus some updates related to this new functionality (windows
	configuration, notably).

	* window.h (struct window): added the new field modeline_hscroll.

1998-02-18  SL Baur  <steve@altair.xemacs.org>

	* m/alpha.h:
	* unexelf.c: Synched with Emacs 20.2.
	From Aki Vehtari <Aki.Vehtari@hut.fi>

	* emacs.c (main): Don't call __sbrk().
	* gmalloc.c (__sbrk): Ditto.
	Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de>

1998-02-17  SL Baur  <steve@altair.xemacs.org>

	* console-tty.c (Fset_console_tty_coding_system): New function.
	From Kazuyuki IENAGA <ienaga@jsys.co.jp>

1998-02-15  SL Baur  <steve@altair.xemacs.org>

	* ralloc.c (init_ralloc): DOUG_LEA_MALLOC support.
	(r_alloc_reinit): Ditto.
	[All non-HAVE_MMAP code]: Synched with Emacs 20.2.

	* emacs.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2.
	(main): Ditto.
	Add LINUX_SBRK_BUG workaround, what is it?
	(Fdump_emacs): DOUG_LEA_MALLOC support from Emacs 20.2.

	* alloc.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2.
	(init_alloc_once_early): Ditto.

	* config.h.in: Add DOUG_LEA_MALLOC symbol.

	* unexfreebsd.c (run_time_remap): Change printf format string to
	match parameters given.

1998-02-14  SL Baur  <steve@altair.xemacs.org>

	* s/sco5.h: Define LIB_GCC as -lgcc for gcc 2.8 and egcs.
	Suggested by Robert Lipe <robertl@dgii.com>

1998-02-14  Martin Buchholz  <martin@xemacs.org>

	* event-Xt.c (x_reset_key_mapping):
	* device-x.c:
	(x-keysym-on-keyboard-p):
	(x-keysym-on-keyboard-sans-modifiers-p):
	Use x-keysym-on-keyboard-sans-modifiers-p instead of
	x-keysym-on-keyboard-p to detect backspace.
	Use symbols instead of strings (now deprecated) with x-keysym-*-p.
	Clean up symbols used with dead keys, checking Linux and solaris
	keysyms.
	Simplify x-win-*.el using above methods.
	Change documentation for x-keysym-*-p functions.

1998-02-13  SL Baur  <steve@altair.xemacs.org>

	* unexelfsgi.c: Various changes.
	From Olivier Galibert <galibert@pobox.com>

	* s/freebsd.h: Avoid redefining BSD.
	From Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* extents.c (extent_fragment_update): Break up a line to avoid a
	Digital UNIX 3.2g C compiler bug.
	From Tonny Madsen  <tma@nettest.dk>

	* process.c (create_process): Restore save_environ hackery.

1998-02-10  SL Baur  <steve@altair.xemacs.org>

	* emacsfns.h: Remove mocklisp declarations.

	* redisplay-msw.c (mswindows_update_dc): Enable evil kludge for
	cygwin.
	From Andy Piper <andyp@parallax.co.uk>

1998-02-09  SL Baur  <steve@altair.xemacs.org>

	* menubar-msw.c (vars_of_menubar_mswindows): Fix patch failure.
	Suggested by: kny@tekla.fi

	* data.c (Fold_eq): PC-ize.

	* chartab.c: PC-ize.

	* window.c (toplevel): PC-ize.
	(syms_of_window): Ditto.

	* search.c (Freplace_match): PC-ize.

	* lread.c: PC-ize.

	* buffer.c (Fbuffer_enable_undo): PC-ize.
	(Fbuffer_disable_undo): ditto.

	* eval.c (return_from_signal): PC-ize.

	* casetab.c: PC-ize.

	* callproc.c (Fcall_process_internal): PC-ize.

1998-02-02  Kirill M. Katsnelson  <kkm@kis.ru>

	* gui.h (struct gui_item): Menu item, submenu or GUI button
	properties are abstracted into this new structure.
	Added prototypes for the following functions

	* gui.c (gui_item_init): New function
	(gui_item_add_keyval_pair): Ditto
	(gui_parse_item_keywords): Ditto
	(gui_item_active_p): Ditto
	(gui_item_included_p): Ditto
	(gui_item_display_flush_left): Ditto
	(gui_item_display_flush_right): Ditto. The above listen new
	functions manipulate on properties common to menu items and GUI
	buttons.

	* menubar.c (current_frame_menubar): Moved from menubar-msw.c
	(menu_parse_submenu_keywords): New function
	(Fmenu_find_real_submenu): Ditto, lisp accessible. The last two
	functions operate on menu properties stored in struct gui_item,
	but are specific to menus only.

	* menubar.h: Prototypes for the above functions.

	* menubar-msw.c: Modified to utilize struct gui_item instead of
	plists, to reduce garbage. Suggested by Ben Wing.
	Unreachable menus are fixed.

1998-01-03  Kirill M. Katsnelson  <kkm@kis.ru>

	* menubar-msw.c (allocate_menu_item_id): Added third parameter to
	hash, suffix. Menus tend to put non-localizable items into suffix
	with empty name.
	(update_frame_menubar_maybe): top_level_menu is now set here.
	(mswindows_popup_menu): Ditto. It was incorrect to set it from
	populate.
	(vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed:
	(featurep (and 'mswindows 'menubars)) tests the same.
	(mswindows_update_frame_menubars): update_..._maybe () now called
	only if frame->menubar_changed is set. Is it right to patch
	menubar.c instead?

1998-02-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* objects-msw.c:
	  Updated color database to X11R6. Also added support for
	  "#RRRGGGBBB" and "#RRRRGGGGBBBB" in addition to "#RRGGBB".

1998-02-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* console.h:
	* console-stream.c:
	* redisplay.c:
	* redisplay-msw.c:
	* redisplay-tty.c:
	* redisplay-x.c:
	  Added the frame as a parameter to the text_width device
	  method.

	* redisplay-msw.c:
	  Support for proportional fonts.

1998-02-07  Hrvoje Niksic  <hniksic@srce.hr>

	* window.c (map_windows): Don't return the value of map_windows_1.
	(map_windows): If F is NULL, map through all the windows.
	(mark_windows_in_use): Use map_windows(); made it static.
	(mark_windows_in_use_closure): New function.

1998-02-01  Hrvoje Niksic  <hniksic@srce.hr>

	* alloc.c (Fpurecopy): Check for non-`nil'-ness instead of
	checking for Vobarray.

	* dlopen.c (Fdl_open): Indirect FUNCTION explicitly, for clarity.

	* elhash.c: Removed broken hashtable_hash().

1998-01-28  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (Fintern): Use Qt instead of the actual obarray.
	(init_symbols_once_early): Ditto.

1998-01-27  Hrvoje Niksic  <hniksic@srce.hr>

	* lisp.h (DO_REALLOC): Name the variable `do_realloc_newsize'
	instead of `newsize', to avoid name collisions.

1998-01-26  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_symbol): Be more wary about the contents of
	Vprint_gensym_alist.

1998-02-06  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (Frun_emacs_from_temacs): Disable largely meaning-free
	purity/impurity summary.  Compile with -DREPORT_PURE_USAGE to get
	it back.

	* process.c (create_process): Unused variable elimination.

	* lread.c (Fload_internal): Compiler warning suppression.

	* alloc.c (report_pure_usage): Remove unused variable.

Wed Jan 28 13:41:22 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: add support for sheap-adjust.h generation for
	static heap.

Wed Jan 28 13:41:22 1998  Andy Piper  <andyp@parallax.co.uk>

	* Makefile.in.in: add sheap-adjust.h support, basically copied
	from puresize-adjust.h. predicate sheap.o on HEAP_IN_DATA. fix
	xemacs target slightly to not be a single shell command, this
	fixes an obscure bug in cygwin gmake.

	* alloc.c (report_pure_usage): call sheap_adjust_h if HEAP_IN_DATA
	is defined.

	* sysfile.h: add abstracted OPEN_BINARY, OPEN_TEXT etc defines. On
	Unix these are all 0 and have no effect. On systems defining
	O_BINARY these use it. WINDOWSNT is currently unaffected because
	there are individual #ifdefs in each source file, but with this
	change they could be removed.

	* emacs.c:
	* doc.c:
	* lread.c:
	* process.c: generalize open() calls with OPEN_BINARY. Does
	nothing under Unix.

	* emacs.c: predicate inclusion of windows.h on WINDOWSNT not
	_WIN32.

	* process.c:
	* sysdep.c:
	* signal.c: predicate SIGIO stuff also on !BROKEN_SIGIO, this is
	required for building on cygwin32 b19 which has SIGIO that only
	works on sockets.

	* fileio.c:
	* event-stream.c: generalize open() calls with OPEN_BINARY. Does
	nothing under Unix. Use open() instead of creat() to make this
	possible. use CREAT_MODE from sysfile.h

	* config.h.in: add MULE_CODING, currently not used. add support
	for HAVE_A_OUT_H.

	* elhash.c:
	* menubar-msw.c:
	* mule-ccl.c:
	* device-msw.c: warning elimination.

	* event-msw.c: add undeclared Dde calls for cygwin.

	* redisplay-msw.c: warning elimination under mule.

	* gmalloc.c: make initalize() really do that. If HEAP_IN_DATA is
	defined catch free() & realloc() calls with addresses in the data
	space. __morecore calls more_static_core for temacs, when dumped
	switches to sbrk().

	* console-msw.h: undef CONST after windows.h inclusion since this
	defines CONST. #ifdef out shellapi under cygwin.

	* device-msw.c: include sysdep.h

	* objects-msw.c: add dummy mswindows_font_spec_matches_charset and
	mswindows_find_charset_font so that we can build with mule.

	* mem-limits: return -1 for get_lim_data() when HEAP_IN_DATA is
	defined.

	* sheap.c: new file. defines sheap_adjust_h and more_static_core
	so that data space can be used by gmalloc before dumping when
	HEAP_IN_DATA is defined. beef up error message about what to do if
	sheap space runs out.

	* sysdep.c: make start_of_data return something sensible for
	HEAP_IN_DATA.

	* systime.h: don't use itimer stuff on cygwin b19.

	* unexcw.c: new file. Full unexec() support for cygwin using the
	HEAP_IN_DATA setup provided by sheap.c and friends. No run-time
	remapping is performed. This could be generalized to support many
	platforms that use COFF. you need a.out.h from my website to build
	this. cygwin b19 will have this.

	* s/cygwin32.h: fixed commentary. compile in unexcw.o for dumping
	support. removed irrelevent things. define BROKEN_SIGIO. remove
	include of windows.h. add correct process support defines, process
	support might work when non-blocking io is implemented in cygwin.

1998-02-02  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs.c: Removed ImageMagick support, re-instituted the previous
	support for JPEG, GIF and PNG with the new color system.

1998-02-05  Olivier Galibert  <galibert@pobox.com>

	* unexelf.c: Fix alignment problems on Linux.

1998-02-01  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay.c (redisplay_window): After outputting
	  the window, invalidate its the line start cache if the
	  we're displaying the minibuffer window and the echo
	  area is active.  The cache is only valid for the echo
	  area buffer, and that buffer isn't associated with the
	  minibuffer window anymore.

1998-01-31  SL Baur  <steve@altair.xemacs.org>

	* alloc.c (disksave_object_finalization): Additional checking for
	sanity when zeroing out unused portions of string_chars_block's.
	(Fpurecopy): Spelling fixes in comment.
	(PURESIZE_SLOP): Set default slop to 0.

1998-01-31  Kyle Jones  <kyle_jones@wonderworks.com>

	* chartab.c (make_char_table): Initialize mirror
	  tables with Spunct in all the slots.  Syntax table
	  initialization doesn't touch slots for nonexistent
	  characters sets.  If character sets corresponding to
	  those slots are created later Qnil values in the slots
	  will cause crashes.
	(copy_char_table_entry): Return copy not original.

1998-01-28  Jonathon Harris  <jhar@tardis.ed.ac.uk>

	* msw-proc.c:
	* event-msw.h:
	* event-msw.c:
	* console-msw.h:
	Deleted the first two and merged them into the last two files.

	* device-msw.c:
	* event-msw.c:
 	* frame-msw.c:
	Added file-based drag and drop support. The "System/Open" DDE command
	is also implemented as if it were a drag and drop operation.

	* emacsfns.h:
	* event-stream.c:
	* events.c:
	* events.h:
	* frame.c:
	* keymap.c:
	Replaced all "#ifdef HAVE_OFFIX_DND" with
	"#if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS)"

	* device.h: Added DEVICE_MSWINDOWS_P and related macros.

	* objects-msw.c:
	* select-msw.c:
	Eliminated warnings.

	* redisplay-msw.c: Changed color of "dead" box between scrollbars
	to windows' "button" color for compatibility with other windows apps.

1998-01-20  Stephen Turnbull  <turnbull@sk.tsukuba.ac.jp>

	* Makefile.in.in: move `rm puresize-adjust.h' from distclean
	  to mostlyclean

1998-01-29  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (dlopen.o): Add dependencies.

	* s/sunos4-0.h: Conditionalize use of broken-sun.h for old Gccs.
	Suggested by Amir J Katz <amir@ndsoft.com>

1998-01-28  SL Baur  <steve@altair.xemacs.org>

	* faces.c (init_device_faces): This function can call lisp.

1998-01-28  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* mule-coding.h:
	* mule-coding.c: (determine_real_coding_system): removed the
	static declaration to allow reuse.

	* md5.c (Fmd5): Rewrote to fully support MULE, as well as streamline
	the code.

	* mule-ccl.c (ccl_driver): Set initial values of variables to shut up
 	the compiler and to give better error message if a quit happens before
	any ccl_code is generated.

1998-01-28  SL Baur  <steve@altair.xemacs.org>

	* glyphs.c (allocate_glyph): This function can GC.
	Wrap GCPRO around unprotected function calls.
	(specifier_vars_of_glyphs): Comment change -- Can we GC here?

1998-01-27  SL Baur  <steve@altair.xemacs.org>

	* lread.c (Fload_internal): Add extra GCPRO around call to
	Fassoc.
	Enable purespace usage counts always.

	* m/powerpc.h: Isolate changes for mklinux from AIX.

1998-01-27  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (init_symbols_once_early): Decreased default size of
	Vpure_uninterned_symbol_table to 50.

1998-01-27  SL Baur  <steve@altair.xemacs.org>

	* redisplay-x.c (x_output_string): Correction for handling underlined
	fonts when XGetFontProperty fails.
	From Chris Felaco <felaco@iatcmail.ed.ray.com>

1998-01-27  Kyle Jones  <kyle_jones@wonderworks.com>

	* alloc.c (Fpurecopy): Store symbols that aren't
	  interned in Vobarray into Vpure_uninterned_symbol_table.

	* symbols.c (init_symbols_once_early): Initialize
	  Vpure_uninterned_symbol_table.

	* emacsfns.h: Declare Vpure_uninterned_symbol_table.

1998-01-26  SL Baur  <steve@altair.xemacs.org>

	* alloc.c (report_pure_usage): New macro PURESIZE_SLOP to allow
	for extra pure space.

1998-01-23  SL Baur  <steve@altair.xemacs.org>

	* sound.c (Fplay_sound_file): Use NILP for comparison of
	Lisp_Object.

Wed Jan 21 10:49:47 1998  Andy Piper  <andyp@parallax.co.uk>

	* unexcw.cc: new file for cygwin32 unexec() requires cygwin32
	b19. Predicated on HAVE_COFF_H.

	* console.c:
	* device-msw.c:
	* event-msw.c:
	* frame-msw.c:
	* msw-proc.c:
	* objects-msw.c:
	Eliminate warnings.

	* redisplay-msw.c (mswindows_update_gc): eliminate warnings and
	extend hack for bogus bg values.

	* symsinit.h: add msw headers to eliminate warnings.

	* s/cygwin32.h: various updates for unexec() support.

	* lastfile.c: add my_ebss for cygwin32 unexec() support.

	* gmalloc.c: made __malloc_initialized non-static so that
	it goes into the bss where we expect it.

	* emacs.c: put run_time_remap() in a place where initialized is
	not always true.

	* Makefile.in.in: add support for compiling .cc files.

	* config.h.in: added HAVE_COFF_H support.

1998-01-23  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_cons): Use XCAR/XCDR.
	(print_string): Fix up so it Vprint_string_length works under Mule
	correctly.

	* eval.c (Feval): Increase profile call count.

	* keymap.c: Fixed typo.

1998-01-22  Hrvoje Niksic  <hniksic@srce.hr>

	* symbols.c (Funintern): Reset symbol's obarray property.

1998-01-22  Karl M. Hegbloom  <karlheg@bittersweet.inetarena.com>

	* alloc.c (size_vector): Declare *p as CONST to eliminate warning.

1998-01-22  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (print_symbol): Recognize Vprint_gensym being a cons;
	use Vprint_gensym_alist.

	* symbols.c (init_symbols_once_early): Ditto.

	* alloc.c (Fmake_symbol): Reset it.

	* symbols.c (Fintern): Set it.

	* lisp.h (struct Lisp_Symbol): New element `obarray'.

	* print.c (print_prepare): Reset Vprint_gensym_alist.
	(print_finish): Ditto.

	* lread.c: Recognize #n= and #n#.
	(readevalloop): Reset read_objects to nil.
	(Fread): Ditto.

1998-01-23  SL Baur  <steve@altair.xemacs.org>

	* toolbar.c (update_toolbar_button): Eliminate redundant NILP
	checks.
	From Martin Buchholz <martin@xemacs.org>

1998-01-21  Hrvoje Niksic  <hniksic@srce.hr>

	* dlopen.c: New file.

1998-01-19  Steven L Baur  <steve@altair.xemacs.org>

	* eval.c (prog1): Don't GCPRO unitialized variable.
	(prog2): Ditto.
	From Martin Buchholz <martin@xemacs.org>

1998-01-19  Hrvoje Niksic  <hniksic@srce.hr>

	* sound.c (Fplay_sound_file): Use
	signal_simple_continuable_error() instead of error().

1998-01-18  Hrvoje Niksic  <hniksic@srce.hr>

	* README: Updated.

1998-01-18  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (imagick_instantiate): Dynamically allocate pixar
	with alloca.
	From Damon Lipparelli <lipp@primus.com>

1998-01-14  Martin Buchholz  <martin@xemacs.org>

	* eval.c (For, Fand, Fif, Fcond, Fprogn, Fprog1, Fprog2):
	Modernize and streamline.
	Replace Fcdr with XCDR, Fcar with XCAR for efficiency.
	Remove REGISTER declarations.

1998-01-13  Martin Buchholz  <martin@xemacs.org>

	* emacsfns.h:
	* alloc.c:
	Add proper prototypes for print_cons, print_vector, print_string.

	* dired.c (directory-files):
	* elhash.c (elisp_maphash):
	* elhash.h (elisp_maphash):
	* lrecord.h:
	* mule-ccl.c (setup_ccl_program):
	* mule-coding.c (coding_system_charset):
	* offix-cursors.h (cursor_bits):
	Warning elimination.

	* redisplay.c (add_blank_rune):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (add_emchar_rune):
	Warning elimination. Avoid useless computation in non-mule case.

	* config.h.in:
	Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3.
	* src/alloc.c:
	* src/events.c:
	Rearrange order of declarations and definitions to avoid forward
	* src/mem-limits.h: Add motivating comment for future cleanup.

	* s/linux.h: Cleanup.  Remove old cruft.

	* config.h.in:
	Always define _GNU_SOURCE when using GNU libc.
	Support --without-FOO as a synonym for --with-FOO=no.
	Always use $srcdir to locate config.guess.
	Make it clear that CONFIGURATION is optional.
	De-emphasize CONFIGURATION parameter. Random cleanup.
	More compatible with standard GNU install instructions.
	--with-menubars=athena3d ==> --with-menubars=lucid.

1998-01-14  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fexpand_file_name): Synched with FSF.

1998-01-13  Hrvoje Niksic  <hniksic@srce.hr>

	* objects-msw.c (mswindows_color_instance_rgb_components):
	Multiply components by 257 instead of shifting by 8.

1998-01-15  Hrvoje Niksic  <hniksic@srce.hr>

	* elhash.c (Fhashtable_type): New function.
	(Fhashtable_test_function): Ditto.

1998-01-12  SL Baur  <steve@altair.xemacs.org>

	* profile.c (Fclear_profiling_info): Fix typing error.

	* elhash.c (elisp_map_remhash): Fix typing error.
	(elisp_maphash): Ditto.

1998-01-12  Hrvoje Niksic  <hniksic@srce.hr>

	* mule-ccl.c (Fccl_execute_on_string): Use Dynar_free to free a
 	Dynarr.

1998-01-13  Hrvoje Niksic  <hniksic@srce.hr>

	* profile.c (vars_of_profile): New variable
 	`call-count-profile-table'.
	(Fclear_profiling_info): Clear call-count-profile-table.

	* eval.c (funcall_recording_as): Use it.

	* profile.c (profile_increase_call_count): New function.

	* lstream.c (stdio_flusher): Comment addition.

	* objects-msw.c (mswindows_string_to_color): Support #RRRGGGBBB,
	as well as #RRGGBB.
	(mswindows_X_color_map): Reformatted.

1998-01-12  Hrvoje Niksic  <hniksic@srce.hr>

	* line-number.c (invalidate_line_number_cache): Comment fixup.

	* symbols.c (Fapropos_internal): Docstring fix.

	* fns.c (Fstring_equal): Docstring fix.

1998-01-12  Hrvoje Niksic  <hniksic@srce.hr>

	* profile.c (get_profiling_info_maphash): Return int.
	(mark_profiling_info_maphash): Ditto.

	* elhash.c (Finternal_hash_value): New debugging function,
	undefined by default.

1998-01-11  Hrvoje Niksic  <hniksic@srce.hr>

	* mule-coding.c (add_coding_system_to_list_mapper): Ditto.

	* mule-charset.c (add_charset_to_list_mapper): Return int.

	* faces.c (add_face_to_list_mapper): Return int.
	(mark_face_as_clean_mapper): Ditto.
	(update_face_inheritance_mapper): Ditto.

	* keymap.c (keymap_submaps_mapper_0): Return int.
	(keymap_submaps_mapper): Ditto.
	(copy_keymap_inverse_mapper): Ditto.
	(copy_keymap_mapper): Ditto.
	(map_keymap_unsorted_mapper): Ditto.
	(map_keymap_sorted_mapper): Ditto.

	* elhash.c (hashtable): Added a hash method.
	(hashtable_hash): New function.

1998-01-09  Hrvoje Niksic  <hniksic@srce.hr>

	* elhash.c (lisp_maphash_function): Return 0.
	(hashtable_equal_mapper): Bail out when an element is not `equal'.

	* hash.c (maphash): Bail out if map function returns non-zero.

1998-01-11  SL Baur  <steve@altair.xemacs.org>

	* eval.c (Fbacktrace): Treat first parameter to byte-code
	specially.

Sat Jan 10 11:36:11 1998  Andy Piper  <andyp@parallax.co.uk>

	* config.h.in: undef HAVE_SYS_UN_H so that it gets defined by
	configure for gnuserv with UNIX_DOMAIN_SOCKETS.

1998-01-09  SL Baur  <steve@altair.xemacs.org>

	* buffer.c (reset_buffer_local_variables): Synch case-table
	resetting stuffs from Emacs 20.2.
	Suggested by Aki Vehtari <Aki.Vehtari@hut.fi>

	* src/symbols.c (Fsetq_default): Fix docstring.
	From Didier Verna <didier@xemacs.org>

1998-01-07  Kirill M. Katsnelson  <kkm@kis.ru>

	* msw-proc.c (mswindows_wnd_proc): Calls to redisplay() from out
	of WM_SIZE handler limited to the case of dragging frame borders.

	* redisplay-msw.c (mswindows_bevel_modeline): Added support for
	negative modeline height.
	(mswindows_output_cursor): Added bar cursor drawing
	(mswindows_flash): Flash frame by inverting client area.

1998-01-08  Andy Piper  <andyp@parallax.co.uk>

	* lread.c: guess load path if its not set just like the dumped
 	version does.

	* doc.c: guess doc path if its not set just like the dumped
 	version does

Thu Jan 08 09:42:36 1998  Andy Piper  <andyp@parallax.co.uk>

	* emacs.c: don't load loadup.el when CANNOT_DUMP is set, this
	is almost never right on XEmacs.

	* s/cygwin32.h: add comments about how to buid. Move some
	variables into configure so that we don't have to set them.

	* config.h.in: define HAVE_WINDOW_SYSTEM if HAVE_MS_WINDOWS is
	set.

1998-01-06  Kirill M. Katsnelson  <kkm@kis.ru>

	* lread.c (Fload_internal): On Win32, this reopened the file
	without first closing the handle. This caused running out of
	handles.

	* nt.c (sys_open): This one made big mess when opening a handle
	next after MAXDESC-1. Fixed.

1998-01-06  Kirill M. Katsnelson  <kkm@kis.ru>

	* objects-msw.c (mswindows_string_to_color): Patched not to modify
	const char* parameter.
	(hexval): Modified to accept uppercase hex digits.

	* ntproc.c (sys_spawnve): char* arguments made CONST, to comply
	with standard header declaration.

	* sysdep.c: Fixed ugly prototypes copied from system headers. Who
	says the solution is as ugly, is right.
	Added a couple of #include directives to avoid undefined functions.
	(struct save_signal): Added parameter to function pointer
	prototype when compiled under ANSI C.
	(save_signal_handlers): Ditto

	* s/windowsnt.h: Added prototypes for functions defined via
	sys_<name> which are not found or differ on Win32: pipe, sleep,
	spawnve, wait, kill
	Macros created from former nt.c functions: random srandom setpgrp
	Defined HAVE_STRCASECMP, and strcasecmp defined to _stricmp which
	is provided by the compiler.
	Removed hack which prevented winsock.h from including.

	* nt.c (random): Removed and made a macro in s/windowsnt.h
	(srandom): Ditto
	(setpgrp): Ditto
	(unrequest_sigio): #if0'ed. It is unreferenced; in XEmacs, calls
	to it seem to be controlled by HAVE_SIGIO.
	(request_sigio): Ditto

	* nt.h: Removed FD_* macros. Rely on definitions in winsock.h.
	Changed EMACSDEBUG references to DEBUG_XEMACS

	* event-msw.c (mswindows_cancel_dispatch_event): Returns Qnil when
	event not found in the queue. Used to return undefined value.

1998-01-07  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main_1): Add `-no-autoloads' to suppress loading
	autoloads at startup.

	* Makefile.in.in (xemacs): Fix call to list load-path shadows.

1998-01-02    Charles G. Waldman <cgw@pgt.com>

	* frame.h:  fix erroneous FRAME_RIGHT_BORDER_START macro.
	Corrects display glitch when toolbar is on the right.

1998-01-02  Kirill M. Katsnelson  <kkm@kis.ru>

	* emacs.c (make_arg_list_1): On Win32 platforms, GetModuleFileName
	is consulted instead of argv[0] to get full path to the xemacs
	executable.

1998-01-01  SL Baur  <steve@altair.xemacs.org>

	* m/sparc.h: Cleans up some warnings about unused variables in
	getloadavg.c under Sparc/Linux.
	From Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>

	* fileio.c (vars_of_fileio): Enable directory-sep-char always for
	compatibility.

	* emacs.c (main_1): Inhibit reloading dumped lisp when using
	`-batch' or `-vanilla'.

1997-12-31  SL Baur  <steve@altair.xemacs.org>

	* emacs.c: New variables `inhibit-update-dumped-lisp' and
	`inhibit-update-autoloads'.
	(vars_of_emacs): Initialize them.

1997-12-29  Kirill M. Katsnelson  <kkm@kis.ru>

	* msw-proc.c (mswindows_enqueue_magic_event): Made extern. User by
	menubar-msw.c

	* event-msw.h: Prototype for mswindows_enqueue_magic_event

	* event-msw.c (mswindows_wm_timer_callback): Fixed counter of
	outstanding timer events (decremented only when KillTimer
	succeeds)
	(emacs_mswindows_remove_timeout): Ditto

	* console-msw.h: Added frame structure field for menu checksum

	* menubar-msw.c: Miscellaneous patches and bug fixes.

1997-12-30  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main): Clarify calls to main_1.

	* data.c (Fcompiled_function_annotation): Hide DEFUN from
	make-docfile.

	* emacs.c (main_1): The invocation name requires recomputing when
	running after dumping.

1997-12-29  SL Baur  <steve@altair.xemacs.org>

	* free-hook.c (check_free): Added explicit braces to avoid
	dangling else clause.
	* sound.c (Fplay_sound_file): Ditto.
	* process.c (set_process_filter): Ditto.
	* linuxplay.c (linux_play_data_or_file): Ditto.
	* regex.c (regex_compile): Ditto.

1997-12-28  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (main_1): Fix logic to run in place when XEmacs is a
	login shell.
	(main_1): New parameter restart.
	(main): Use it.

	* bytecode.h: Disable COMPILED_FUNCTION_ANNOTATION_HACK.

	* print.c (debug_short_backtrace): Guard call to
	Fcompiled_function_annotation.

	* alloc.c (disksave_object_finalization): Don't zero out
	load-history if history of pure symbols is desired.

	* lread.c (build_load_history): If LOADHIST_DUMPED is defined, add
	pure symbols to load-history.

	* emacsfns.h: New symbols added -- LOADHIST_DUMPED, define to get
	a history of dumped lisp.  LOADHIST_BUILTIN, define to get a
	history of symbols defined in C source.

1997-12-23  Andy Piper <andyp@parallax.co.uk>

	* Conditionals to enable XEmacs to compile (not run!) under
	  CygWin32. Files touched:
	  events.c
	  getloadavg.c
	  mem-limits.h
	  objects-msw.c
	  select-msw.c
	  sysdep.c
	* s/cygwin.h: New file.

1997-12-26  Kirill M. Katsnelson  <kkm@kis.ru>

	* menubar-msw.c, menubar-msw.h: New files. Menus support.

	* console-msw.h: Added frame menu hashtable variable.

	* gui.c: popup_up_p variable and Fpopup_up_p and
	  separator_string_p functions are moved from gui-x.c

	* gui.h: New file declaring the above. It is #included into the
	  following files:
	  dialog-x.c
	  gui-x.c
	  menubar-x.c

	* emacs.c: Added calls to *_of_menubar_mswindows()

	* event-msw.c: Generalization of modal pump interface so it may be
	  used bu menubars also. Some functions and vars renamed, to
	  reflect more general approach (event_pump -> modal_loop)

	* frame-msw.c: Initialization and marking of menu hashtable.

	* msw-proc.c: Added handling for menu window messages.

	* opaque.c: opaque objects given hash and equal methods, so they
	  can be compared with 'equal. Menubar uses opaque pointers as
	  hash keys in an 'equal style hashtable.

	* Most of the above touched files: Eliminated compiler warnings.

1997-12-18  Hrvoje Niksic  <hniksic@srce.hr>

	* elhash.c (print_hashtable): Use `%u' for fullness.
	(hashtable_equal): New function.
	(hashtable_equal_mapper): Ditto.

	* lread.c (vars_of_lread): Initialize Vread_buffer_stream here
	instead of in init_lread.

1997-12-26  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (imagick_instantiate): Add in error and
	warning handling for ImageMagick files

1997-12-26  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (distclean): Remove `xemacs.*'.

1997-12-22  SL Baur  <steve@altair.xemacs.org>

	* device.c (vars_of_device): Provide `devices' feature so W3's
	devices.el emulation won't bloat XEmacs.

	* lread.c (Fload_internal): Strip path and extension when
	considering a file as a candidate for running after-load functions.

1997-12-20  Kirill M. Katsnelson <kkm@kis.ru>

	* s/windowsnt.h: SIZEOF_SHORT set to 16 bits instead of 32, to get
	  real.

	* redisplay-msw.c: (many functions): FillRect replaced with
	  ExtTextOut where possible, which is much faster.
	  (mswindows_redisplay_deadbox_maybe): New function which fixes
	  deadbox, a square bounded by scrollbar ends and window corner
	  (usually the lower right corner).

	* emacs.c (assert_failed): On Win32 platforms, when assertion
	  fails, debugger break occurs if DEBUG_XEMACS is defined.

	* event-msw.c (mswindows_pump_outstanding_events): Fixed so two
	  consequtive Fsignals are not lost.

	* scrollbar-msw.c (mswindows_update_scrollbar_instance_values):
	  Added SBF_DISABLENOSCROLL flag so the bar is greyed out when
	  all lines are visible.
	  (mswindows_update_scrollbar_instance_status): Ditto for freshly
	  assigned scrollbar.

	* scrollbar.c (Fscrollbar_set_hscroll): Fixed fitting scroll
	  limits into range.

1997-12-18  Kirill M. Katsnelson <kkm@kis.ru>

	* events-msw.c: Added support for modal event dispatch pump.
	  This mechanism is for scrollbars and menus.

	* events-msw.h: Public declaration for the pump function.

	* msw-proc.c: Pump scrollbar misc user events through the
	  brand new pump. Pumps!

	* scrollbar-msw.c: Minor range fixes. Added misc events for
	  horizontal bar, which did not fix it...

Thu Dec 18 09:53:12 1997    <jsparkes@internetivity.com (Jeff Sparkes)>

	* objects-msw.c (mswindows_print_color_instance): Scale 8 bit RGB
	  components up to 16 bit X sizes.
	(mswindows_string_to_color): numeric colors are #RRGGBB not #BBGGRR.

	* objects-msw.c (mswindows_color_instance_rgb_components): ditto

	* objects.c (Fcolor_instance_rgb_components): Document range of
	  components as 0-65535.

1997-12-18  SL Baur  <steve@altair.xemacs.org>

	* doc.c (verify_doc_mapper): Fix return value and argument list
	for map_obarray.

	* device-x.c: New variable -- Vx_app_defaults_directory.
	(x_init_device): Use locale directory searched from package-path.

1997-12-18  Kyle Jones  <kyle_jones@wonderworks.com>

	* EmacsFrame.c: Added foregroundToolBarColor and
	  foreground resources to the resources[] definition.
	  Moved default gray8o color value from the
	  bcakgroundToolBarCOlor resource to th background
	  resource since the override order is now reversed in
	  toolbar-x.c.  Don't provide a default value for the
	  foreground resource that the toolbar code looks at.

	* EmacsFrame.h: Define foregroundToolBarColor string
	  for use in the resoruces code.

	* EmacsFrameP.h: Added foreground_toolbar_pixel slot
	  to EmacsFramePart struct.

	* toolbar-x.c: Let the toolbar specific background
	  resource override the global background resource.  Added
	  support for a toolbar specific foreground resource,
	  which is not currently used for anything internally.

1997-12-17  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (decode_mode_spec): Comment fixup.

	* tooltalk.c (Freceive_tooltalk_message): Ditto.

	* search.c (Freplace_match): Ditto.

	* frame-x.c (x_frame_property): Ditto.

	* console.c (Fcurrent_input_mode): Ditto.

	* callint.c (Fcall_interactively): Ditto.

	* abbrev.c (Fexpand_abbrev): Ditto.

	* dired.c (file_name_completion): Use Qzero instead of
 	make_int(0).

	* fileio.c (Finsert_file_contents_internal): Use
	report_file_error() to report reading error.

	* cmds.c (internal_self_insert): Don't self-insert if the expanded
	symbol's hook has a non-nil `no-self-insert' property; synch with
	FSF 20.2.

	* abbrev.c (Fexpand_abbrev): Return Vlast_abbrev, like in FSF
 	20.2.

1997-12-16  Hrvoje Niksic  <hniksic@srce.hr>

	* abbrev.c (abbrev_match): User map_obarray() instead of
	crockishly copying it.
	(abbrev_match_mapper): New function.
	(Fexpand_abbrev): Check whether `pre-abbrev-expand-hook' has
	killed the buffer.

	* symbols.c (map_obarray): Accept a void * argument.
	(mapatoms_1): Adapt.
	(apropos_accum): Use fast_lisp_string_match().
	(Fapropos_internal): Don't cons.
	(map_obarray): Stop mapping if FN returns non-zero.

	* marker.c (unchain_marker): Guard assert() with ERROR_CHECK_GC.
	(bi_marker_position): Guard assert() with ERROR_CHECK_BUFPOS.
	(set_bi_marker_position): Ditto.

1997-12-15  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Use make_int when
 	checking for overflow.
	(Finsert_file_contents_internal): Use EXTERNAL_LIST_LOOP.
	(Ffind_file_name_handler): Ditto.

	* dired.c (file_name_completion): Use noseeum_cons.
	(file_name_completion_unwind): Free the cons.

1997-12-16    <jsparkes@internetivity.com (Jeff Sparkes)>

	* scrollbar.c: Add HAVE_MS_WINDOWS to scrollbar-page functions.

	* msw-proc.c: Handle scrolling events.

	* frame-msw.c: Initialize scrollbar width and height.  This should
	  not be necessary, since the window shouldn't be created until
	  init_frame_2

	* emacs.c: Call mswindows scrolbar setup when appropriate.

	* scrollbar-msw.c: Created for mswindows-scrollbar support.

	* scrollbar-msw.h: Ditto.

1997-12-16  Kirill M. Katsnelson <kkm@kis.ru>

	* msw-proc.c: Minor bug in the middle button emulation code
	  exterminated.

	* msw-proc.c: Character translation procedure reworked, so C-M-char
	  keys now work properly. Keyboard layouts that use AltGr for
	  third register characters are detected and handled. The code
	  has been tested on French and UK keyboard layouts.

	* msw-proc.c: #if 0'ed remains of threaded code are removed.

	* event-msw.c: Mouse motion was incorrectly counted for a user event.

	* event-msw.c: lisp variables beginnig with w32- are renamed to
	  begin with mswindows-.

1997-12-15  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Use it.
	(Fcopy_file): Ditto.

	* sysdep.c (interruptible_open): New function.

1997-12-16  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame-x.c (x_init_frame_2): Don't call
	  update_frame_title.  Some modeline specs depend on
	  f->device->selected_frame being non-nil and that will
	  not be true during initialization of the first frame on
	  a device.

1997-12-16  SL Baur  <steve@altair.xemacs.org>

	* fileio.c: clean up paren levels between ifdefs.
	From Hrvoje Niksic <hniksic@srce.hr>

1997-12-15  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (imagick_instantiate): Remove an assumption that
	  all machines have LSB XImage support.

1997-12-14  Kyle Jones  <kyle_jones@wonderworks.com>

	* Makefile.in.in: Moved $(OFFIX_O) from x_objs to
	  X11_objs to avoid having its initialized global
	  variables be dumped read-only.

1997-12-14  SL Baur  <steve@altair.xemacs.org>

	* offix.c (DndSetData): Use standard INT_MAX instead of MAXINT.
	Replace <values.h> with <limits.h>

1997-12-13   Kirill M. Katsnelson <kkm@kis.ru>

	* msw-proc.c: added emulation for middle mouse button by chording
	  left and right buttons
	* event-msw.c: added lisp variables for resize behavior and middle
 	  button emulation thresholds
	* msw-proc.c: {un}map-frame-hook now are not called directly from
	  the window procedure, rather from magic event handler.
	* Formulated golden rule for calling lisp from window procedure:
	  "NOOOOOO!". May be violated under circumstances although.
	* frame-msw.c: corrected problem with setting frame width and height
	  properties, introduced by 95-style look.

1997-12-12  SL Baur  <steve@altair.xemacs.org>

	* input-method-xlib.c (describe_XIC): Add casts, use unsigned long
	int.

	* eval.c (funcall_subr): Ifdef out as it is now unused.

	* emacsfns.h: Declare Fdisplay_error.

	* callint.c (Fquote_maybe): Don't use `==' on Lisp_Objects.

1997-12-12  Michael Sperber  <sperber@informatik.uni-tuebingen.de>

	* fileio.c: Removed stillborn set-buffer-modtime.

1997-12-10  Hrvoje Niksic  <hniksic@srce.hr>

	* elhash.c (hashtable_instantiate): If SIZE is nil, set it to
	length of DATA.
	(print_hashtable): Would bogusly print #(hashtable).
	(verify_function): Use XCAR.

1997-12-12  Hrvoje Niksic  <hniksic@srce.hr>

	* elhash.c (print_hashtable_data_mapper): Use a C structure
	instead of consing.

1997-12-12  Hrvoje Niksic  <hniksic@srce.hr>

	* callint.c (quotify_arg): Don't quotify vectors, keywords,
 	bit-vectors and lambdas.
	(Fquote_maybe): New subr, from quotify_arg.
	(quotify_args): Use it.
	(Fcall_interactively): Ditto.

1997-12-11  Hrvoje Niksic  <hniksic@srce.hr>

	* window.c (Fset_window_point): Ditto for Fgoto_char.
	(Fset_window_configuration): Ditto.

	* undo.c (Fprimitive_undo): Ditto for Fset_buffer_modified_p,
	Fgoto_char and Fdelete_region.

	* print.c (temp_output_buffer_setup): Ditto.

	* glyphs.c (make_string_from_file): Ditto.

	* glyphs-x.c (pixmap_to_lisp_data): Ditto for Ferase_buffer.
	(pixmap_to_lisp_data): Ditto for Fbuffer_substring.

	* bytecode.c (Fbyte_code): Use Qnil instead of Fcurrent_buffer()
 	when calling functions that use decode_buffer() internally -- it
 	is faster.

	Change done for Fgoto_char, Fchar_after, Ffollowing_char,
 	Fpreceding_char, Findent_to, Feolp, Feobp, Fbolp, Fbobp,
 	Fforward_char, Fforward_word, Fskip_chars_forward,
 	Fskip_chars_backward, Fforward_line, Fbuffer_substring,
 	Fdelete_region, Fnarrow_to_region, Fwiden, Fend_of_line, Fupcase
 	and Fdowncase.

1997-12-11 Jonathan Harris <jhar@tardis.ed.ac.uk>, Kirill M. Katsnelson <kkm@kis.ru>

	* The first collegial patch in the xemacs-nt history. Well...
	* device-msw.c, event-msw.c, event-msw.h, frame-msw.c, msw-proc.c:
	  xemacs is now single-threaded application. Due to this, the
	  problem with crash during input events in GC got resolved.
	* xemacs frames are given "95ish" look with raised border.
	* stop character (ctrl+g) now works. SIGINT (ctrl+c or ctrl+break
	  at the console) is still broken although.
	* frame "as lisp object" is now stored in window-associated space
	  provided by the system. This enables obtaining frame object given
	  window handle in constant time.
	* mswindows_cancel_dispatch_event() now has limited handling
	  for key_press_event's in addition to timeout_event's.

1997-12-11  SL Baur  <steve@altair.xemacs.org>

	* intl.c (init_intl_very_early): Force LC_NUMERIC to "C".
	* input-method-xfs.c (Initialize_Locale): Ditto.
	* input-method-motif.c (Initialize_Locale): Ditto.
	* input-method-xlib.c (Initialize_Locale): Ditto.
	Suggested by Didier Verna <didier@xemacs.org> and
	Martin Buchholz <martin@xemacs.org>

1997-12-10  Karl M. Hegbloom  <karlheg@bittersweet.inetarena.com>

	* config.h.in: #undef MAGICK_HEADERS_ARE_UNDER_X11

	* glyphs-x.c: #ifdef MAGICK_HEADERS_ARE_UNDER_X11 added.

1997-12-11  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (_XOS_H_): Try to avoid including Xos.h on Solaris.
	Suggested by Samuel Tardieu <sam@inf.enst.fr>

1997-12-11  David Hobley <davidh@wr.com.au>

	* pure.c: Removed WINDOWSNT conditional.

1997-12-10  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Doc changes, update dependencies.

	* frame-x.c (x_init_frame_1): Remove unused variable.

	* fns.c (internal_equal): Guard label with ifdef.
	(internal_old_equal): Ditto.

	* symsinit.h: Declare structure_type_create_hashtable.

	* elhash.c (finish_marking_weak_hashtables): Move unused variable
	so gcc doesn't complain about it.

	* elhash.h: Declare new weak hashtables.

	* elhash.c (print_hashtable): Fix format.

1997-12-10  Hrvoje Niksic  <hniksic@srce.hr>

	* frame-tty.c (tty_raise_frame_no_select): Use LIST_LOOP.
	(tty_lower_frame): Ditto.

	* faces.c (face_validate): Don't check for doubly defined
	keywords; the reader does that.

	* emacs.c (main_1): Call structure_type_create_hashtable().

	* general.c (syms_of_general): Added Qtest and Qsize.

	* elhash.c (structure_type_create_hashtable): New function.
	(hashtable_type_validate): Ditto.
	(hashtable_test_validate): Ditto.
	(hashtable_size_validate): Ditto.
	(hashtable_data_validate): Ditto.
	(hashtable_instantiate): Ditto.

	* extents.c (extent_putprop): Made it work.
	(extent_remprop): Ditto.

1997-12-08  Kirill M. Katsnelson <kkm@kis.ru>

	* device.h: device::fdin and device::fdout are now defined for
	  systems which do not HAVE_UNIXOID_EVENT_LOOP.
	* device-tty.c, process.c, signal.c: call to signal_fake_event()
	  bracketed out by #ifdef HAVE_UNIXOID_EVENT_LOOP / #endif
	  directives.
	* signal.c: For Win32 systems, longjmp in signal handler excluded
	* nt.c, syssignal.h, systime.h: emulation for SIGALRM and SIGPROF
	  and setitimer for Win32 platforms. Profiling now works.
	* emacs.c: calls to syms_of_profile and vars_of_profile enabled
	  on Win32 platforms.
	* ntproc.c: handling of SIGCHLD now done by the common signal
	  faking mechanism. (To no avail - subprocesses still broken)
	* s/windowsnt.h: Signal constants added
	* redisplay-msw.c: "Sticky" beep which blocked XEmacs until the
	  sound finishes is now repaired

1997-12-06  Jonathan Harris <jhar@tardis.ed.ac.uk>

	* frame-msw.c, msw-proc.c
	  Further changes to resizing code so that changing default
	  font, either in .emacs or later, works properly.

	* msw-proc.c
	  Minor optimization: Mouse movement events aren't generated
	  while the user is resizing the frame.
	  Function keys are returned lower-case.

1997-12-09  P. E. Jareth Hein  <jareth@camelot-soft.com>

	* glyphs-x.c (imagick_instantiate): fix it so that it works
	properly for PseudoClass files.  Still needs some thinking for
	full color...  Also added support for old image instantiators
	in various places using the OLDCOMPAT define

1997-12-08  Kyle Jones  <kyle_jones@wonderworks.com>

	* event-stream.c (Faccelerate_menu): Check for the
	  existence of a menubar associated with the selected frame
	  before trying to use it.  Signal an error if there is
	  no menubar.

1997-12-06  P E Jareth Hein  <jareth@camelot-soft.com>

	* device-x.c: Change -privcmap to -privatecolormap.
	* events.c: corret minor think-o.

1997-12-04 Jonathon Harris <jhar@tardis.ed.ac.uk>

	* event-msw.c, faces.c, msw-proc.c:
	  Frame resizing happens in multiples of the default character 	  size.
	* frame-msw.c:
	  mswindows_set_frame_size() and
	  mswindows_set_frame_properties() now call AdjustWindowRect to
	  set the correct window size.

1997-12-04  Jeff Sparkes <jsparkes@internetivity.com>

	* frame-msw.c: added frame functions for move, resize,
	 iconify, raise, lower, visible_p, iconified_p, focus,
	 make visible, make invisible, set title.

1997-12-01  Jonathon Harris <jhar@tardis.ed.ac.uk>

	* event-msw.c, event-msw.h, frame-msw.c, msw-proc.c:
	  - Implemeted simple emacs_mswindows_event_pending_p().
	  - Fixed deleting frames.
	  - Rewrote timeout code, eliminating "!NILP(rest)" bug.
	  - Special processing for 'Ctrl-@' keystroke.
	  - Support for some new keysyms.

1997-12-03  Hrvoje Niksic  <hniksic@srce.hr>

	* lstream.c (make_stdio_stream_1): Set it.
	(make_filedesc_stream_1): Ditto.
	(finalize_lstream): Use it.

	* lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE.

1997-11-29  Jeff Miller <jmiller@smart.net>

	* menubar-x.c: define restore_in_menu_callback() when motif
	  menubars are used.

	* menubar-x.c: change #ifdef LWLIB_MENUBARS_MOTIF to
          #if defined LWLIB_MENUBARS_LUCID || defined LWLIB_MENUBARS_MOTIF
	  around code for incremental menu build.

	* event-stream.c: Changed HAVE_MENUBARS to HAVE_MENUBARS_LUCID in
	  the #ifdef wrappers around menubar accelerator stuff.

1997-12-05  SL Baur  <steve@altair.xemacs.org>

	* keymap.h: update describe_map_tree prototype

1997-12-03  Hrvoje Niksic  <hniksic@srce.hr>

	* lstream.c (make_stdio_stream_1): Set it.
	(make_filedesc_stream_1): Ditto.
	(finalize_lstream): Use it.

	* lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE.

1997-12-03  Hrvoje Niksic  <hniksic@srce.hr>

	* editfns.c (save_excursion_restore): Fix comment.

	* fns.c (Fmapvector): GCPRO the vector.

1997-12-01  Hrvoje Niksic  <hniksic@srce.hr>

	* cmdloop.c (default_error_handler): Respect
 	errors-deactivate-region; use display-error.

	* editfns.c (vars_of_editfns): New variable user-full-name.
	(init_editfns): Initialize it.
	(Fuser_full_name): Use it.
	(vars_of_editfns): Docfixes.

	* dired.c (Fdirectory_files): Use FORMAT_FILENAME instead of
 	FORMAT_BINARY.
	(make_directory_hash_table): Ditto.
	(file_name_completion): Bind `completion-ignore-case' to t under
	MS Windows.
	(file_name_completion): Signal an error if a member of
	`completion-ignored-extensions' is not a string.

1997-11-30  Hrvoje Niksic  <hniksic@srce.hr>

	* doc.c (Fsubstitute_command_keys): Don't use
 	Vprin1_to_string_buffer.

	* keymap.c (describe_map_tree): Accept a BUFFER argument.
	(describe_map): Ditto.
	(describe_command): Ditto.

1997-11-29  Hrvoje Niksic  <hniksic@srce.hr>

	* insdel.c (signal_before_change): Don't treat
	Vprin1_to_string_buffer specially.
	(signal_after_change): Ditto.

	* buffer.c (Fkill_buffer): Don't treat Vprin1_to_string_buffer
 	specially.
	(complex_vars_of_buffer): Ditto.

	* print.c (Ferror_message_string): Use Vprin1_to_string_stream.

	* events.c (Fmake_event): Changed error message.

	* print.c (Fprin1_to_string): Use a resizing-buffer stream.

1997-12-03  Hrvoje Niksic  <hniksic@srce.hr>

	* buffer.c (Fkill_buffer): Use EXTERNAL_LIST_LOOP.
	(Fget_file_buffer): Use LIST_LOOP.

1997-12-02  Hrvoje Niksic  <hniksic@srce.hr>

	* editfns.c (save_excursion_save): Don't save VISIBLE-P.
	(save_excursion_restore): Changed accordingly.
	(save_excursion_restore): Free the markers and conses even if the
	buffer is dead.
	(save_restriction_restore): Use XCAR/XCDR.
	(Fencode_time): Use XCAR/XCDR, when safe.

	* menubar.c (Fnormalize_menu_item_name): Use INC_CHARPTR; allow
	`%%' to mean `%'.

	* minibuf.c (regexp_ignore_completion_p): Use EXTERNAL_LIST_LOOP;
	check type of list elements.

	* dired.c (file_name_completion): Set up a proper unwind form.
	(file_name_completion_unwind): New function.
	(file_name_completion): Allow errors.

	* line-number.c (invalidate_line_number_cache): Would lose in
 	precence of Finsert_before_markers.
	(narrow_line_number_cache): Only mark LINE_NUMBER_BEGV as dirty.
	(buffer_line_number): Recalculate LINE_NUMBER_BEGV on demand.
	(buffer_line_number): Would ignore LINE_NUMBER_FAR.

1997-12-01  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fmapvector): Don't stack-allocate args; allocate the
	vector and call mapcar1 with its data.

1997-12-02  P E Jareth Hein  <jareth@camelot-soft.com>

	* objects-x.c: Added colormap/visual support, rewrote
	allocate_nearest_color, and changed the x-color-instance to deal
	with possibly not freeing a color.

	* objects-x.h: Added dealloc_on_gc flag for x-color-instances.

	* redisplay-x.c: Added colormap/visual support.

	* balloon-x.c: Added colormap/visual support.

	* console-x.h: Added colormap/visual support by adding visual,
	depth and colormap slots to a device.

	* device-x.c: Added colormap/visual support with the command line
	options "-privcmap" and "-visual" and Xresources
	".privateColormap" and ".EmacsVisual".  Also changed the
	device-init so that the app-shell is always realized to properly
	deal with GCs (previously only realized when OFFIX was
	supported), and added the x-display-visual-depth lisp function to
	complement x-display-visual-class.

	* event-Xt.c: Added colormap/visual support, and stuck in a
	patch/hack to change the way Xt inherits visuals to match the way
	it inherits colormaps.

	* frame-x.c: Added colormap/visual support.

	* glyphs-x.c: Added colormap/visual support. Will probably need a
	lot more work.

1997-11-27  Kyle Jones  <kyle_jones@wonderworks.com>

	* src/keymap.c (munging_key_map_event_binding): Don't do
	  the meta char hack when processing key-translation-map.
	  Return nil if the map to be processed (function-key-map
	  or key-translation-map) is not a keymap.

1997-11-27  SL Baur  <steve@altair.xemacs.org>

	* device-msw.c: Turn on italic flag if appropriate
	* objects-msw.c: Set device-class to color.
	From Jeff Sparkes <jsparkes@internetivity.com>

	* glyphs-x.c: Should include <magick/magick.h> since that is what
	is autodetected by configure.

1997-11-26  SL Baur  <steve@altair.xemacs.org>

	* events.c (Fmake_event): correct type bug.
	From Colin Rafferty <craffert@ml.com>

1997-11-26  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp-disunion.h (VALMASK): Use 1UL instead of 1L to
	  shut up Sun's niggling compiler warnings about integer
	  overflow.

	* print.c (Fprin1_to_string): Don't change and
	  restore the current buffer; no buffer change is needed
	  to accomplish the task.

1997-11-23  Jeff Miller <jmiller@smart.net>

	* Makefile.in.in  removed energize support
	* buffer.c        removed energize support
	* config.h.in     removed energize support
	* console-x.h     removed energize support
	* doc.c           removed energize support
	* emacs.c         removed energize support
	* extents.c       removed energize support
	* extents.h       removed energize support
	* frame-x.c       removed energize support
	* gui-x.c         removed energize support
	* menubar-x.c     removed energize support
	* process.c       removed energize support
	* puresize.h      removed energize support
	* symsinit.h      removed energize support
	* sysproc.h       removed energize support
	* syssignal.h     removed energize support
	* undo.c          removed energize support
	* window.c        removed energize support

	* energize.c      removed
	* energize.h      removed

1997-11-23  Kyle Jones  <kyle_jones@wonderworks.com>

	* faces.c (face_property_was_changed): Don't call
	  update_faces_inheritance, it isn't needed.

1997-11-22  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay-x.c (x_flash): Flash the root window
	  area instead of the entire frame area.

	* frame.h: Added echo_area_garbaged field to frame
	  struct.

	* frame.c (change_frame_size_1): Set the
	  echo_area_garbaged flag in a frame that has been
	  resized.

	* redisplay.c (redisplay_frame): Clear echo_area_garbaged
	  flag on frame after displaying the frame.

	  (Fredisplay_echo_area): Clear echo_area_garbaged
	  flag on frame after displaying in echo area.

	* redisplay.c: Added hscroll_glyph_width_adjust field
	  to position_redisplay_data_type struct.

	  (add_hscroll_rune): Compute the difference in width
	  between the hscroll glyph and a canonical space; store
	  it in data->hscroll_glyph_width_adjust.

	  (create_text_block): In tab field computation, adjust
	  left margin to account for the difference between the
	  width of the hscroll glyph and the width of a canonical
	  space.

1997-11-19  Kyle Jones  <kyle_jones@wonderworks.com>

	* Emacs.ad: Change uses of Gray75 to Gray80.
	  Don't set modeline colors here.

	* EmacsFrame.c: Fetch "background" resource for use by
	  the toolbar initialization code; default this fetched
	  value to -1 if it is unspecified, which is different
	  from what is found in ef->core.background_pixel in that
	  case.

	* EmacsFrame.h: Define macros for "Background" and
	  "background" resource strings.

	* EmacsFrameP.h: Added background_pixel field to
	  EmascFrmaePart struct.

	* toolbar-x.c (x_initialize_frame_toolbar_gcs): Added
	  code to use the global background resource as the
	  toolbar background color if it is sepcified. Otherwise
	  fall back to the backgroundToolBarColor resource.

1997-11-17  Marc Paquette  <marcpa@cam.org>

	* callproc.c (Fcall_process_internal): Fix for bug in
	CRLF -> LF conversion.

1997-11-19  Jonathan Harris <jhar@tardis.ed.ac.uk>

	* redisplay-msw.c: Calls GdiFlush() in _ouput_end, _clear_frame and
	_redraw_exposed_area

	* frame-msw.c: mswindows_init_frame_2
	  Sets frame's pixel width and height

1997-11-19  Kyle Jones  <kyle_jones@wonderworks.com>

	* callproc.c (call_process_cleanup): Actaully wait
	  for the process, rather than not doing it and saying we
	  did.

1997-11-20  Hrvoje Niksic  <hniksic@srce.hr>

	* callproc.c (Fcall_process_internal): Close fd_error.

1997-11-19  Didier Verna  <didier@xemacs.org>

	* emacs.c (main_1): Added the missing argmatch call to check
 	for the '-h' option.

1997-11-18  SL Baur  <steve@altair.xemacs.org>

	* mule-coding.h: Replace freshly broken ENCODE_SJIS and
	DECODE_SJIS macros with working versions from beta4.

1997-11-17  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame-x.c (x_init_frame_1): Set frame visibility
	  flag to 1 immediately so that echo area message are
	  displayed in it promptly.

	* redisplay.c (Fredisplay_echo_area): If frame has
	  changed, clear it to avoid garbled messages.

	* window.c (set_window_pixsize): Restore the bail out
	  if no size change, but do it after the loop that recomputers
	  major child corner coordinates.

	* keymap.c (describe_map_mapper): Recognize the
	  buttonXup keysyms as mouse bindings.

1997-11-17  Tor Arntsen <tor@spacetec.no>

	* Makefile.in.in (update-elc.stamp): Add temacs to dependency.

1997-11-16  Kyle Jones  <kyle_jones@wonderworks.com>

	* Added suport for toolbar borders.

	* EmacsFrame.c: Added X resources for new toolbar
	   borders.

	   (EmacsFrameSetValues): Added Fadd_spec_to_specifier
	   calls to move resourced toolbar border width data
	   into the speciifers.

	* EmacsFrame.h: Defined X resource strings for
	   toolbar border width resources.

	* EmacsFrameP.h: Added toolbar border width fields
	   to the EmacsFramePart struct.

	* console.h: Added toolbar_border_width_changed_in_frame_method
	   field to struct console.

	* events.c (event_x_y_pixel_internal):  Factor the
	   toolbar border into pixel offset.

	* frame.c: Document new toolbar border width
	   speciifer as being usable as frame properties.

	   (frame_conversion_internal): Factor the toolbar border
	   widths into the geometry calculations.

	   (change_frame_size_1): Ditto.

	* frame.h: Added field to struct frame for toolbar
	   border widths.  Modified geomtry macros and created
	   others in support of the new toolbar border widths.

	* frameslot.h: Added a default_toolbar_border_width
	   slot.

	* redisplay-x.c (x_clear_frame): Factor the toolbar
	   border widths into the geometry calculations.

	* toolbar-x.c (x_draw_blank_toolbar_button): Add
	   support for drawing a border along with the blank
	   button.  Accept border_width and vertical args.

	   (x_output_toolbar_button): Added support for drawing a
	   border along with the button.

	   (X_OUTPUT_BUTTONS_LOOP): Pass border_width and vert
	   args to x_draw_blank_toolbar_button.  Set vertical and
	   border_width fields in toolbar button.

	   (x_output_toolbar): Support toolbar border widths.

	   (x_toolbar_size_changed_in_frame_1): Mark all toolbar
	   buttons in the change toolbar as dirty so that they
	   are refreshed if had been painted over.

	   New function: x_toolbar_border_width_changed_in_frame.
	   Used it as a console method.

	* toolbar.c: New function: mark_frame_toolbar_buttons_dirty.

	   New function: toolbar_border_width_changed_in_frame.
	   Used it as a specifier frame slot change method.

	   (get_toolbar_coords): Factor the toolbar border
	   widths into the geometry calculations.

	   (Fset_default_toolbar_position): Update the fallback
	   border width specifiers for the affected toolbar
	   positions.

	   (specifier_vars_of_toolbar): Added specifiers for the
	   toolbar border widths.

	* toolbar.h: Added vertical and border_width field
	   to the toolbar button struct.

	* window.h: Added default_toolbar_border_width slot
	   to window struct, along with four slots for the four
	   window local toolbar border width values.

1997-11-16  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame-x.c: Fixed typo in the documentation of the
	  top-toolbar-shadow-color frame property.

1997-11-16  Skip Montanaro  <skip@calendar.com>

	* redisplay.c: suppress buffer computation in several places if
	MULE is not defined.

1997-11-16  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (print_event): Use `event-x-pixel' and `event-y-pixel',
	to be consistent with `make-event' and `event-properties'.
	(Fmake_event): Allow nil dnd-data.

1997-11-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* console.h
	  mswindows is now a window-system according to
	  CONSOLE_TYPESYM_WIN_P

	* device.msw.c
	  Now calls init_baud_rate & init_one_device

	* msw-proc.c
	  Fixed C-key so key is returned unshifted

	* redisplay-msw.c
	  Modeline and vertical divider appearance tweaks


1997-11-14  SL Baur  <steve@altair.xemacs.org>

	* console.c (Fsuspend_emacs): Fix docstring.  Evaluating
	`suspend-hook' cannot stop suspension.

1997-11-14  Marc Paquette  <marcpa@cam.org>

	* callproc.c (Fcall_process_internal): Do CRLF -> LF
	conversion when reading process output.

1997-11-14  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (init_redisplay): Handle not having DISPLAY and not
	having TTY support.

1997-11-14  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fmake_event): Support DND events.

1997-11-10  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fmake_event): Reenable the event creation code.
	(Fmake_event): Canonicalize the plist.

1997-11-13  SL Baur  <steve@altair.xemacs.org>

	* mule-charset.c (Fcharset_id): Typecast result to Lisp_Object.

	* mule-ccl.c (CCL_WRITE_STRING): Reorder parens to avoid compiler
	barf on Lisp_Object.
	(Fregister_ccl_program): Remove unused variable idx.

	* mule-canna.c: Fix declaration of mule_strlen().

	* mule-coding.h (ENCODE_SJIS): Parenthesize first two params to
	avoid compilation problems.

1997-11-13  Olivier Galibert  <olivier.galibert@mines.u-nancy.fr>

	* mule-charset.h: Added preliminary support for charset Ids.

	* mule-charset.c: Added preliminary support for charset Ids.

	* redisplay-msw.c (separate_textual_runs): Synched with FSF 20.2
 	ccl API.

	* redisplay-x.c (separate_textual_runs): Synched with FSF 20.2 ccl
 	API.

	* mule-coding.c: Synched with FSF 20.2 ccl API.

	* mule-coding.h: Moved ccl part to mule-ccl.h.

	* mule-ccl.c: Synched with FSF 20.2.

	* mule-ccl.h: New file.

Thu Nov 13 21:34:13 1997  Marc Paquette  <marcpa@cam.org>

	* nt.c (REG_ROOT): Use a registry key different that the one for
	NTEmacs.

1997-11-12  SL Baur  <steve@altair.xemacs.org>

	* lrecord.h: Fix typo in set_lheader_implementation.
	From: Robert Pluim <Robert_Pluim@BayNetworks.COM>

1997-11-13  Olivier Galibert  <galibert@renaissance.loria.fr>

	* configure.in:  Remove HAVE_TIMEZONE_DECL test.

1997-11-13  Olivier Galibert  <galibert@renaissance.loria.fr>

	* s/freebsd.h: Remove HAVE_TIMEZONE_DECL forced value.

	* config.h.in: Remove HAVE_TIMEZONE_DECL reference.

	* systime.h: Remove timezone conditional declaration.

1997-11-12  Kyle Jones  <kyle_jones@wonderworks.com>

	* console.c: Use symbol_value_forward_lheader_initializer
	  in various DEFVAR* macros.  Forgot this in previous
	  related patch.

	* lisp-disunion.h: Provide a no-op XUNMARK macro for
	  the GC error checking code even if GCMARKBITS is not
	  greater than 0.

	* lisp-union.h: Ditto.

1997-11-10  Hrvoje Niksic  <hniksic@srce.hr>

	* event-stream.c: Make echo_keystrokes a Lisp_Object.
	(maybe_echo_keys): Adapt to that.

1997-11-11  SL Baur  <steve@altair.xemacs.org>

	* eval.c (throw_or_bomb_out): Remove abort.
	Suggested by: Kyle Jones  <kyle_jones@wonderworks.com>

1997-11-11  Kyle Jones  <kyle_jones@wonderworks.com>

	* Added support for referencing lrecord_implementations
	  via an index in an lrecord_header rather than a raw
	  pointer.  Also added a mark bit and a pure bit.

	* alloc.c: Made lrecord_type_index() and
	   lrecord_implementations_table[] global, previously they
	   were static.  Used new XRECORD_LHEADER_IMPLEMENTATION
	   and LHEADER_IMPLEMENTATION macros to access
	   lrecord_implementations found in Lisp_Objects and
	   lrecord_headers instead of referencing ->implementation.

	   (gc_record_type_p): For USE_INDEXED_LRECORD_IMPLEMENTATION,
	   there's no need to check for equality to type or type + 1.
	   lrecords are no longer marked by incrementing the
	   implementation pointer.

	   (init_alloc_once_early): Initialized subr and
	   symbol_value_forward lrecord indexes early so that the
	   staticly defined subrs and symbol_value_forward object
	   indexes match the lrecord_implementations_table.

	* buffer.c: Used symbol_value_forward_lheader_initializer in
	   various DEFVAR* macros.  Used new XRECORD_LHEADER_IMPLEMENTATION
	   macro.

	* elhash.c: Used new XRECORD_LHEADER_IMPLEMENTATION
	   macro.

	* fns.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro.

	* lisp.h: Defined subr_lheader_initializer macro, used it in
	   DEFUN macro.

	* lrecord.h: For USE_INDEXED_LRECORD_IMPLEMENTATION,
	   changed lrecord_header to contain an index into
	   lrecord_implementations_table[], plus a mark bit and a pure
	   bit.  Added support code for this.  Defined new
	   XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION
	   macros to be used to find the lrecord_implementation
	   of a Lisp_Object.

	* print.c: Used new XRECORD_LHEADER_IMPLEMENTATION and
	   LHEADER_IMPLEMENTATION macros.

	* symbols.c: Used symbol_value_forward_lheader_initializer in
	   definition of guts_of_unbound_marker.

	* symeval.h: Defined symbol_value_forward_lheader_initializer
	   macro.  Used symbol_value_forward_lheader_initializer in various
	   macros.  Used new XRECORD_LHEADER_IMPLEMENTATION macro.


1997-11-10  SL Baur  <steve@altair.xemacs.org>

	* window.c (set_window_pixsize): Remove unused variable.

	* extents.c (print_extent_1): Fix type check error in sprintf.

	* doc.c (Fsnarf_documentation): Remove unused label weird_function.

	* symsinit.h: Restore declaration of vars_of_dialog_x.

	* database.c (Fopen_database): Fix unused variable message.

	* sysdep.c (sys_subshell): vfork() is a demented, obsolete hack.

	* offix.c (struct): Make ImageData, MaskData be unsigned char *.

	* event-Xt.c (x_event_to_emacs_event): Clean up typecasting.
	* frame-x.c (Foffix_start_drag_internal): Ditto.

1997-11-09  Kyle Jones  <kyle_jones@wonderworks.com>

	* extents.c (print_extent_1): Use %lx instead of %p
	  to get the same output on all compilers.

1997-11-09  Hrvoje Niksic  <hniksic@srce.hr>

	* line-number.c: Use markers.

	* redisplay.c (window_line_number): Restored.

	* line-number.c (allocate_line_number_cache): Account for
 	narrowing.
	(buffer_line_number): New function.

	* line-number.c (get_nearest_line_number): New function.
	(window_line_number): Use it.
	(narrow_line_number_cache): New function.
	(invalidate_line_number_cache): Ditto.
	(insert_invalidate_line_number_cache): Ditto.
	(delete_invalidate_line_number_cache): Ditto.
	(add_line_number): Ditto.

	* editfns.c (widen_buffer): Update line number cache.
	(Fnarrow_to_region): Ditto.
	(save_restriction_restore): Ditto.

	* insdel.c (buffer_insert_string_1): Invalidate cache for
 	insertion.
	(buffer_delete_range): Invalidate cache for deletion.

	* line-number.c: New file.
	(window_line_number): Moved from redisplay.c.

	* print.c (debug_print): Print a carriage return, too.

	* bufslots.h: New slot `line_number_cache'.

1997-11-09  Kyle Jones  <kyle_jones@wonderworks.com>

	* event-stream.c: New Lisp variable:  last-command-event-time.

1997-11-08  SL Baur  <steve@altair.xemacs.org>

	* lread.c (init_lread): start from lisp, not lisp/prim.

	* Makefile.in.in: lisp/prim does exist any more.

1997-11-07  Kyle Jones  <kyle_jones@wonderworks.com>

	* abbrev.c (abbrev_lookup): Don't delete dash at the
	  abbrev start location; abbrev-prefix-mark no longer
	  inserts one.

Wed November 05 23:40:00 1997 <jhar@tardis.ed.ac.uk>

	* fileio.c: insert-file-contents-internal
	  Added a bodge to do CRLF->LF conversion of text files,
	  conditioned on DOS_NT. This is currently only one-way, so all
	  text files written by XEmacs will be UNIXified. CRLF conversion
	  is required to make bytecompile work.

	* Added file headers to:
	  console-w32.c, console-w32.h,
	  device-w32.c, event-w32.c, event-w32.h, frame-w32.c,
	  objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c

Sun November 01 12:00:00 1997 <jhar@tardis.ed.ac.uk>

	* redisplay-x.c: x_output_vertical_divider:
	  If HAVE_SCROLLBARS was not defined, coordinate of the right of
	  the divider was being used unitialised.

	* console.h: Added Qw32 and CONSOLE_W32* macros, conditioned on
	  HAVE_W32GUI.

	* emacs.c: Added calls to the following, conditioned on HAVE_W32GUI:
	  syms_of_*_w32, vars_of_*_w32, console_type_create_*w32.

	* event-stream.c: Conditioned on HAVE_W32GUI:
	  - vars_of_event_stream calls vars_of_event_w32.
	  - init_event_stream calls init_event_w32_late.

	* events-mod.h: Removed comment about having alternative making
	  MOD_* constants for different windowing systems.

	* events.c: Conditioned on HAVE_W32GUI:
	  - event-equal: Added case for w32 magic events.
	  - event-hash: Added case for w32 magic events.

	* events.h: Conditioned on HAVE_W32GUI:
	  Added struct underlying_w32_event to magic_data.

	* faces.c: complex_vars_of_faces
	  Added fallbacks for w32 faces, conditioned on HAVE_W32GUI.

	* frame.c: set-frame-properties
	  Added reference to default-w32-frame-plist to docstring.

	* general.c: Added new Lisp_Object Qw32 and defsymbol.

	* redisplay-output.c: redisplay_update_line
	  Conditioned reference to stupid_vertical_scrollbar_drag_hack on
	  HAVE_X_WINDOWS. This will need a proper fix when w32 gets
	  scrollbars.

	* redisplay-tty.c: init_tty_for_redisplay
	  Conditioned blocking and unblocking of SIGTTOU on !WIN32 because
	  these signals don't exist under win32.

	* redisplay.c: init_redisplay
	  Initialise window system to w32, conditioned on HAVE_W32GUI.

	* symsinit.h: Added syms_of_*_w32, vars_of_*_w32 and
	  init_event_w32_late.

	* sysdep.c: Conditioned various things on WIN32 in addition to
	  MSDOS.

	* New files:
	  console-w32.c, console-w32.h,
	  device-w32.c, event-w32.c, event-w32.h, frame-w32.c,
	  objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c

1997-11-07  Hrvoje Niksic  <hniksic@srce.hr>

	* doc.c (Fdocumentation_property): GCPRO doc.
	(Fsubstitute_command_keys): Disallow zero bsize.

1997-11-06  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fevent_modeline_position): Return nil if event is not
	over modeline, as the docstring says.

1997-11-05  Martin Buchholz  <Martin Buchholz <martin@xemacs.org>>

	* s/aix3-1.h: Remove ^L character wich confuses AIX make.

1997-11-06  Tomasz Cholewo  <tjchol01@mecca.spd.louisville.edu>

	* event-stream.c (Fnext_command_event): Document keystroke echoing.

1997-11-06  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Ffeaturep): Use call1, to prevent stack thrashing with
	circular lists.
	- Update docstring.

1997-11-06  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame-x.c (x_delete_frame): Removed code that
	  blocked the deletion of popup frames.  No need for it.

1997-11-05  SL Baur  <steve@altair.xemacs.org>

	* balloon_help.h: Replace <X11/Intrinsic.h> with "xintrinsic.h"
	* balloon_help.c: Ditto.
	* offix.h: Ditto.

	* mule-coding.c (coding_system_charset): Add prototype.

1997-11-04  Kazuyuki IENAGA  <ienaga@jsys.co.jp>

	* s/freebsd.h: Add HAVE_TIMEZONE_DECL.  Configure will fail at
	checking for the existence of `extern long timezone'.
	FreeBSD actualy has the `timezone', but due to its <time.h> and
	<sys/time.h>, it cannot be recognized by configure.

1997-11-03  Hrvoje Niksic  <hniksic@srce.hr>

	* data.c (Fsubr_interactive): New function.

1997-11-03  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame.c (change_frame_size_1): Added explanatory
	  comment.

	* window.c (set_window_pixsize): Don't bail out
	  before looping over the major children if there is no
	  size change indicated.  The top and left coordinates
	  may need to be recomputed, e.g. in toolbar visibility
	  updates.

1997-11-02  Kyle Jones  <kyle_jones@wonderworks.com>

	* fileio.c (Ffile_truename): Make the errno == EACCES case
	  behave the same as errno == ENOENT.

1997-11-03  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame.c (Fframe_property, Fframe_properties): Check
	  for minibuffer-onlyness of frame before checking whether
	  it has a minibuffer.  This makes the minibuffer property
	  value be reported as 'only when that is appropriate.  The
	  check order was reversed which resulted in minibuffer-only
	  frames having the minibuffer property reported as t.

1997-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* m/vax.h:
	* s/cxux.h:
	* s/xenix.h:
	* s/umax.h:
	* s/msdos.h:
	* s/template.h:
	* termcap.c:
	* signal.c:
	* lread.c:
	* callproc.c
	* buffer.c: Remove VMS dependent code.

1997-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* syspwd.h:
	* systty.h:
	* systime.h:
	* syssignal.h:
	* sysproc.h:
	* sysfloat.h:
	* sysfile.h:
	* regex.h:
	* process.h:
	* ndir.h:
	* mule-mcpath.h:
	* getpagesize.h:
	* sysdep.h:
	* fileio.c:
	* process.c: Remove old VMS code.

1997-11-02  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c: Use <magick/magick.h> instead of <magick.h>

1997-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdep.c:
	* getloadavg.c:
	* malloc.c: Remove old VMS code.

1997-11-02  Hrvoje Niksic  <hniksic@srce.hr>

	* database.c (print_database): Don't use a static buffer to store
	file name.

	* dired.c (make_directory_hash_table): Ditto.

	* fileio.c (Ffile_truename): Use `make_ext_string' instead of
 	`make_string'.

1997-11-01  Hrvoje Niksic  <hniksic@srce.hr>

	* database.c (CONCHECK_DATABASE): Define.

	* dired.c (Fdirectory_files): Use `make_ext_string' instead of
 	`make_string', to avoid crashes under Mule.
	(file_name_completion): Use `make_ext_string'.

	* database.c (new_database): Renamed to `allocate_database', as
	per coding conventions.

1997-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* dired.c: Remove VMS dependent code.

1997-11-01  Kyle Jones  <kyle_jones@wonderworks.com>

	* buffer.h: Change XCHAR_OR_CHAR_INT to use XCHAR or
	  XINT as appropriate instead of using XREALINT.

	* regex.c (re_search_2): cast translate[*d] to
	  unsigned char when indexing fastmap to avoid sign
	  change when value has the 0x80 bit set.

1997-10-31  SL Baur  <steve@altair.xemacs.org>

	* linuxplay.c (audio_init): Update for newer Linux kernels.
	From Robert Bihlmeyer <robbe@orcus.priv.at>

1997-11-01  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Fix misleading
 	comment.

1997-10-31  Kyle Jones  <kyle_jones@wonderworks.com>

	* callproc.c: GC protect current_dir while infile and
	  error_file are being initialized.

1997-10-30  SL Baur  <steve@altair.xemacs.org>

	* config.h.in: Remove HAVE_GIF, HAVE_JPEG, HAVE_PNG, HAVE_TIFF and
	replace with HAVE_IMAGEMAGICK.

1997-10-30  Kyle Jones  <kyle_jones@wonderworks.com>

	* process.c (Fprocess_send_string): Protect against
	  SIGPIPE when flushing outstream.

1997-10-30  SL Baur  <steve@altair.xemacs.org>

	* input-method-xfs.c: Xlocale.h must be included after config.h.
	* input-method-motif.c: ditto.
	* input-method-xlib.c: ditto.

1997-10-28  Kyle Jones  <kyle_jones@wonderworks.com>

	* Under LRECORD_VECTOR, moved vectors from being an basic
	  lrecord tpye to an lcrecord.
	  Added support for 31 bits Lisp integers.
	  Added support for maskless pointers to Lisp objects.

	* alloc.c

	(allocate_lisp_storage): Use XSETOBJ instead of
	   XSETCONS to avoid tripping the ERROR_CHECK_TYPECHECK
	   code with uninitialized data.  XSETCONS used to work
	   until it became an lrecord type.

	   Removed sweep_vectors_1, all_vectors and other vector
	   specific GC related objects in the LRECORD_VECTOR
	   case, as they are unneeded now that lrecord-based
	   vectors are lcrecords.

	   Added `equal' methods for lrecord-based conses, vectors
	   and strings.  I was mistaken before; they are needed.

	(pure_cons): moved XSETCONS call to after the
	   set_lheader_implementation call, to avoid tripping the
	   type checking code on an uninitialized implementation
	   pointer.

	(make_pure_vector): moved XSETVECTOR call to after the
	   set_lheader_implementation call, to avoid tripping the
	   type checking code on an uninitialized implementation
	   pointer.

	(Fpurecopy): return if given a null pointer.  THis can
	   happen when initializing Qnil.

	(mark_object): return if passed a null pointer.  I
	   think this can happen when marking through some kind of
	   objects that contain Lisp_Objects and null pointers.

	(marked_p): Ditto

	* buffer.c

	(mark_buffer): Don't mark conses in the indirect children
	   list is said list is in fact a null pointer.  The
	   indirect children list gets reset to a null pointer
	   when a bfufer is killed.

	(complex_vars_of_buffer): initialize indirect_children
	   slow of Vbuffer_local_symbols and Vbuffer_defaults to
	   nil.

	* chartab.c

	(Fcheck_category_at): Don't use XREALINT to extract a
	   char from a Lisp_Object, use XCHAR instead.

	(Fchar_in_category): Ditto.

	* data.c

	(eq_with_ebola_notice): Use XCHAR_OR_INT instead of
	   XREALINT to extract data from a Lisp_Object that could
	   contain a charater or an integer.

	(make_int): use XSETINT in the USE_MINIMAL_TAGBITS
	   case.

	(make_char): use XSETINT in the USE_MINIMAL_TAGBITS
	   case.

	(Flsh): XUINT is gone; use XINT instead.

	* elhash.c

	(elisp_hvector_malloc): Use Qnull_pointer instead of
	   Qzero, as Qzero is no longer guaranteed to contain an
	   all-zero bit pattern.

	(make_lisp_hashtable): Ditto.

	(Fcopy_hashtable): Ditto.

	* emacsfns.h

	   Conditionalize the declaration of make_char() on
	   whether a make_char macro exists or not.

	* fns.c

	(internal_equal): Conditionalize existence of cons,
	   string and vector comparison code on whether they are
	   lrecord-based.

	(internal_old_equal): Ditto.

	* lisp-disunion.h

	   USE_MINIMAL_TAGBITS support.

	   31 bit Lisp integer support.

	   Conditionalized existence of markbit related macros on
	   the existence of a markbit in a Lisp_Object.  There are
	   no markbits in the USE_MINIMAL_TAGBITS implementation
	   of a Lisp_Object.

	   Replaced XUINT with XPNTRVAL.

	   Added declaration for Qnull_pointer.

	* lisp-union.h

	   USE_MINIMAL_TAGBITS support.

	   31 bit Lisp integer support.

	   Conditionalized existence of markbit related macros on
	   the existence of a markbit in a Lisp_Object.  There are
	   no markbits in the USE_MINIMAL_TAGBITS implementation
	   of a Lisp_Object.

	   Replaced XUINT with XPNTRVAL.

	   Added a make_char macro, similar to the make_int
	   macro, for use with the GCC-specific XMAKE_LISP hack.

	* lisp.h

	   USE_MINIMAL_TAGBITS support.

	   31 bit Lisp integer support.

	   Added GCMARKBITS macro to specify how many markbits a
	   Lisp_Object contains.

	   Support for lcrecord-based vectors.

	   Added XCHAR_OR_INT for accessing data in an object
	   that might contain either a character or an integer.

	   Made HACKEQ_UNSAFE use XCHAR_OR_INT instead of
	   XREALINT during its Ebola check.

	* print.c

	   Made the printing code undestand the split Lisp integer type.

	* symbols.c

	   Added declaration for Qnull_pointer.

1997-10-27  Martin Buchholz  <mrb@eng.sun.com>

	* m/ibmrs6000.h:
	* s/aix3-2.h: C_SWITCH_SYSTEM ==> configure.in
	* s/aix4-1.h: -li18n ==> configure.in
	* s/aix4.h: Always include strings.h
	* config.h.in: Add AIXV3 define, suggested by xmkmf. Remove
	AIX_SMT_EXP.
	* unexaix.c: Fix nested comments compiler warning

1997-10-27  Kyle Jones  <kyle_jones@wonderworks.com>

	* profile.c (sigprof_handler): Don't call XUNMARK on
	  fun, it isn't needed.

	* faces.c (face_property_matching_instance): Check
	  for charset == Qunbound, which it can be if the
	  character set is unspecified.

1997-10-27  SL Baur  <steve@altair.xemacs.org>

	* mule-wnnfns.c (vars_of_mule_wnn): Provide 'wnn feature.

	* mule-canna.c (vars_of_mule_canna): Provide 'CANNA feature.

1997-10-27  Kazuyuki IENAGA <ienaga@jsys.co.jp>

	* device-x.c (x_init_device): To avoid crazy menubars due to
	lack of suitable font loading.  Disabled locale based app-defaults
	loading when menubars=motif or menubars=lucid + xfs feature is not
	used.  Currently, the menubar resource has no effect for tty use.

1997-10-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* README: Remove references to VMS.

	* vlimit.h:
	* s/vms5-5.h:
	* s/vms4-4.h:
	* s/vms4-2.h:
	* s/vms4-0.h:
	* s/vms.h: Remove files since VMS isn't supported any more.

1997-10-25  Kyle Jones  <kyle_jones@wonderworks.com>

	* toolbar.h: Reduce MINIMUM_SHADOW_THICKNESS to 1.

1997-10-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* database.c: Added support for Berkeley DB 2.x.

1997-10-23  SL Baur  <steve@altair.xemacs.org>

	* alloc.c: Disable purespace statistics unless --debug is in
	effect.

	* console-stream.c (init_console_stream): At the price of a tiny
	memory leak, reinitialize FILE fields of the console.
	From Tonny Madsen <tma@nettest.dk>

	* emacs.c: New variable `inhibit_package_init'.
	(vars_of_emacs): Use it.
	(main_1): Initialize from command line.

	* Makefile.in.in (xemacs): Specify -vanilla when searching for
	shadows.

	* emacs.c: Remove VMS ifdefs.
	(standard_args): Added -no-packages, --no-packages.
	Added -vanilla, --vanilla.
	(Frun_emacs_from_temacs): Guard pure usage report with DEBUG_XEMACS
	(Fdump_emacs): Ditto.

1997-10-22  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Ffeaturep): Use `Fcar' with `or'.

1997-10-22  Kyle Jones  <kyle_jones@wonderworks.com>

	* alloc.c: drop the Lisp_Type_Record case clause
	  that I added to the switch statement in a previous
	  patch.  The string, vector and cons cases belong in
	  the `default' clause with the other lrecord types.

1997-10-22  Kyle Jones  <kyle_jones@wonderworks.com>

	* Added support for strings as lrecords.

	* lisp.h: #ifdef'd out Lisp_Type_String enum value
	   if LRECORD_STRING is defined.

	* alloc.c: Added allocation and garbage collection
	   code for lrecord-based strings.

	* print.c: move Lisp_String printing code to a
	   separate function so that it could be used as a
	   `print' method for lrecord-based strings.

1997-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* extents.c: Renamed shot property to initial-redisplay-function
	(extent_fragment_update): Changed the bookkeeping whether an event
	has been spawned. The initial-redisplay-function property is no
	longer set to nil.

	* extents.h: ditto

1997-10-20  Kyle Jones  <kyle_jones@wonderworks.com>

	* Added support for conses and vectors to be lrecords.

	* alloc.c: Modified allocation and GC code for
	   LRECORD_CONS and LRECORD_VECTOR support.  Moved some
	   macros to lrecord.h.

	* bytecode.c: Warning comment about LRECORD_CONS.

	* elhash.c: Let internal_hash handle vector hashing
	   if LRECORD_VECTOR is defined, just as it does when
	   LRECORD_VECTOR is not defined.  The code could have
	   been copied into an `hash' method function but I don't
	   see any point to it.  Added lrecord style marking code
	   to finish_marking_weak_hashtables.  Bracketed code
	   that groks the non-lrecord method of marking vectors
	   with #ifdefs.

	* fns.c: Let internal_equal and internal_old_equal
	   handle vector comparisons when LRECORD_VECTOR is
	   defined, just as it does when LRECORD_VECTOR is not
	   defined.  The code could have been copied into an
	   `equal' method function but I don't see any point to
	   it.

	* lisp.h: Added typecheck macros for LRECORD_CONS
	   support.  LRECORD_VECTOR macros were already present.

	* print.c: New functions print_cons and print_vector
	   for LRECORD_CONS and LRECORD_VECTOR support.
	   Some GC protection also added.

	* lrecord.h: Received some macros from alloc.c, so
	   that they could be used in lisp.h.

1997-10-20  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Ffeaturep): Handle `not' correctly.

	* lread.c (vars_of_lread): Use defsymbol for featurep.

1997-10-15  Olivier Galibert  <olivier.galibert@mines.u-nancy.fr>

	* s/irix5-0.h: Removed -G 0 from LD_SWITCH_SYSTEM. .sbss sections
 	are supported since unexelfsgi.c upgrade.

1997-10-16  Kyle Jones  <kyle_jones@wonderworks.com>

	* lstream.c (Lstream_close): Don't return early if the
	  closer method reports failure.  Doing so caused GC and
	  memory corruption crashes.

1997-10-14  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (Fset_extent_property): Allow `keymap' property to be
	set to nil.

1997-10-15  SL Baur  <steve@altair.xemacs.org>

	* mule-coding.c (acceptable_control_char_p): Add C-_ for info.
	(detect_coding_iso2022): Ditto.
	From SENDA Shigeya  <senda@ic.rdc.ricoh.co.jp>

1997-10-09  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* mule-coding.c (make-coding-system, detect-coding-region): Modify
	DOC-string because of renaming `automatic-conversion' ->
	`undecided' to sync with Emacs 20.2.

	(make-coding-system, coding-system-type, detect-coding-region):
	Rename `Qautomatic_conversion' -> `Qundecided'.

	* general.c (syms_of_general): Rename `automatic-conversion' ->
	`undecided' to sync with Emacs 20.2.

	* emacsfns.h, event-Xt.c (x_to_emacs_keysym): Rename
	`Qautomatic_conversion' -> `Qundecided'.

	* buffer.c (buffer-file-coding-system): Modify DOC-string because
	of renaming `automatic-conversion' -> `undecided' to sync with
	Emacs 20.2.

1997-10-15  Olivier Galibert  <olivier.galibert@mines.u-nancy.fr>

	* lisp.h (MANY): Bump SUBR_MAX_ARGS to 12 and add corresponding
 	DEFUN_n macros.

1997-10-13  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>

	* console-tty.c: Include gpmevent.h
	* gpmevent.c (connect_to_gpm): change to void
	* gpmevent.h: Ditto.

1997-10-13  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp-disunion.h (XSETOBJ): cast Lisp type enum to
	  an EMACS_UINT quantity to avoid a compiler warning about
	  integer overflow when the most significat bit of the
	  type tag is shifted into the sign bit position of an
	  EMACS_INT.

1997-10-12  SL Baur  <steve@altair.xemacs.org>

	* s/freebsd.h: Add X11 guard for building without X11.
	From Hrvoje Niksic <hniksic@srce.hr>

1997-10-12  Kyle Jones  <kyle_jones@wonderworks.com>

	* doprnt.c (emacs_doprnt_1): if forwarded field width
	  is negative, set minus_flag and make the field width
	  positive.  Makes (format "%*s" -10 "abc") work like
	  (format "%-*s" 10 "abc").

1997-10-12  SL Baur  <steve@altair.xemacs.org>

	* unexsol2.c (unexec): CONST isn't defined here.
	From Adrian Aichner <aichner@ecf.teradyne.com>

1997-10-11  SL Baur  <steve@altair.xemacs.org>

	* realpath.c (realpath): CONST IS LOSING but removing it conflicts
	with system headers.

	* callproc.c: New variable infopath-internal.
	(complex_vars_of_callproc): Declare and initialized it.

	* paths.h.in: New variable PATH_INFOPATH.

1997-10-10  Martin Buchholz  <mrb@eng.sun.com>

	* systty.h:
	  - change Xemacs --> XEmacs

	* buffer.c:
	* editfns.c:
	* msdos.c:
	  - Remove bogus FSF-origin \n\ sequences.

1997-10-09  Kyle Jones  <kyle_jones@wonderworks.com>

	* doprnt.c (parse_doprnt_spec): parse `*' field width
	  and precision specs and set up spec forwarding.

	* doprnt.c (emacs_doprnt_1): implement `*' by
	  forwarding flags, precision and field width data from a
	  spec to a subsequent spec.

	* editfns.c: document new `*' field width and
	  precision spec.

1997-10-09  SL Baur  <steve@altair.xemacs.org>

	* database.c (Fclose_database): Rename C function.
	(Fdatabase_last_error): Ditto.
	(Fopen_database): Ditto.
	(Fput_database): Ditto.
	(Fremove_database): Ditto.
	(Fget_database): Ditto.
	(syms_of_dbm): Reflect above changes.
	From Martin Buchholz <mrb@Eng.Sun.COM>

1997-10-08  Hrvoje Niksic  <hniksic@srce.hr>

	* events.c (Fmake_event): Allow only frames as channel.

1997-10-07  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (print_extent_1): Fixed typo.

1997-10-07  Kyle Jones  <kyle_jones@wonderworks.com>

	* insdel.c (buffer_replace_char): if doing delete/insert
	  because of characters with deiffering byte lengths,move
	  point forward with the insertion if it was moved backwrad
	  to equal the insertion point by the earlier deletion.

1997-10-06  SL Baur  <steve@altair.xemacs.org>

	* window.c (Fset_window_dedicated_p): register -> REGISTER.

	* unexalpha.c (update_dynamic_symbols): register-> REGISTER.

	* sysdep.c: Global change: register -> REGISTER.

	* strcat.c (strcat): register -> REGISTER.

	* search.c: Global change: register -> REGISTER.

	* regex.c: Global change: register -> REGISTER.
	- Ensure REGISTER is always defined.

	* nt.c: Global change: register -> REGISTER.

	* linuxplay.c: Global change: register -> REGISTER.

	* input-method-xlib.c (best_style): register -> REGISTER.

	* gifalloc.c: Global change: register -> REGISTER.
	- Ensure REGISTER is always defined.

	* getloadavg.c (getloadavg): register -> REGISTER.

	* eval.c (unwind_to_catch): [Unused variable] register -> REGISTER.

	* cmds.c (Fpoint_at_bol): register -> REGISTER.

	* chartab.c (check_category_char): register -> REGISTER.

	* buffer.c (assoc_ignore_text_properties): [Unused function]
	register -> REGISTER.

	* alloca.c: Global change: register -> REGISTER.

	* xmu.h (XmuCopyISOLatin1Lowered): Global change: const -> CONST.

	* gif_lib.h: Global change: const -> CONST.

	* balloon_help.h (balloon_help_move_to_pointer): const -> CONST.

	* xmu.c: Global change: const -> CONST.

	* unexsol2.c (unexec): const -> CONST.

	* unexhp9k3.c (unexec_error): const -> CONST.

	* unexfreebsd.c (unexec_error): const -> CONST.

	* sunOS-fix.c (mbstowcs): const-> CONST.
	(wcstombs): Ditto.

	* strcpy.c (strcpy): const -> CONST.

	* strcmp.c: Global change: const -> CONST.

	* strcat.c (strcat): const -> CONST.

	* realpath.c (realpath): const -> CONST.

	* keymap.c (where_is_recursive_mapper): const -> CONST.

	* extents.c (extent_priority_sort_function): const -> CONST.

	* dgif_lib.c (DGifOpenFileName): const -> CONST.

	* balloon_help.c: Global change: const -> CONST.

1997-10-03  SL Baur  <steve@altair.xemacs.org>

	* lisp.h: Nuke register declarations.

1997-10-03  Karl M. Hegbloom  <karlheg@inetarena.com>

	* window.c (Frecenter): Correct variable names in docstring.

1997-10-03  Karl M. Hegbloom  <karlheg@inetarena.com>

	* fns.c: Add some cross references between destructive and
 	non-destructive versions of similar functions.

Fri Oct  3 12:28:08 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp-disunion.h: Move markbit to be between the
	  type bits and the value bits.  Previously it was always
	  the sign bit of a EMACS_INT, unless modified by a
	  #define in a machine dependent .h file.

1997-10-02  Hrvoje Niksic  <hniksic@srce.hr>

	* profile.c (Fclear_profiling_info): Made interactive.

1997-10-02  SL Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (USE_TEMP_FILES_FOR_PNG_IMAGES): Move outside of
	HAVE_JPEG ifdef.

1997-10-01  SL Baur  <steve@altair.xemacs.org>

	* lisp.h (min): Fully parenthize.
	(max): Ditto.

	* Makefile.in.in (widget.o): Insert dependencies.
	- Insert HAVE_OFFIX_DND dependencies.

	* casefiddle.c (casify_object): Back out bogus undocumented patch
	from 20.3-beta18.

1997-09-30  SL Baur  <steve@altair.xemacs.org>

	* events.c (Fevent_type): Add OffiX guard.
	(command_event_p): Ditto.
	(mark_event): Ditto.
	(print_event): Ditto.

1997-09-30  SL Baur  <steve@altair.xemacs.org>

	* mule-canna.c (Fcanna_set_bunsetsu): Return a value.
	(Fcanna_parse): Remove unused variables `ks' and `ksv'.
	(Fcanna_henkan_begin): Remove unused variable `res'.
	(Fcanna_henkan_next): Remove unused variable `nbun'.
	(count_char): Change return type to void.

	* event-Xt.c (x_event_to_emacs_event): Remove unused variable
	`event-size'.

	* menubar.c (Fnormalize_menu_item_name): Remove unused variable
	`res'.

	* redisplay-x.c (x_flash): Reorganize test to prefer select over
	poll.

	* xselect.c (Fx_store_cutbuffer_internal): Remove unused variable
	`encoding'.

1997-09-30  Hrvoje Niksic  <hniksic@srce.hr>

	* frame.c (Fmake_frame): Call `custom-initialize-frame'.

1997-09-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* mule-coding.c: Rename `pathname-coding-system' to
	`file-name-coding-system' to sync with Emacs 20.2.

1997-09-26  Hrvoje Niksic  <hniksic@srce.hr>

	* window.c (saved_window_equal): Ditto.

	* process.c (Fget_process): Use internal_equal.

	* lread.c (build_load_history): Use internal_equal.
	(build_load_history): Use XCAR/XCDR where safe.

	* events.c (event_equal): Ditto.

	* event-stream.c (Fdispatch_event): Ditto.

	* elhash.c (lisp_object_eql_equal): Ditto.
	(lisp_object_equal_equal): Ditto.

	* device.c (find_device_of_type): Ditto.

	* console.c (find_console_of_type): Ditto.

	* console-tty.c (tty_init_console): Ditto.

	* console-stream.c (stream_init_console): Use internal_equal.
	(stream_canonicalize_console_connection): Ditto.

	* fns.c (Fmember): Use internal_equal, to avoid a necessary
 	funcall and NILP check.
	(Fold_member): Ditto for internal_old_equal.
	(Fassoc): Use XCAR when we know we deal with a cons.  Use
 	internal_equal.  Removed tem.
	(Fold_assoc): Ditto.
	(Fassq): Use XCAR.
	(Frassoc): Use internal_equal; remove tem.
	(Fold_rassoc): Ditto for internal_old_equal.
	(Frassq): Use XCDR with what we know is a cons.
	(Fold_rassq): Ditto.
	(Fdelete): Use internal_equal.
	(Fold_delete): Ditto for internal_old_equal.
	(Fremassoc): Use internal_equal; use XCAR/XCDR with what we know
	is a cons.
	(Fremrassoc): Ditto.

	* dired.c (Fdirectory_files): Nreverse the list only if it will be
	sorted.

Fri Sep 26 13:55:28 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* faces.c (update_face_cachel_data): Don't allow the
	  background pixmap of the default face to override the
	  background of a face if that color has been specified.

1997-09-26  Hrvoje Niksic  <hniksic@srce.hr>

	* dired.c (close_directory_fd): New function.
	(Fdirectory_files): Use it to set up an unwind-protection to close
	the descriptor.
	(Fdirectory_files): Allow QUIT in re_search.
	(Fdirectory_files): If the file is too big, allocate necessary
	data with malloc.
	(Fdirectory_files): Use simple Fcons to build the list.
	(close_directory_fd): Free the opaque pointer.

1997-09-25  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c (Fset_extent_properties): New function.

1997-09-24  SL Baur  <steve@altair.xemacs.org>

	* dired.c (Fdirectory_files): Remove broken VMS stuff.
	(file_name_completion_stat): Ditto.
	(file_name_completion): Ditto.
	(Top Level):  Ditto.
	(syms_of_dired): Ditto.

1997-09-25  Hrvoje Niksic  <hniksic@srce.hr>

	* widget.c (Fwidget_apply): Don't GCPRO result of Fwidget_get.

1997-09-24  SL Baur  <steve@altair.xemacs.org>

	* symsinit.h: Declare syms_of_widget.

	* emacsfns.h: Declare Fchar_syntax.

	* bytecode.c (Fbyte_code): Call Fchar_syntax for the Bchar_syntax
	bytecode.

	* syntax.c (Fchar_syntax): convert nil input to \000 for
	compatibility.

	* alloc.c (report_pure_usage): Increase slop to 512 bytes in betas
	and reduce it to 4 bytes in releases.

1997-09-23  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (objs): Add new C file widget.o.

1997-09-22  SL Baur  <steve@altair.xemacs.org>

	* editfns.c (vars_of_editfns): New feature 'ampersand-full-name
	declared if AMPERSAND_FULL_NAME configuration option is enabled.

	* callproc.c (vars_of_callproc): Update docstring of `data-directory'.

Sun Sep 21 14:14:44 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* lisp.h: underspecify lisp_fn_t function prototype
	  to avoid compiler errors in inline_funcall_subr().

	* eval.c (Fprogn): Walk forms list with XCDR, access
	  with XCAR.  Check forms list CONSP, so that XCDR and XCAR are
	  safe.

	* eval.c (Fsetq): replace Flength call with for-loop
	  to compute list length.  Walk arg list with XCDR,
	  access with XCAR.  Check arg list with CONSP, so that
	  XCDR and XCAR are safe.

	* eval.c: New macro inline_funcall_subr, an inline
	  version of funcall_subr + primitive_funcall.

	* eval.c (Feval): replace Flength call with for-loop
	  to compute list length.  Use XCAR and XCDR in some
	  places where it is safe to do so.  Use
	  inline_funcall_subr() in place of funcall_subr().

	* eval.c (funcall_recording_as): Use XCAR instead of
	  Fcar where it was safe.

	* eval.c (Fapply): replace Flength call with for-loop
	  to compute list length.

	* eval.c (apply_lambda):Use XCAR and XCDR in some
	  places where it is safe to do so.

	* eval.c (funcall_lambda):  Walk param list with XCDR, access
	  with XCAR.  Check param list CONSP, so that XCDR and XCAR are
	  safe.

	* symbols.c (find_symbol_value): return quickly if no
	  symbol magic is involved, to avoid the expensive call
	  to find_symbol_value_1.

	* symbols.c (store_symval_forwarding): don't call
	  reject_constant_symbols unless there is a chance a
	  constant symbol is involved.  This break the
	  encapsulation of the constants check, but symbol stores
	  are used heavily and speed is most important than
	  cleanliness in this case.

1997-09-21  Joel Peterson  <tarzan@aosi.com>

	* menubar.c (normalize-menu-item-name): New function.

1997-09-21  SL Baur  <steve@altair.xemacs.org>

	* keymap.c (get_relevant_extent_keymaps): Previous patch reversed.

1997-09-20  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (xemacs): Adoption of shadow.el to print
	load-path shadowings after successful dump.

1997-09-20  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay.c (scroll_conservatively): New variable.
	(redisplay_window): Use it.

1997-09-16  SL Baur  <steve@altair.xemacs.org>

	* events.c (Fmake_event): Add default case, remove unused variables.

1997-08-21  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* extents.c (extent_fragment_update): Trigger one_shot_function

	* extents.c (set-extent-one-shot-function): New function

	* extents.h (struct extent_auxiliary): Added one_shot_function

	* extens.c: Added  one_shot_function to assesor functions.

1997-09-14  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Fexpand_file_name): Don't treat "//" and "~/" in the
	middle of path specially.

1997-09-10  Hrvoje Niksic  <hniksic@srce.hr>

	* event-stream.c (inhibit_input_event_recording): New boolean
 	variable.
	(Fnext_event): Use it.

1997-09-13  Hrvoje Niksic  <hniksic@srce.hr>

	* fns.c (Fmapc): Renamed from Fmapc_internal.

1997-09-10  Hrvoje Niksic  <hniksic@srce.hr>

	* database.c (Fmake_database): Expand FILE.

	* redisplay.c (window-system): Warn against using it.

1997-09-08  SL Baur  <steve@altair.xemacs.org>

	* emacs.c (PACKAGE_PATH): Reverse PACKAGE_PATH.
	Suggested by Colin Rafferty <craffert@ml.com>

1997-09-03  SL Baur  <steve@altair.xemacs.org>

	* print.c (print_internal): Special treatment for C-\.

1997-08-13  P E Jareth Hein  <jareth@camelot-soft.com>

	* insdel.c (buffer_delete_range): Changed the location where point
	was actually moved to after all other movement handling.  This
	prevents a MULE related crash in VALID_BYTIND.

1997-08-11  SL Baur  <steve@altair.xemacs.org>

	* doc.c (Fsnarf_documentation): Semi-clarify types of weird
	functions.

1997-08-05  Jens-Ulrik Holger Petersen  <petersen@kurims.kyoto-u.ac.jp>

	* eval.c (vars_of_eval): Updated docstring for `debug_on_error' to
	mention `debug-ignored-errors'.

1997-08-01  SL Baur  <steve@altair.xemacs.org>

	* emacsfns.h: Fix declaration.

	* event-stream.c (syms_of_event_stream): HAVE_MENUBARS not
	HAVE_MENUBAR.

1997-07-31  SL Baur  <steve@altair.xemacs.org>

	* frame-x.c (x_offix_drop_event_handler): Use stderr_out instead
	of fprintf.

	* mule-coding.c (parse_iso2022_esc): Add abort() trap on unhandled
	condition.

	* mule-wnnfns.c (Fwnn_dict_search): Remove unused variable.
	(Fwnn_hindo_update): Ditto.
	(Fwnn_inspect): Ditto.
	(Fwnn_bunsetu_henkou): Ditto.

	* eval.c (call_with_suspended_errors): Fix Gcc warning:
	argument `retval' might be clobbered by `longjmp' or `vfork'

1997-07-30  SL Baur  <steve@altair.xemacs.org>

	* redisplay.c: `window-system' isn't going away any time soon.

1997-07-29  SL Baur  <steve@altair.xemacs.org>

	* callint.c (Fcall_interactively): Allow floating point numbers
	for `n' and `N' interactive specs.

1997-07-27  SL Baur  <steve@altair.xemacs.org>

	* event-stream.c (command_builder_find_leaf): Fix typo in
	HAVE_MENUBARS.

	* gui-x.c (popup_selection_callback): Fix typo in HAVE_MENUBARS.

	* event-stream.c (syms_of_event_stream): accelerate_menu needed
	guards.

	* emacs.c (vars_of_emacs): Main default package directory is now
	${prefix}/lib/xemacs/packages.

1997-07-25  David Moore  <dmoore@ucsd.edu>

	* alloc.c (Fmake_byte_code): GC protect newly allocated function
	when looking up filename.

1997-07-25  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Added support for linking with dmalloc.

1997-07-25  P E Jareth Hein  <jareth@camelot-soft.com>

	* xselect.c (x_atom_to_symbol): Fixed a memory corruption bug
 	where a possibly MULEified string was getting freed before use.

1997-07-21  SL Baur  <steve@altair.xemacs.org>

	* callproc.c: New variable Vdata_directory_list.
	* emacsfns.h: Declare it.

	* fns.c (Frequire): Undo previous change.

	* print.c (print_internal): Handle circular objects like Emacs
	handles them (and as documented in the Lispref).

	* database.c (Fputdatabase): Complain when `val' is not a string.

	* event-stream.c (command_builder_find_leaf): Guard menubar
	accelerator stuffs with HAVE_MENUBAR.
	* gui-x.c (popup_selection_callback): Ditto.

1997-07-20  SL Baur  <steve@altair.xemacs.org>

	* event-stream.c (menu_move_up): Guard menubar accelerator code
	with HAVE_MENUBARS.

	* emacs.c (decode_path): New function, derived from latter portion
	of decode_env_path.
	(decode_env_path): Break out the naughty bits -- shouldn't do
	getenv and separator parsing in one function.
	New variable Vpackage_path.
	(vars_of_emacs): Use it.

	* editfns.c (Fstring_to_char): Return nil instead of `0' for empty
	string.

1997-07-10  Hrvoje Niksic  <hniksic@srce.hr>

	* fileio.c (Finsert_file_contents_internal): Handle non-regular
 	files.

1997-07-12  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (LOCK_OBJ): Only include filelock.[co] when
	CLASH_DETECTION is defined.

1997-07-11  Steven L Baur  <steve@altair.xemacs.org>

	* emacs.c (main_1): Spelling fix.

1997-07-10  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (dump-elcs): Shouldn't use SATISFIED hack.
	(xemacs-no-site-file): Not supported any more.
	(binary): New dependency for dumping XEmacs.
	(xemacs): Attempt to be a little smarter about not dumping a new
	XEmacs if it is not needed.
	(temacs): Remove `xemacs' after success.

1997-07-09  Hrvoje Niksic  <hniksic@srce.hr>

	* extents.c: Allow non-symbol properties of extents.

1997-07-08  Hrvoje Niksic  <hniksic@srce.hr>

	* data.c (Fstring_to_number): Use `check_int_range'.
	(Fstring_to_number): Would bug out on wrong type check.

1997-07-07  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (Fcompiled_function_doc_string): Implement correctly.
	Was forgotten cut & paste identical clone to
	Fcompiled_function_interactive?

	* Makefile.in.in (alloc.o): Remove dependency on puresize_adjust.h
	so alloc.c need not be recompiled when puresize changes.

	* alloc.c (PURIFIED): Use get_PURESIZE() instead of constant.
	(check_purespace): Ditto.
	(alloc_pure_lrecord): Ditto.
	(report_pure_usage): Ditto.
	(disksave_object_finalization): Ditto.
	(report_pure_usage): Modify message reported when Build is
	restarted due to change in PURESIZE_ADJUSTMENT.

	* puresize.h: Remove dependency on puresize_adjust.h.
	(get_PURESIZE): New function -- declare it.

	* pure.c: Move final PURESIZE computation and include of
	puresize_adjust.h into here so alloc.c need not be recompiled each
	time the puresize is adjusted.
	(get_PURESIZE): New function.

1997-07-06  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (Fstring_to_number): Wrong parameter was being checked.

	* emacs.c (vars_of_emacs): Fprovide the system type as a feature.

1997-07-03  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (Fstring_to_number): Fix typo.  base isn't an integer.

1997-07-01  Steven L Baur  <steve@altair.xemacs.org>

	* data.c, emacsfns.h:  This is the port of GNU Emacs capability.
	I am still not sure what this buys us, but I guess it doesn't hurt
	to have it.
	From Hrvoje Niksic <hniksic@srce.hr>

	* glyphs.c (make_string_from_file): Use
	insert-file-contents-literally instead of
	insert-file-contents-internal.

1997-06-30  Steven L Baur  <steve@altair.xemacs.org>

	* fns.c (check_losing_bytecode): Correct reported version.

	* Makefile.in.in (${libsrc}DOC): Break up line length for stupid
	make programs.

1997-06-29  Steven L Baur  <steve@altair.xemacs.org>

	* emacsfns.h: Put void in prototype.
	Suggested by Ben Wing.

1997-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* glyphs.c (make_string_from_file): must protect from
	`format-alist'.

1997-06-28  Steven L Baur  <steve@altair.xemacs.org>

	* config.h.in: Back out previous change to LOSING_BYTECODE.  It's
	just not worth it.

1997-06-27  Mike Scheidler  <c23mts@eng.delcoelect.com>

	* s/sol2.h: Undefined _XOPEN_SOURCE for Solaris 2.4.

1997-06-28  Hrvoje Niksic  <hniksic@srce.hr>

	* abbrev.c (abbrev_match): New function.
	(abbrev_oblookup): New function.
	(obarray_has_blank_p): New function.
	(abbrev_count_case): New function.
	(Fexpand_abbrev): Use them.  Allow abbreviations to contain
	arbitrary characters.

1997-06-28  Steven L Baur  <steve@altair.xemacs.org>

	* config.h.in: LOSING_BYTECODE will not be compiled into XEmacs.

	* doc.c (Fsnarf_documentation): Remove VMS dependent stuff for
	cleanliness.

1997-06-28  Hrvoje Niksic  <hniksic@srce.hr>

	* print.c (Ferror_message_string): Simplify.

1997-06-27  Steven L Baur  <steve@altair.xemacs.org>

	* symbols.c (Fdefine_function): Correct docstring.
	(Fsetplist): Ditto.
	(Ffset): Ditto.
	(Fsetq_default): Ditto.

1997-06-27  Hrvoje Niksic  <hniksic@srce.hr>

	* eval.c (skip_debugger): Removed comment and #ifdef-ed code.
	(signal_call_debugger): Call skip_debugger after wants_debugger.
	(signal_call_debugger): Gcpro cons sent to skip_debugger.

1997-06-26  Steven L Baur  <steve@altair.xemacs.org>

	* process.c (create_process): Default to fork instead of vfork.

	* callproc.c (Fcall_process_internal): Default to fork instead of
	vfork.

	* emacsfns.h: Add declarations of Ferror_message_string(),
	Frunning_temacs_p().

	* eval.c: Remove declarations of Ferror_message_string(),
	Frunning_temacs_p().

	* Makefile.in.in (${libsrc}DOC): Correct dependency for the docfile.
	(${mo_dir}emacs.po): Remove obsolete references to lisp source.

1997-06-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* mule-charset.c: Modify charset DOC-strings to be more detailed.

1997-06-25  Steven L Baur  <steve@altair.xemacs.org>

	* alloc.c (Flist): Optimize.
	From Hrvoje Niksic.

1997-06-23  Steven L Baur  <steve@altair.xemacs.org>

	* lisp.h: Get uintptr_t stuffs because it is needed for including
	emacsfns.h.

	* sysdep.h: Removed uintptr_t stuffs.

1997-06-22  Steven L Baur  <steve@altair.xemacs.org>

	* fns.c (concat): Replace Fcar/Fcdr with XCAR/XCDR.
	(Fnreverse): Ditto.
	(internal_equal): Ditto.
	(internal_old_equal): Ditto.
	(Fnconc): Ditto.
	(Freverse): Saner implementation.
	From Hrvoje Niksic <hniksic@srce.hr>

	* s/linux.h: getpgrp with glibc is now properly detected by
	configure.
	Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de>

1997-06-20  Steven L Baur  <steve@altair.xemacs.org>

	* events.c: Remove declaration of Qempty.

1997-06-20  Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr>

	* frame-x.c, EmacsFrame.c, menubar-x.c, redisplay-x.c, 	scrollbar-x.c:
	Make 64 bit clean.

1997-06-19  Martin Buchholz  <mrb@eng.sun.com>

	* config.h.in:
	- Autodetect X defines using xmkmf.
	- Compute rpath on *bsd* systems as well.
	- rewrite PRINT_VAR m4 macro.
	- detect sizes of void* and long long for future use by unex*.c
	* regex.c: _GNU_SOURCE may be defined by config.h; don't redefine.

1997-06-18  Martin Buchholz  <mrb@eng.sun.com>

	* Makefile.in:
	* s/*.h:
	* m/*.h:
	* config.h.in:
	* emacs.c:
	* version.sh:
	* configure.in: Another rewrite.
	- support powerpcle (Solaris on ppc)
	- Now just have one s/sol2.h for all Solaris versions
	- Specifying colon-separated directories actually works now.
	- OS_RELEASE is a new define to avoid proliferation of s&m files.
	- extract more stuff from s&m files.
	- more debugging info
	- More changes to avoid the `echo -e' problem
	- Add more tests: fcntl.h AC_TYPE_*, AC_FUNC_GETPGRP
	- Back out -lPW test.
	- More paranoid xpm test
	- Put version information in version.sh instead of version.el
	- Make quoted pre-processor string tokens out of all macro values
	  to be used only by configure.
	* xmu.c: DON'T use Xos.h
	* sysdep.c (wait_for_termination):
	* search.c:
	* editfns.c:
	* console-*:

1997-06-18  Steven L Baur  <steve@altair.xemacs.org>

	* unexelfsgi.c: Some things that Needed To Be Done(tm) into
	unexelfsgi:
	- support for .sbss section (no more -G 0 needed, 0.00001% speed
	increase)
	- support for Elf64 (64bits executables)
	From Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr>

	* fns.c (Fmapvector): New function converted from Lisp.
	From Hrvoje Niksic  <hniksic@srce.hr>

Wed Jun 18 16:42:10 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Convert two missed C style comments.
	(LIBES): Remove LIBS_DEBUG which is no longer defined.
	(LIBES): lwlibs_libs was misspelled.

1997-06-17  Hrvoje Niksic  <hniksic@srce.hr>

	* eval.c (vars_of_eval): New variable Vdebug_ignored_errors.
	(skip_debugger): New function; use Vdebug_ignored_errors.
	(signal_call_debugger): Use it.

1997-06-17  Steven L Baur  <steve@altair.xemacs.org>

	* emacs.c (vars_of_emacs): Moved symbols emacs-version,
	emacs-major-version, and emacs-minor-version from version.el to
	here.

	* general.c (syms_of_general): New symbols and, not, and or.

	* emacsfns.h: New symbols Qand, Qnot, Qor.

	* Makefile.in.in: Call temacs to compute lisp libraries to
	include in the DOC file.

1997-06-15  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Remove explicit mention of auto-autoloads.el.

Sat Jun 14 21:55:27 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* console.c (Fselect_console):
	  Check DEVICE_SELECTED_FRAME of console's selected
	  device for non-nil value before using it as a frame.

1997-06-13  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (eq_with_ebola_notice): Remove horrible hack to avoid
	unavoidable Ebola notices in the bytecompiler.

	* emacsfns.h: Fextent_in_region_p: Move.

	* keymap.c Fextent_in_region_p: Move.

Fri Jun 13 00:38:29 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* console.c (Fsuspend_console):
	  Disable input on ttys.  Hide unhidden frames.

	* console.c (Fresume_console):
	  Enable input on ttys.  Raise the device selected frame.

Fri Jun 13 00:25:46 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* process.c (status_notify):
	  Revert back to the code that does not use
	  save_excursion_restore.  Just bounds check opoint
	  instead.

	* process.c (read_process_output):
	  Bounds check saved clip region and point values for
	  validity before using them.  Call Fwiden before calling
	  Fnarrow_to_region to insure values will not be out of
	  range.

1997-06-12  Steven L Baur  <steve@altair.xemacs.org>

	* alloc.c: Make the GC cursor appear on all frames.
	From Hrvoje Niksic  <hniksic@srce.hr>

1997-06-11  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (eq_with_ebola_notice): Add byte-optimize-logmumble and
	byte-compile-push-constant to list of ignored functions.

1997-06-11  Hrvoje Niksic  <hniksic@srce.hr>

	* bytecode.c (Bsave_current_buffer): Register.
	(Fbyte_code): Do action.

	* editfns.c (Fsave_current_buffer): New SUBR.

1997-06-11  Steven L Baur  <steve@altair.xemacs.org>

	* syntax.c (Fchar_syntax): Handle case of being passed nil.

	* data.c (eq_with_ebola_notice): Add more legitimate places in the
	bytecompiler that should not get Ebola notices.

Tue Jun 10 00:34:40 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* process.c (status_notify):
	  Use record_unwind_protect and save_excursion_restore to
	  handle the point and buffer restoration.  Cleaner.  Doesn't
	  crash the editor if before/after-change-functions change
	  things behind our back.

1997-06-10  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (vars_of_data): Set Ebola warning backtrace limit to 16.
	(eq_with_ebola_notice): Bypass Ebola warnings for special
	bytecompiler functions where they are 100% spurioius.

1997-06-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* Makefile.in.in: Use lisp/mule/language/misc-lang.el instead of
	lisp/mule/ipa-hooks.el.

1997-06-10  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* Makefile.in.in: Use lisp/mule/language/thai.elc instead of
	lisp/mule/thai-hooks.elc.

1997-06-09  MORIOKA Tomohiko  <morioka@jaist.ac.jp>

	* Makefile.in.in: Use lisp/mule/language/chinese.el,
	lisp/mule/language/cyrillic.el, lisp/mule/language/european.el,
	lisp/mule/language/greek.el, lisp/mule/language/japanese.el and
	lisp/mule/language/korean.el instead of
	lisp/mule/chinese-hooks.el, lisp/mule/cyrillic-hooks.el,
	lisp/mule/european-hooks.el, lisp/mule/greek-hooks.el,
	lisp/mule/japanese-hooks.el and lisp/mule/korean-hooks.el.

1997-06-09  Steven L Baur  <steve@altair.xemacs.org>

	* keymap.c: Declare Fextent_in_region_p.

	* s/linux.h: Can't use ORDINARY_LINK in linux until usage of -lPW
	is determined more sensibly.

1997-06-09  Hrvoje Niksic <hniksic@srce.hr>

	* keydefs.c (get_relevant_extent_keymaps): Choose correct keymap
	at extent boundaries.

Mon Jun  9 19:35:19 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* redisplay.c (pixel_to_glyph_translation):
	  Fixed off by one error in computation of closest
	  position when mouse is in the frame's right-side
	  border area.

Sat Jun  7 22:07:41 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame.c (delete_frame_internal):
	  Calling Fselect_frame isn't sufficient to set the
	  frame device's selected frame if the frame we're
	  selecting is on a different device.  Call
	  set_device_selected_frame apprpriately in that case.
	  Also don't set the frame device's selected frame to a
	  frame that's on another device.

1997-06-09  Steven L Baur  <steve@altair.xemacs.org>

	* sysdep.c: MS Windows NT doesn't (yet) do child TTY processes.
	From David Hobley <davidh@wr.com.au>

Sat Jun  7 22:00:54 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* device-x.c (x_delete_device):
	  Add an EQ check so that we don't set Vdefault_x_device
	  back to the device we're deleting.

1997-06-05  Steven L Baur  <steve@altair.xemacs.org>

	* frame.c (Fmake_frame): Correct checking of first_frame_on_device.
	From Hrvoje Niksic <hniksic@srce.hr>

1997-06-04  Steven L Baur  <steve@altair.xemacs.org>

	* device.c (delete_deviceless_console): New function.
	(Fmake_device): Use it.  Fix problem of creation of a frame on a
	tty where something fails during initialization.
	From Kyle Jones <kyle_jones@wonderworks.com>

	* specifier.c (Fboolean_specifier_p): Correct spelling in
	Docstring (synch from Infodock 3.5).

	* frame.c: Update docstring.

1997-06-03  Hrvoje Niksic  <hniksic@srce.hr>

	* sysdep.c (tty_init_sys_modes_on_device): Initialize it.

	* console.c (complex_vars_of_console): New variable
	`tty-erase-char'.

	* conslots.h (MARKED_SLOT): New slot.

Mon Jun  2 02:49:44 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame.c, frame-tty.c
	  Treat tty frames like a cross between stacked window
	  system frames and frames on virtual displays.  All
	  frames but the top frame are visible but hidden by
	  default.  next-frame and previous-frame now skip
	  invisible tty frames by default.  raise-frame and
	  lower-frame now control whether a frame is hidden
	  instead of whether it is visible.  Frames are no
	  longer automatically raised when they are selected.
	  After a raise/lower operation selection of the new
	  topmost frame is deferred until a selection magic
	  event is read.

Sat May 31 19:59:49 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* frame-tty.c (tty_init_frame_3:
	  Defer selection of the newly created frame until
	  an event is read.

1997-06-02  Steven L Baur  <steve@altair.xemacs.org>

	* search.c (REGEXP_CACHE_SIZE): Bump to 20.
	Suggested by Karl M. Hegbloom <karlheg@inetarena.com>

1997-05-30  Steven L Baur  <steve@altair.xemacs.org>

	* device-tty.c (tty_asynch_device_change):
	* gpmevent.c (connect_to_gpm): Makes it so it doesn't **ck up the
	mouse stuff on an XTerm, and resets the internal GPM variables for
	the width and height of the screen when we get a sigwinch.
	From William M. Perry <wmperry@aventail.com>

1997-05-29  Steven L Baur  <steve@altair.xemacs.org>

	* eval.c (Fprogn): Delete mocklisp support.
	(Fwhile): Ditto.
	(Fcommandp): Ditto.
	(Feval): Ditto.
	(funcall_recording_as): Ditto.
	(funcall_lambda): Ditto.

	* elhash.c (verify_function): Delete mocklisp support.

	* doc.c (Fdocumentation): Delete mocklisp support.

	* data.c (wrong_type_argument): Delete mocklisp support.

	* config.h.in: Delete mocklisp support.

	* callint.c (Fcall_interactively): Delete mocklisp support.

	* emacs.c (main_1): Delete mocklisp initialization.

	* symsinit.h: Delete mocklisp.c decls.

	* Makefile.in.in: Delete mocklisp stuffs.

Thu May 29 03:00:16 1997  Kyle Jones  <kyle@crystal.wonderworks.com>

	* frame.c (change_frame_size_1):
          Drop code that returns immediately if the old frame
          size is equal to the new.
	  Leave the minibuffer height the same if the frame has
	  been initialized, and the minibuffer height is tall
	  enough to display at least one line of text in the default
	  font, and the old minibuffer height is a multiple of the
	  default font height.  This should cause the minibuffer
	  height to be recomputed on font changes but not for
	  other frame size changes, which seems reasonable.

1997-05-26  Steven L Baur  <steve@altair.xemacs.org>

	* event-stream.c (Frecent_keys): Take optional parameter to
	indicate how many keystrokes to return.
	(Frecent_keys_ring_size): New function returns the maximum number
	of events `recent-keys' can return.
	(Fset_recent_keys_ring_size): New function.  Modifies the above.

	From Hrvoje Niksic <hniksic@srce.hr>

	* event-stream.c: New variable recent_keys_ring_size replacing a
	hard-coded macro.

1997-05-23  Steven L Baur  <steve@altair.xemacs.org>
	From Hrvoje Niksic <hniksic@srce.hr>

	* sysdep.c: Correction of subprocess support when compiling
	without ttys.

1997-05-21  Steven L Baur  <steve@altair.xemacs.org>

	* editfns.c (format-time-string): Update DOCstring.  Make time
 	parameter optional.

Wed May 21 11:58:17 1997  Kyle Jones  <kyle@crystal.wonderworks.com>

	* insdel.c (signal_first_change):
          record the current buffer for the unwind instead of the
          buffer that's about to become the current buffer.

Tue May 20 23:23:39 1997  Steven L Baur  <steve@altair.xemacs.org>

	* frame.c: Correct spelling typo in docstring.

Mon May 19 03:40:46 1997  Kyle Jones  <kyle@crystal.WonderWorks.COM>

	* redisplay.c: (window_line_number)
	  don't prefer buffer point value over window point
	  value unless window, frame, device and console are
	  all selected.

	* redisplay.c: (redisplay_window)
	  don't prefer buffer point value over window point
	  value unless window, frame, device and console are
	  all selected.

	* redisplay.c: (create_text_block)
	  don't prefer buffer point value over window point
	  value unless window, frame, device and console are
	  all selected.

Sun May 18 13:03:50 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (distclean): remove xemacs-version.h.

Sun May 11 13:38:46 1997  Kyle Jones  <kyle@crystal.WonderWorks.COM>

	* frame.c (change_frame_size_1):
	  return without doing anything if the frame has benn
	  initialized and the new frame size is same as the
	  current frame size.

Sat May 17 19:35:48 1997  Steven L Baur  <steve@altair.xemacs.org>

	* device-tty.c (tty_asynch_device_change): Make
	`no-redraw-on-reenter' work.  Patch from Hrvoje Niksic.

Sat May 17 23:39:03 1997  Hrvoje Niksic  <hniksic@srce.hr>

	* frame-tty.c: Support multiple frames.

	* redisplay.c (decode_mode_spec): New coding `%N'.

Sun May 11 23:36:08 1997  Steven L Baur  <steve@altair.xemacs.org>

	* buffer.c: Rename Vdelete_auto_save_files to coding standards.

	* frame.c: Rename Vallow_deletion_of_last_visible_frame to coding
	standards.

Thu May  8 19:10:03 1997  Steven L Baur  <steve@altair.xemacs.org>

	* frame.c: Change internal type of
	`allow-deletion-of-last-visible-frame' to boolean.

	* buffer.c: Change internal type of `delete-auto-save-files' to
	boolean.

Sat May  3 15:28:56 1997  Steven L Baur  <steve@altair.xemacs.org>

	* redisplay.c: `column-number-start-at-one' is a user customizable
	variable.

	* event-stream.c (vars_of_event_stream): `focus-follows-mouse' is
	a user customizable variable.

	* cmds.c (vars_of_cmds): `signal-error-on-buffer-boundary' is a
	user customizable variable.

	* lread.c (parse_integer): Fix incorrect upper bounds on loop.

Thu May  1 18:59:20 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (Fmake_subwindow): Update error message.

Wed Apr 30 18:07:18 1997  Steven L Baur  <steve@altair.xemacs.org>

	* lread.c: New variable featurep.
	(read1): Add processing for #- and #+.
	(read_list_conser): Handle case where a feature test has removed a
	portion of the input stream.
	(vars_of_lread): New feature `xemacs'.

	* fns.c (Ffeaturep): Remove function when using #-, #+ feature
	reader syntax.

	* Makefile.in.in (lisp): Put features.elc in the dump list.

Thu May  1 05:24:25 1997  Hrvoje Niksic  <hniksic@srce.hr>

	* buffer.c (Fmake_indirect_buffer): Don't pretend it's there.

Fri Apr 25 10:53:07 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c: libpng already includes setjmp.h, so don't attempt
	to include it twice.

Thu Apr 24 09:14:13 1997  Steven L Baur  <steve@altair.xemacs.org>

	* balloon-x.c (vars_of_balloon_x): Don't override advertised and
	supported balloon-help.

Tue Apr 22 11:54:02 1997  Steven L Baur  <steve@altair.xemacs.org>

	* emacs.c (main_1): Add syms_of_balloon_x and guard with
	HAVE_X_WINDOWS.
	(main_1): Add vars_of_balloon_x and guard with HAVE_X_WINDOWS.

	* process.c (get_process): This function can be passed a BUFFER as
	a parameter.

Tue Apr 22 01:32:00 1997  Kyle Jones  <kyle@crystal.WonderWorks.COM>

	* menubar-x.c (pre_activate_hook):
	  set in_menu_callback around call to call to
          menu_item_descriptor_to_widget_value.

	* event-stream.c (Fnext_event):
	  signal error if in_menu_callback non-nil to avoid
	  reentering the menubar code and causing a crash later.

	* cmdloop.c (command_loop_3):
	  signal error if in_menu_callback non-nil to avoid
	  inflooping calling Fnext_event, which will signal an
	  error if the situation is not caught earlier.

Tue Apr 22 08:22:22 1997  Hrvoje Niksic  <hniksic@srce.hr>

	* balloon-x.c, balloon_help.c, balloon_help.h: Modified to conform
	to XEmacs coding standards.

Thu Apr 17 17:16:34 1997  Steven L Baur  <steve@altair.xemacs.org>

	* balloon-x.c: New file from Douglas Keller.

	* balloon_help.c: New file from Douglas Keller.

	* balloon_help.h: New file from Douglas Keller.

Sun Apr 13 09:56:54 1997  Steven L Baur  <steve@altair.xemacs.org>

	* emacs.c (shut_down_emacs): Advertise using send-pr as the
	mechanism for submitting a bug report.

	* Makefile.in.in: Handle pathological case of mis-autodetected
	TOOLTALK.

Sun Apr 13 11:33:34 1997  David Moore  <dmoore@ucsd.edu>

	* regex.c (re_search_2): Prevent incorrect matching and infinite
	loop with \\` and MULE.

Sat Apr 12 05:57:51 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Dump cus-start.elc with XEmacs.

	* event-Xt.c (x_to_emacs_keysym): Allow for dead keys.  (Patch
	from Joachim Schnitter).

	* Makefile.in.in: Allow native sound for BSD/I.

	* linuxplay.c: Rename global sndbuf to linuxplay_sndbuf.
	Make sndbuf, mix_fd, audio_vol, audio_fd, audio_dev non-static to
	avoid dump time lossage.
	(sndcnv8U_2mono): Rename global sndbuf to linuxplay_sndbuf.
	(sndcnv8S_2mono): Ditto.
	(sndcnv2monounsigned): Ditto.
	(sndcnv2unsigned): Ditto.
	(sndcnvULaw_2mono): Ditto.
	(sndcnv16_2monoLE): Ditto.
	(sndcnv16_2monoBE): Ditto.
	(sndcnv2byteLE): Ditto.
	(sndcnv2byteBE): Ditto.
	(sndcnv2monobyteLE): Ditto.
	(sndcnv2monobyteBE): Ditto.
	(linux_play_data_or_file): Ditto.
	(linux_play_data_or_file): Ditto.
	(linux_play_data_or_file): Ditto.

Sat Apr 12 01:59:14 1997  Kyle Jones  <kyle_jones@WonderWorks.COM>

	* glyphs-x.c, glyphs.c, glyphs.h: Added domain parameter to all
 	  image *_instantiate functions so that the domsin is available to
 	  specifier lookups in the various instantiator functions.  Passed
	  domain argument to extract_xpm_color_names for the
	  Fspecifier_instance call.

Fri Apr 11 20:02:40 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (extract_xpm_color_names): Add checking to handle
	case for when XEmacs is in initialization.

	* events.c (Fevent_type): Remove handling for dead_event.
	(Fevent_properties): Remove handling for dead_event.

Thu Apr 10 20:41:53 1997  David Moore  <dmoore@ucsd.edu>

	* ntproc.c (sys_spawnve): Clean up GC protection.

	* fileio.c (Ffile_executable_p): Clean up GC protection.

Thu Apr 10 12:48:49 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs.c: Undo duplicate declaration of display_table.

	* glyphs.h: Back out name change of autodetect to
	automatic_conversion.

	* glyphs.c: Back out name change of autodetect to
	automatic_conversion.

	* glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out
	name change of autodetect to automatic_conversion.

	* events.c (Fevent_properties): Do something sensible for
	dead_event and empty_event.

	* general.c: Restore autodetect symbol.

	* emacsfns.h: Declare new symbol Qempty.

	* general.c: Add symbol to identify empty events.

	* events.c (Fevent_type): Don't abort() when presented with an
	empty_event or a dead_event.

Mon Apr  7 18:12:26 1997  David Moore  <dmoore@ucsd.edu>

	* xmu.c: Renamed local `initialized' variable to `hex_initialized'
 	and don't assign to static, as some compilers crash.
	(initHexTable): Use it.
	(XmuReadBitmapData): Use it.

Sun Apr  6 18:03:47 1997  David Moore  <dmoore@ucsd.edu>

	* fileio.c (Fexpand_file_name): Clean up GC protection.

	* dired.c (Fdirectory_files): Clean up GC protection.

	* insdel.c (signal_after_change): Don't run after_change_functions
	on special Vprin1_to_string_buffer.
	(signal_before_change): Ditto for before_change_functions.

Fri Apr  4 14:41:17 1997  David Moore  <dmoore@ucsd.edu>

	* buffer.c (Fkill_buffer): Don't kill special
	Vprin1_to_string_buffer.

Mon Apr  7 19:13:40 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (xemacs-version.h): Added to rename main_1 to
	something reflecting the XEmacs version in use (for lusers
	reporting crashes who forget to include the version number).

	* toolbar.c (specifier_vars_of_toolbar): Strip HAVE_NEXTSTEP.

	* sound.c: Strip HAVE_NEXTSTEP.

	* redisplay.c (init_redisplay): Strip HAVE_NEXTSTEP.

	* faces.c: Strip HAVE_NEXTSTEP.
	(update_EmacsFrame): Ditto.

	* events.c (event_equal): Strip HAVE_NEXTSTEP.
	(event_hash): Ditto.
	(format_event_object): Ditto.

	* event-stream.c (init_event_stream): Strip HAVE_NEXTSTEP.

	* emacs.c (main_1): Strip HAVE_NEXTSTEP.
	Attempt hack to change name of main_1 to something reflecting the
	current version for lusers who don't include version numbers with
	stack backtraces.

	* device.c: Strip HAVE_NEXTSTEP.

	* console.c (Fconsole_type): Remove reference to unimplemented ns
	windows type.

Sun Apr  6 08:08:33 1997  Steven L Baur  <steve@altair.xemacs.org>

	* frame.h: Strip NeXTStep stuff.

	* device.h: Strip NeXTStep stuff.

	* console.h: More NeXTStep trimming.

	* console-x.h: Strip Epoch stuff.

	* symsinit.h (init_sunpro): Strip vms/Epoch stuff.

	* events.h (union magic_data): Strip NeXTStep stuff.

	* console.h: Strip NeXTStep stuff.

	* config.h.in: Strip unimplemented NeXTStep/Epoch stuff out.

	* Makefile.in.in: Remove unused NeXTStep support.  It's all in the
	cvs attic if someone wishes to revive it.
	(epoch.o): Remove last vestiges of non-existent epoch support.

Sat Apr  5 17:16:49 1997  Steven L Baur  <steve@altair.xemacs.org>

	* fns.c: Correct DOC string to not equate integers and
	characters.

Thu Apr  3 08:01:50 1997  Steve Carney  <carney@gvc.dec.com>

	* s/decosf4.0-static.h: New file.

Tue Apr  1 12:22:32 1997  Steven L Baur  <steve@altair.xemacs.org>

	* config.h.in: MAIL_USE_POP, KERBEROS, HESIOD -- new parameters to
	deal with upgraded movemail.c.

Fri Mar 28 19:25:22 1997  Steven L Baur  <steve@altair.xemacs.org>

	* inline.c: Restore this blasphemous file.

	* Makefile.in.in (inline.o): Restore the bletcherous
	inline.c.

Tue Mar 25 11:36:08 1997  David Moore  <dmoore@ucsd.edu>

	* fileio.c (barf_or_query_if_file_exists): GC fixes.
	(Ffile_readable_p): ditto.
	(Ffile_writable_p): ditto.
	(Ffile_symlink_p): ditto.
	(Ffile_accessible_directory_p): ditto.

	* sound.c (Fplay_sound_file): Fix up gc problems with file
	handlers.

	* buffer.c (Fkill_buffer): Fix up buffer killing problems with
	file handlers.

	* sysdep.c (sys_subshell): Fix up gc problems with file handlers.

	* callproc.c (Fcall_process_internal): Fix up gc problems with
	file handlers.
Tue Mar 25 17:16:14 1997  Steven L Baur  <steve@altair.xemacs.org>

	* ralloc.c (MHASH): Make 64bit Alpha happier.

Tue Mar 25 11:36:08 1997  David Moore  <dmoore@ucsd.edu>

	* fileio.c (auto_save_expand_name_error): New function.
	(auto_save_expand_name): Ditto.
	(Fdo_auto_save): Protect against an error in Fexpand_file_name
	from kicking us inappropriately out of auto-save.

Mon Mar 24 21:50:13 1997  Steven L Baur  <steve@altair.xemacs.org>

	* s/linux.h (GETPGRP_NEEDS_ARG): Define if compiling with glibc
	2.1 (suggested by Andreas Jaeger).

Mon Mar 24 12:40:56 1997  David Moore  <dmoore@ucsd.edu>

	* profile.c: Fixed some comments about GC status of functions.

	* profile.c (inside_profiling): New variable to lock the
	profiling table.
	(sigprof_handler): Check it.
	(Fget_profiling_info): Set it.
	(mark_profiling_info): Set it.
	(Fclear_profiling_info): Set it.

	* eval.c (PUSH_BACKTRACE): New macro.
	(POP_BACKTRACE): Ditto.

	* eval.c (Fcommand_execute): Use them and fix problem with
 	backtrace_list build ordering requirements for profiling code.
	(Feval): Ditto.
	(funcall_recording_as): Ditto.

Fri Mar 21 20:19:09 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: strip inline.o.

Fri Mar 21 18:54:04 1997  David Moore  <dmoore@ucsd.edu>

	* fileio.c (call2_check_string_or_nil): New function.
	(Ffile_name_directory): Use it.
	(Fsubstitute_in_file_name): Use it.

	* fileio.c (Fexpand_file_name): GC protect against file handlers.
	(Fdelete_file): ditto
	(Ffile_writable_p): ditto
	(Ffile_directory_p): ditto
	(Ffile_regular_p): ditto
	(Fset_file_modes): ditto
	(Ffile_newer_than_file_p): ditto
	(Fset_visited_file_modtime): ditto

	*fileio.c (Ffile_truename): Unnecessary GC protection.
	(Fdelete_directory): Fix broken caller-must-GC-protect call.

	* filelock.c (lock_file): New comments warning that this function
	may kill the current buffer.
	(unlock_file): ditto
	(Flock_buffer): ditto
	(Funlock_buffer): ditto
	(unlock_buffer): ditto

	* filelock.c (unlock_all_files): GC protect against unlock_file
	killing random buffers.

	* buffer.c (Fkill_buffer): GC protect against unlock_file killing
	the buffer.

	* insdel.c (prepare_to_modify_buffer): GC protect against
 	lock_file() killing the buffer.

Fri Mar 21 19:11:15 1997  Steven L Baur  <steve@altair.xemacs.org>

	* mule-coding.c (vars_of_mule_coding): Add
	enable-multibyte-characters for MULE compatibility.

Thu Mar 20 13:25:26 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c: Implement a dummy function to insert a fake EOI
	marker if called.  Based on code from William Perry.

Wed Mar 19 10:49:05 1997  Steven L Baur  <steve@altair.xemacs.org>

	* menubar-x.c (pre_activate_callback): Attempt to avoid recursive
	expansion of submenus via :filter expansion.

	* glyphs-x.c (x_print_image_instance): Move define of
	HAVE_SUBWINDOWS to glyphs-x.h.
	(our_skip_input_data): Implement with some error checking based on
	patch by Dominic Froud.

	* glyphs-x.h (HAVE_SUBWINDOWS): Define to keep inline.c from
	barfing.

Tue Mar 18 11:15:23 1997  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c: Strip unimplemented subwindows code.

Mon Mar 17 15:40:12 1997  David Moore  <dmoore@ucsd.edu>

	* glyphs-x.c (our_own_dgif_slurp_from_gif2x11_c): Only get the
	first image out of a multi-image or animated gif.

Mon Mar 17 15:27:26 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (xemacs): Invert sense of test for successful
	completion of XEmacs dump.

Sat Mar 15 14:21:39 1997  David Moore  <dmoore@ucsd.edu>

	* fileio.c (Fdo_auto_save): Protect against file handlers which
 	may kill the buffer being saved or otherwise modify Vbuffer_alist.

Sat Mar 15 15:32:51 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Add auto-customize.elc.

Fri Mar 14 19:10:37 1997  David Moore  <dmoore@ucsd.edu>

	* extents.c (extent_changed_for_redisplay): New parameter.
	(extent_changed_for_redisplay): Notify redisplay if invisible text
	has become visible.
	(extent_maybe_changed_for_redisplay): New parameter.
	(extent_attach): Use it.
	(extent_detach): Use it.
	(Fset_extent_parent): Use it.
	(set_extent_invisible): Use visibility change parameter.
	(Fset_extent_face): Ditto.
	(Fset_extent_mouse_face): Ditto.
	(set_extent_glyph): Ditto.
	(do_highlight): Ditto.

Thu Mar 13 10:40:37 1997  Steven L Baur  <steve@altair.xemacs.org>

	* s/sunos4-1-4-shr.h: New file.

	* s/sunos4-1-4.h: New file.

	* s/sunos4-1.h (BROKEN_SIGIO): Define.

Wed Mar 12 14:29:40 1997  Steven L Baur  <steve@altair.xemacs.org>

	* emacs.c (fatal_error_signal): (mostly) useless check on
	/usr/proc/bin/pstack removed.

	* s/bsdos3.h: New file for BSDI 3.0.

	* editfns.c (Fchar_equal): Correct DOC string.
	(Fchar_Equal): (char=) CL Case sensitve comparison added.

	* data.c (Fcharacterp): Make DOC string less confrontational.

Mon Mar 10 23:51:04 1997  Martin Buchholz  <mrb@eng.sun.com>

	* input-method-motif.c (XIM_init_frame): Fix XIM crash on some
	versions of X11R6 XIM.

Sun Mar  9 21:46:53 1997  Tomasz J. Cholewo  <t.cholewo@ieee.org>

	* minibuf.c (regexp_ignore_completion_p): Reverse meaning of
        completion-regexp-list.

Thu Mar  6 19:15:29 1997  Steven L Baur  <steve@altair.xemacs.org>

	* data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!!
	message.

Wed Mar  5 16:11:22 1997  Steven L Baur  <steve@altair.xemacs.org>

	* process.c (get_internet_address): Put upper bounds on attempting
	to get system name (similar to nearly identical processing in
	sysdep.c.

Tue Mar  4 17:30:48 1997  Steven L Baur  <steve@altair.xemacs.org>

	* puresize.h (PURESIZE): *Must* use angle brackets for
	puresize_adjust.h or build will lose with --srcdir.

	* alloc.c (report_pure_usage): Adjust error message printed when
	too low on PURESIZE.

	* Makefile.in.in: Move site-packages.
	Add vpath correction for puresize_adjust.h.

Mon Mar  3 20:37:54 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Remove custom-xmas.elc.

Sat Mar  1 01:20:39 1997  Steven L Baur  <steve@altair.xemacs.org>

	* doc.c (weird_doc): Don't print `duplicate' messages as they are
	almost always due to symbols that are both autoloaded and dumped.

	* data.c (syms_of_data): char-int and int-char -> char-to-int and
	int-to-char.

Thu Feb 27 21:48:32 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (xemacs): Loop when dumping until SATISFIED.

	* lstream.c (signal_simple_internal_error): Remove the abort().

	* alloc.c (Fpurecopy): Make it work for byte compiled functions.
	(Fgarbage_collect): Disable garbage collection if we're dumping
	XEmacs and we've overflowed purespace.

Thu Feb 27 14:14:53 1997  Darrell Kindred  <dkindred@cmu.edu>

	* event-Xt.c (change_frame_visibility): New function.
	(handle_map_event): Use it.
	(emacs_Xt_handle_magic_event): Correction of handling of
	VisibilityNotify.

Thu Feb 27 14:12:57 1997  Steven L Baur  <steve@altair.xemacs.org>

	* frame-x.c (x_frame_visible_p): Reverse previous change.

Sun Mar  2 14:01:32 1997  David Moore  <dmoore@ucsd.edu>

	* regex.c (re_search_2): Properly handle crossing the buffer gap
	when doing a backwards search under MULE.

Wed Feb 26 10:24:40 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: make-docfile takes a "-i" parameter to pass
	site-loaded lisp files.

	* alloc.c (report_pure_usage): Adjust restart message.

Tue Feb 25 10:58:12 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Add PURESIZE.h to special treatment in vpath.

	* alloc.c (PURESIZE_h): New function.
	(report_pure_usage): Use it.  If PURESIZE is not the right amount,
	use the correct value.

	* puresize.h: Use dynamic computation of PURESIZE.

	* PURESIZE.h: New file.

	* fns.c (Frandom): Fix docstring.

Mon Feb 24 17:35:05 1997  Jonathan Edwards  <edwards@intranet.com>

	* process.c (record_exited_processes): Fix obvious typo in
	checking for SIGCLD.

Sun Feb 23 01:45:49 1997  Martin Buchholz  <mrb@eng.sun.com>

	* scrollbar.c (update_scrollbar_instance): Fix for
	all-hail-xemacs scrollbar drag bug.

	* scrollbar.c (Fscrollbar_to_bottom): Now calls Frecenter(-3)
	as end-of-buffer does, instead of hostile Frecenter(0).  Makes
	C-button-1 on down-arrow friendlier.

Sun Feb 23 16:56:17 1997  David Hobley  <david@spook-le0.cia.com.au>
	Initial MS Windows NT support.
	* unexnt.c: New file.

	* ntproc.c: New file.

	* ntheap.h: New file.

	* ntheap.c: New file.

	* nt.h: New file.

	* nt.c: New file.

Sun Feb 23 15:56:58 1997  Steven L Baur  <steve@altair.xemacs.org>

	* floatfns.c (_GNU_SOURCE): Define if compiling with glibc 2.

	* gmalloc.c: Guard __getpagesize definition against glibc 2.

Sat Feb 22 17:12:47 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Snarf docstrings from new file
	itimer-autosave.elc.

Fri Feb 21 18:21:32 1997  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* event-Xt.c (emacs_Xt_handle_magic_event): Correction for frame
	freezing bug.

Wed Feb 19 12:54:32 1997  Per Abrahamsen  <abraham@dina.kvl.dk>

	* buffer.c (Fbuffer_disable_undo): Default to current buffer.

Tue Feb 18 12:37:28 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Dump new file custom-xmas.elc.

Mon Feb 17 11:29:07 1997  Steven L Baur  <steve@altair.xemacs.org>

	* print.c (Ferror_message_string): New function, ported from Emacs
	19.34.
	(print_error_message): Ditto.

	* extents.c (verify_extent_mapper): Experimental deletion of code
	to allow deletion of read-only extents.

	* symbols.c (hash_string): Replace algorithm with one given in
	Aho, Sethi & Ullman.

Sun Feb 16 14:53:58 1997  Steven L Baur  <steve@altair.xemacs.org>

	* keymap.c (lookup_keys): Wrong sense in test.

	* Makefile.in.in: Don't dump font.elc.

Sat Feb 15 02:30:51 1997  Steven L Baur  <steve@altair.xemacs.org>

	* cmds.c: Define new symbol signal-error-on-buffer-boundary.
	(Fforward_char): Use it.
	(Fbackward_char): Use it.

	* window.c (Fscroll_up): Use it.
	(Fscroll_down): Use it.

	* keymap.c (syms_of_keymap): define mouse-[123] and
	down-mouse-[123] pseudo-keysym aliases for Emacs compatibility.

Thu Feb 13 21:28:35 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: Don't dump tm with XEmacs under any
	circumstances.

	* puresize.h: Remove extra SunPro puresize for MULE+tm.

Sun Feb  9 04:40:36 1997  Axel Seibert  <aseibert@cybernet-ag.net>

	* emacs.c (main_1): Fix NeXT malloc initialization.

Fri Feb  7 11:36:56 1997  Steven L Baur  <steve@altair.xemacs.org>

	* mule-coding.c (Fdecode_coding_region): Make explicit call to
	`barf_if_buffer_read_only'.
	(Fencode_coding_region): Ditto.

Thu Feb  6 22:39:39 1997  Steven L Baur  <steve@altair.xemacs.org>

	* extents.c (syms_of_extents): Remove references to replicating
	extents.

	* extents.h (struct extent): Remove references to replicating
	extents.

Thu Feb  6 01:11:43 1997  Jareth Hein  <jhod@po.iijnet.or.jp>

	* mule-coding.c (ENCODE_SJIS): Correct typo.

Thu Feb  6 01:10:22 1997  Steven L Baur  <steve@altair.xemacs.org>

	* frame.c (delete_frame_internal): Protect against deletion of
	frames with living popup children.

Wed Feb  5 17:13:17 1997  David Moore  <dmoore@UCSD.EDU>

	* emacs.c (main_1): Try to avoid collisions against potentially
	incompatible system mallocs.

Mon Feb  3 23:04:41 1997  Joel Peterson  <tarzan@aosi.com>

	* redisplay.c: Activate face/charset redisplay caching.

Mon Feb  3 22:01:09 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* eval.c (do_debug_on_exit): Don't restore old value of
	debug_on_next_call improperly.

Fri Jan 31 10:28:47 1997  David Byers  <davby@ida.liu.se>

	* frame.c (frame_matches_frametype): Fix next-window when the next
	window is on another frame.

Thu Jan 30 20:25:00 1997  Steven L Baur  <steve@altair.xemacs.org>

	* syntax.c (scan_sexps_forward): Change test on targetdepth to
	match Emacs 19.34.

Wed Jan 29 22:11:53 1997  James LewisMoss <dres@scsn.net>

	* gmalloc.c: Corrections for namespace collision with Linux libc
	malloc.

Mon Jan 27 21:46:53 1997  Tomasz J. Cholewo  <tjchol01@mecca.spd.louisville.edu>

	* fileio.c (Fwrite_region_internal): pack lockname to write-region
	handler.

Mon Jan 27 04:50:50 1997  David Moore <dmoore@UCSD.EDU>

	* gmalloc.c (malloc): Guard against incompatible system mallocs
	with conflicting symbols.

Sun Jan 26 12:27:04 1997  Steven L Baur  <steve@altair.xemacs.org>

	* redisplay.c (add_emchar_rune): Back out optimization change of
	caching last_charset.

Sun Jan 26 09:10:45 1997  Hrvoje Niksic <hniksic@srce.hr>

	* s/decosf4-0.h: Digital Unix 4.0 has a realpath, but it's buggy.
	And I *do* mean buggy.

Thu Jan 23 10:41:19 1997  Steven L. Baur  <steve@altair.xemacs.org>

	* puresize.h: Increase SUNPRO usage to reflect tm & cc-mode.
	Decrease BASE_PURESIZE and increase MULE_PURESIZE_EXTRA.

Wed Jan 22 21:09:52 1997  Steven L Baur  <steve@altair.xemacs.org>
	* puresize.h (BASE_PURESIZE): Tighten up.

	* scrollbar.c (scrollbar-page-up): Add Athena3d to Lucid/Motif
	code.
	(scrollbar-page-down): Ditto.

	* scrollbar-x.c (x_create_scrollbar_instance): Add Athena3d to
	Lucid/Motif code.
	(x_update_vertical_scrollbar_callback): Ditto.
	(x_update_horizontal_scrollbar_callback): Add Athena3d to Lucid
	special case code.

	* scrollbar-x.h (struct x_scrollbar_data): Add start drag position
	for Athena3d.

	* redisplay-output.c (redisplay_update_line): A vain attempt to
	get the Athena vertical thumb adjusted after drag.

	* EmacsFrame.c: Default to lower/right with Athena3d libraries.

Wed Jan 22 18:38:52 1997  Ian Wells  <I.Wells@tarragon-et.co.uk>

	* m/aviion.h: Remove definition of m88k.

	* s/dgux5-4r4.h: New file.

Wed Jan 22 18:32:49 1997  Steven L Baur  <steve@altair.xemacs.org>

	* buffer.h: Put proper typecasts on calls to alloca().

Tue Jan 21 22:25:23 1997  Steven L. Baur  <steve@altair.xemacs.org>

	* config.h.in: Add LWLIB_USES_ATHENA symbol

	* Makefile.in.in (TOOLKIT_LIBS): It is possible to have both
	Athena and Motif in the same link.

Tue Jan 21 20:43:41 1997  Hrvoje Niksic  <hniksic@srce.hr>

	* redisplay-tty.c (tty_ring_bell): Don't ring tty bell if the
	volume is set to 0.

Tue Jan 21 20:38:58 1997  Axel Seibert  <aseibert@cybernet-ag.net>

	* s/nextstep.h (signal_handler_t): define as int.

Mon Jan 20 21:12:57 1997  Martin Buchholz  <mrb@eng.sun.com>

	* event-Xt.c (emacs_Xt_handle_magic_event):
	(frame-totally-visible-p) sometimes incorrectly returned nil.

Thu Jan 16 17:24:29 1997  Joel Peterson  <tarzan@aosi.com>

	* menubar-x.c (pre_activate_callback): Correctly handle buffer
	local variables in :included clauses.
	(compute_menubar_data): Ditto.

Wed Jan 15 21:44:53 1997  Joel Peterson  <tarzan@aosi.com>

	* redisplay.c (add_emchar_rune): Enable last_charset display
	optimization.

Wed Jan 15 19:06:27 1997  David Moore  <dmoore@UCSD.EDU>

	* event-stream.c (Faccept_process_output): Avoid checking an
	uninitialized variable.

Wed Jan 15 14:14:24 1997  Steven L Baur  <steve@altair.xemacs.org>

	* regex.c: Modify values of re_max_failures and MAX_FAILURE_ITEMS
	to match Emacs 19.34.

Mon Jan 13 00:36:01 1997  Martin Buchholz  <mrb@eng.sun.com>

	* sysdep.c (sys_execvp): Fix when compiled with
	--const-is-losing=no.  Old code could crash if argv contained
	non-ascii characters and the execvp failed and then caller
	examined argv (for error message, for example).

Sun Jan 12 17:22:24 1997  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in: TM .elcs moved to SUNPRO_LISP only.

Fri Jan 10 20:21:47 1997  Ben Wing  <ben@666.com>

	* minibuf.c (Ftry_completion): Don't crash if not given a proper
	obarray.

Fri Jan 10 09:49:44 1997  Ted Phelps  <phelps@dstc.edu.au>

	* objects-x.c (x_initialize_font_instance): Hardcode 'n' for
	default font width.

Mon Jan  6 15:16:46 1997  Carsten Leonhardt  <leo@arioch.tng.oche.de>

	* Makefile.in.in: Linking with canna requires -lRKC.

Mon Jan  6 12:22:57 1997  Frederic Poncin  <fp@info.ucl.ac.be>

	* gmalloc.c: Don't declare __sbrk on SparcLinux.

Sun Jan  5 18:04:47 1997  Soren Dayton  <csdayton@cs.uchicago.edu>

	* Makefile.in.in: IRIX6 can use sgiplay.c too.

Sat Jan  4 12:15:16 1997  Steven L Baur  <steve@altair.xemacs.org>

	* toolbar.c (specifier_vars_of_toolbar): Clean up fallback
	specifiers so XEmacs can be built without tty support.

	* console-stream.c: Moved function bodies of
	semi_canonicalize_console_connection,
	canonicalize_console_connection,
	semi_canonicalize_device_connection, and
	canonicalize_device_connection into this file from console-tty.c.
	Moved variable Vstdio_str into this file.

	* console-tty.c: See above.

Fri Jan  3 18:07:11 1997  Axel Seibert  <aseibert@cybernet-ag.net>

	* m/next.h: Cleanup accumulated cruft.

	* s/nextstep.h: Remove useless #undef REL_ALLOC/HAVE_MMAP.

	* syssignal.h: Don't typedef SIGTYPE on NeXT.

Fri Jan  3 12:06:44 1997  Michael Sperber  <sperber@informatik.uni-tuebingen.de>

	* m/ibmrs6000.inp: Added various get.* symbols.

Sun Dec 29 20:16:08 1996  Steven L Baur  <steve@altair.xemacs.org>

	* m/next.h: Remove signal_handler_t #define.

	* s/nextstep.h: Remove signal_handler_t #define.

Fri Dec 27 21:13:33 1996  Martin Buchholz  <mrb@Eng.Sun.COM>

	* event-Xt.c (x_to_emacs_keysym): Corrections to SUNOS_GCC_LO_BUG.

Mon Dec 23 11:37:16 1996  Martin Buchholz  <mrb@Eng.Sun.COM>

	* fns.c (Ffillarray): Fix for (fillarray #*10 0)

Mon Dec 23 10:27:14 1996  Steven L Baur  <steve@altair.xemacs.org>

	* bitmaps.h: Change to unsigned char.

	* frame-x.c (x_cde_transfer_callback): Typecast fix.

	* keymap.c (define_key_check_and_coerce_keysym): Typecast fix.

Fri Dec 20 19:21:56 1996  Steven L Baur  <steve@altair.xemacs.org>

	* Makefile.in.in (lisp): Remove cc-mode as a dumped package.

	* keymap.c (define_key_check_and_coerce_keysym): Make obsolete
	binding of kp_.* not lose.

	* bitmaps.h: Add left & right arrows to show extended lines.

Fri Dec 20 15:32:53 1996  David Moore  <dmoore@UCSD.EDU>

	* event-stream.c (event_stream_wakeup_pending_p): New function.
	(Faccept_process_output): Fix timeout handling race conditions.
	(Fsleep_for): Ditto.
	(Fsit_for): Ditto.

Thu Dec 19 22:25:26 1996  Steve Carney  <carney@gvc.dec.com>

	* cmds.c (Fbeginning_of_line): Adjust for 64 bit machines.

Thu Dec 19 00:44:10 1996  Bart Robinson  <lomew@cs.utah.edu>

	* syssignal.h: The declaration of SIGTYPE shouldn't be protected
	by HAVE_SIGPROCMASK.

Wed Dec 18 20:40:21 1996  Martin Buchholz  <mrb@eng.sun.com>

	* dgif_lib.c: Miscellaneous cleanup, including removing signed
	bitfields.

	* mule-charset.h: Change charset names.

	* mule-coding.c (struct iso2022_decoder): Uniform unsigned bitfields.
	Change charset names.

	* mule-charset.c: Change charset names.

	* mule-canna.c: Change charset names.

	* EmacsShell-sub.c: Ansify and reformat.

	* console-tty.h (struct tty_console): Uniform unsigned bitfields.

	* glyphs-x.c: Ansify.

	* specifier.c: Use lisp_fn_t.

	* EmacsShell.c: Ansify.

	* vm-limit.c: Ansify.

	* emacsfns.h: Use lisp_fn_t.

	* lstream.c (struct filedesc_stream): Unsigned int bitfields.

	* xselect.c (hack_motif_clipboard_selection): Change charset name.
	(Fx_store_cutbuffer_internal): Change charset name.

	* ralloc.c: Ansify and clean up.

	* frame.h (struct frame): Uniform unsigned bit fields.

	* event-Xt.c: Documentation change.

	* lisp.h: Introduce lisp_fn_t.
	Remove SunPro C compiler warning message workaround.

	* xmu.c: Ansify.

	* doprnt.c (struct printf_spec): Use unsigned bitfields.

	* fileio.c: various code formatting changes.

	* eval.c: reorganize primitive funcalls.

	* config.h.in (NeedFunctionPrototypes): Force slightly better type
	checking in X header files.

	* Makefile.in.in: #undef i386, move mime-setup.elc?.

	* s/sunos4-0-shr.h: Documentation change.

	* s/sol2.h (__EXTENSIONS__): Add.
	Include <setjmp.h> under certain conditions.

Mon Dec 16 19:13:10 1996  Steven L Baur  <steve@altair.xemacs.org>

	* lstream.c (Lstream_pseudo_close): Return status on error.
	(Lstream_close): Ditto.  (Fixes disk full-no error on write bug).

Sat Dec 14 16:54:52 1996  Steven L Baur  <steve@altair.xemacs.org>

	* glyphs-x.c (jpeg_instantiate): Use file I/O for JPEG loading
	because the in-core code is broken.

Fri Dec 13 16:43:45 1996  Steven L Baur  <steve@altair.xemacs.org>

	* device-x.c (x_init_device): Don't make nonexistent X server the
	default when running on a tty.

	* event-Xt.c (x_to_emacs_keysym): Rename kp_.* keysyms to be kp-\1.

	* redisplay-tty.c (keys): Rename kp_.* keynames to kp-\1.

Fri Dec 13 14:48:42 1996  Michael Sperber  <sperber@informatik.uni-tuebingen.de>

	* lread.c (Fload_internal): Change arity of call to
	file-name-handlers.

	* fileio.c (Finsert_file_contents_internal): Ditto.

Thu Dec 12 16:55:34 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>

	* cmds.c (Fpoint_at_eol, Fpoint_at_bol): New functions.
	(Fend_of_line, Fbeginning_of_line): Use them.

Tue Dec 10 11:17:32 1996  Shane Holder  <holder@mordor.rsn.hp.com>

	* s/hpux9shxr4.h: hpux9shr.h -> hpux9-shr.h

	* s/hpux10.h: hpux9shr.h -> hpux9-shr.h

Sat Dec  7 18:29:34 1996  Steven L Baur  <steve@altair.xemacs.org>

	* puresize.h (BASE_PURESIZE): Bumped up PURESIZE by 10k.

Sat Dec  7 16:26:34 1996  Martin Buchholz  <mrb@Eng.Sun.COM>

	* config.h.in: configure for POSIX getcwd if available.

Sat Dec  7 15:48:39 1996  Steven L Baur  <steve@altair.xemacs.org>

	* s/sunos4-1-shr.h: Renamed from sunos4-1shr.h.

	* s/sunos4-1-3-shr.h: Renamed from sunos4-1-3shr.h.

	* s/sunos4-1-2-shr.h: Renamed from sunos4-1-2-shr.h.

	* s/sunos4-0-shr.h: Renamed from sunos4-0shr.h.

	* s/hpux9-shr.h: Renamed from hpux9shr.h.

	* s/hpux8-shr.h: Renamed from hpux8shr.h.

	* s/hpux10-shr.h: Renamed from hpux10shr.h.

Wed Dec  4 23:38:03 1996  Steven L Baur  <steve@altair.xemacs.org>

	* redisplay.c: Allow column numbers in modeline to start from 1.
