diff src/ChangeLog @ 384:bbff43aa5eb7 r21-2-7

Import from CVS: tag r21-2-7
author cvs
date Mon, 13 Aug 2007 11:08:24 +0200
parents 064ab7fed2e0
children 4af0ddfb7c5b
line wrap: on
line diff
--- a/src/ChangeLog	Mon Aug 13 11:07:40 2007 +0200
+++ b/src/ChangeLog	Mon Aug 13 11:08:24 2007 +0200
@@ -1,3 +1,653 @@
+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
@@ -23,11 +673,11 @@
 	- 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): 
+
+	* fns.c (mapcar1):
+	(Fmapconcat):
+	(Fmapcar):
+	(Fmapvector):
 	Make mapcar faster.  In particular, make
 	  (mapc #'identity long-string)
 	MUCH faster under Mule.
@@ -35,7 +685,7 @@
 
 1998-12-06  Martin Buchholz  <martin@xemacs.org>
 
-	* bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded 
+	* bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
 	bytecode.
 
 1998-12-13  Martin Buchholz  <martin@xemacs.org>
@@ -45,10 +695,10 @@
 
 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): 
+	* 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.
@@ -65,15 +715,15 @@
 1998-12-07  Martin Buchholz  <martin@xemacs.org>
 
 	* opaque.h:
-	* console-msw.c (DHEADER): 
-	(DOPAQUE_DATA): 
-	(DEVENT): 
-	(DCONS): 
-	(DCONSCDR): 
-	(DSTRING): 
-	(DVECTOR): 
-	(DSYMBOL): 
-	(DSYMNAME): 
+	* 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
@@ -83,7 +733,7 @@
 
 1998-12-07  Martin Buchholz  <martin@xemacs.org>
 
-	* sysdep.c (set_descriptor_non_blocking): 
+	* sysdep.c (set_descriptor_non_blocking):
 	Since O_NONBLOCK is now always #defined, make use of fcntl
 	conditional on F_SETFL being defined.
 
@@ -101,7 +751,7 @@
 
 	* windowsnt.h: Remove `support' for using index and rindex
 
-	* filelock.c (current_lock_owner): 
+	* filelock.c (current_lock_owner):
 	- Change uses of index -> strchr, rindex -> strrchr
 
 1998-12-06  Martin Buchholz  <martin@xemacs.org>
@@ -771,7 +1421,7 @@
 	- rewrite basic lisp functions for speed
 	- rewrite bytecode interpreter for speed
 	- rewrite list looping constructs for speed and safety using
-	  tortoise/hare. 
+	  tortoise/hare.
 	- use size_t where appropriate.
 	- new hashtable implementation
 	- cleanup implementation of opaques
@@ -792,7 +1442,7 @@
 	- 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, 
+	- `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
@@ -837,7 +1487,7 @@
 
 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
 
-	* dired.c (make_directory_hash_table): make_string() is OK because 
+	* dired.c (make_directory_hash_table): make_string() is OK because
 	readdir() Mule-encapsulates.
 
 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
@@ -852,7 +1502,7 @@
 
 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
 
-	* editfns.c (Ftranslate_region): Accept vectors and char-tables as 
+	* 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.
@@ -880,7 +1530,7 @@
 
 	* process-unix.c (unix_create_process): handle properly
 	Vfile_name_coding_system for converting the program and directory
-	names. 
+	names.
 
 1998-11-27  SL Baur  <steve@altair.xemacs.org>
 
@@ -902,7 +1552,7 @@
 	* 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 
+	(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.
@@ -1015,7 +1665,7 @@
 
 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
 
-	* scrollbar-msw.c: Use the same vertical scrollbar drag hack as 
+	* 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>
@@ -1070,9 +1720,9 @@
 	  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 
+	  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
@@ -1100,7 +1750,7 @@
 	  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 
+	  out the end of the code fragments passed to
 	  run_in_other_process()
 
 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
@@ -1182,14 +1832,14 @@
 
 	* 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 
+	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 
+	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>
@@ -1199,7 +1849,7 @@
 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. 
+	  Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
 
 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
 
@@ -1235,7 +1885,7 @@
 
 	* frame-x.c (x_delete_frame): Flush the X output buffer after
 	calling XtDestroyWidget to ensure that the windows are really
-	killed right now. 
+	killed right now.
 
 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
 
@@ -1263,7 +1913,7 @@
 	all the buffers.
 	(buffer_delete_range): Ditto.
 
-	* marker.c (init_buffer_markers): Set point-marker to the value of 
+	* 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>
@@ -1343,7 +1993,7 @@
 
 1998-08-07 Matt Stupple <matts@tibco.com>
 
-        * ntproc.c: don't wait on char_consumed at thread entry. 
+        * 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
@@ -1370,7 +2020,7 @@
 
 1998-07-20  Martin Buchholz  <martin@xemacs.org>
 
-	* casefiddle.c (casify_object): 
+	* casefiddle.c (casify_object):
 	Change algorithm from O(N**2) to O(N).
 	Code cleanup.
 	Doc string cleanup.
@@ -1473,7 +2123,7 @@
 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 
+	(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>
@@ -1604,7 +2254,7 @@
 
 	* 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 
+	  nil before treating it as a function.  Don't initialize
 	  the `globals' variable twice.
 
 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
@@ -1635,7 +2285,7 @@
 
 	* 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 
+	  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>
@@ -1665,7 +2315,7 @@
 	* winslots.h: Rename.
 
 	* window.c (specifier_vars_of_window): Renamed
-	vertical-divider-draggable-p to vertical-divider-always-visible-p, 
+	vertical-divider-draggable-p to vertical-divider-always-visible-p,
 	as suggested by Ben Wing.
 	(specifier_vars_of_window): Fix docstrings.
 
@@ -1701,7 +2351,7 @@
 	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 
+	* 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>
@@ -1800,7 +2450,7 @@
 	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. 
+	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.
@@ -1824,7 +2474,7 @@
 
 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
 
-	* eldap.c (Fldap_search_internal): Use build_ext_string instead of 
+	* 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>
@@ -2017,7 +2667,7 @@
 
 	* glyphs-msw.c (read_bitmap_data) (NextInt)
 	(read_bitmap_data_from_file): new functions copied from Xmu
-	sources. 
+	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)
@@ -2063,7 +2713,7 @@
 	Added prototype for mswindows_enqueue_misc_user_event().
 
 	* menubar-msw.c (mswindows_handle_wm_command): Use
-	mswindows_enqueue_misc_user_event(). 
+	mswindows_enqueue_misc_user_event().
 
 	* toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
 
@@ -2076,11 +2726,11 @@
 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 
+	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 
+	the motion was reported incorrectly if you tried to go past end of
 	buffer.
 
 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
@@ -2106,11 +2756,11 @@
 
 1998-05-28  Martin Buchholz  <martin@xemacs.org>
 
-	* alloc.c (dbg_constants): 
+	* alloc.c (dbg_constants):
 	* dbxrc:
 	* gdbinit:
 	Remove toolbar_data debugging code, since that lrecord has
-	also been removed. 
+	also been removed.
 
 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
@@ -2141,7 +2791,7 @@
 	* fileio.c: replaced egetenv("HOME") with calls to the new
 	  get_home_directory().
 
-	* lisp.h: Added function prototypes for uncache_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.
 
@@ -2158,7 +2808,7 @@
 
 	* 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 
+	(mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
 	F10 is pressed.
 
 1998-05-24  Oliver Graf <ograf@fga.de>
@@ -2195,10 +2845,10 @@
 	(syms_of_indent): DEFSUBR.
 	* lisp.h: declaration for vmotion_pixels().
 
-	* indent.c (Fvertical_motion): Add optional third argument 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. 
+	Fvertical_motion.
  	* window.c (window_scroll): call Fvertical_motion with 3 arguments.
 	(Fmove_to_window_line): ditto.
 	* lisp.h: Change declaration for Fvertical_motion.
@@ -2212,7 +2862,7 @@
 	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.
 
@@ -2260,9 +2910,9 @@
 	* 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 
+	Added prototypes for FSF inherited functions, with which XEmacs is
 	sprinkled thoroughly.
-	Removed some #if 0 code. Bracketed some more definitions, probably 
+	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.
@@ -2278,10 +2928,10 @@
 	vars_of_dired_mswindows and init_ntproc (Grrr).
 
 	* realpath.c: Added Windows specific include files.
-	(xrealpath): Conditionalized declaration of some auto variables on 
+	(xrealpath): Conditionalized declaration of some auto variables on
 	S_IFLNK, to avoid warnings.
 
-	* ntproc.c: Disabled some compiler warnings. This file is going to 
+	* 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.
@@ -2357,7 +3007,7 @@
 
 	* symsinit.h: Prototyped the above functions.
 
-	* dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency 
+	* 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
@@ -2410,7 +3060,7 @@
 
 	* EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
 	{top,bottom}-{left,right} values in addition to
-	{top,bottom}_{left,right}. 
+	{top,bottom}_{left,right}.
 
 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
 
@@ -2421,10 +3071,10 @@
 
 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:
+	* 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'
@@ -2454,7 +3104,7 @@
 	* 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 
+	* 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>
@@ -2478,7 +3128,7 @@
 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
 
 	* objects-msw.c (mswindows_initialize_font_instance): Use ANSI
-	charset when creating font. 
+	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.
@@ -2502,7 +3152,7 @@
 	(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 
+	(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.
@@ -2547,7 +3197,7 @@
 
 	* emacs.c (main_1): Call syms_of_process_nt()
 
-	* process-nt.c: Quote process arguments by a call to Lisp function 
+	* 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
@@ -2572,7 +3222,7 @@
 
 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/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.
 
@@ -2644,7 +3294,7 @@
 
 	* bufslots.h: Removed buffer_file_type slot.
 
-	* buffer.c (complex_vars_of_buffer): Removed buffer_file_type from 
+	* 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.
@@ -2673,9 +3323,9 @@
 	(x_divider_width): ditto.
 
 	* window.c (specifier_vars_of_window): new specifiers:
-	vertical-divier -line-width and -spacing. 
+	vertical-divier -line-width and -spacing.
 	(vertical_divider_global_width_changed): formerly known as
-	vertical_divider_shadow_thickness_changed. 
+	vertical_divider_shadow_thickness_changed.
 
 	* winslots.h: new slots: vertical_specifier _line_width and
 	_spacing. Plus corrected a comment typo.
@@ -2688,7 +3338,7 @@
 	(console_type_create_stream): And declaration for it.
 
 	* redisplay.c (pixel_to_glyph_translation): Use
-	window_divider_width() instead of divider_width redisplay method. 
+	window_divider_width() instead of divider_width redisplay method.
 	(pixel_to_glyph_translation): Fix top divider edge calculation
 	when scrollbar is on top.
 
@@ -2698,7 +3348,7 @@
 	(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.
 
@@ -2753,7 +3403,7 @@
 
 	* emacs.c (main_1): Call console_type_create_dialog_x().
 
-	* dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted 
+	* dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
 	into this device method.
 	(console_type_create_dialog_x): New function.
 
@@ -2761,7 +3411,7 @@
 	(syms_of_dialog): Defsubr it.
 
 	* console.h (struct console_methods): Declared
-	popup_dialog_box_method(). 
+	popup_dialog_box_method().
 
 	* symsinit.h: Defined console_type_create_dialog_{x,mswindows}
 
@@ -2799,10 +3449,10 @@
 	** 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): 
+	* 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.
 
@@ -2825,7 +3475,7 @@
 
 	* window.h: Prototype invalidate_vertical_divider_cache_in_window.
 	(struct window): Added need_vertical_divider_p and
-	need_vertical_divider_valid_p. 
+	need_vertical_divider_valid_p.
 
 	* winslots.h: Added vertical_divider_draggable_p slot.
 
@@ -2881,7 +3531,7 @@
 	thickness is negative.
 
 	* console-stream.c (stream_divider_width): pass a struct window *
-	argument. 
+	argument.
 
 	* redisplay-tty.c (tty_divider_width): ditto.
 
@@ -2890,12 +3540,12 @@
 	* redisplay.c (generate_modeline): ittod.
 
 	* scrollbar.c (update_scrollbar_instance): ttido.
-	
-	* redisplay-msw.c (mswindows_divider_width): ottid. 
+
+	* 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. 
+	vertical_divider_shadow_thickness.
 
 	* window.c (specifier_vars_of_window): new specifier
 	vertical-divider-shadow-thickness.
@@ -2946,7 +3596,7 @@
 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.  
+	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.
@@ -2955,7 +3605,7 @@
 
 	* inline.c: Include eldap.h
 
-	* menubar-x.c (x_update_frame_menubar_internal): 
+	* menubar-x.c (x_update_frame_menubar_internal):
 	Remove: unused variable `container'
 
 1998-05-11  Martin Buchholz  <martin@xemacs.org>
@@ -2963,8 +3613,8 @@
 	* 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): 
+	* 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,
@@ -3011,7 +3661,7 @@
 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 ... 
+	make it for 21.0. To be continued ...
 
 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
@@ -3068,7 +3718,7 @@
 	(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 
+	* 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.
@@ -3117,7 +3767,7 @@
 	(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. 
+	metrics.
 
 	* device-msw.c (mswindows_device_system_metrics): Renamed
 	device_metrics enum constants.