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.
