This clears the backlog in my local environment:
- FIxes tab font change problems under X
- Fixes widget copying problems
- Syncs with the latest Tabs version
- Starts on layouts.
andy
1999-12-21 Andy Piper <andy(a)xemacs.org>
* redisplay.c (redisplay_frame): check for faces changed when
reseting subwindow caches.
* glyphs.h (struct ii_keyword_entry): add copy_p.
(struct image_instantiator_methods): add query_geometry_method and
layout_children_method.
(IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account
copying characteristics of keywords.
(IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords
whose arguments should not be copied by the specifier code.
(image_instance_geometry): new enum for layouts.
(struct Lisp_Image_Instance): re-jig for layouts and update
macros.
* glyphs.c (string_instantiate): rename variables.
(image_instantiate): add strings to those widgets that are
instantiated per-window.
(image_copy_vector_instantiator): new function for copying glyph
specifier instantiators.
(image_copy_instantiator): ditto.
* glyphs-x.c (x_update_subwindow): use new face update functions.
(update_widget_face): update to use new lwlib arg functions.
(update_tab_widget_face): new function for updating tab control
label faces.
(x_widget_instantiate): use new face update functions and new
lwlib arg functions.
(x_tab_control_instantiate): ditto.
(x_tab_control_set_property): ditto.
* glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for
callbacks and other things that could recurse.
(VALID_GUI_KEYWORDS):
* event-msw.c: fix cpp stuff for cygwin < b20.
* config.h.in: move uid_t and friends to before the s&m files so
that they can be used there.
* Makefile.in.in (debug-temacs): new target that adds emacs
environment before invoking gdb.
* lwlib.h (_widget_args): new structure for holding widget
args. It is reference counted so that we don't have to copy Xt
args.
(_widget_value): remove widget args. Add reference to widget_args.
* lwlib.c (free_widget_value_contents): free widget args using
free_widget_value_args.
* lwlib-Xaw.c (xaw_update_one_widget): use new arg packet.
(xaw_update_one_widget): use XtIsSubclass for determining labels.
* lwlib.c (lw_add_value_args_to_args): modify to use our reference
counted arg packet.
(lw_add_widget_value_arg): new function. Add an arg to the arg
packet.
(free_widget_value_args): new function. Remove a reference counted
arg packet.
(lw_copy_widget_value_args): new function. Copy reference counted
arg packet.
(merge_widget_value_args): new function. Do a merge of widget
args.
(merge_widget_value): use it.
(copy_widget_value_tree): copy widget args using reference
counting, since we can't easily copy the args we have been given.
* specifier.h (struct specifier_methods): add copy_instantiator_method.
* specifier.c (build_up_processed_list): use
copy_instantiator_method if defined.
1999-12-08 Andy Piper <andy(a)xemacs.org>
* xlwtabs.c: sync with Tabs 2.1.
* xlwtabP.h: ditto.
1999-11-25 Andy Piper <andy(a)xemacs.org>
* cus-edit.el (custom-buffer-create-buttons): Use native widgets
for buttons.
--------------------------------------------------------------
Dr Andy Piper
Senior Consultant Architect, BEA Systems Ltd