Mercurial > hg > xemacs-beta
changeset 2865:8baa2f03d853
[xemacs-hg @ 2005-07-19 09:45:00 by didierv]
Face aliasing feature
author | didierv |
---|---|
date | Tue, 19 Jul 2005 09:45:23 +0000 |
parents | 97c8b3b7213a |
children | a6eb79705def |
files | CHANGES-beta ChangeLog man/ChangeLog man/lispref/faces.texi src/ChangeLog src/faces.c |
diffstat | 6 files changed, 304 insertions(+), 241 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES-beta Mon Jul 18 21:51:14 2005 +0000 +++ b/CHANGES-beta Tue Jul 19 09:45:23 2005 +0000 @@ -1,3 +1,10 @@ +to 21.5.22 "???" + +User-Visible Bug Fixes and Minor Improvements + +-- Improve: Face aliasing from NAME1 to NAME2 by means of + (put 'NAME1 'face-alias 'NAME2). (Didier Verna) + to 21.5.21 "corn" Major features @@ -515,7 +522,7 @@ and Events") - Kyllingstad. -- Various typo and docstring fixes - Turnbull, Sperber. -- Add missing '@end' defun in lists.texi - Shelton. --- Document ?\x00 read syntax and range limitations on ?\000 and +-- Document ?\x00 read syntax and range limitations on ?\000 and ?\x00 read syntaxes (objects.texi "Character Type") - Turnbull. -- Document `true-list-p' (lists.texi "List-related Predicates") - Turnbull. @@ -551,7 +558,7 @@ -- Updates to cl-macs.el - Pakoulin. -- Fix "do-nothing" bug in `derived-mode-merge-syntax-tables' - Turnbull. -- Fixes to `restore-saved-window' - James. --- Handle missing "EMACSPACKAGEPATH" env var in +-- Handle missing "EMACSPACKAGEPATH" env var in `package-get-package-index-file-location' - Aichner. -- Fix substring errors in `package-admin-find-top-directory' - Aichner. -- Fix `byte-compile-lambda' so it only discards the docstring if it is @@ -657,9 +664,9 @@ -- Updates to configure.in - Steuck, James, Skyttä, Wing. -- Major updates to Makefile.in.in - Wing. --- Allow for separate build and source directories - Wing. +-- Allow for separate build and source directories - Wing. -- Fix some compiler warnings - Wing. --- Major clean up of xemacs.mak and friends - Wing, Aichner. +-- Major clean up of xemacs.mak and friends - Wing, Aichner. -- Fix some Solaris 2.7 CC compiler warnings - Persico. -- Fix for building on Mac - Palmer. -- Work around a problem compiling with '--use-union-type' on Intel's @@ -667,7 +674,7 @@ -- Fix problems with rel-alloc compilation - Wing. -- Sequentialize dependencies even more in update-elc-2 - Sperber. -- Don't fatal() in 'report_sheap_usage' when need to rerun Make - - Wing. + Wing. -- Various updates to the test suite - Turnbull. Documentation @@ -686,7 +693,7 @@ -- Reformat function definitions correctly in menubar-gtk.c and event-gtk.c - Turnbull. -- Fix bug matching ASCII character classes to Mule characters - - Ueno. + Ueno. -- Frame updates for MS Win - Alexander. -- Add .dylib as an acceptable shared library file extension to support MacOS X - Begel. @@ -695,20 +702,20 @@ -- Coding system updates - Wing. -- Add clear-left-side functionality in print.c - Wing. -- Seg fault rather than abort on Cygwin in 'assert_failed' - Wing. --- Delete popup-data object - Wing. +-- Delete popup-data object - Wing. -- Delete menubar_data field from frames - Wing. -- Clean up handling of lwlib callback data GCPRO'ing - Wing. -- Use ALLOCA() in regex.c to avoid excessive stack allocation - - Wing. + Wing. -- Fix subtle problem with REL_ALLOC() - Wing. -- Change *run_hook*_trapping_problems to take a warning class, not a string - Wing. -- Mule-ize encrypt/decrypt-string code - Wing. -- Delete all support for bit-rotten CANNOT_DUMP - Wing. -- Fix crash due to attempt to free objects across dump/undump - - Wing. + Wing. -- Don't get in an infinite loop running post-redisplay actions - - Wing. + Wing. -- Make gc_currently_forbidden static - Wing. -- Defer redrawing if already in redisplay - Wing. -- Add debug code for locking a dynarr to catch invalid mods - Wing. @@ -716,7 +723,7 @@ protect the evals - Wing. -- Defer specifier-changed updating till after redisplay - Wing. -- Require that every place inside of redisplay catch errors itself - - Wing. + Wing. -- Introduce separate means of holding frame-size changes - Wing. -- Introduce "post-redisplay" methods for deferring things till after redisplay - Wing. @@ -729,7 +736,7 @@ reinitialization - Wing. -- Define new function `emacs-run-status' - Wing. -- Fix crash caused by an edge condition in the syntax-cache macros - - Wing. + Wing. -- Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead - Wing. -- Don't check_quit() unless we're unbinding a real Lisp `unwind-protect' - Wing. @@ -745,7 +752,7 @@ -- Use 'equal' instead of '=' in 'saved-window-equal' - James. -- Updates to wid-edit.el - Turnbull. -- Better layout for Tools -> Packages -> Download Site menu - - Aichner. + Aichner. -- More sites added to packages download sites menu - Aichner. -- Byte-compiler warning clean up and lots of synching with FSF 21.2 code - Wing. @@ -779,7 +786,7 @@ -- Fix --srcdir processing - Turnbull. -- Define DLSYM_NEEDS_UNDERSCORE on Darwin - Turnbull. -- Use opsys=aix4-2 for AIX 5 and above - Buchholz. --- Make ellcc search XEmacs directories for include files 1st - James. +-- Make ellcc search XEmacs directories for include files 1st - James. -- Set stack-trace-on-error, load-always-display-messages - Wing. -- Overhaul update-elc.el, cus-dep, autoload (speed ups) - Wing. -- Various compiler warning fixes - Wing. @@ -822,7 +829,7 @@ -- Synch rcs2log to GNU upstream - Youngs. -- Use symbolic name `XtExposeCompressMaximal' instead of `TRUE' in xlwMenuClassRec - Buchholz. --- In xm_update_progress, don't define unless LWLIB_WIDGETS_MOTIF - Buchholz. +-- In xm_update_progress, don't define unless LWLIB_WIDGETS_MOTIF - Buchholz. -- Rename class -> class_ & new -> new_ - Wing. -- KKCC update in postgresql.c - Wing. -- KKCC update in eldap.c - James. @@ -851,7 +858,7 @@ -- Add support for "description maps" - Wing. -- Redo XD_UNION so it works inline and change format to provide info for pdump - Wing. --- Textual changes: +-- Textual changes: - lrecord_description -> memory_description - Wing. - struct_description -> sized_memory_description - Wing. -- Initialize protect_me field of popup_data in set_frame_menubar - Sperber @@ -979,7 +986,7 @@ Mention bug report commands - Turnbull. Revise Q1.3.[1-6] - Turnbull. New FAQ for "no cygXpm-noX" fatal error - Turnbull. --- New TeXinfo nodes: +-- New TeXinfo nodes: "Widget Internals" - Turnbull. "Simple Specifier Usage" - Turnbull. "Compilation Options" - Turnbull. @@ -1109,7 +1116,7 @@ -- Fix x_locate_pixmap_file make sure path is not 0 - MacLennan. -- Fix memory leak - Verna. -- Add missing call to 'xfree (newname)' in 'make_coding_system_1 - - Verna. + - Verna. -- Fix --with-mule --with-gtk builds - Barta. -- Make SEPCHAR a required arg to Fsplit_string_by_char - Palmer. -- Make locate_file indicate success with nonnegative return if MODE @@ -1139,7 +1146,7 @@ -- New configure option "--use-kkcc" for the upcoming new GC algorithms - Sperber. -- Identify "--with-modules" as an autodetected configure option - - James. + James. -- Add a couple of configuration questions to PROBLEMS - Turnbull. -- Test for wchar.h in configure - Sperber. -- Update package-index files - Youngs. @@ -1760,7 +1767,7 @@ -- Fix shy group regexp code -- etc. etc. --- The `short-name' argument to make-charset now works correctly +-- The `short-name' argument to make-charset now works correctly -- Yoshiaki Kasahara -- `custom' changes -- Didier Verna -- SET_FACE_PROPERTY bug fix -- Jerry James
--- a/ChangeLog Mon Jul 18 21:51:14 2005 +0000 +++ b/ChangeLog Tue Jul 19 09:45:23 2005 +0000 @@ -1,3 +1,7 @@ +2005-07-19 Didier Verna <didier@xemacs.org> + + * CHANGES-beta: Announce the face aliasing feature. + 2005-05-28 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.21 "corn" is released. @@ -56,8 +60,8 @@ 2005-03-30 Aidan Kehoe <kehoea@parhasard.net> * configure: #include <X11/Intrinsic.h.> -> #include - <X11/Intrinsic.h>, thank you Robert Delius Royar. - + <X11/Intrinsic.h>, thank you Robert Delius Royar. + 2005-03-15 Jerry James <james@xemacs.org> * configure.ac: Include <X11/Intrinsic.h> when checking for @@ -73,9 +77,9 @@ 2005-03-24 Aidan Kehoe <kehoea@parhasard.net> - * configure: Regenerate. + * configure: Regenerate. * configure.ac (XE_COMPLEX_ARG_ENABLE): --OPTION -> --with-OPTION - in various docstrings and error messages. + in various docstrings and error messages. 2005-03-15 Stephen J. Turnbull <stephen@xemacs.org> @@ -86,7 +90,7 @@ 2005-03-15 Malcolm Purvis <malcolmp@xemacs.org> - * configure.ac: Fix problems with OpenBSD /bin/sh. + * configure.ac: Fix problems with OpenBSD /bin/sh. 2005-03-13 Aidan Kehoe <kehoea@parhasard.net> @@ -113,7 +117,7 @@ 2005-03-01 Aidan Kehoe <kehoea@parhasard.net> - * configure: Regenerated. + * configure: Regenerated. * configure.in (XE_COMPUTE_RUNPATH): Check for the availability of XtRegisterDrawable. @@ -167,7 +171,7 @@ 2005-01-21 Aidan Kehoe <kehoea@parhasard.net> * configure: - * configure.in (XE_COMPUTE_RUNPATH): + * configure.in (XE_COMPUTE_RUNPATH): NetBSD can use Linux's sound API, but it needs an extra library at link time to do so. @@ -447,7 +451,7 @@ * aclocal.m4 (XE_SHLIB_STUFF): Use -bundle when testing the ability to build shared libraries, but use -bundle_loader in ellcc. Properly handle other flags for MacOS X. - + 2003-09-03 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.15 "celery" is released. @@ -503,7 +507,7 @@ * aclocal.m4 (XE_SHLIB_STUFF): Properly define ellcc flags for MacOS X. It was stopping certain libs from making their way into the - Makefiles. + Makefiles. * configure: Regenerate. @@ -620,7 +624,7 @@ Add comment about Cygwin, unexec and sysmalloc. Move some non-general stuff out of general. Make a section for x86. - + * configure.in (AC_INIT_NOTICE): * configure.in (XE_COMPUTE_RUNPATH): Add check for broken alloca in funcalls. @@ -814,7 +818,7 @@ 2002-10-31 John Paul Wallington <jpw@shootybangbang.com> - * info/dir (File): button1 on a highlighted word doesn't + * info/dir (File): button1 on a highlighted word doesn't follow that cross-reference. 2002-10-31 Stephen J. Turnbull <stephen@xemacs.org> @@ -832,7 +836,7 @@ * configure.in (Check for POSIX functions): New section head. getaddrinfo is detected on HP-UX 11.XX, but appears to be non-functional. Disable it. Based on work by Darryl Okahata. - + 2002-10-18 Stephen J. Turnbull <stephen@xemacs.org> * PROBLEMS (Running/Cygwin): "No cygXpm-noX" fatal error. @@ -886,7 +890,7 @@ * version.sh (xemacs_extra_name): New var to identify XEmacs version > release < next release. ie, release+cvs. - * configure.in: Test for xemacs_extra_name. + * configure.in: Test for xemacs_extra_name. * configure: Re-generate. @@ -909,7 +913,7 @@ 2002-07-09 Mike Sperber <mike@xemacs.org> - * configure.usage: + * configure.usage: * configure.in: Add --use-kkcc option for new GC algorithms. 2002-06-04 Jerry James <james@xemacs.org> @@ -972,7 +976,7 @@ * configure.in: Detect MacOS/X "Darwin". Thanks to Greg Parker <gparker@cs.stanford.edu>. - + 2002-03-30 Steve Youngs <youngs@xemacs.org> * etc/package-index.LATEST.pgp: Update to current reality. @@ -993,7 +997,7 @@ 2001-12-13 William M. Perry <wmperry@gnu.org> * configure.in (GTK): add -Wno-shadow. - + 2002-01-23 Jarl Friis <jarl@diku.dk> * etc/BETA (http): Informing of xemacs-patches mailing list. Added @@ -1058,7 +1062,7 @@ 2002-03-31 Ben Wing <ben@xemacs.org> * TODO.ben-mule-21-5 (bugs): Update. - + * configure.in (USAGE_ERROR): * configure.in (CANONICALIZE_PATH): * configure.in (XE_COMPUTE_RUNPATH):
--- a/man/ChangeLog Mon Jul 18 21:51:14 2005 +0000 +++ b/man/ChangeLog Tue Jul 19 09:45:23 2005 +0000 @@ -1,28 +1,33 @@ +2005-07-19 Didier Verna <didier@xemacs.org> + + * lispref/faces.texi (Basic Face Functions): Document the face + aliasing feature. + 2005-07-17 Aidan Kehoe <kehoea@parhasard.net> * lispref/commands.texi (Converting Events): Give details on the deprecated ALLOW-NON-ASCII argument to - event-to-character, and why you shouldn't use it. + event-to-character, and why you shouldn't use it. 2005-06-26 Aidan Kehoe <kehoea@parhasard.net> - * lispref/commands.texi (Converting Events): + * lispref/commands.texi (Converting Events): * lispref/keymaps.texi (Key Sequences): Stop pretending ASCII is an eight-bit character set, and remove documentation of event-to-character's vanished fourth argument. * internals/internals.texi (Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X): - Rename the ascii-character property. - + Rename the ascii-character property. + 2005-06-19 Aidan Kehoe <kehoea@parhasard.net> * lispref/building.texi (Building XEmacs and Object Allocation): - Pure storage has been gone for half a decade or more. - * lispref/mule.texi (Internationalization Terminology): - Phrase stuff a little more clearly, compare Mule with Unicode. + Pure storage has been gone for half a decade or more. + * lispref/mule.texi (Internationalization Terminology): + Phrase stuff a little more clearly, compare Mule with Unicode. * lispref/lispref.texi (Top): - Take out info on pure storage. + Take out info on pure storage. 2005-05-28 Stephen J. Turnbull <stephen@xemacs.org> @@ -31,13 +36,13 @@ 2005-05-10 Aidan Kehoe <kehoea@parhasard.net> * xemacs-faq.texi (Q3.2.5): (setq text-mode-hook - 'turn-on-auto-fill) is not a good idea. + 'turn-on-auto-fill) is not a good idea. 2005-05-10 Aidan Kehoe <kehoea@parhasard.net> - * xemacs/sending.texi (Sending Mail):Document that sendmail.el is - underfeatured and not getting better anytime soon; suggest using - another mailer. + * xemacs/sending.texi (Sending Mail):Document that sendmail.el is + underfeatured and not getting better anytime soon; suggest using + another mailer. 2005-05-05 Aidan Kehoe <kehoea@parhasard.net> @@ -49,8 +54,8 @@ None of the keymaps I have access to have linefeed keys; they all use Return. As such, for new users, C-j is really the only option for evaluation in Lisp interaction mode, and should be documented - as such. - + as such. + 2005-04-18 Turnbull Stephen <stephen@xemacs.org> * internals/internals.texi @@ -86,18 +91,18 @@ * lispref/mule.texi (CCL Example): char-int -> char-to-int, and hex 41 is decimal 65, both problems - with my previous patch pointed out by Stephen. + with my previous patch pointed out by Stephen. * lispref/mule.texi (The actual coding system): Give information on the make-coding-system call, and where the - actual package can be found. - + actual package can be found. + 2005-03-24 Aidan Kehoe <kehoea@parhasard.net> * xemacs/custom.texi (X Resources): "Emacs" as the application class -> "XEmacs" as the application class, mention the old resource class determination behaviour, and - how one can temporarily re-instate it. - + how one can temporarily re-instate it. + 2005-03-15 Stephen J. Turnbull <stephen@xemacs.org> * internals/internals.texi (The XEmacs Split): @@ -123,7 +128,7 @@ 2005-01-19 Aidan Kehoe <kehoea@parhasard.net> * lispref/mule.texi (CCL Example): Detail an implementation of the - web's URL encoding as a CCL coding system example. + web's URL encoding as a CCL coding system example. 2005-02-22 Stephen J. Turnbull <stephen@xemacs.org> @@ -147,7 +152,7 @@ * lispref/searching.texi (Syntax of Regexps): Mention the \c and \C regular expression constructs; cross - reference to the Category Table documentation. + reference to the Category Table documentation. 2005-02-22 Stephen J. Turnbull <stephen@xemacs.org> @@ -291,26 +296,26 @@ 2005-02-02 Robert Delius Royar <xemacs@frinabulax.org> * beta.texi (Top): - Add reference to Index in catalog to prevent + Add reference to Index in catalog to prevent errors compiling with GNU makeinfo 4.5. * beta.texi (Syncing with GNU Emacs): - Add forward reference to Index in next node to prevent + Add forward reference to Index in next node to prevent errors compiling with GNU makeinfo 4.5. * beta.texi (Index): Add backward reference to Syncing with GNU Emacs to - replace obsolete reference to Defining Variables to + replace obsolete reference to Defining Variables to prevent errors compiling with GNU makeinfo 4.5. 2005-01-31 Ben Wing <ben@xemacs.org> * xemacs/help.texi (Misc Help): Delete references to DISTRIB. Point to FAQ. - + * xemacs/new.texi: Update sample code for version checking. - + * xemacs/xemacs.texi (Distrib): * xemacs/xemacs.texi (Intro): Delete references to DISTRIB. Point directly to web site. @@ -325,7 +330,7 @@ * Makefile (pdf_files): * Makefile ($(INFODIR)/beta.info): Add beta.texi and built files. - + * xemacs-faq.texi (Top): * xemacs-faq.texi (Introduction): * xemacs-faq.texi (Q1.0.3): @@ -421,7 +426,7 @@ manual. Also introduce C/AWK modes in prog-modes package * xemacs/programs.texi (C Ident): Removed - it was obsolete. prog-modes package documentation now contains - indentation description for old C mode + indentation description for old C mode * xemacs/major.texi (Mode Hooks): Add description of major mode hooks. Cleaned up and updated programming mode descriptions. * xemacs/xemacs.texi (Top): Updated Detailed Node listing for new @@ -447,9 +452,9 @@ of a command further up the list, give information on a trivial (interactive) declaration, and cross-reference to the key binding detail. Cf. 87vf9wgd08.fsf@tleepslib.sk.tsukuba.ac.jp - (comp.emacs.xemacs, 2005-01-18). + (comp.emacs.xemacs, 2005-01-18). * man/lispref/eval.texi man/lispref/lispref.texi - man/lispref/macros.texi man/lispref/symbols.texi + man/lispref/macros.texi man/lispref/symbols.texi man/lispref/variables.texi: Fix cross references. 2004-12-28 Ben Wing <ben@xemacs.org> @@ -1017,7 +1022,7 @@ * internals/internals.texi (Future Work -- Better Rendering Support): New node. - (Top): + (Top): (Future Work): (Future Work -- Lisp Engine Replacement): Add pointers to new node. @@ -1405,7 +1410,7 @@ * internals/index.texi: Deleted. Incorporated into internals.texi. Having a separate index file messes up texinfo-master-menu. - + * internals/internals.texi: * internals/internals.texi (Top): * internals/internals.texi (Introduction): @@ -1844,7 +1849,7 @@ New nodes. * lispref/lispref.texi (Top): - * lispref/numbers.texi (Numbers): + * lispref/numbers.texi (Numbers): Add nodes "Ratio Basics" and "The Bignum Extension" to menus. 2004-01-26 Stephen J. Turnbull <stephen@xemacs.org> @@ -1858,9 +1863,9 @@ * lispref/gutter.texi (Gutter Descriptor Format): Node deleted. (Gutter): - (Gutter Intro): - (Creating Gutter): - (Specifying a Gutter): + (Gutter Intro): + (Creating Gutter): + (Specifying a Gutter): Pluralize node name to Creating Gutters. (Creating Gutters): Improve explanation of gutter descriptors. (Other Gutter Variables): Remove extraneous text. @@ -1981,7 +1986,7 @@ * lispref/mule.texi (Charset Property Functions): Charset registry can be set. (Predefined Charsets): Add registry to Vietnamese charset names. - + 2003-09-26 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.16 "celeriac" is released. @@ -2028,7 +2033,7 @@ entry. (Package Terminology): Whitespace clean up. (Installing Packages): Whitespace clean up and add some @code - formatters. + formatters. Re-organise the menu so that installation via PUI is first and Sumo is last. (Automatically): mule-base is no longer a requirement for using @@ -2041,12 +2046,12 @@ (Building Packages): Remove duplicated stuff that is in lispref/packaging.texi, xref to it instead. (Local.rules File): xref to the appropriate node in - lispref/packaging.texi. + lispref/packaging.texi. (Available Packages): Update to current reality. (all): Removed. (srckit): Removed. (binkit): Removed. - + * xemacs/reading.texi (Reading Mail): Mention Gnus and MEW. * new-users-guide/custom2.texi (Init File): big-menubar.el is in @@ -2183,7 +2188,7 @@ * xemacs/packages.texi (Automatically): Refer to 'pui-set-local-package-get-directory' instead of - 'pui-add-install-directory'. + 'pui-add-install-directory'. Remove comment about PGP not being intergrated into PUI. Document balloon-help in PUI. Add heading "Keeping Packages Up To Date".
--- a/man/lispref/faces.texi Mon Jul 18 21:51:14 2005 +0000 +++ b/man/lispref/faces.texi Tue Jul 19 09:45:23 2005 +0000 @@ -141,6 +141,17 @@ in @code{copy-specifier} (@pxref{Specifiers}). @end defun + + Finally, you have the possibility to give faces different names by +means of aliases. One typical use of this feature is to change the name +of a face while preserving backward compatibility. If a symbol has the +@code{face-alias} property set to another symbol, then this other symbol +will be used as the real face name instead (this is actually a recursive +process). There is currently a limit of 32 consecutive face aliases, in +order to prevent aliasing loops. + + + @node Face Properties @subsection Face Properties
--- a/src/ChangeLog Mon Jul 18 21:51:14 2005 +0000 +++ b/src/ChangeLog Tue Jul 19 09:45:23 2005 +0000 @@ -1,3 +1,9 @@ +2005-07-19 Didier Verna <didier@xemacs.org> + + * faces.c (Ffind_face): Implement face aliasing. + * faces.c (syms_of_faces): Define Qface_alias symbol, and + Qcyclic_face_aliasing error symbol. + 2005-07-17 Aidan Kehoe <kehoea@parhasard.net> * cmds.c (Fself_insert_command): @@ -8,8 +14,8 @@ * keymap.c (Ftext_char_description): * lisp.h: Add back the last argument to event-to-character; document that - it's unused. - + it's unused. + 2005-07-11 Atanu Ghosh <atanu@icsi.berkeley.edu> * sysdll.c (dll_open): Under MacOS X return NULL under the @@ -22,12 +28,12 @@ * console-msw.c (mswindows_perhaps_init_unseen_key_defaults): * console-msw.c (vars_of_console_mswindows): Rename Qseen_characters to Vmswindows_seen_characters, dump it - when pdump is in use. - + when pdump is in use. + * console-tty.c (tty_perhaps_init_unseen_key_defaults): * console-tty.c (vars_of_console_tty): Rename Qseen_characters to Vttyxo_seen_characters, dump it - when pdump is in use. + when pdump is in use. 2005-06-29 Marcus Crestani <crestani@xemacs.org> @@ -43,7 +49,7 @@ * events.c (event_to_character): * general-slots.h: Move the Qkey_mapping variable to general-slots.h, now that it's - used outside the platform specific keyboard warning code. + used outside the platform specific keyboard warning code. 2005-06-28 Marcus Crestani <crestani@xemacs.org> @@ -72,44 +78,44 @@ * event-stream.c (command_builder_find_leaf): * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): * mule-ccl.c (ccl_driver): - Couple of build fixes. - + Couple of build fixes. + 2005-06-26 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add. * mule-ccl.c: Check that a character set exists before using it - to create a character. - + to create a character. + 2005-06-26 Aidan Kehoe <kehoea@parhasard.net> * cmds.c (Fself_insert_command): - No 4th arg to event_to_character. + No 4th arg to event_to_character. * console-impl.h (struct console_methods): Add a new member method, perhaps_init_unseen_key_defaults, which is to allow the console to take appropriate action--often a default binding to self-insert-command--when notified about a character it may not - have seen before. - + have seen before. + * console-gtk.c: Add gtk_perhaps_init_unseen_key_defaults, a new console method, - and a hash table it uses. + and a hash table it uses. * console-msw.c: Add mswindows_perhaps_init_unseen_key_defaults, a new console - method, and a hash table it uses. - + method, and a hash table it uses. + * console-tty.c: Add tty_perhaps_init_unseen_key_defaults, a new console method, - and a hash table used by it. + and a hash table used by it. * console-x.c: - * console-x.c (x_perhaps_init_unseen_key_defaults): New. + * console-x.c (x_perhaps_init_unseen_key_defaults): New. Given a key, if it maps to a character and we weren't previously aware that it could be generated on console CON, and if it's unbound in the global map, bind it to self-insert-command. Return Qt if the binding was done; Qnil if not. - + * device-gtk.c: * device-gtk.c (vars_of_device_gtk): Add a hash table var used by gtk_perhaps_init_unseen_key_defaults. @@ -117,33 +123,33 @@ * editfns.c (Fchar_to_string): Call Fevent_to_character with three arguments, not four; don't express a belief that the only XEmacs character encoding is - ASCII. - + ASCII. + * event-Xt.c: * event-Xt.c (maybe_define_x_key_as_self_inserting_character): - ascii-character -> character-of-keysym property renaming. - + ascii-character -> character-of-keysym property renaming. + * event-Xt.c (x_has_keysym): - Make it visible to the console code, make it a little more Mule-safe. - + Make it visible to the console code, make it a little more Mule-safe. + * event-Xt.c (index_to_name): - Move to Mule declaration conventions. + Move to Mule declaration conventions. * event-Xt.c (x_reset_modifier_mapping): - Move large comment from Jamie before this function. + Move large comment from Jamie before this function. * event-Xt.c (x_keysym_to_emacs_keysym): - Move to Mule declaration conventions and coding practices. - + Move to Mule declaration conventions and coding practices. + * event-Xt.c (x_event_to_emacs_event): Add some comments, and the initial steps necessary for Russian C-x - support. + support. * event-msw.c (mswindows_wnd_proc): Don't conditionalize Russian C-x support on Mule. (I'm not certain if this is correct on MSW, but it's the approach I'm taking on X11.) - + * event-stream.c: Add Russian C-x support, a var to enable and disable it, remove composed-character-default-binding in favour of @@ -152,14 +158,14 @@ command_builder_find_leaf_no_jit_binding, change command_builder_find_leaf to tell the console-specific code to perhaps add a binding for keys its never seen before, and then - retry the lookup if it would otherwise fail. + retry the lookup if it would otherwise fail. * event-stream.c (execute_command_event): - event-to-character has three arguments now, not four. - + event-to-character has three arguments now, not four. + * event-stream.c (vars_of_event_stream): - Formatting clean up for inhibit-input-event-recoding. - + Formatting clean up for inhibit-input-event-recoding. + * event-xlike-inc.c: * event-xlike-inc.c (endif): Move x_keysym_to_character here from event-Xt.c so it can be used @@ -169,7 +175,7 @@ * events.c: Rename the ascii-character property, remove character-set-property, remove the now unused fourth argument to - event_to_character, ditto for the event-to-character, + event_to_character, ditto for the event-to-character, * events.h (enum alternative_key_chars): * events.h (struct Lisp_Key_Data): @@ -183,11 +189,11 @@ * keymap.c (elide_next_two_p): * keymap.c (describe_map): Rename ascii-character to character-of-keysym, stop pretending the - internal encoding of XEmacs is purely ASCII, + internal encoding of XEmacs is purely ASCII, * lisp.h: * sysdep.c (tty_init_sys_modes_on_device): - One less argument to event-to-character. + One less argument to event-to-character. 2005-06-23 Marcus Crestani <crestani@xemacs.org> @@ -199,8 +205,8 @@ * mule-coding.c: The vernacular in Taiwan, and thus the language for which Big5 is most used, is Mandarin. Taiwanese does exist, but since the - Chinese civil war, it's used less and less in Taiwan. - + Chinese civil war, it's used less and less in Taiwan. + 2005-06-06 Marcus Crestani <crestani@xemacs.org> * lisp.h (DEFUN): Define S##fname here. @@ -247,7 +253,7 @@ 2005-05-10 Aidan Kehoe <kehoea@parhasard.net> * extents.c: Clarify that the atomic extent property is a kludge - and will go away if and when we implement something better. + and will go away if and when we implement something better. 2005-05-06 Dr. Volker Zell <Dr.Volker.Zell@oracle.com> @@ -257,13 +263,13 @@ 2005-05-05 Aidan Kehoe <kehoea@parhasard.net> * extents.c: Add some info on atomic-extents.el to the - set-extent-property docstring. + set-extent-property docstring. 2005-05-05 Aidan Kehoe <kehoea@parhasard.net> * select.c: - * sound.c: - Spelling fixes to docstrings. + * sound.c: + Spelling fixes to docstrings. 2005-04-27 Stephen J. Turnbull <stephen@xemacs.org> @@ -328,16 +334,16 @@ New lrecord allocation and free functions: - * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes + * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes type checking and initializing of the lrecord_header. * alloc.c (noseeum_alloc_lrecord): Same as above, but increments the NOSEEUM cons counter. - * alloc.c (free_lrecord): New. Calls the finalizer and frees the + * alloc.c (free_lrecord): New. Calls the finalizer and frees the lrecord. * lrecord.h: Add lrecord allocation prototypes and comments. Remove old lrecord FROB block allocation: - + * alloc.c (allocate_lisp_storage): Former function to expand heap. Not needed anymore, remove. * alloc.c: Completely remove `Fixed-size type macros' @@ -359,7 +365,7 @@ * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): Remove. Allocate old lrecords with new allocator: - + * alloc.c: DECLARE_FIXED_TYPE_ALLOC removed for all lrecords defined in alloc.c. * alloc.c (Fcons): Allocate with new allocator. @@ -430,7 +436,7 @@ * alloc.c (gc_sweep): Remove all the old lcrecord and lrecord related stuff. Sweeping now works like this: compact string chars, finalize, sweep. - * alloc.c (common_init_alloc_early): Remove old lrecord + * alloc.c (common_init_alloc_early): Remove old lrecord initializations, remove breathing_space. * emacs.c (Fdump_emacs): Remove release_breathing_space. * lisp.h: Remove prototype for release_breathing_space. @@ -455,12 +461,12 @@ Unify lrecords and lcrecords: - * lisp.h (struct Lisp_String): Adjust string union hack to + * lisp.h (struct Lisp_String): Adjust string union hack to new lrecord header. * lrecord.h: Adjust comments. * lrecord.h (struct lrecord_header): The new lrecord header includes type, lisp-readonly, free, and uid. - * lrecord.h (set_lheader_implementation): Adjust to new + * lrecord.h (set_lheader_implementation): Adjust to new lrecord_header. * lrecord.h (struct lrecord_implementation): The field basic_p for indication of an old lrecord is not needed anymore, remove. @@ -469,9 +475,9 @@ basic_p. * lrecord.h (copy_sized_lrecord): Remove distinction between old lrecords and lcrecords. - * lrecord.h (copy_lrecord): Remove distinction between old + * lrecord.h (copy_lrecord): Remove distinction between old lrecords and lcrecords. - * lrecord.h (zero_sized_lrecord): Remove distinction between + * lrecord.h (zero_sized_lrecord): Remove distinction between old lrecords and lcrecords. * lrecord.h (zero_lrecord): Remove distinction between old lrecords and lcrecords. @@ -480,7 +486,7 @@ * alloc.c (basic_alloc_lcrecord): Not needed anymore, remove. * alloc.c (very_old_free_lcrecord): Not needed anymore, remove. - * alloc.c (copy_lisp_object): No more distinction between + * alloc.c (copy_lisp_object): No more distinction between lrecords and lcrecords. * alloc.c (all_lcrecords): Not needed anymore, remove. * alloc.c (make_vector_internal): Allocate as lrecord. @@ -496,13 +502,13 @@ * alloc.c (free_lcrecord): Remove. * alloc.c (lcrecord_stats): Remove. * alloc.c (tick_lcrecord_stats): Remove. - * alloc.c (disksave_object_finalization_1): Add call to + * alloc.c (disksave_object_finalization_1): Add call to mc_finalize_for_disksave. Remove the lcrecord way to visit all objects. * alloc.c (kkcc_marking): Remove XD_FLAG_FREE_LISP_OBJECT * alloc.c (sweep_lcrecords_1): Remove. * alloc.c (common_init_alloc_early): Remove everything related - to lcrecords, remove old lrecord initializations, + to lcrecords, remove old lrecord initializations, * alloc.c (init_lcrecord_lists): Not needed anymore, remove. * alloc.c (reinit_alloc_early): Remove everything related to lcrecords. @@ -510,7 +516,7 @@ lcrecords. * buffer.c (allocate_buffer): Allocate as lrecord. * buffer.c (nuke_all_buffer_slots): Use lrecord functions. - * buffer.c (common_init_complex_vars_of_buffer): Allocate as + * buffer.c (common_init_complex_vars_of_buffer): Allocate as lrecord. * buffer.h (struct buffer): Add lrecord_header. * casetab.c (allocate_case_table): Allocate as lrecord. @@ -526,11 +532,11 @@ * chartab.h (struct Lisp_Char_Table): Add lrecord_header. * console-impl.h (struct console): Add lrecord_header. * console-msw-impl.h (struct Lisp_Devmode): Add lrecord_header. - * console-msw-impl.h (struct mswindows_dialog_id): Add + * console-msw-impl.h (struct mswindows_dialog_id): Add lrecord_header. * console.c (allocate_console): Allocate as lrecord. * console.c (nuke_all_console_slots): Use lrecord functions. - * console.c (common_init_complex_vars_of_console): Allocate as + * console.c (common_init_complex_vars_of_console): Allocate as lrecord. * data.c (make_weak_list): Allocate as lrecord. * data.c (make_weak_box): Allocate as lrecord. @@ -551,7 +557,7 @@ * event-stream.c (free_command_builder): Use lrecord functions. * event-stream.c (event_stream_generate_wakeup): Allocate as lrecord. - * event-stream.c (event_stream_resignal_wakeup): Use lrecord + * event-stream.c (event_stream_resignal_wakeup): Use lrecord functions. * event-stream.c (event_stream_disable_wakeup): Use lrecord functions. @@ -597,11 +603,11 @@ * lstream.c (Lstream_new): Allocate as lrecord. * lstream.c (Lstream_delete): Use lrecod functions. * lstream.c (reinit_vars_of_lstream): Vlstream_free_list - initialization remove. + initialization remove. * lstream.h (struct lstream): Add lrecord_header. * emacs.c (main_1): Remove lstream initialization. * mule-charset.c (make_charset): Allocate as lrecord. - * objects-impl.h (struct Lisp_Color_Instance): Add + * objects-impl.h (struct Lisp_Color_Instance): Add lrecord_header. * objects-impl.h (struct Lisp_Font_Instance): Add lrecord_header. * objects.c (Fmake_color_instance): Allocate as lrecord. @@ -611,7 +617,7 @@ * opaque.c (make_opaque): Allocate as lrecord. * opaque.c (make_opaque_ptr): Allocate as lrecord. * opaque.c (free_opaque_ptr): Use lrecord functions. - * opaque.c (reinit_opaque_early): + * opaque.c (reinit_opaque_early): * opaque.c (init_opaque_once_early): Vopaque_ptr_list initialization remove. * opaque.h (Lisp_Opaque): Add lrecord_header. @@ -631,7 +637,7 @@ * specifier.h (struct Lisp_Specifier): Add lrecord_header. * symbols.c: * symbols.c (Fmake_variable_buffer_local): Allocate as lrecord. - * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate + * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate as lrecord. * symbols.c (Fdefvaralias): Allocate as lrecord. * symeval.h (struct symbol_value_magic): Add lrecord_header. @@ -656,13 +662,13 @@ * alloc.c (fixed_type_block_overhead): Not used anymore, remove. * buffer.c (compute_buffer_usage): Get storage size from new allocator. - * marker.c (compute_buffer_marker_usage): Get storage size from + * marker.c (compute_buffer_marker_usage): Get storage size from new allocator. - * mule-charset.c (compute_charset_usage): Get storage size from + * mule-charset.c (compute_charset_usage): Get storage size from new allocator. * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): Get storage size from new allocator. - * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): + * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): Get storage size from new allocator. * scrollbar-x.c (x_compute_scrollbar_instance_usage): Get storage size from new allocator. @@ -674,7 +680,7 @@ from new allocator. * window.c (compute_window_mirror_usage): Get storage size from new allocator. - * window.c (compute_window_usage): Get storage size from new + * window.c (compute_window_usage): Get storage size from new allocator. MC_ALLOC_TYPE_STATS: @@ -701,7 +707,7 @@ * alloc.c (debug_string_purity): Remove. * alloc.c (debug_string_purity_print): Remove. * alloc.c (sweep_strings): Remove. - + Remove static C-readonly Lisp objects: * alloc.c (c_readonly): Not needed anymore, remove. @@ -749,7 +755,7 @@ * symbols.c (init_symbols_once_early): Add Qunbound to root set. Changes to the Portable Dumper: - + * alloc.c (FREE_OR_REALLOC_BEGIN): Since dumped objects can be freed with the new allocator, remove assertion for !DUMPEDP. * dumper.c: Adjust comments, increase PDUMP_HASHSIZE. @@ -757,7 +763,7 @@ avoid collisions. * dumper.c (pdump_objects_unmark): No more mark bits within the object, remove. - * dumper.c (mc_addr_elt): New. Element data structure for mc + * dumper.c (mc_addr_elt): New. Element data structure for mc hash table. * dumper.c (pdump_mc_hash): New hash table: `lookup table'. * dumper.c (pdump_get_mc_addr): New. Lookup for hash table. @@ -766,22 +772,22 @@ * dumper.c (pdump_put_mc_addr): New. Putter for hash table. * dumper.c (pdump_dump_mc_data): New. Writes the table for relocation at load time to the dump file. - * dumper.c (pdump_scan_lisp_objects_by_alignment): New. + * dumper.c (pdump_scan_lisp_objects_by_alignment): New. Visits all dumped Lisp objects. * dumper.c (pdump_scan_non_lisp_objects_by_alignment): New. Visits all other dumped objects. * dumper.c (pdump_reloc_one_mc): New. Updates all pointers of an object by using the hash table pdump_mc_hash. * dumper.c (pdump_reloc_one): Replaced by pdump_reloc_one_mc. - * dumper.c (pdump): Change the structure of the dump file, add + * dumper.c (pdump): Change the structure of the dump file, add the mc post dump relocation table to dump file. - * dumper.c (pdump_load_finish): Hand all dumped objects to the - new allocator and use the mc post dump relocation table for + * dumper.c (pdump_load_finish): Hand all dumped objects to the + new allocator and use the mc post dump relocation table for relocating the dumped objects at dump file load time, free not longer used data structures. * dumper.c (pdump_load): Free the dump file. * dumper.h: Remove pdump_objects_unmark. - * lrecord.h (DUMPEDP): Dumped objects can be freed, remove. + * lrecord.h (DUMPEDP): Dumped objects can be freed, remove. DUMP_IN_EXEC: @@ -811,13 +817,13 @@ * mule-ccl.c (ccl_driver): Calculate the charset and position code for control-1 characters properly, both when reading multibyte - characters and writing them. + characters and writing them. 2005-03-31 Aidan Kehoe <kehoea@parhasard.net> * unicode.c (set_unicode_conversion): Don't try to write to the non-existent conversion tables for ASCII and control-1, in the - interest of not segfaulting. + interest of not segfaulting. * unicode.c (unicode_convert): The "position code" for a control-1 character has #xA0 added to it when encoded in Mule, unlike #x80 for all the other non-ASCII character sets ; take this into @@ -825,9 +831,9 @@ 2005-03-29 Aidan Kehoe <kehoea@parhasard.net> - * event-Xt.c: Declare Funicode_to_char. + * event-Xt.c: Declare Funicode_to_char. * event-Xt.c (x_keysym_to_character): Use it, if we're handed a - keysym for which it's appropriate. + keysym for which it's appropriate. 2005-03-26 Jerry James <james@xemacs.org> @@ -838,7 +844,7 @@ 2005-02-24 Andrey Slusar <anrays@gmail.com> - * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64. + * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64. 2005-03-25 Marcus Crestani <crestani@xemacs.org> @@ -849,11 +855,11 @@ * device-x.c (x_init_device): Only do the old application class determination behaviour if the USE_EMACS_AS_DEFAULT_APPLICATION_CLASS environment variable is - set; otherwise, we use XEmacs. + set; otherwise, we use XEmacs. * device-x.c (vars_of_device_x): Update the docstring for - x-emacs-application-class. + x-emacs-application-class. * frame.c: default-frame-name is now "XEmacs", unless the old X11 - resources behaviour has been requested. + resources behaviour has been requested. 2005-03-15 Marcus Crestani <crestani@informatik.uni-tuebingen.de> @@ -937,7 +943,7 @@ 2005-01-13 Stephen J. Turnbull <stephen@xemacs.org> - * regex.c (re_match_2_internal): + * regex.c (re_match_2_internal): * regex.h (struct re_pattern_buffer): Improve comments. Add a DEBUG_PRINT2 for null matches. @@ -945,24 +951,24 @@ * select-x.c (x_reply_selection_request): Check that XtWindowToWidget returns NULL before calling XtRegisterDrawable, - document why. + document why. 2005-03-02 Aidan Kehoe <kehoea@parhasard.net> * select-x.c (x_reply_selection_request): Make the error message in the absence of HAVE_XTREGISTERDRAWABLE more polite, pass a second argument to invalid_operation to have it actually compile - in that case. + in that case. 2005-03-01 Aidan Kehoe <kehoea@parhasard.net> - * config.h.in: New macro, HAVE_XTREGISTERDRAWABLE. - * select-x.c (x_reply_selection_request): Use it. + * config.h.in: New macro, HAVE_XTREGISTERDRAWABLE. + * select-x.c (x_reply_selection_request): Use it. 2005-03-01 Aidan Kehoe <kehoea@parhasard.net> * select-x.c (x_reply_selection_request): Wrap - DEVICE_SELECTED_FRAME in XFRAME --> fixes a build failure. + DEVICE_SELECTED_FRAME in XFRAME --> fixes a build failure. 2005-03-01 Aidan Kehoe <kehoea@parhasard.net> @@ -970,39 +976,39 @@ Unicode coding systems will lose data. Make this clear in the docstring of unicode-to-char, give sample code to implement support for some desired code points should our distributors want - to do that. + to do that. 2005-02-28 Aidan Kehoe <kehoea@parhasard.net> * select-gtk.c (emacs_gtk_selection_handle): * select-gtk.c (emacs_gtk_selection_clear_event_handle): - Use get_selection_raw_timestamp instead of Fget_selection_timestamp. + Use get_selection_raw_timestamp instead of Fget_selection_timestamp. * select-gtk.c (gtk_own_selection): Cross reference to some debate in select-x.c * select-x.c: * select-x.c (x_handle_selection_request): Discuss Time vs. time_t--I think Time is _always_ thirty-two-bit - and time_t is variable in size. + and time_t is variable in size. * select-x.c (x_handle_selection_clear): Replace call to Fget_selection_timestamp with call to get_selection_raw_time, check that pasted data pointer is non-zero - before trying to free it. + before trying to free it. * select.c: * select.c (Fown_selection_internal): Informative comment! Shouldn't actually be needed outside of the X - world. - * select.c (get_selection_raw_time): New function. + world. + * select.c (get_selection_raw_time): New function. * select.c (Fget_selection_timestamp): Rework to use get_selection_raw_time. * select.h: - Make get_selection_raw_time available. - + Make get_selection_raw_time available. + 2005-02-26 Aidan Kehoe <kehoea@parhasard.net> - * select-x.c (x_reply_selection_request): Use XtRegisterDrawable - to tell Xt not to drop PropertyChange events destined for the - selection request target window. This makes incremental selection - transfer work, instead of looping until interrupted. + * select-x.c (x_reply_selection_request): Use XtRegisterDrawable + to tell Xt not to drop PropertyChange events destined for the + selection request target window. This makes incremental selection + transfer work, instead of looping until interrupted. 2005-01-06 Andrey Slusar <anrays@gmail.com> @@ -1044,7 +1050,7 @@ * dumper.c (DUMP_SLACK): * dumper.c (pdump_load): Include extra DUMP_SLACK when allocating space for exe path. - + * glyphs-eimage.c: Reformat comment. @@ -1128,14 +1134,14 @@ * menubar.c: * menubar.c (Fcompare_menu_text): New fun to compare menu itext as if the two were normalized. - + * menubar.c (Fnormalize_menu_text): * menubar.c (syms_of_menubar): Rename; there are no external callers of this function. Remove unneeded BUFFER argument. Don't downcase. (This will be done in compare-menu-text.) Document that return value may be same string. - + 2003-02-15 Ben Wing <ben@xemacs.org> * syswindows.h: Define W32API_2_2 for w32api.h v2.2 or higher. @@ -1217,7 +1223,7 @@ * nt.c: * fileio.c: Fix sync comments. - + * config.h.in: * dired-msw.c (mswindows_get_files): * emacs.c (main_1): @@ -1282,12 +1288,12 @@ * nt.c (mswindows_unlink): * sysdep.c (sys_subshell): Unicode-ize. - + * realpath.c (readlink_or_correct_case): Renamed from readlink_and_correct_case. Fix some problems with Windows implementation due to incorrect understanding of workings of the function. - + * sound.c (Fplay_sound_file): * ntplay.c (nt_play_sound_file): * sound.c: @@ -1303,7 +1309,7 @@ * free-hook.c (check_free): Fix aliasing warning. - + 2005-01-26 Ben Wing <ben@xemacs.org> * redisplay.c: @@ -1401,7 +1407,7 @@ * bytecode.c (optimize_compiled_function): * print.c (ONE_DIGIT): Add casts to avoid warning. - + * compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and friends here, like for GCC. Need different definitions for VC7 @@ -1417,10 +1423,10 @@ Some really nasty hacks to allow TIFF and JPEG to both be compiled. #### The better solution is to move the TIFF and JPEG code to different files. - + * glyphs-msw.c (mswindows_xbm_instantiate): Define __STDC__ to avoid problems with compface.h. - + * intl-auto-encap-win32.c (qxeImmGetCandidateListCount): * intl-auto-encap-win32.c (qxeFindResourceEx): * intl-auto-encap-win32.h: @@ -1431,7 +1437,7 @@ Various functions change parameter types semi-randomly between VC6 and VC7, so we need to include our own versions that can handle both kinds with appropriate casting. - + * EmacsFrame.c (EmacsFrameRecomputeCellSize): * EmacsShell-sub.c: * EmacsShell-sub.c (ABORT): @@ -1725,7 +1731,7 @@ 2005-01-21 Robert Royar <xemacs@frinabulax.org> - * database.c: Repair typo in NetBSD fix. + * database.c: Repair typo in NetBSD fix. 2005-01-21 Malcolm Purvis <malcolmp@xemacs.org> @@ -1780,7 +1786,7 @@ entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. - + * buffer.c (init_initial_directory): * device-msw.c (mswindows_handle_page_setup_dialog_box): * dialog-msw.c (handle_directory_proc): @@ -1836,7 +1842,7 @@ dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. - + * text.c (dfc_convert_to_internal_format): Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no @@ -1931,11 +1937,11 @@ previous version. Track the char position of the gap. Add functions to do char-byte conversion downwards as well as upwards. Move comments about algorithm workings to internals manual. - + --------------------------- work on types --------------------------- - + * alloc.c: * alloc.c (gc_plist_hack): * console-x-impl.h (struct x_frame): @@ -2150,7 +2156,7 @@ the basic semantics of `char' that I have so far identified, so that its semantics can always be identified for the purposes of proper Mule-safe code, and the raw use of `char' always avoided. - + (1) More type renaming, for consistency of naming. Char_ASCII -> Ascbyte @@ -2174,25 +2180,25 @@ * lisp.h: Group generic int-type defs together with EMACS_INT defs. - + * lisp.h (EXTTEXT_ZTERM_SIZE): * lisp.h (ITEXT_SIZE): * lisp.h (NON_ASCII_INTERNAL_FORMAT): * lisp.h (UTF16_IBYTE_FORMAT): * lisp.h (WEXTTEXT_IS_WIDE) New defns. - + * lisp.h (Boolean): New type to replace places where int occurs as a boolean. It's signed because occasionally people may want to use -1 as an error value, and because unsigned ints are viral -- see comments in the internals manual against using them. - + * dynarr.c: * dynarr.c (Dynarr_realloc): * dynarr.c (Dynarr_resize): int -> Bytecount. - + --------------------------- Mule-izing --------------------------- @@ -2204,7 +2210,7 @@ * device-x.c (Fx_set_font_path): * device-x.c (reinit_console_type_create_device_x): Partially Mule-ize. - + * dumper.c (see above): * dumper.c (pdump_file_get): * dumper.c (pdump_resource_get): @@ -2252,14 +2258,14 @@ Rename win32 init function and call it even earlier, to initialize mswindows_9x_p even earlier, for use in startup code (XEUNICODE_P). - + * process.c (init_xemacs_process): Use _wenviron not environ under Windows, to get Unicode environment variables. * event-Xt.c (x_event_to_emacs_event): Mule-ize drag-n-drop related stuff. - + * dragdrop.c (dnd_url_hexify_string): * dragdrop.h: * frame-x.c: @@ -2703,7 +2709,7 @@ * intl-auto-encap-win32.h (OpenJobObject): * intl-auto-encap-win32.h (qxemciGetErrorString): Regenerate. - + --------------------------- Unicode-work --------------------------- @@ -2724,7 +2730,7 @@ * alloc.c (build_ext_string): Use dfc_external_data_len() in case of unicode coding system. - + * alloc.c: * mule-charset.c: * mule-charset.c (make_charset): @@ -2762,7 +2768,7 @@ * console-msw.c: * console-msw.h: Add pointer to docs in win32.c. - + * emacs.c: Add comments on sources of doc info. @@ -2777,7 +2783,7 @@ * intl-encap-win32.c: * text.h: * text.h (internal_format): - * file-coding.c (encode_decode_coding_region): + * file-coding.c (encode_decode_coding_region): * file-coding.c: * mule-coding.c (parse_iso2022_esc): Collect background comments and related to text matters and @@ -2805,17 +2811,17 @@ builds and environments under Windows and how they work. Collect this info in win32.c. Add pointers to these docs in the relevant s/* files. - + * emacs.c (mswindows_handle_hardware_exceptions_1): * emacs.c: Document places with long comments. Remove comment about exiting, move to internals manual, put in pointer. - + * event-stream.c: Move docs about event queues and focus to internals manual, put in pointer. - + * events.h: Move docs about event stream callbacks to internals manual, put in pointer. @@ -2827,17 +2833,17 @@ * process-nt.c: Add pointer to comment in win32-native.el. - + * lisp.h: Add comments about some comment conventions. * lisp.h (xfree): Add comment about the second argument. - + * device-msw.c (msprinter_init_device): * redisplay-msw.c (mswindows_text_width_single_run): @@#### comments are out-of-date. - + --------------------------------------------------------------- PDUMP WORK (MOTIVATED BY UNICODE CHANGES) --------------------------------------------------------------- @@ -2903,19 +2909,19 @@ Properly implement dump_add_root_block(), which never worked before, and is necessary for dumping Unicode tables. - + Pdump name changes for accuracy: XD_STRUCT_PTR -> XD_BLOCK_PTR. XD_STRUCT_ARRAY -> XD_BLOCK_ARRAY. XD_C_STRING -> XD_ASCII_STRING. *_structure_* -> *_block_*. - + * lrecord.h (XD_DYNARR_DESC): some comments added about dump_add_root_block() vs dump_add_root_block_ptr(). * extents.c: remove incorrect comment about pdump problems with gap array. - + --------------------------------------------------------------- ALLOCATION --------------------------------------------------------------- @@ -3005,7 +3011,7 @@ more convenient allocation of these commonly requested items. Modify functions to use alloca_ibytes, alloca_array, alloca_extbytes, xnew_ibytes, etc. also XREALLOC_ARRAY, xnew. - + * alloc.c (FREE_FIXED_TYPE): * alloc.c (Fstring): * alloc.c (MALLOC_BEGIN): @@ -3018,11 +3024,11 @@ * alloc.c: Rewrite the allocation functions to factor out repeated code. Add assertions for freeing dumped data. - + * lisp.h (xmalloc_and_record_unwind): * lisp.h (xfree): Moved down and consolidated with other allocation stuff. - + * lisp.h: * dynarr.c (stack_like_malloc): * dynarr.c (stack_like_free): @@ -3038,7 +3044,7 @@ * text.c (new_dfc_convert_malloc): * text.h: Factor out some stuff for general use by alloca()-conversion funs. - + * text.h (xmalloc_ibytes): * lisp.h: Fill out convenience routines for allocating various kinds of @@ -3075,7 +3081,7 @@ Redo GCPRO declarations. Create a "base" set of functions that can be used to generate any kind of gcpro sets -- regular, ngcpro, nngcpro, private ones used in GC_EXTERNAL_LIST_LOOP_2. - + * buffer.c (Fkill_buffer): * callint.c (quotify_args): * chartab.c (chartab_data_validate): @@ -3120,7 +3126,7 @@ Use EXTERNAL_LIST_LOOP_2 instead or EXTERNAL_LIST_LOOP_3 or EXTERNAL_PROPERTY_LIST_LOOP_3 or GC_EXTERNAL_LIST_LOOP_2 (new macro). Removed/redid comments on EXTERNAL_LIST_LOOP. - + --------------------------------------------------------------- SPACING FIXES @@ -3148,7 +3154,7 @@ FIX FOR LEAKING PROCESS HANDLES: --------------------------------------------------------------- - + * process-nt.c (free_process_memory): * process-nt.c (alloc_process_memory): * process-nt.c (run_in_other_process): @@ -3174,7 +3180,7 @@ * console-stream.c (init_console_stream): `reinit' is unused. - + * compiler.h: * event-msw.c (mswindows_wnd_proc): * frame-msw.c (mswindows_frame_totally_visible_p): @@ -3267,7 +3273,7 @@ * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): Assert on !inhibit_non_essential_conversion_operations. - + * console-msw.c (Fmswindows_message_box): * console-msw.c (GetConsoleHwnd): * console-msw.c (mswindows_output_console_string): @@ -3276,7 +3282,7 @@ Don't do conversion in SetConsoleTitle or FindWindow to avoid problems during armageddon. Put #errors for NON_ASCII_INTERNAL_FORMAT in places where problems would arise. - + --------------------------------------------------------------- CHANGES TO THE BUILD PROCEDURE: --------------------------------------------------------------- @@ -3441,7 +3447,7 @@ Fix some typos in comments. 2003-11-21 Stephen J. Turnbull <stephen@xemacs.org> - + * dired.c (Fdirectory_files): MATCH is only tried against basename. 2003-11-02 Stephen J. Turnbull <stephen@xemacs.org> @@ -3451,7 +3457,7 @@ 2003-10-31 Stephen J. Turnbull <stephen@xemacs.org> * procimpl.h (struct Lisp_Process): - * undo.c (Fprimitive_undo): + * undo.c (Fprimitive_undo): Remove obsolete references to ENERGIZE in comments. 2004-07-18 Stephen J. Turnbull <stephen@xemacs.org>
--- a/src/faces.c Mon Jul 18 21:51:14 2005 +0000 +++ b/src/faces.c Tue Jul 19 09:45:23 2005 +0000 @@ -60,6 +60,8 @@ /* Qdefault, Qhighlight, Qleft_margin, Qright_margin defined in general.c */ Lisp_Object Qmodeline, Qgui_element, Qtext_cursor, Qvertical_divider; +Lisp_Object Qface_alias, Qcyclic_face_aliasing; + /* In the old implementation Vface_list was a list of the face names, not the faces themselves. We now distinguish between permanent and temporary faces. Permanent faces are kept in a regular hash table, @@ -629,18 +631,43 @@ (face_or_name)) { Lisp_Object retval; + Lisp_Object face_name; + Lisp_Object face_alias; + int i; if (FACEP (face_or_name)) return face_or_name; - CHECK_SYMBOL (face_or_name); + + face_name = face_or_name; + CHECK_SYMBOL (face_name); + +# define FACE_ALIASING_MAX_DEPTH 32 + + i = 0; + while (! NILP ((face_alias = Fget (face_name, Qface_alias, Qnil))) + && i < FACE_ALIASING_MAX_DEPTH) + { + face_name = face_alias; + CHECK_SYMBOL (face_alias); + i += 1; + } + + /* #### This test actually makes the aliasing max depth to 30, which is more + #### than enough IMO. -- dvl */ + if (i == FACE_ALIASING_MAX_DEPTH) + signal_error (Qcyclic_face_aliasing, + "Max face aliasing depth reached", + face_name); + +# undef FACE_ALIASING_MAX_DEPTH /* Check if the name represents a permanent face. */ - retval = Fgethash (face_or_name, Vpermanent_faces_cache, Qnil); + retval = Fgethash (face_name, Vpermanent_faces_cache, Qnil); if (!NILP (retval)) return retval; /* Check if the name represents a temporary face. */ - return Fgethash (face_or_name, Vtemporary_faces_cache, Qnil); + return Fgethash (face_name, Vtemporary_faces_cache, Qnil); } DEFUN ("get-face", Fget_face, 1, 1, 0, /* @@ -1864,6 +1891,9 @@ DEFSYMBOL (Qdim); DEFSYMBOL (Qblinking); + DEFSYMBOL (Qface_alias); + DEFERROR_STANDARD (Qcyclic_face_aliasing, Qinvalid_state); + DEFSYMBOL (Qinit_face_from_resources); DEFSYMBOL (Qinit_global_faces); DEFSYMBOL (Qinit_device_faces); @@ -1977,7 +2007,7 @@ Lisp_Object inst_list = Qnil; #if defined (HAVE_X_WINDOWS) || defined (HAVE_GTK) - + const Ascbyte *fonts[] = { /************** ISO-8859 fonts *************/ @@ -2016,7 +2046,7 @@ "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0", "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0", "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0", - + /* Other Japanese fonts */ "-*-fixed-medium-r-*--*-jisx0201.1976-*", "-*-fixed-medium-r-*--*-jisx0208.1983-*", @@ -2029,7 +2059,7 @@ "-*-*-medium-r-*--*-gb2312.1980-*", "-*-fixed-medium-r-*--*-cns11643*-*", - + "-*-fixed-medium-r-*--*-big5*-*," "-*-fixed-medium-r-*--*-sisheng_cwnn-0", @@ -2042,7 +2072,7 @@ "-*-fixed-medium-r-*--*-tis620.2529-1", /************* Other fonts (nonstandard) *************/ - + "-*-fixed-medium-r-*--*-viscii1.1-1", "-*-fixed-medium-r-*--*-mulearabic-*", "-*-fixed-medium-r-*--*-muleipa-*", @@ -2137,23 +2167,23 @@ ":Regular:10::" }; const Ascbyte **mswfontptr; - + for (mswfontptr = mswfonts + countof (mswfonts) - 1; mswfontptr >= mswfonts; mswfontptr--) { /* display device */ - inst_list = Fcons (Fcons (list1 (Qmswindows), + inst_list = Fcons (Fcons (list1 (Qmswindows), build_string (*mswfontptr)), inst_list); /* printer device */ - inst_list = Fcons (Fcons (list1 (Qmsprinter), + inst_list = Fcons (Fcons (list1 (Qmsprinter), build_string (*mswfontptr)), inst_list); } /* Use Lucida Console rather than Courier New if it exists -- the line spacing is much less, so many more lines fit with the same size font. (And it's specifically designed for screens.) */ - inst_list = Fcons (Fcons (list1 (Qmswindows), + inst_list = Fcons (Fcons (list1 (Qmswindows), build_string ("Lucida Console:Regular:10::")), inst_list); }