view src/ChangeLog @ 386:4af0ddfb7c5b r21-2-8

Import from CVS: tag r21-2-8
author cvs
date Mon, 13 Aug 2007 11:08:50 +0200
parents bbff43aa5eb7
children aabb7f5b1c81
line wrap: on
line source

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  <verna@inf.enst.fr>

	* 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  <verna@inf.enst.fr>

	* 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 hastable.
	(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  <verna@inf.enst.fr>

	* 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  <verna@inf.enst.fr>

	* 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-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>

	* window.c (Fset_window_start): Document me.
	(Fset_window_buffer): Document me.
	Fixes some sort of repeatable crash.

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  <verna@inf.enst.fr>

	* 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-seperators 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-seperators 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 seperator canonicalisation in
	  substitute-in-file-name because we don't know that the
	  filename refers to a local file.

1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>

	* 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 havn'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 havn'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 intialise 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_enviroment.

	* 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 becuase 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  <verna@inf.enst.fr>

	* 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  <verna@inf.enst.fr>

	* 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  <verna@inf.enst.fr>

	* 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  <verna@inf.enst.fr>

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