|
|||||||||||||||||
Searching XEmacs
Quick Links
About XEmacs
|
XEmacs 21.5.32 "habanero" is releasedgoto announcement, summary, changes To: xemacs-beta@xemacs.org From: "Stephen J. Turnbull, XEmacs 21.5 Beta Engineer" <stephen@xemacs.org> Subject: XEmacs 21.5.32 "habanero" is released. Organization: The XEmacs Project * XEmacs 21.5.32 "habanero" is released. "habanero" is the thirty-third in the VEGETABLE series. The successor to XEmacs 21.5.31 "ginger", "habanero" adds support for Mac OS X Lion and Mountain Lion, new 'foreback and 'shrink properties for faces by Didier Verna, and a large number of Common Lisp features by Aidan Kehoe such as true multiple values. Two rare crashes were fixed. A large number of minor improvements, GNU syncs, and bug fixes were contributed by several developers and users. This is the development line. The current series started with XEmacs 21.5.0 (an alias for XEmacs 21.4.0 "Solid Vapor", the first release in the current stable line). 21.5 is the code base for introduction of major new subsystems and fixes to design bugs that experience shows will introduce instability. So far the main effort has been on improved support for Unicode, updates to the build infrastructure, and development of new features in memory allocation. For general information about XEmacs, the developers, and the user community, see our home page, http://www.xemacs.org/ * XEmacs 21.5.32 is "beta" software. The usual "no warranty" disclaimer (see etc/COPYING, sections 10 and 11) applies. At this point in time, it is the version that most developers are using for their daily work. However, it is certain that many bugs remain and new ones will be introduced as development proceeds. Be sure to take care to safe your work often and follow a regular backup regime. * Availability Anonymous ftp: ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.5 See http://www.xemacs.org/Install/ for more information about building from source. If you already have a 21.5.31 source tree, a patchkit is available in xemacs-21.5.31-21.5.32.patch.gz. This does not update .elcs or .infos. They will be rebuilt when you make XEmacs. If you have an earlier version, you can repeatedly apply patchkits. Also, if you don't have the packages yet, see http://www.xemacs.org/Documentation/packageGuide.html. Mercurial repository: http://hg.debian.org/hg/xemacs/xemacs-beta This is a read-only Mercurial repository. To check out XEmacs 21.5.32, use the command hg clone %(releaseSpec) http://hg.debian.org/hg/xemacs/xemacs-beta to create a new Mercurial workspace, or hg pull -u %(releaseSpec) if you already have a local workspace from Mercurial. To update to the most recent commits to the official repository, use hg pull -u tip For more details, see http://www.xemacs.org/Develop/hgaccess.html . Changes in XEmacs 21.5.32 "habanero"goto announcement, summary, changes # DO NOT PUT A VERSION MARKER HERE, ADDED AT RELEASEMajor Features, Bugfixes, and Backward Incompatible Changes
User-Visible Bug Fixes and Improvements
Build Infrastructure and Source Tree
Documentation
Lisp API
-- Improve: Add .pdf and other types to 'binary-file-regexps.
Internal API and Implementation
Testing and Debugging
ChangeLogs for XEmacs 21.5.32 "habanero"goto announcement, summary, changes
ChangeLog Entries from ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2012-07-28 Stephen J. Turnbull <stephen@xemacs.org> Thanks to Robert Delius Royar <xemacs@frinabulax.org>. * configure.ac (ASLR): Disable it on Mountain Lion, too. * configure: Regenerate. 2011-11-27 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * configure.ac: Add "-Wl,-no_pie" to linker flags on Mac OS X Lion to disable ASLR that breaks pdump. * configure: Regenerate. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * .hgignore: * configure.ac: Reflect move of etc/dbxrc.in to src/.dbxrc.in. * configure: Regenerate. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * configure: Regenerate with Autoconf 2.68. Default Autoconf 2.61 that comes with Mac OS X Lion breaks configure's ability to create Makefiles. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * configure.ac: Fix creation of etc/dbxrc and src/.dbxrc; only try to create Makefile when Makefile.in is there. * configure: Regenerate. 2011-10-14 Stephen J. Turnbull <stephen@xemacs.org> * configure.ac (with_athena): Refactor check for Xaw3d. 2011-09-05 Aidan Kehoe <kehoea@parhasard.net> * configure.ac: $machine is intel386, reflecting the file name under src/m/, on i[3-9]86. Respect this when deciding on VDB_POSIX over VDB_MACH with the new GC. * configure: Regenerate. 2011-08-24 Aidan Kehoe <kehoea@parhasard.net> * configure.ac: On OS X, if dlopen() is available in dlfcn.h, use it in preference to dyld; the latter API is deprecated. Move DLSYM_NEEDS_UNDERSCORE together with HAVE_DLYD, it's not needed if the dlsym() and dlopen() APIs are being used. Define REALPATH_CORRECTS_CASE, DEFAULT_FILE_SYSTEM_IGNORE_CASE in this file, don't define them in terms of HAVE_DYLD in src/config.h.in. * configure: Regenerate. 2011-05-20 Jerry James <james@xemacs.org> * Makefile.in.in: Default DESTDIR to the empty string, and use it in install targets. 2011-05-02 Jeff Sparkes <jsparkes@gmail.com> * configure.ac (HAVE_MS_WINDOWS): On cygwin, use the w32api package libraries in /usr/lib/w32api. Fix for tracker issue745. ChangeLog Entries from etc/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * dbxrc.in: Move to src/.dbxrc.in. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * dbxrc.in: There is no lrecord_type_lcrecord_list when using the new garbage collector; print $lrecord_type when Lisp Object type is unknown to pobj. 2011-06-28 Aidan Kehoe <kehoea@parhasard.net> * HELLO: No longer encode various Unicode characters in GNU's specific ad-hoc character sets, use ISO-IR-196 sequences instead. 2011-05-20 Jerry James <james@xemacs.org> * tests/external-widget/Makefile (DESTDIR): New variable for all Makefiles, unused in this one. ChangeLog Entries from lib-src/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2011-06-03 Aidan Kehoe <kehoea@parhasard.net> * gnuslib.c (connect_to_unix_server): Retry with /tmp as a directory in which to search for Unix sockets if an attempt to connect with some other directory failed (which may be because gnuclient and gnuserv don't share an environment value for TMPDIR, or because gnuserv was compiled with USE_TMPDIR turned off). 2011-05-20 Jerry James <james@xemacs.org> * Makefile.in.in: Default DESTDIR to the empty string, and use it in install targets. ChangeLog Entries from lisp/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2012-05-14 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-optimize-letX): In (let ...) forms, group constant initialisations together, so we can just dup in the byte code. 2012-05-14 Aidan Kehoe <kehoea@parhasard.net> Update minibuf.el to use #'test-completion, use the generality of recent completion changes to avoid some unnecessary consing when reading. * behavior.el (read-behavior): * cus-edit.el (custom-face-prompt): * cus-edit.el (widget-face-action): * faces.el (read-face-name): * minibuf.el: * minibuf.el (minibuffer-completion-table): * minibuf.el (exact-minibuffer-completion-p): Removed. #'test-completion is equivalent to this, but more general. * minibuf.el (minibuffer-do-completion-1): Use #'test-completion. * minibuf.el (completing-read): Update the documentation of the arguments used for completion. * minibuf.el (minibuffer-complete-and-exit): Use #'test-completion. * minibuf.el (exit-minibuffer): Use #'test-completion. * minibuf.el (minibuffer-smart-mouse-tracker): Use #'test-completion. * minibuf.el (read-color): No need to construct a completion table separate from the colour list. 2012-05-12 Aidan Kehoe <kehoea@parhasard.net> * subr.el: * subr.el (truncate-string-to-width): Sync with GNU's version, use its test suite in mule-tests.el. Avoid args-out-of-range errors, this function is regularly called from menu code and with debug-on-signal non-nil, this can be very irritating. Don't bind ellipsis-len, we don't use it. 2012-05-12 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-compile-unfold-lambda): Fetch the bytecode before unfolding a compiled function, its body may have been compiled lazily thanks to byte-compile-dynamic. Thank you Mats Lidell and the package smoketest! 2012-05-10 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-category.el (word-combining-categories): Be better about default word boundaries when text contains just-in-time-allocated Unicode code points. Document what we should do instead once we have Unicode internally. * mule/misc-lang.el: IPA characters are Latin. 2012-05-08 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (rassoc): Remove a stray parenthesis here, thank you Vin! 2012-05-06 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (block): Comment on why we can't use &environment here. * cl-macs.el (defmacro*): Document &environment in more detail. * cl-macs.el (macrolet): Use &environment, instead of referencing byte-compile-macro-environment directly. * cl-macs.el (symbol-macrolet): Ditto. * cl-macs.el (lexical-let): Ditto. * cl-macs.el (labels): Ditto. 2012-05-06 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el: * byte-optimize.el (or): * byte-optimize.el (byte-optimize-or): Declare for-effect properly, it's not free. * byte-optimize.el (byte-optimize-condition-case): New. * byte-optimize.el (byte-optimize-form-code-walker): Be more exhaustive in descending special forms, for the sake of lexically-oriented optimizers such as that for #'labels. 2012-05-05 Aidan Kehoe <kehoea@parhasard.net> Co-operate with the byte-optimizer in the bytecomp.el labels implementation, don't work against it. * byte-optimize.el: * byte-optimize.el (byte-compile-inline-expand): Call #'byte-compile-unfold-lambda explicitly here, don't assume that the byte-optimizer will do it. * byte-optimize.el (byte-compile-unfold-lambda): Call #'byte-optimize-body on the body, don't just mapcar #'byte-optimize-form along it. * byte-optimize.el (byte-optimize-lambda): New. Optimize a lambda form. * byte-optimize.el (byte-optimize-form-code-walker): Descend lambda expressions, defun, and defmacro, relevant for lexically-oriented operators like #'labels. * byte-optimize.el (byte-optimize-body): Only return a non-eq object if we've actually optimized something * bytecomp.el (byte-compile-initial-macro-environment): In the labels implementation, work with the byte optimizer, not against it; warn when labels are defined but not used, automatically inline labels that are used only once. * bytecomp.el (byte-recompile-directory): No need to wrap #'byte-compile-report-error in a lambda with #'call-with-condition-handler here. * bytecomp.el (byte-compile-form): Don't inline compiled-function objects, they're probably labels. * bytecomp.el (byte-compile-funcall): No longer inline lambdas, trust the byte optimizer to have done it properly, even for labels. * cl-extra.el (cl-macroexpand-all): Treat labels established by the byte compiler distinctly from those established by cl-macs.el. * cl-macs.el (cl-do-proclaim): Treat labels established by the byte compiler distinctly from those established by cl-macs.el. * gui.el (make-gui-button): When referring to the #'gui-button-action label, quote it using function, otherwise there's a warning from the byte compiler. 2012-05-05 Aidan Kehoe <kehoea@parhasard.net> Remove some redundant functions; turn other utility functions into labels, avoiding visibility in the global namespace, and reducing the size of the dumped binary. * auto-save.el (auto-save-unhex): Removed. * auto-save.el (auto-save-unescape-name): Use #'string-to-number instead of #'auto-save-unhex. * files.el (save-some-buffers): * files.el (save-some-buffers-1): Changed to a label. * files.el (not-modified): * gui.el (make-gui-button): * gui.el (gui-button-action): Changed to a label. * gui.el (insert-gui-button): * indent.el (indent-for-tab-command): * indent.el (insert-tab): Changed to a label. * indent.el (indent-rigidly): * isearch-mode.el: * isearch-mode.el (isearch-ring-adjust): * isearch-mode.el (isearch-ring-adjust1): Changed to a label. * isearch-mode.el (isearch-pre-command-hook): * isearch-mode.el (isearch-maybe-frob-keyboard-macros): Changed to a label. * isearch-mode.el (isearch-highlight): * isearch-mode.el (isearch-make-extent): Changed to a label. * itimer.el: * itimer.el (itimer-decrement): Removed, replaced uses with decf. * itimer.el (itimer-increment): Removed, replaced uses with incf. * itimer.el (itimer-signum): Removed, replaced uses with minusp, plusp. * itimer.el (itimer-name): * itimer.el (check-itimer): Removed, replaced with #'check-type calls. * itimer.el (itimer-value): * itimer.el (check-itimer-coerce-string): Removed. * itimer.el (itimer-restart): * itimer.el (itimer-function): * itimer.el (check-nonnegative-number): Removed. * itimer.el (itimer-uses-arguments): * itimer.el (check-string): Removed. * itimer.el (itimer-function-arguments): * itimer.el (itimer-recorded-run-time): * itimer.el (set-itimer-name): * itimer.el (set-itimer-value): * itimer.el (set-itimer-value-internal): * itimer.el (set-itimer-restart): * itimer.el (set-itimer-function): * itimer.el (set-itimer-is-idle): * itimer.el (set-itimer-recorded-run-time): * itimer.el (get-itimer): * itimer.el (delete-itimer): * itimer.el (start-itimer): * itimer.el (activate-itimer): * itimer.el (itimer-edit-set-field): * itimer.el (itimer-edit-next-field): * itimer.el (itimer-edit-previous-field): Use incf, decf, plusp, minusp and the more general argument type checking macros. * lib-complete.el: * lib-complete.el (lib-complete:better-root): Changed to a label. * lib-complete.el (lib-complete:get-completion-table): Changed to a label. * lib-complete.el (read-library-internal): Include labels. * lib-complete.el (lib-complete:cache-completions): Changed to a label. * minibuf.el (read-buffer): Use #'set-difference, don't reinvent it. * newcomment.el (comment-padright): Use a label instead of repeating a lambda expression. * packages.el (package-get-key): * packages.el (package-get-key-1): Removed, use #'getf instead. * simple.el (kill-backward-chars): Removed; this isn't used. * simple.el (what-cursor-position): (lambda (arg) (format "%S" arg) -> #'prin1-to-string. * simple.el (debug-print-1): Renamed to #'debug-print. * simple.el (debug-print): Removed, #'debug-print-1 was equivalent. * subr.el (integer-to-bit-vector): check-nonnegative-number no longer available. * widget.el (define-widget): * widget.el (define-widget-keywords): Removed, this was long obsolete. 2012-05-01 Aidan Kehoe <kehoea@parhasard.net> Avoid #'delq in core code, for the sake of style and a (very slightly) smaller binary. * behavior.el (disable-behavior): * behavior.el (compute-behavior-group-children): * buff-menu.el (buffers-tab-items): * byte-optimize.el (byte-optimize-delay-constants-math): * byte-optimize.el (byte-optimize-logmumble): * byte-optimize.el (byte-decompile-bytecode-1): * byte-optimize.el (byte-optimize-lapcode): * bytecomp.el: * bytecomp.el (byte-compile-arglist-warn): * bytecomp.el (byte-compile-warn-about-unresolved-functions): * bytecomp.el (byte-compile-lambda): * bytecomp.el (byte-compile-out-toplevel): * bytecomp.el (byte-compile-insert): * bytecomp.el (byte-compile-defalias-warn): * cl-macs.el (cl-upcase-arg): * cl-macs.el (cl-transform-lambda): * cl-macs.el (cl-do-proclaim): * cl-macs.el (defstruct): * cl-macs.el (cl-make-type-test): * cl-macs.el (define-compiler-macro): * cl-macs.el (delete-duplicates): * cus-edit.el (widget-face-value-delete): * cus-edit.el (face-history): * easymenu.el (easy-menu-remove): * files.el (files-fetch-hook-value): * files.el (file-expand-wildcards): * font-lock.el (font-lock-update-removed-keyword-alist): * font-lock.el (font-lock-remove-keywords): * frame.el (frame-initialize): * frame.el (frame-notice-user-settings): * frame.el (set-frame-font): * frame.el (delete-other-frames): * frame.el (get-frame-for-buffer-noselect): * gnuserv.el (gnuserv-kill-buffer-function): * gnuserv.el (gnuserv-check-device): * gnuserv.el (gnuserv-kill-client): * gnuserv.el (gnuserv-buffer-done-1): * gtk-font-menu.el (gtk-reset-device-font-menus): * gutter-items.el (buffers-tab-items): * gutter.el (set-gutter-element-visible-p): * info.el (Info-find-file-node): * info.el (Info-history-add): * info.el (Info-build-annotation-completions): * info.el (Info-index): * info.el (Info-reannotate-node): * itimer.el (delete-itimer): * itimer.el (start-itimer): * lib-complete.el (lib-complete:cache-completions): * loadhist.el (unload-feature): * menubar-items.el (build-buffers-menu-internal): * menubar.el (delete-menu-item): * menubar.el (relabel-menu-item): * msw-font-menu.el (mswindows-reset-device-font-menus): * mule/make-coding-system.el (fixed-width-generate-helper): * next-error.el (next-error-find-buffer): * obsolete.el: * obsolete.el (find-non-ascii-charset-string): * obsolete.el (find-non-ascii-charset-region): * occur.el (multi-occur-by-filename-regexp): * occur.el (occur-1): * packages.el (packages-package-hierarchy-directory-names): * packages.el (package-get-key-1): * process.el (setenv): * simple.el (undo): * simple.el (handle-pre-motion-command-current-command-is-motion): * sound.el (load-sound-file): * wid-edit.el (widget-field-value-delete): * wid-edit.el (widget-checklist-match-inline): * wid-edit.el (widget-checklist-match-find): * wid-edit.el (widget-editable-list-delete-at): * wid-edit.el (widget-editable-list-entry-create): * window.el (quit-window): * x-font-menu.el (x-reset-device-font-menus-core): 1. Replace (delq nil (mapcar ....)) with analogous (mapcan ...) forms; this is in non-dumped files, it was done previously in dumped files. 2. Replace (delq FOO (copy-sequence BAR)) with (remove* FOO BAR), where #'eq and #'eql are equivalent 3. Replace (delq FOO BAR) with (delete* FOO BAR), where FOO is not a non-fixnum number. Saves a little space in the dumped file (since the compiler macro adds :test #'eq to the delete* call if it's not clear that FOO is not a non-fixnum number). 2012-05-07 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el: * cl-macs.el (cl-non-fixnum-number-p): Rename, to cl-non-immediate-number-p. This is a little more informative as a name, though still not ideal, in that it will give t for some immediate fixnums on 64-bit builds. * cl-macs.el (eql): * cl-macs.el (define-star-compiler-macros): * cl-macs.el (delq): * cl-macs.el (remq): Use the new name. * cl-macs.el (cl-equal-equivalent-to-eq-p): New. * cl-macs.el (cl-car-or-pi): New. * cl-macs.el (cl-cdr-or-pi): New. * cl-macs.el (equal): New compiler macro. * cl-macs.el (member): New compiler macro. * cl-macs.el (assoc): New compiler macro. * cl-macs.el (rassoc): New compiler macro. If any of #'equal, #'member, #'assoc or #'rassoc has a constant argument such that #'eq, #'memq, #'assq or #'rassq, respectively, are equivalent, make the substitution. Relevant in files like ispell.el, there's a reasonable amount of code out there that doesn't quite get the distinction. 2012-05-01 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-optimize-form-code-walker): * byte-optimize.el (byte-optimize-or): Improve handling of for-effect here; we don't need to worry about discarding multiple values when for-effect is non-nil, this applies to both #'prog1 and #'or. * bytecomp.el (progn): * bytecomp.el (byte-compile-file-form-progn): New. Put back this function, since it's for-effect there's no need to worry about passing back multiple values. * cl-macs.el (cl-pop2): * cl-macs.el (cl-do-pop): * cl-macs.el (remf): * cl.el (pop): Expand to (prog1 (car-safe PLACE) (setq PLACE (cdr PLACE))) in all these macros, since that optimizes better (especially for-effect handling) when byte-compile-delete-errors is nil. 2012-04-23 Michael Sperber <mike@xemacs.org> * bytecomp.el (batch-byte-recompile-directory): Accept an optional argument that's passed on to `byte-recompile-directory' as the prefix argument, thus imitating GNU Emacs's API. 2012-04-07 Aidan Kehoe <kehoea@parhasard.net> Remove some utility functions from the global namespace, it's more appropriate to have them as labels (that is, lexically-visible functions.) * behavior.el: * behavior.el (behavior-menu-filter-1): Moved to being a label. * behavior.el (behavior-menu-filter): Use the label. * cus-edit.el (custom-load-symbol-1): Moved to being a label. * cus-edit.el (custom-load-symbol): Use the label. * menubar.el (find-menu-item-1): Moved to being a label. * menubar.el (find-menu-item): Use the label. * window-xemacs.el: * window-xemacs.el (display-buffer-1): Moved to being a label. * window-xemacs.el (display-buffer): Use the label; use (block ...) instead of (catch ...), use prog1 instead of needlessly binding a variable. 2012-03-02 Aidan Kehoe <kehoea@parhasard.net> * select.el (select-coerce): Whoops, selection-coercion-alist, not selection-conversion-alist, thank you Philip Aston in 4F4A2CBC.1060709@mail.com . 2012-01-14 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-catch): Be more careful about non-quoted-symbol TAGs here; thank you Robert Pluim in CAMTcmTeLaZVrABnP-1MRUA3ZpZ=h2S_YVxKWDDNuc5bAyJD-gg@mail.gmail.com ! 2012-01-08 Vin Shelton <acs@xemacs.org> * cus-face.el: autoload custom-set-face-bold. 2012-01-08 Aidan Kehoe <kehoea@parhasard.net> * x-init.el: * x-init.el (pseudo-canonicalize-keysym): New. * x-init.el: Move #'x-keysym-on-keyboard-sans-modifiers-p, #'x-keysym-on-keyboard-p here from device-x.c, some string manipulation it now needs to do is far easier in Lisp. * x-win-xfree86.el: * x-win-xfree86.el (x-win-init-xfree86): No longer call #'x-keysym-on-keyboard{,-sans-modifiers}-p, implement it ourselves cheaply. 2012-01-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (cl-compile-time-init): Add an autoload for this, some code supplies -no-autoloads when byte-compiling, making it necessary. * obsolete.el (cl-puthash): Put back a compatibility alias for this, setf-expansion of #'gethash calls it on 21.4, so it will occur in packages for a while to come. 2011-12-30 Aidan Kehoe <kehoea@parhasard.net> * subr.el (copy-symbol): Don't error with a non-list plist, as happens with symbols in abbrev tables. 2011-12-30 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el: Call #'cl-compile-time-init explicitly here, don't rely on bytecomp-load-hook for what is core functionality. * cl-extra.el: * cl-extra.el (require): * cl-extra.el (make-random-state): * cl-extra.el (random-state-p): * cl-extra.el (make-hashtable): Removed. * cl-extra.el (make-weak-hashtable): Removed. * cl-extra.el (make-key-weak-hashtable): Removed. * cl-extra.el (make-value-weak-hashtable): Removed. * cl-extra.el ('hashtablep): Removed. * cl-extra.el ('hashtable-fullness): Removed. * cl-extra.el ('hashtable-test-function): Removed. * cl-extra.el ('hashtable-type): Removed. * cl-extra.el ('hashtable-size): Removed. * cl-extra.el ('copy-hashtable): Removed. * cl-extra.el (cl-builtin-gethash): Removed. * cl-extra.el (cl-builtin-remhash): Removed. * cl-extra.el (cl-builtin-clrhash): Removed. * cl-extra.el (cl-builtin-maphash): Removed. * cl-extra.el ('cl-gethash): Removed. * cl-extra.el ('cl-puthash): Removed. * cl-extra.el ('cl-remhash): Removed. * cl-extra.el ('cl-clrhash): Removed. * cl-extra.el ('cl-maphash): Removed. * cl-extra.el ('cl-make-hash-table): Removed. * cl-extra.el ('cl-hash-table-p): Removed. * cl-extra.el ('cl-hash-table-count): Removed. * cl-extra.el (cl-prettyexpand): * cl-extra.el (names): Remove compatibility aliases from this file. In #'cl-prettyexpand, if FULL is nil, don't expand return-from either, for symmetry with not expanding block. Drop cl-extra-load-hook, it's useless when cl-extra is dumped (since third-party code can't use it, and dumped code shouldn't use it.) * cl-macs.el: * cl-macs.el (cl-pop2): * cl-macs.el (defun*): * cl-macs.el (cl-parse-loop-clause): Remove some no-longer-needed compatibility kludges. * cl.el: * cl.el ('cl-map-extents): Removed. * cl.el (cl-random-time): * cl.el (list*): New, moved back from subr.el, given a shorter implementation. * cl.el ('cl-member): Removed. * cl.el ('cl-floor): Removed. * cl.el ('cl-ceiling): Removed. * cl.el ('cl-truncate): Removed. * cl.el ('cl-round): Removed. * cl.el ('cl-mod): Removed. Remove some compatibility aliases; these may conflict with package usage, in which case the packages need to be updated, the new names are available in 21.4, and that's the most recent version we support. * cl.el (cl-hacked-flag): Removed. * cl.el (cl-hack-byte-compiler): Removed. * subr.el: * subr.el (list*): Moved back to cl.el. * update-elc-2.el (batch-update-elc-2): * update-elc.el (do-autoload-commands): Add an autoload for cl-compile-time-init in these two files, they run on bare temacs, auto-autoload isn't available to them, and now bytecomp calls cl-compile-time-init explicitly. * cl-compat.el: Removed. This file was long obsolete. 2011-12-27 Didier Verna <didier@xemacs.org> * cl-macs.el (face-foreback): New defsetf. * faces.el (set-face-property): Document the foreback property. * faces.el (face-foreback): * faces.el (face-foreback-instance): * faces.el (face-foreback-name): * faces.el (set-face-foreback): New functions. * faces.el (face-equal): * faces.el (init-other-random-faces): * cus-face.el (custom-face-attributes): * x-faces.el (x-init-face-from-resources): Handle the foreback property. 2011-12-27 Didier Verna <didier@xemacs.org> * faces.el (face-foreground-name): Fix docstring typo. 2011-12-27 Didier Verna <didier@xemacs.org> * faces.el: Explicitely set the 'zmacs-region face to not shrink so as to override a shrink setting for a face under it (during face merging). 2011-12-27 Didier Verna <didier@xemacs.org> * wid-edit.el (widget-field-face): Set this face to shrink. Fix incorrect specification. 2011-12-26 Didier Verna <didier@xemacs.org> * cl-macs.el (face-flush-p): Removed. * cl-macs.el (face-shrink-p): New. * faces.el (face-flush-p): Removed. * faces.el (face-shrink-p): New. * faces.el (set-face-flush-p): Removed. * faces.el (set-face-shrink-p): New. * cus-face.el (custom-face-attributes): * faces.el (set-face-property): * faces.el (face-equal): * x-faces.el (x-init-face-from-resources): * x-faces.el (make-face-x-resource-internal): Replace the 'flush property with the opposite 'shrink one. 2011-12-23 Aidan Kehoe <kehoea@parhasard.net> * select.el (activate-region-as-selection): * select.el (select-make-extent-for-selection): * select.el (select-convert-in): * select.el (select-convert-out): * select.el (select-coerce): * select.el (select-convert-to-targets): Improve Lisp style in a few places here; don't re-implement #'delete-duplicates, use #'funcall instead of consing up a list to pass to #'apply. 2011-12-23 Didier Verna <didier@xemacs.org> * cl-macs.el (face-flush-p): New defsetf. * faces.el (set-face-property): Document the flush property. * faces.el (face-flush-p): New function. * faces.el (set-face-flush-p): New function. * faces.el (face-equal): * cus-face.el (custom-face-attributes): * x-faces.el (x-init-face-from-resources): * x-faces.el (make-face-x-resource-internal): Handle the flush property. 2011-12-22 Aidan Kehoe <kehoea@parhasard.net> * bytecomp-runtime.el: * bytecomp-runtime.el (byte-compile-macro-environment): Moved to eval.c. * cl.el: * cl.el ('cl-macroexpand): New alias. * cl.el ('macroexpand-internal): New alias. * cl.el (cl-macroexpand): Move the functionality of this to #'macroexpand (formerly #'macroexpand-internal) in eval.c; since CL is always loaded in XEmacs, it brings nothing and slows things down to have the two functions separate. 2011-12-21 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (cl-transform-function-property): Call #'cl-macroexpand-all when doing this, avoiding unpleasantness with defsetf and lexical variables. * cl-macs.el (assert): The previous change meant #'remove-if isn't necessarily available yet; use the :key argument with #'remove* instead. 2011-12-10 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (posix-charset-to-coding-system-hash): Correct the docstring for this variable. 2011-12-13 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-eval): When evaluating code at compile time, don't put those macros in the macro environment that only make sense when creating byte-compiled output. 2011-12-13 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): If lexical let has played with our lambas, give up on constructing the compiled functions at compiled time, that strategy doesn't work. 2011-12-09 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (load-time-value): Clarify the docstring here, thanks for pointing out its inaccuracy Julian Bradfield. 2011-11-14 Vin Shelton <acs@xemacs.org> * faces.el: When the default background was changed from light to dark or vice versa, the custom-property cache maintained the old value, preventing face definitions from choosing the proper values. Patch from Aidan Kehoe. 2011-11-09 Aidan Kehoe <kehoea@parhasard.net> * help.el (describe-function-1): When printing compiled functions, mention whether they're built-in. 2011-11-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-lambda): Accept a new NAME argument here, have byte-compile-current-form reflect that if it's specified. * bytecomp.el (byte-compile-initial-macro-environment): Specify the label name when byte-compiling it, so warning and errors are more helpful. 2011-10-17 Aidan Kehoe <kehoea@parhasard.net> * startup.el (load-terminal-library): Don't (getenv "TERM") here, call #'console-tty-terminal-type instead, different gnuclient consoles can and should have different terminal type function maps effective. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * obsolete.el: * obsolete.el (assq-delete-all): * packages.el (package-provide): * packages.el (package-suppress): * mule/cyrillic.el ("Cyrillic-KOI8"): * mule/cyrillic.el (koi8-u): * mule/general-late.el (posix-charset-to-coding-system-hash): * mule/latin.el: * mule/latin.el (for): * cl-extra.el: * cl-extra.el (cl-extra): * loadup.el (load-history): Change any uses of #'remassq, #'remassoc and friends to calling #'delete* with an appropriate key argument. Provide compatibility implementations, mark them obsolete. 2011-10-08 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el: * cl-macs.el (load-time-value): * cl-macs.el (flet): * cl-macs.el (labels): * cl-macs.el (the): * cl-macs.el (declare): Move all these macros to the end of the file, since they're in byte-compile-initial-macro-environment, and we don't want their definitions to override that for the rest of the file during byte-compilation. Happens not to matter right now, but avoids surprises for anyone using the macros elsewhere in cl-macs down the line. 2011-10-08 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): In the compiler implementation of load-time-value, don't byte-compile at macroexpansion time, delay that until byte-compilation time, giving, e.g. labels a chance to do its thing. 2011-10-04 Aidan Kehoe <kehoea@parhasard.net> * autoload.el (make-autoload): Don't add arglist info to the autoload form's docstring if the arglist info is already there. 2011-10-04 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-funcall): Correct a comment here, explaining why the optimizer doesn't expand (funcall #'(lambda ...)) in some contexts with inline labels, and why it's reasonable to do it here. 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * simple.el (handle-pre-motion-command-current-command-is-motion): Implement #'keysyms-equal with #'labels + (declare (inline ...)), instead of abusing macrolet to the same end. * specifier.el (let-specifier): * mule/mule-cmds.el (describe-language-environment): * mule/mule-cmds.el (set-language-environment-coding-systems): * mule/mule-x-init.el (x-use-halfwidth-roman-font): * faces.el (Face-frob-property): * keymap.el (key-sequence-list-description): * lisp-mode.el (construct-lisp-mode-menu): * loadhist.el (unload-feature): * mouse.el (default-mouse-track-check-for-activation): Declare various labels inline in dumped files when that reduces the size of the dumped image. Declaring labels inline is normally only worthwhile for inner loops and so on, but it's reasonable exercise of the related code to have these changes in core. 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-funcall): Sometimes the optimizer shirks its responsibility and doesn't unfold a lambda when it should. Do this here, if optimization is turned on; this makes inlining labels more consistent and trustworthy. 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): Add #'declare to this, so it doesn't need to rely on #'cl-compiling file to determine when we're byte-compiling. Update #'labels to support declaring labels inline, as Common Lisp requires. * bytecomp.el (byte-compile-function-form): Don't error if FUNCTION is quoting a non-lambda, non-symbol, just return it. * cl-extra.el (cl-macroexpand-all): If a label name has been quoted, expand to the label placeholder quoted with 'function. This allows the byte compiler to distinguish between uses of the placeholder as data and uses in contexts where it should be inlined. * cl-macs.el: * cl-macs.el (cl-do-proclaim): When proclaming something as inline, if it is bound as a label, don't modify the symbol's plist; instead, treat the first element of its placeholder constant vector as a place to store compile information. * cl-macs.el (declare): Leave processing declarations while compiling to the implementation of #'declare in byte-compile-initial-macro-environment. 2011-09-25 Aidan Kehoe <kehoea@parhasard.net> * files.el (binary-file-regexps): Remove ELC files from this, many of them are escape-quoted, and when opening them for viewing XEmacs should look at the coding cookie and respect that. * bytecomp.el (byte-compile-insert-header): Always insert a coding cookie, now ELC files are no longer in binary-file-regexps. 2011-09-21 Aidan Kehoe <kehoea@parhasard.net> * files.el (binary-file-regexps): Update this, adding everything that maps to no-conversion or no-conversion-multibyte in GNU's auto-mode-alist. In particular, add PDFs, important given gnus' problem with them of http://mid.xemacs.org/m3r637lpm5.fsf@mikesoffice.com and the associated thread, and Uwe's recent re-reporting of the same problem. 2011-09-21 Aidan Kehoe <kehoea@parhasard.net> * select.el (select-convert-to-text): * select.el (select-convert-to-utf-8-text): Ignore extent information in these functions, other programs can't do anything useful with it, and it actively interferes when copying from an ERC buffer to external programs-- #'encode-coding-string complains that the string is read-only, which is arguably in itself a separate problem, since it allocates a new string there's no reason for it ever to throw that error. 2011-09-11 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (cl-defsubst-expand): Be more careful still here, make sure that any references to variables in BODY don't access those values in the enclosing scope when that would be inappropriate. Add some documentation of a potential reasonable approach to avoiding the problems with our (non-Common Lisp-conformant) #'symbol-macrolet. 2011-09-10 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (cl-defsubst-expand): Change set 2a6a8da4dd7c of http://mid.xemacs.org/19966.17522.332164.615228@parhasard.net wasn't sufficiently comprehensive, symbol macros can be mutually rather than simply recursive, and they can equally hang. Thanks for the bug report, Michael Sperber, and for the test case, Stephen Turnbull. 2011-09-09 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-from-buffer): If compiling a form has changed the current buffer (that is, some eval-when-compile form hasn't done save-excursion when appropriate), error and exit; we can't guarantee we'll give useful code in that context. See http://mid.xemacs.org/20110909110831.GD2875@acm.acm and related discussion. 2011-09-07 Aidan Kehoe <kehoea@parhasard.net> * simple.el (transpose-subr): * specifier.el (let-specifier): * specifier.el (derive-device-type-from-tag-set): * test-harness.el (batch-test-emacs): * x-compose.el (alias-colon-to-doublequote): * mule/chinese.el (make-chinese-cns11643-charset): * mule/mule-cmds.el (set-locale-for-language-environment): * mule/mule-cmds.el (set-language-environment-coding-systems): * mule/mule-x-init.el (x-use-halfwidth-roman-font): * about.el (about-xemacs): * about.el (about-hackers): * diagnose.el (show-memory-usage): * diagnose.el (show-object-memory-usage-stats): * diagnose.el (show-mc-alloc-memory-usage): * diagnose.el (show-gc-stats): * dialog.el (make-dialog-box): * faces.el: * faces.el (Face-frob-property): * faces.el (set-face-stipple): * glyphs.el: * glyphs.el (init-glyphs): Removed. * help-macro.el (make-help-screen): * info.el (Info-construct-menu): * keymap.el (key-sequence-list-description): * lisp-mode.el (construct-lisp-mode-menu): * loadhist.el (unload-feature): * minibuf.el (get-user-response): * mouse.el (default-mouse-track-check-for-activation): * mouse.el (mouse-track-insert-1): Follow my own advice from the last commit and use #'labels instead of #'flet in core code. 2011-09-07 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el: * bytecomp.el (for-effect): Move this earlier in the file, it's referenced in byte-compile-initial-macro-environment. * bytecomp.el (byte-compile-initial-macro-environment): In the byte-compile-macro-environment definition for #'labels, put off the compiling the lambda bodies until the point where the rest of the form is being compiled, allowing the lambda bodies to access appropriate values for byte-compile-bound-variables, and reducing excessive warning about free variables. Add a byte-compile-macro-environment definition for #'flet. This modifies byte-compile-function-environment appropriately, and warns about bindings of functions that have macro definitions in the current environment, about functions that have byte codes, and about functions that have byte-compile methods (which may not do what the user wants at runtime). * bytecomp.el (byte-compile-funcall): If FUNCTION is constant, call #'byte-compile-callargs-warn if that's appropriate, giving warnings about problems with calling functions bound with #'labels. * cl-macs.el: * cl-macs.el (flet): Mention the main difference from Common Lisp, that the bindings are dynamic, not lexical. Counsel the use of #'labels, not #'flet, for this and other reasons. Explain the limited single use case for #'flet. Cross-reference to bytecomp.el in a comment. * cl-macs.el (labels): Go into detail on which functions may be called from where. Explain how to access the function definition of a label within FORM. Add a comment cross-referencing to bytecomp.el. 2011-09-06 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (set-language-environment-coding-systems): Set the input mode for TTY consoles to use the eighth bit for character information if the native coding system for the language environment needs that. 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> * bytecomp-runtime.el: * bytecomp-runtime.el (byte-compile-macro-environment): Moved from bytecomp.el. * bytecomp.el: * bytecomp.el (byte-compile-initial-macro-environment): Add implementations for #'load-time-value, #'labels here, now cl-macs respects byte-compile-macro-environment. * bytecomp.el (byte-compile-function-environment): * bytecomp.el (byte-compile-macro-environment): Removed. * bytecomp.el (symbol-value): * bytecomp.el (byte-compile-symbol-value): Removed. * cl-extra.el (cl-macroexpand-all): * cl-macs.el: * cl-macs.el (bind-block): * cl-macs.el (cl-macro-environment): Removed. * cl-macs.el (cl-transform-lambda): * cl-macs.el (load-time-value): * cl-macs.el (block): * cl-macs.el (flet): * cl-macs.el (labels): * cl-macs.el (macrolet): * cl-macs.el (symbol-macrolet): * cl-macs.el (lexical-let): * cl-macs.el (apply): * cl-macs.el (nthcdr): * cl-macs.el (getf): * cl-macs.el (substring): * cl-macs.el (values): * cl-macs.el (get-setf-method): * cl-macs.el (cl-setf-do-modify): * cl.el: * cl.el (cl-macro-environment): Removed. * cl.el (cl-macroexpand): * obsolete.el (cl-macro-environment): Moved here. Drop cl-macro-environment, in favour of byte-compile-macro-environment; make the latter available in bytecomp-runtime.el. This makes byte-compile-macro-environment far less useless, since previously code that used cl-macs would ignore it when calling #'cl-macroexpand-all. Add byte-compiler-specific implementations for #'load-time-value, #'labels. The latter is very nice indeed; it avoids the run-time consing of the current implementation, is fully lexical and avoids the run-time shadowing of symbol function slots that flet uses. It would now be reasonable to move most core uses of flet to use labels instead. Non-core code can't rely on print-circle for mutually recursive functions, though, so it's less of an evident win. 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (get-char-table): Add a defsetf for this. 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-output-file-form): * bytecomp.el (byte-compile-output-docform): Bind print-circle, print-continuous-numbering in these functions, now those variables are available. * lisp.el (forward-sexp): * lisp.el (backward-sexp): Recognise leading #N= as being part of an expression. 2011-08-24 Aidan Kehoe <kehoea@parhasard.net> * process.el (shell-command-on-region): Correct typo from the merge, nnot -> not. 2011-08-24 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (apply-partially): Add an assertion to this compiler macro, requiring that the order of the placeholders corresponding to the arguments in the constants vector of the constructed compiled function be the same as the order of the arguments to #'apply-partially. 2011-08-12 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el: * cl-macs.el (apply-partially): New compiler macro. * subr.el: * subr.el (apply-partially): New. Sync this function's API and docstring from GNU. The implementation is mine and trivial; the compiler macro in cl-macs.el ensures that partially-applied functions in compiled code are also compiled. 2011-08-10 Aidan Kehoe <kehoea@parhasard.net> * keymap.el: * keymap.el (event-apply-alt-modifier): * keymap.el (event-apply-super-modifier): * keymap.el (event-apply-hyper-modifier): * keymap.el (event-apply-shift-modifier): * keymap.el (event-apply-control-modifier): * keymap.el (event-apply-meta-modifier): * keymap.el (event-apply-modifiers): New. * keymap.el (event-apply-modifier): Implement in terms of #'event-apply-modifier. Rework #'event-apply-modifier to take a list of modifiers, and change its name appropriately. Keep the old name around, too. 2011-08-10 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-normal-call): When a function takes :if, :if-not, :test, :test-not or :key arguments, do the quoted-lambda check there too. 2011-08-04 Stephen J. Turnbull <stephen@xemacs.org> * test-harness.el (test-harness-bug-expected): Update docstring. (Known-Bug-Expect-Failure, Known-Bug-Expect-Error): Ask if bug was fixed in PASS message. (Known-Bug-Expect-Error): Simplify code to produce clearer output. Make pass and failure correspond to Check-Error. (Print-Pass): Always print test result for known bugs. 2011-07-29 Mats Lidell <matsl@xemacs.org> * process.el (shell-command): * process.el (shell-command-on-region): API compatible/synced with FSF 23.3.1. 2011-07-22 Mats Lidell <matsl@xemacs.or> * syntax-ppss.el: Synced up with Emacs 23.3 (syntax.el) 2011-07-03 Aidan Kehoe <kehoea@parhasard.net> * cl.el (cl-macroexpand): Allow code to disable a given symbol macro while expanding code by prepending a cons with a nil cdr to the macro environment. 2011-06-25 Aidan Kehoe <kehoea@parhasard.net> * gtk-init.el: * gtk-init.el (make-device-late-gtk-entry-point): * gtk-init.el (gtk-initialize-compose): Removed. * keymap.el: * keymap.el (function-key-map-parent): * x-init.el (x-initialize-compose): Removed. * x-init.el (make-device-late-x-entry-point): Make the bindings for dead-acute and friends in function-key-map-parent, rather than function-key-map; do this in keymap.el rather than in window-system-specific code, since the compose processing is generally useful and not X11-specific. It's probably reasonable to rename x-compose.el to compose.el at this point, but I haven't done that. 2011-06-23 Didier Verna <didier@xemacs.org> From smitchel <smitchel@bnin.net> * frame.el (get-other-frame): Add missing first argument THIS to the call to NEXT-FRAME. 2011-06-24 Aidan Kehoe <kehoea@parhasard.net> * view-less.el (view): Add a custom group to this file, so view-mode-line-string has an associated custom group automatically. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (cl-defsubst-expand): It is occasionally the case that the symbol naming the argument co-incides with the value that it is replacing; in that case, using the symbol macro is counterproductive and hangs XEmacs (as does analogous code in SBCL), so don't. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * behavior.el (enable-behavior): * behavior.el (disable-behavior): Remove a couple of redundant lambdas here, and remove a cond clause that was never tripped (because nil is a list.) * behavior.el (behavior-menu-filter): Correct some indentation here. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (defsubst*): * cl-macs.el (cl-defsubst-expand): If defaults refer to earlier args, or if there's a &rest arg, use #'proclaim-inline. Use #'symbol-macrolet instead of #'subst when replacing argument names with their values in the inline expansion; this avoids (most) instances where the symbol's function slot is used. Document a bug that occurs if the symbol is being shadowed in a lexically-contained scope. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el: * cl-macs.el (assoc-ignore-case, assoc-ignore-representation): * cl-macs.el (member-ignore-case): New compiler macros. * subr.el (assoc-ignore-case): * subr.el (assoc-ignore-representation): * subr.el (member-ignore-case): * subr.el (split-path): * subr.el (delete-dups): Reimplement a few GNU functions in terms of their CL counterparts, for the sake of circularity checking and some speed; add type checking (used in interpreted code and with low speed and safety checking) for the sake of revealing incompatibilities when developing. * subr.el (remove-hook): There's no need for flet here, an explicit lambda is enough. 2011-06-04 Aidan Kehoe <kehoea@parhasard.net> * gutter-items.el (add-tab-to-gutter): * toolbar-items.el (toolbar-add-item-data): Switch to #'dolist instead of #'mapcar in a couple of places where the result isn't used. (Committed now mostly to trigger a commit mail so Mats' buildbot gets woken up.) 2011-05-29 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (cl-transform-lambda): Move the code to decide whether to add argument information to the docstring a little later, so the information about what the function's docstring ends up being is a little more exact. 2011-05-27 Aidan Kehoe <kehoea@parhasard.net> * modeline.el (make-modeline-command-wrapper): Be more reasonable about the implementation of this wrapper, don't require that the value of COMMAND be available at macro-expansion time. (Basically, implement a closure.) * modeline.el (add-minor-mode): Remove a workaround and misguided comment that are no longer necessary or exact. 2011-05-25 Didier Verna <didier@xemacs.org> * cl-macs.el (macrolet): * cl-macs.el (symbol-macrolet): Don't require one mandatory [symbol-]macro definition in the first argument. The Common Lisp standard allows the list of definitions to be empty. 2011-05-18 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (bind-inits)): Removed. * cl-macs.el (defun*): * cl-macs.el (defmacro*): * cl-macs.el (function*): * cl-macs.el (macrolet): * cl-macs.el (cl-transform-function-property): * cl-macs.el (destructuring-bind): Remove `bind-inits' from this file, and only ever return nil as the first element of cl-transform-lambda's result list; bind-inits hasn't been used since the support for non-self-quoting keywords was removed, and its absence (and the guarantee that the first element of the result of cl-transform-lambda is nil) make the implementations of various other macros easier and clearer. * cl-macs.el (cl-transform-lambda): Give this function a docstring. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * bytecomp-runtime.el: * bytecomp.el (byte-compile-file-form-defmumble): * bytecomp-runtime.el (macro-declaration-function): New. * subr.el: * subr.el (macro-declaration-function): Removed. Add support for macro-declaration-function, which is a GNU mechanism for indicating indentation and edebug information in macros (and only in macros). 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * subr.el: * subr.el (split-path): New. Moved here from fns.c. There's no need to have this in C, it's no longer used that early at startup. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el: * bytecomp.el (byte-compile-two-args-19->20): Removed. * bytecomp.el (byte-compile-emacs19-compatibility): Removed. * bytecomp.el (byte-defop-compiler20): Removed. * bytecomp.el (byte-defop-compiler-rmsfun): Removed. * bytecomp.el (emacs-lisp-file-regexp): * bytecomp.el (byte-compile-print-gensym): * bytecomp.el (byte-compiler-legal-options): * bytecomp.el (byte-compiler-obsolete-options): * bytecomp.el (byte-compile-close-variables): * bytecomp.el (byte-compile-insert-header): * bytecomp.el (byte-compile-output-file-form): * bytecomp.el (byte-compile-output-docform): * bytecomp.el (byte-compile-out-toplevel): * bytecomp.el (byte-compile-form): * bytecomp.el (byte-defop-compiler-1): * bytecomp.el (eq): * bytecomp.el (equal): * bytecomp.el (member): * bytecomp.el (byte-compile-noop): * bytecomp.el (byte-compile-save-current-buffer): Remove support for generating code appropriate to Emacs 19. * bytecomp.el (byte-compile-eval): Avoid erroring here if the car of some entry in the macro environment is not a symbol, as is the case for symbol macros. * bytecomp.el (or): Use slightly better style when compiling the most important functions if bytecomp.el has just been loaded interpreted. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el: * byte-optimize.el (byte-optimize-form-code-walker): Call #'byte-optimize-side-effect-free-p on the form, rather than just checking the plist of the form's car. * byte-optimize.el (side-effect-free-fns): Move the CL functions into their alphabetical place in the list. * byte-optimize.el (function): * byte-optimize.el (byte-optimize-side-effect-free-p): New. Function returning non-nil if a funcall has no side-effects, which handles things like (remove* item list :key 'car) and (remove-if-not #'integerp list). 2011-05-06 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (most-positive-fixnum-on-32-bit-machines): Correct this, I had an off-by-one error (because I was developing on a 64-bit machine). Thanks for the report, Raymond Toy! 2011-05-01 Aidan Kehoe <kehoea@parhasard.net> * buff-menu.el (list-buffers-directory): * buff-menu.el (default-list-buffers-identification): * cus-file.el (custom-file-base): * cus-file.el (custom-file): * cus-file.el (make-custom-file-name): * menubar.el (menu-split-long-menu): * newcomment.el: * newcomment.el (indent-for-comment): * newcomment.el (comment-column): * newcomment.el (comment-start): * newcomment.el (comment-start-skip): * newcomment.el (comment-end-skip): * newcomment.el (comment-end): * newcomment.el (comment-indent-function): * newcomment.el (comment-style): * newcomment.el (comment-padding): * newcomment.el (comment-multi-line): * newcomment.el (comment-normalize-vars): * newcomment.el (comment-indent): * newcomment.el (comment-set-column): * newcomment.el (comment-kill): * newcomment.el (uncomment-region): * newcomment.el (comment-region): * newcomment.el (comment-or-uncomment-region): * newcomment.el (comment-dwim): * newcomment.el (comment-indent-new-line): * x-win-sun.el (x-win-init-sun): * x-win-xfree86.el (x-win-init-xfree86): * mule/mule-composite.el: * mule/mule-composite.el (reference-point-alist): * mule/mule-composite.el (compose-region): * mule/mule-composite.el (decompose-region): * mule/mule-composite.el (compose-string): * mule/mule-composite.el (decompose-string): * mule/mule-composite.el (compose-chars): * mule/mule-composite.el (find-composition): * mule/mule-composite.el (compose-chars-after): * mule/mule-composite.el (compose-last-chars): * mule/mule-composite.el (decompose-composite-char): Remove all autoload cookies from dumped files, they're needless and confusing. 2011-04-30 Didier Verna <didier@xemacs.org> * subr.el (looking-back): New function. 2011-04-30 Didier Verna <didier@xemacs.org> * special-mode.el: New file. * special-mode.el (special-mode-map): New variable. * special-mode.el (special-mode): New function. * dumped-lisp.el (preloaded-file-list): Add special-mode. 2011-04-30 Stephen J. Turnbull <stephen@xemacs.org> * faces.el (face-property-matching-instance): Allow backward compatibility to the 21.4 API. Update docstring. ChangeLog Entries from lwlib/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2011-05-20 Jerry James <james@xemacs.org> * Makefile.in.in (DESTDIR): New variable for all Makefiles, unused in this one. ChangeLog Entries from man/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2012-05-06 Aidan Kehoe <kehoea@parhasard.net> * lispref/macros.texi (Expansion): Cross-reference to documentation of #'cl-prettyexpand, #'defmacro* when talking about #'macroexpand. 2012-05-04 Aidan Kehoe <kehoea@parhasard.net> * lispref/searching.texi (Regular Expressions): * lispref/searching.texi (Syntax of Regexps): * lispref/searching.texi (Char Classes): * lispref/searching.texi (Regexp Example): Document the predefined character classes in this file. 2011-12-30 Aidan Kehoe <kehoea@parhasard.net> * cl.texi (Top): * cl.texi (Usage): * cl.texi (Organization): * cl.texi (Efficiency Concerns): * cl.texi (Common Lisp Compatibility): Remove documentation of cl-compat, now it's deleted. 2011-12-04 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (Basic Lisp Modules): Document sequence.c here too. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * lispref/lists.texi (Association Lists): Don't document #'remassoc, #'remassq and friends in detail; they're XEmacs-specific and (delete* ... :key #'car) is preferable. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (Top): * internals/internals.texi (Authorship of XEmacs): * internals/internals.texi (Modules for Other Aspects of the Lisp Interpreter and Object System): * internals/internals.texi (Introduction to Writing C Code): * internals/internals.texi (Working with Lisp Objects): * internals/internals.texi (Adding Global Lisp Variables): * internals/internals.texi (The XEmacs Object System (Abstractly Speaking)): * internals/internals.texi (How Lisp Objects Are Represented in C): * internals/internals.texi (Allocation of Objects in XEmacs Lisp): * internals/internals.texi (Introduction to Allocation): * internals/internals.texi (GCPROing): * internals/internals.texi (mark_object): * internals/internals.texi (sweep_bit_vectors_1): * internals/internals.texi (Fixnums and Characters): * internals/internals.texi (Future Work -- Unicode): Say fixnum rather than integer when specifically talking about fixed-width Lisp integers. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (How Lisp Objects Are Represented in C): * internals/internals.texi (Integers and Characters): Mechanically change INT to FIXNUM, where the usage describes non-bignum Lisp integers. 2011-09-07 Aidan Kehoe <kehoea@parhasard.net> * cl.texi (Function Bindings): Move #'labels first, describe it in more detail, explaining that it is to be preferred over #'flet, and explaining why. Explain that dynamic bindings with #'flet will also not work when functions are accessed through their bytecodes. 2011-08-14 Mike Sperber <mike@xemacs.org> * xemacs-faq.texi: * xemacs/packages.texi: Reflect change of location of packages from lib/ to share/. 2011-08-09 Aidan Kehoe <kehoea@parhasard.net> * cl.texi (Argument Lists): * cl.texi (Time of Evaluation): * cl.texi (Type Predicates): * cl.texi (Assignment): * cl.texi (Basic Setf): * cl.texi (Modify Macros): * cl.texi (Customizing Setf): * cl.texi (Dynamic Bindings): * cl.texi (Lexical Bindings): * cl.texi (Function Bindings): * cl.texi (Macro Bindings): * cl.texi (Conditionals): * cl.texi (Blocks and Exits): * cl.texi (Iteration): * cl.texi (Loop Basics): * cl.texi (Macros): * cl.texi (Declarations): * cl.texi (Property Lists): * cl.texi (Structures): * cl.texi (Assertions): * cl.texi (Efficiency Concerns): * lispref/compile.texi (Eval During Compile): * lispref/compile.texi (Compiled-Function Objects): * lispref/eval.texi (Multiple values): * lispref/frames.texi (Input Focus): * lispref/internationalization.texi (Level 3 Primitives): * lispref/positions.texi (Excursions): * lispref/positions.texi (Narrowing): * lispref/searching.texi (Saving Match Data): * lispref/specifiers.texi (Adding Specifications): * lispref/windows.texi: Correct the manuals to avoid using the term "special operator" when #'special-operator-p would give nil. 2011-08-08 Stephen J. Turnbull <stephen@xemacs.org> * internals/internals.texi (Mercurial Techniques): New. (Mercurial Basics): New. (Preserving Existing Changes with Mercurial Queues): New. (Top): Update menus. (Regression Testing XEmacs): Update node pointers. (CVS Techniques): Update node pointers. Note obsolescence of CVS. Add @ref to Mercurial Techniques. 2011-06-25 Aidan Kehoe <kehoea@parhasard.net> * lispref/os.texi (Translating Input): Document the just-added function-key-map-parent. 2011-05-20 Jerry James <james@xemacs.org> * Makefile (DESTDIR): New variable for all Makefiles, unused in this one. ChangeLog Entries from modules/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * postgresql/postgresql.c (Fpq_conn_defaults): * postgresql/postgresql.c (Fpq_client_encoding): * postgresql/postgresql.c (Fpq_set_client_encoding): * postgresql/postgresql.c (Fpq_pgconn): * postgresql/postgresql.c (Fpq_ntuples): * postgresql/postgresql.c (Fpq_nfields): * postgresql/postgresql.c (Fpq_fname): * postgresql/postgresql.c (Fpq_fnumber): * postgresql/postgresql.c (Fpq_ftype): * postgresql/postgresql.c (Fpq_fsize): * postgresql/postgresql.c (Fpq_fmod): * postgresql/postgresql.c (Fpq_get_value): * postgresql/postgresql.c (Fpq_get_length): * postgresql/postgresql.c (Fpq_get_is_null): * postgresql/postgresql.c (Fpq_oid_value): * postgresql/postgresql.c (Fpq_set_nonblocking): * postgresql/postgresql.c (Fpq_flush): * postgresql/postgresql.c (Fpq_notifies): * postgresql/postgresql.c (Fpq_env_2_encoding): * postgresql/postgresql.c (Fpq_lo_import): * postgresql/postgresql.c (Fpq_lo_export): * postgresql/postgresql.c (Fpq_get_line): * postgresql/postgresql.c (Fpq_get_line_async): * postgresql/postgresql.c (init_postgresql_from_environment): * ldap/eldap.c (Fldap_open): * ldap/eldap.c (Fldap_search_basic): * ldap/eldap.c (Fldap_add): * ldap/eldap.c (Fldap_modify): * canna/canna_api.c (storeResults): * canna/canna_api.c (Fcanna_initialize): * canna/canna_api.c (Fcanna_set_width): * canna/canna_api.c (Fcanna_change_mode): * canna/canna_api.c (Fcanna_do_function): * canna/canna_api.c (Fcanna_henkan_next): * canna/canna_api.c (Fcanna_bunsetu_henkou): * canna/canna_api.c (Fcanna_henkan_kakutei): Mechanically change INT to FIXNUM, where the usage describes non-bignum Lisp integers. See the src/ChangeLog entry for more details. 2011-05-20 Jerry James <james@xemacs.org> * base64/Makefile: Default DESTDIR to the empty string, and use it in install targets. * common/Makefile.common: Ditto. * external/Makefile.in.in: Ditto. * zlib/Makefile: Ditto. ChangeLog Entries from nt/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2011-12-08 Vin Shelton <acs@xemacs.org> * xemacs.mak: Added sequence.obj to the object list, per Aidan's latest check-in. 2011-11-28 Vin Shelton <acs@xemacs.org> * config.inc.samp: Update version number for png, zlib, jpeg and tiff. * xemacs.mak: Add rules for building texinfo.info. ChangeLog Entries from src/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2012-05-14 Aidan Kehoe <kehoea@parhasard.net> * minibuf.c (Ftest_completion): Correct some documentation here. 2012-05-07 Jeff Sparkes <jsparkes@gmail.com> * search.c (skip_chars): Add cast to Ibyte *. 2012-05-06 Aidan Kehoe <kehoea@parhasard.net> * eval.c: * eval.c (Fmacroexpand): Don't prepend any supplied environment to Vbyte_compile_macro_environment, leave that up to our callers (that's what the &environment argument is for). Document that one should normally access byte-compile-macro-environment using the &environment lambda list keyword. 2012-05-04 Aidan Kehoe <kehoea@parhasard.net> * regex.c: Move various #defines and enums to regex.h, since we need them when implementing #'skip-chars-{backward,forward}. * regex.c (re_wctype): * regex.c (re_iswctype): Be more robust about case insensitivity here. * regex.c (regex_compile): * regex.h: * regex.h (RE_ISWCTYPE_ARG_DECL): * regex.h (CHAR_CLASS_MAX_LENGTH): * search.c (skip_chars): Implement support for the predefined character classes in this function. 2012-04-25 Aidan Kehoe <kehoea@parhasard.net> * search.c (string_match_1): Actually use the POSIX argument here, pass it to compile_pattern(). Thank you for the bug report, Ilya Shlyakhter! 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> Support non-ASCII correctly in character classes ([:alnum:] and friends). * regex.c: * regex.c (ISBLANK, ISUNIBYTE): New. Make these and friends independent of the locale, since we want them to be consistent in XEmacs. * regex.c (print_partial_compiled_pattern): Print the flags for charset_mule; don't print non-ASCII as the character values in ranges, this breaks with locales. * regex.c (enum): Define various flags the charset_mule and charset_mule_not opcodes can now take. * regex.c (CHAR_CLASS_MAX_LENGTH): Update this. * regex.c (re_iswctype, re_wctype): New, from GNU. * regex.c (re_wctype_can_match_non_ascii): New; used when deciding on whether to use charset_mule or the ASCII-only regex character set opcode. * regex.c (regex_compile): Error correctly on long, non-existent character class names. Break out the handling of charsets that can match non-ASCII into a separate clause. Use compile_char_class when compiling character classes. * regex.c (compile_char_class): New. Used in regex_compile when compiling character sets that may match non-ASCII. * regex.c (re_compile_fastmap): If there are flags set for charset_mule or charset_mule_not, we can't use the fastmap (since we need to check syntax table values that aren't available there). * regex.c (re_match_2_internal): Check the new flags passed to the charset_mule{,_not} opcode, observe them if appropriate. * regex.h: * regex.h (enum): Expose re_wctype_t here, imported from GNU. 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> * regex.h (RE_SYNTAX_EMACS): Turn on character classes ([:alnum:] and friends) by default. This implementation is incomplete, am working on a version that handles non-ASCII characters correctly. 2012-02-12 Vin Shelton <acs@xemacs.org> * sysproc.h: As of Cygwin 1.7.10, /usr/include/process.h has moved to /usr/include/cygwin/process.h, so sysproc.h could no longer find it. It wasn't needed anyway, so remove the include under cygwin. 2012-04-14 Aidan Kehoe <kehoea@parhasard.net> * number-mp.c (bignum_ceil): Remove a redundant double division from this function. 2012-01-08 Aidan Kehoe <kehoea@parhasard.net> * device-x.c: * device-x.c (syms_of_device_x): Move #'x-keysym-on-keyboard{,-sans-modifiers}-p to Lisp, the hash table no longer stores the X keysyms, so we need to manipulate any strings we have been handed. * event-Xt.c (x_has_keysym): Don't call XKeysymToString() here, it leaks; trust x_keysym_to_emacs_keysym() instead. * event-Xt.c (x_keysym_to_emacs_keysym): No longer leak when looking up the strings for keysyms of the form UABCD. 2012-01-03 Didier Verna <didier@xemacs.org> * faces.c (complex_vars_of_faces): Add missing foreback specifier values to the GUI Element face. 2012-01-01 Aidan Kehoe <kehoea@parhasard.net> Add #'test-completion, API from GNU. Accept hash table COLLECTIONs in it and in the other completion-oriented functions, #'try-completion, #'all-completions, and those Lisp functions implemented in terms of them. * lisp.h: Update the prototype of map_obarray(), making FN compatible with the FUNCTION argument of elisp_maphash(); * abbrev.c (abbrev_match_mapper): * abbrev.c (record_symbol): * doc.c (verify_doc_mapper): * symbols.c (mapatoms_1): * symbols.c (apropos_mapper): Update these mapper functions to reflect the new argument to map_obarray(). * symbols.c (map_obarray): Call FN with two arguments, the string name of the symbol, and the symbol itself, for API (mapper) compatibility with elisp_maphash(). * minibuf.c (map_completion): New. Map a maphash_function_t across a non function COLLECTION, as appropriate for #'try-completion and friends. * minibuf.c (map_completion_list): New. Map a maphash_function_t across a pseudo-alist, as appropriate for the completion functions. * minibuf.c (ignore_completion_p): PRED needs to be called with two args if and only if the collection is a hash table. Implement this. * minibuf.c (try_completion_mapper): New. The loop body of #'try-completion, refactored out. * minibuf.c (Ftry_completion): Use try_completion_mapper(), map_completion(). * minibuf.c (all_completions_mapper): New. The loop body of #'all-completions, refactored out. * minibuf.c (Fall_completions): Use all_completions_mapper(), map_completion(). * minibuf.c (test_completion_mapper): New. The loop body of #'test-completion. * minibuf.c (Ftest_completion): New, API from GNU. * minibuf.c (syms_of_minibuf): Make Ftest_completion available. 2011-12-30 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fmacroexpand): Don't cons if ENVIRONMENT is the same object as byte-compile-macro-environment. Always look up symbol- and other macros in the (possibly modified) byte-compile-macro-environment, not the supplied ENVIRONMENT. byte-compile-macro-environment reflects ENVIRONMENT, so that's OK and preferred. 2011-12-28 Jerry James <james@xemacs.org> * .gdbinit.in.in: fix symbol and string printing with pobj and NEW_GC. 2011-12-28 Jerry James <james@xemacs.org> * lisp-disunion.h (make_fixnum): avoid losing bits off the left end if the value is of large magnitude and narrow type. (make_char_1): ditto. 2011-12-28 Didier Verna <didier@xemacs.org> * console-impl.h (struct console_methods): Have the text_width methods expect a frame instead of a window pointer. * console-stream.c (stream_text_width): * redisplay-msw.c (mswindows_text_width): * redisplay-tty.c (tty_text_width): * redisplay-xlike-inc.c (XLIKE_text_width): Update accordingly. * redisplay-msw.c (mswindows_output_string): * redisplay-xlike-inc.c (XLIKE_output_string): * redisplay.c (redisplay_window_text_width_ichar_string): * redisplay.c (redisplay_text_width_string): Update the callers. This also fixes an uncertainty about always getting a window from a domain. 2011-12-28 Didier Verna <didier@xemacs.org> * redisplay-xlike-inc.c (XLIKE_text_width_single_run): Get only what's needed as argument: an XLIKE_DISPLAY instead of a frame pointer. * redisplay-xlike-inc.c (XLIKE_text_width): * redisplay-xlike-inc.c (XLIKE_output_string): Update accordingly. Use the generic XLIKE_ name instead of the specific x_ one. 2011-12-27 Didier Verna <didier@xemacs.org> * glyphs.c (update_image_instance): * glyphs.c (image_instantiate): More comments about the current glyphs cache coherency problem. 2011-12-27 Didier Verna <didier@xemacs.org> * faces.c: Add a comment about the way background pixmaps are handled right now, just above MAYBE_UNFROB_BACKGROUND_PIXMAP. 2011-12-27 Didier Verna <didier@xemacs.org> * faces.h (struct Lisp_Face): New 'foreback slot. * faces.h (struct face_cachel): New 'foreback and 'foreback_specified slots. * faces.h (WINDOW_FACE_CACHEL_FOREBACK): * faces.h (FACE_FOREBACK): New macros. * faces.c: Declare Qforeback. * lisp.h: Externalize it. * faces.c (syms_of_faces): Define it. * faces.c (vars_of_faces): Update built-in face specifiers. * faces.c (complex_vars_of_faces): Update specifier fallbacks. * faces.c (mark_face): * faces.c (face_equal): * faces.c (face_getprop): * faces.c (face_putprop): * faces.c (face_remprop): * faces.c (face_plist): * faces.c (reset_face): * faces.c (update_face_inheritance_mapper): * faces.c (Fmake_face): * faces.c (mark_face_cachels): * faces.c (update_face_cachel_data): * faces.c (merge_face_cachel_data): * faces.c (reset_face_cachel): * faces.c (face_property_was_changed): * faces.c (Fcopy_face): * fontcolor.c (face_color_validate): Handle the foreback property. * redisplay-msw.c (mswindows_output_blank): * redisplay-msw.c (mswindows_output_string): * redisplay-output.c (redisplay_clear_region): * redisplay-xlike-inc.c (XLIKE_output_string): * redisplay-xlike-inc.c (XLIKE_output_blank): Use the face's foreback color instead of the foreground one for drawing a background bitmap. 2011-12-27 Didier Verna <didier@xemacs.org> * redisplay-xlike-inc.c (XLIKE_output_blank): Fix comment typo. 2011-12-26 Didier Verna <didier@xemacs.org> * lisp.h: * faces.c (mark_face): * faces.c (face_equal): * faces.c (face_getprop): * faces.c (face_putprop): * faces.c (face_remprop): * faces.c (face_plist): * faces.c (reset_face): * faces.c (update_face_inheritance_mapper): * faces.c (Fmake_face): * faces.c (update_face_cachel_data): * faces.c (merge_face_cachel_data): * faces.c (Fcopy_face): * faces.c (syms_of_faces): * faces.c (vars_of_faces): * faces.c (complex_vars_of_faces): * faces.h (struct Lisp_Face): * faces.h (struct face_cachel): * faces.h (WINDOW_FACE_CACHEL_SHRINK_P): * faces.h (FACE_SHRINK_P): * fontcolor.c (face_boolean_validate): Replace the 'flush property with the opposite 'shrink one. * redisplay.c (create_text_block): * redisplay.c (create_string_text_block): Ditto. Invert the logic for storing a new clear_findex in the display lines. 2011-12-23 Didier Verna <didier@xemacs.org> * faces.h (struct Lisp_Face): New 'flush slot. * faces.h (struct face_cachel): New 'flush and 'flush_specified flags. * faces.h (WINDOW_FACE_CACHEL_FLUSH_P): * faces.h (FACE_FLUSH_P): New macros. * faces.c: Declare Qflush. * lisp.h: Externalize it. * faces.c (syms_of_faces): Define it. * faces.c (vars_of_faces): Update built-in face specifiers. * faces.c (complex_vars_of_faces): Update specifier fallbacks. * faces.c (mark_face): * faces.c (face_equal): * faces.c (face_getprop): * faces.c (face_putprop): * faces.c (face_remprop): * faces.c (face_plist): * faces.c (reset_face): * faces.c (update_face_inheritance_mapper): * faces.c (Fmake_face): * faces.c (update_face_cachel_data): * faces.c (merge_face_cachel_data): * faces.c (Fcopy_face): * fontcolor.c (face_boolean_validate): Handle the flush property. * redisplay.h (struct display_line): Rename 'default_findex slot to clearer name 'clear_findex. * redisplay.h (DISPLAY_LINE_INIT): Update accordingly. * redisplay-output.c (compare_display_blocks): * redisplay-output.c (output_display_line): * redisplay-output.c (redisplay_output_window): * redisplay.c (regenerate_window_extents_only_changed): * redisplay.c (regenerate_window_incrementally): Update the comparison tests between the current and desired display lines to cope for different 'clear_findex values. * redisplay.c (create_text_block): Initialize the display line's 'clear_findex slot to DEFAULT_INDEX. Record a new 'clear_findex value when we encounter a newline character displayed in a flushed face. * redisplay.c (create_string_text_block): Record a new 'clear_findex value when we encounter a newline character displayed in a flushed face. 2011-12-22 Aidan Kehoe <kehoea@parhasard.net> * select-gtk.c (vars_of_select_gtk): * select-x.c: * select-x.c (x_handle_selection_request): * select-x.c (syms_of_select_x): * select-x.c (vars_of_select_x): * select.c: * select.c (handle_selection_clear): * select.c (syms_of_select): * select.c (vars_of_select): Use va_run_hooks_with_args for x-sent-selection-hooks and lost-selection-hooks, instead of rolling our own. 2011-12-22 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fmacroexpand): Rename Fmacroexpand_internal, add the functionality that used to be in #'cl-macroexpand--it makes no sense for us, and needlessly slows things down, to have two separate functions. * eval.c: * eval.c (syms_of_eval): Move byte-compile-macro-environment here, now it's used by #'macroexpand. 2011-12-10 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read1): Add the zero, *then* flush, when reading an integer into Vread_buffer_stream. 2011-12-04 Aidan Kehoe <kehoea@parhasard.net> * Makefile.in.in (objs): * depend: Add sequence.o to the list of objects and dependencies. * alloc.c: * alloc.c (mark_bit_vector): * alloc.c (print_bit_vector): * alloc.c (bit_vector_equal): * alloc.c (internal_bit_vector_equalp_hash): * alloc.c (bit_vector_hash): * alloc.c (init_alloc_once_early): Move the implementation of the bit vector type here from fns.c. * emacs.c (main_1): Call syms_of_sequence() here, now sequence.c is included. * fns.c (Fold_rassq): Move this together with the rest of the Fold_* functions. * fns.c: * fns.c (syms_of_fns): Move most functions dealing with sequences generally, and especially those taking key arguments, to a separate file, sequence.c. * general-slots.h: Qyes_or_no_p belong here, not fns.c. * lisp.h: Make Flist_length available here, it's used by sequence.c * sequence.c: * sequence.c (check_sequence_range): * sequence.c (Flength): * sequence.c (check_other_nokey): * sequence.c (check_other_key): * sequence.c (check_if_key): * sequence.c (check_match_eq_key): * sequence.c (check_match_eql_key): * sequence.c (check_match_equal_key): * sequence.c (check_match_equalp_key): * sequence.c (check_match_other_key): * sequence.c (check_lss_key): * sequence.c (check_lss_key_car): * sequence.c (check_string_lessp_key): * sequence.c (check_string_lessp_key_car): * sequence.c (get_check_match_function_1): * sequence.c (get_merge_predicate): * sequence.c (count_with_tail): * sequence.c (list_count_from_end): * sequence.c (string_count_from_end): * sequence.c (Fcount): * sequence.c (Fsubseq): * sequence.c (list_position_cons_before): * sequence.c (FmemberX): * sequence.c (Fadjoin): * sequence.c (FassocX): * sequence.c (FrassocX): * sequence.c (position): * sequence.c (Fposition): * sequence.c (Ffind): * sequence.c (delq_no_quit_and_free_cons): * sequence.c (FdeleteX): * sequence.c (FremoveX): * sequence.c (list_delete_duplicates_from_end): * sequence.c (Fdelete_duplicates): * sequence.c (Fremove_duplicates): * sequence.c (Fnreverse): * sequence.c (Freverse): * sequence.c (list_merge): * sequence.c (array_merge): * sequence.c (list_array_merge_into_list): * sequence.c (list_list_merge_into_array): * sequence.c (list_array_merge_into_array): * sequence.c (Fmerge): * sequence.c (list_sort): * sequence.c (array_sort): * sequence.c (FsortX): * sequence.c (Ffill): * sequence.c (mapcarX): * sequence.c (shortest_length_among_sequences): * sequence.c (Fmapconcat): * sequence.c (FmapcarX): * sequence.c (Fmapvector): * sequence.c (Fmapcan): * sequence.c (Fmap): * sequence.c (Fmap_into): * sequence.c (Fsome): * sequence.c (Fevery): * sequence.c (Freduce): * sequence.c (replace_string_range_1): * sequence.c (Freplace): * sequence.c (Fnsubstitute): * sequence.c (Fsubstitute): * sequence.c (subst): * sequence.c (sublis): * sequence.c (Fsublis): * sequence.c (nsublis): * sequence.c (Fnsublis): * sequence.c (Fsubst): * sequence.c (Fnsubst): * sequence.c (tree_equal): * sequence.c (Ftree_equal): * sequence.c (mismatch_from_end): * sequence.c (mismatch_list_list): * sequence.c (mismatch_list_string): * sequence.c (mismatch_list_array): * sequence.c (mismatch_string_array): * sequence.c (mismatch_string_string): * sequence.c (mismatch_array_array): * sequence.c (get_mismatch_func): * sequence.c (Fmismatch): * sequence.c (Fsearch): * sequence.c (venn): * sequence.c (nvenn): * sequence.c (Funion): * sequence.c (Fset_exclusive_or): * sequence.c (Fnset_exclusive_or): * sequence.c (syms_of_sequence): Add this file, containing those general functions that dealt with sequences that were in fns.c. * symsinit.h: Make syms_of_sequence() available here. 2011-12-03 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read1): Zero-terminate what we're giving to parse_integer(), it needs it if it's calling bignum_set_string(). 2011-12-03 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read1): Don't wrap when reading expressions that use bignums as object labels, that can lead to ambiguity and it's not actually that hard to use parse_integer() to avoid it. 2011-11-26 Aidan Kehoe <kehoea@parhasard.net> * number-mp.c (bignum_to_string): Don't overwrite the accumulator we've just set up for this function. * number-mp.c (BIGNUM_TO_TYPE): mp_itom() doesn't necessarily do what this code used to think with negative numbers, it can treat them as unsigned ints. Subtract numbers from bignum_zero instead of multiplying them by -1 to convert them to their negative equivalents. * number-mp.c (bignum_to_int): * number-mp.c (bignum_to_uint): * number-mp.c (bignum_to_long): * number-mp.c (bignum_to_ulong): * number-mp.c (bignum_to_double): Use the changed BIGNUM_TO_TYPE() in these functions. * number-mp.c (bignum_ceil): * number-mp.c (bignum_floor): In these functions, be more careful about rounding to positive and negative infinity, respectively. Don't use the sign of QUOTIENT when working out out whether to add or subtract one, rather use the sign QUOTIENT would have if arbitrary-precision division were done. * number-mp.h: * number-mp.h (MP_GCD): Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS. * number.c (Fbigfloat_get_precision): * number.c (Fbigfloat_set_precision): Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't support big floats. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * .dbxrc.in: Move from etc/.dbxrc.in. 2011-11-21 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * .gdbinit.in.in: There is no lrecord_type_lcrecord_list when using the new garbage collector; print $lrecord_type when Lisp Object type is unknown to pobj. 2011-11-13 Aidan Kehoe <kehoea@parhasard.net> * doc.c (Fbuilt_in_symbol_file): Don't attempt to take file information from lazy docstring information in compiled functions; those functions are not built-in, and as such it's appropriate to give nil. Fix some indentation in passing. 2011-10-29 Stephen J. Turnbull <stephen@xemacs.org> Prevent SIGPIPEs in deactivate_process(). * process.c (deactivate_process): Use Lstream_close_noflush on output pipe instead of Lstream_close. * lstream.c (Lstream_close_noflush): New. Factored out of Lstream_close. (Lstream_close): Use Lstream_close_noflush. * lstream.h (Lstream_close_noflush): Declare it. 2011-10-29 Stephen J. Turnbull <stephen@xemacs.org> Prevent assert at frame.c, l. 6311 by initializing glyph cachels. * frame.c (Fmake_frame): Ensure that reset_glyph_cachels gets called. (setup_minibuffer_frame): Improve header comment. * redisplay.c (redisplay_window): Update comment. Remove code checking for uninitialized face_cachels and glyph_cachels. Can't happen in theory, and guarded by asserts in practice. * window.c (allocate_window): Update comment on reset_*_cachels. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * fns.c (remassoc_no_quit): * fns.c (remrassq_no_quit): * fns.c (syms_of_fns): * fontcolor-tty.c (Fregister_tty_color): * fontcolor-tty.c (Funregister_tty_color): * fontcolor-tty.c (Ffind_tty_color): * lisp.h: Remove Fremassq, Fremrassq, Fremassoc, Fremrassoc, they're XEmacs-specific functions and Lisp callers should use (delete* ... :key #'car) anyway. Keep the non-Lisp-visible _no_quit versions, calling FdeleteX from C with the appropriate arguments is ungainly. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> Do a couple of non-mechanical things that would otherwise have been included in the last change. * data.c: * data.c (Ftype_of): Return Qfixnum for fixnums, not Qinteger. * lisp.h (MOST_POSITIVE_FIXNUM): Delete an obsolete comment here. 2011-10-09 Aidan Kehoe <kehoea@parhasard.net> * EmacsFrame.c (EmacsFrameSetValues): * README: * abbrev.c (Fexpand_abbrev): * abbrev.c (write_abbrev): * abbrev.c (describe_abbrev): * alloc.c (Fmake_list): * alloc.c (Fmake_vector): * alloc.c (Fmake_bit_vector): * alloc.c (Fmake_byte_code): * alloc.c (string_plist_ptr): * alloc.c (Fmake_string): * alloc.c (gc_plist_hack): * alloc.c (garbage_collection_statistics): * alloc.c (Fobject_memory_usage): * alloc.c (Ftotal_object_memory_usage): * alloc.c (Fconsing_since_gc): * alloc.c (Fmemory_limit): * alloc.c (Ftotal_memory_usage): * alloc.c (common_init_alloc_early): * buffer.c (finish_init_buffer): * buffer.c (MARKED_SLOT): * buffer.c (Fbuffer_modified_tick): * buffer.c (set_buffer_internal): * buffer.c (ADD_INT): * buffer.c (Fstring_char_byte_converion_info): * buffer.c (common_init_complex_vars_of_buffer): * buffer.c (complex_vars_of_buffer): * buffer.h: * buffer.h (make_charbpos): * bytecode.c: * bytecode.c (meter_code): * bytecode.c (bytecode_negate): * bytecode.c (bytecode_arithcompare): * bytecode.c (bytecode_arithop): * bytecode.c (UNUSED): * bytecode.c (check_opcode): * bytecode.c (optimize_compiled_function): * bytecode.c (set_compiled_function_documentation): * bytecode.c (Fcompiled_function_stack_depth): * bytecode.c (Fbyte_code): * callint.c (Fcall_interactively): * callint.c (Fprefix_numeric_value): * callint.c (syms_of_callint): * casefiddle.c (casify_word): * chartab.c (nsubst_structures_mapper): * chartab.c (decode_char_table_range): * chartab.c (encode_char_table_range): * chartab.c (Fmake_char_table): * chartab.c (Fcopy_char_table): * chartab.c (check_valid_char_table_value): * chartab.c (Fcheck_category_at): * chartab.c (Fset_category_table): * chartab.c (Fcategory_designator_p): * cmdloop.c (top_level_1): * cmdloop.c (initial_command_loop): * cmdloop.c (initial_error_handler): * cmdloop.c (Fcommand_loop_1): * cmds.c (Fforward_char): * cmds.c (Fbackward_char): * cmds.c (Fforward_line): * cmds.c (Fpoint_at_bol): * cmds.c (Fbeginning_of_line): * cmds.c (Fpoint_at_eol): * cmds.c (Fend_of_line): * cmds.c (Fdelete_char): * cmds.c (Fdelete_backward_char): * cmds.c (Fself_insert_command): * cmds.c (internal_self_insert): * console-gtk.c (gtk_perhaps_init_unseen_key_defaults): * console-msw.c (Fmswindows_message_box): * console-tty.c (tty_init_console): * console-x.c (x_canonicalize_console_connection): * console.c (delete_console_internal): * console.c (Fsuspend_console): * console.c (common_init_complex_vars_of_console): * console.c (MARKED_SLOT): * data.c (eq_with_ebola_notice): * data.c (Fsubr_min_args): * data.c (Fsubr_max_args): * data.c (Fchar_to_int): * data.c (Fint_to_char): * data.c (Ffixnump): * data.c (Faref): * data.c (Faset): * data.c (number_char_or_marker_to_int_or_double): * data.c (number_char_or_marker_to_double): * data.c (fixnum_char_or_marker_to_int): * data.c (ARITHCOMPARE_MANY): * data.c (Fneq): * data.c (Fzerop): * data.c (word_to_lisp): * data.c (lisp_to_word): * data.c (Fnumber_to_string): * data.c (Fstring_to_number): * data.c (Fplus): * data.c (Fminus): * data.c (Ftimes): * data.c (Fdiv): * data.c (Fquo): * data.c (Fmax): * data.c (Fmin): * data.c (Flogand): * data.c (Flogior): * data.c (Flogxor): * data.c (Flognot): * data.c (Frem): * data.c (Fmod): * data.c (Fash): * data.c (Flsh): * data.c (Fadd1): * data.c (Fsub1): * data.c (vars_of_data): * database.c (Fopen_database): * debug.c (FROB): * debug.c (Fset_debug_class_types_to_check): * device-gtk.c (Fgtk_display_visual_depth): * device-gtk.c (gtk_device_system_metrics): * device-msw.c (build_sysmetrics_cons): * device-msw.c (build_devicecaps_cons): * device-msw.c (mswindows_device_system_metrics): * device-msw.c (FROB): * device-msw.c (msprinter_device_system_metrics): * device-msw.c (print_dialog_worker): * device-msw.c (plist_get_margin): * device-msw.c (plist_set_margin): * device-msw.c (signal_enum_printer_error): * device-msw.c (Fmswindows_printer_list): * device-tty.c (tty_device_system_metrics): * device-x.c (Fx_get_resource): * device-x.c (Fx_display_visual_depth): * device-x.c (x_device_system_metrics): * device-x.c (Fx_server_version): * device-x.c (Fx_valid_keysym_name_p): * device.c (delete_device_internal): * device.c (Fset_device_baud_rate): * device.c (Fdevice_baud_rate): * device.c (Fdevice_printer_p): * dialog-msw.c (handle_directory_dialog_box): * dialog-msw.c (handle_file_dialog_box): * dialog-x.c (dbox_selection_callback): * dialog-x.c (x_make_dialog_box_internal): * dialog-x.c (syms_of_dialog_x): * dired.c: * dired.c (file_name_completion): * dired.c (user_name_completion): * dired.c (Ffile_attributes): * doc.c (extract_object_file_name): * doc.c (unparesseuxify_doc_string): * doc.c (get_doc_string): * doc.c (get_object_file_name): * doc.c (Fbuilt_in_symbol_file): * doc.c (Fdocumentation): * doc.c (Fdocumentation_property): * doc.c (Fsnarf_documentation): * doc.c (verify_doc_mapper): * doprnt.c (get_doprnt_args): * doprnt.c (emacs_doprnt_1): * editfns.c (buildmark): * editfns.c (Fpoint): * editfns.c (Fgoto_char): * editfns.c (region_limit): * editfns.c (save_excursion_save): * editfns.c (Fbuffer_size): * editfns.c (Fpoint_min): * editfns.c (Fpoint_max): * editfns.c (Fuser_login_name): * editfns.c (Fuser_uid): * editfns.c (Fuser_real_uid): * editfns.c (Femacs_pid): * editfns.c (Fcurrent_time): * editfns.c (lisp_to_time): * editfns.c (time_to_lisp): * editfns.c (Fdecode_time): * editfns.c (make_time): * editfns.c (Fencode_time): * editfns.c (Fcurrent_time_zone): * editfns.c (Finsert_char): * editfns.c (Fcompare_buffer_substrings): * editfns.c (Ftranslate_region): * editfns.c (save_restriction_save): * elhash.c (lisp_object_general_hash): * elhash.c (hash_table_size_validate): * elhash.c (decode_hash_table_size): * elhash.c (inchash_eq): * elhash.c (Fhash_table_count): * elhash.c (Fhash_table_size): * elhash.c (internal_hash): * elhash.c (Fdefine_hash_table_test): * elhash.c (vars_of_elhash): * emacs.c (make_argc_argv): * emacs.c (main_1): * emacs.c (Fkill_emacs): * emacs.c (vars_of_emacs): * emodules.c (Fload_module): * emodules.c (module_load_unwind): * eval.c: * eval.c (Fsetq): * eval.c (Fquote): * eval.c (Ffunction): * eval.c (Fdefmacro): * eval.c (Fmacroexpand_internal): * eval.c (Fthrow): * eval.c (Fcall_with_condition_handler): * eval.c (signal_wrong_number_of_arguments_error): * eval.c (funcall_compiled_function): * eval.c (function_argcount): * eval.c (multiple_value_aset): * eval.c (multiple_value_aref): * eval.c (bind_multiple_value_limits): * eval.c (multiple_value_call): * eval.c (Fmultiple_value_call): * eval.c (multiple_value_list_internal): * eval.c (Fbacktrace_debug): * eval.c (Fbacktrace): * eval.c (Fbacktrace_frame): * event-Xt.c (x_handle_sticky_modifiers): * event-msw.c (dde_eval_string): * event-stream.c (maybe_echo_keys): * event-stream.c (lisp_number_to_milliseconds): * event-stream.c (Fadd_timeout): * event-stream.c (Fdisable_timeout): * event-stream.c (Fadd_async_timeout): * event-stream.c (Fdisable_async_timeout): * event-stream.c (detect_input_pending): * event-stream.c (Fnext_event): * event-stream.c (Faccept_process_output): * event-stream.c (Fsleep_for): * event-stream.c (Fsit_for): * event-stream.c (Frecent_keys): * event-stream.c (Frecent_keys_ring_size): * event-stream.c (Fset_recent_keys_ring_size): * event-stream.c (Fdispatch_event): * event-stream.c (Fcurrent_event_timestamp): * event-stream.c (vars_of_event_stream): * event-xlike-inc.c (USE_UNICODE_MAP): * event-xlike-inc.c (endif): * events.c (print_event): * events.c (Fmake_event): * events.c (nth_of_key_sequence_as_event): * events.c (key_sequence_to_event_chain): * events.c (Fevent_timestamp): * events.c (TIMESTAMP_HALFSPACE): * events.c (Fevent_timestamp_lessp): * events.c (Fevent_button): * events.c (Fevent_modifier_bits): * events.c (Fevent_modifiers): * events.c (Fevent_window_x_pixel): * events.c (Fevent_window_y_pixel): * events.c (Fevent_x_pixel): * events.c (Fevent_y_pixel): * events.c (Fevent_point): * events.c (Fevent_closest_point): * events.c (Fevent_x): * events.c (Fevent_y): * events.c (Fevent_modeline_position): * events.c (Fevent_glyph_x_pixel): * events.c (Fevent_glyph_y_pixel): * events.c (Fevent_properties): * extents.c: * extents.c (print_extent_1): * extents.c (extent_endpoint_external): * extents.c (Fextent_length): * extents.c (Fnext_extent_change): * extents.c (Fprevious_extent_change): * extents.c (report_extent_modification_mapper): * extents.c (memoize_extent_face_internal): * extents.c (Fset_extent_priority): * extents.c (Fextent_priority): * extents.c (Fextent_property): * extents.c (extent_properties): * extents.c (run_extent_copy_paste_internal): * extents.c (next_previous_single_property_change_fn): * file-coding.c (default_query_method): * file-coding.c (encode_decode_coding_region): * file-coding.c (gzip_print): * file-coding.c (gzip_putprop): * file-coding.c (gzip_getprop): * fileio.c (close_file_unwind): * fileio.c (Ffile_modes): * fileio.c (Fset_file_modes): * fileio.c (Fset_default_file_modes): * fileio.c (Fdefault_file_modes): * fileio.c (build_annotations): * fileio.c (a_write): * fileio.c (auto_save_error): * fileio.c (do_auto_save_unwind): * fileio.c (Fdo_auto_save): * fileio.c (Fset_buffer_auto_saved): * floatfns.c: * floatfns.c (extract_float): * floatfns.c (Fexpt): * floatfns.c (Fabs): * floatfns.c (Ffloat): * floatfns.c (Flogb): * floatfns.c (CONVERT_WITHOUT_NUMBER_TYPES): * floatfns.c (MAYBE_CHAR_OR_MARKER): * floatfns.c (ceiling_two_fixnum): * floatfns.c (ceiling_two_bigfloat): * floatfns.c (ceiling_one_bigfloat): * floatfns.c (ceiling_one_mundane_arg): * floatfns.c (floor_two_fixnum): * floatfns.c (floor_two_bigfloat): * floatfns.c (floor_one_bigfloat): * floatfns.c (round_two_fixnum): * floatfns.c (round_two_bigfloat): * floatfns.c (round_one_bigfloat): * floatfns.c (truncate_two_fixnum): * floatfns.c (truncate_two_bigfloat): * floatfns.c (truncate_one_bigfloat): * floatfns.c (truncate_one_float): * fns.c (print_bit_vector): * fns.c (get_check_match_function_1): * fns.c (Frandom): * fns.c (Flength): * fns.c (Fsafe_length): * fns.c (Flist_length): * fns.c (count_with_tail): * fns.c (list_count_from_end): * fns.c (string_count_from_end): * fns.c (Fcompare_strings): * fns.c (Fstring_modified_tick): * fns.c (bump_string_modiff): * fns.c (concat): * fns.c (Fsubseq): * fns.c (Fnthcdr): * fns.c (Felt): * fns.c (Flast): * fns.c (Fnbutlast): * fns.c (Fbutlast): * fns.c (list_position_cons_before): * fns.c (position): * fns.c (FdeleteX): * fns.c (FremoveX): * fns.c (list_delete_duplicates_from_end): * fns.c (Fdelete_duplicates): * fns.c (Fremove_duplicates): * fns.c (BIT_VECTOR_TO_OBJECT_ARRAY): * fns.c (Fmerge): * fns.c (list_sort): * fns.c (FsortX): * fns.c (plists_differ): * fns.c (tweaked_internal_equal): * fns.c (internal_equal_trapping_problems): * fns.c (internal_equalp): * fns.c (Ffill): * fns.c (mapcarX): * fns.c (shortest_length_among_sequences): * fns.c (Fmapconcat): * fns.c (Freduce): * fns.c (replace_string_range_1): * fns.c (Freplace): * fns.c (Fnsubstitute): * fns.c (Fsubstitute): * fns.c (mismatch_from_end): * fns.c (mismatch_list_list): * fns.c (mismatch_list_string): * fns.c (mismatch_list_array): * fns.c (mismatch_string_array): * fns.c (mismatch_string_string): * fns.c (mismatch_array_array): * fns.c (Fsearch): * fns.c (Fload_average): * fns.c (Ffeaturep): * fns.c (base64_decode_1): * fns.c (Fbase64_encode_region): * fns.c (Fbase64_decode_region): * fns.c (Fbase64_decode_string): * font-lock.c (end_of_defun): * font-lock.c (Fsyntactically_sectionize): * font-mgr.c (Ffc_pattern_add): * font-mgr.c (Ffc_pattern_get): * font-mgr.c (Ffc_config_get_rescan_interval): * font-mgr.c (Ffc_config_set_rescan_interval): * font-mgr.c (Ffc_get_version): * font-mgr.c (Ffc_init_reinitialize): * fontcolor-gtk.c (gtk_color_instance_rgb_components): * fontcolor-gtk.c (gtk_valid_color_name_p): * fontcolor-msw.c (mswindows_color_instance_rgb_components): * fontcolor-msw.c (mswindows_valid_color_name_p): * fontcolor-x.c (x_color_instance_rgb_components): * fontcolor-x.c (x_font_instance_properties): * fontcolor-x.c (x_font_list): * fontcolor.c (Ffont_instance_ascent): * fontcolor.c (Ffont_instance_descent): * fontcolor.c (Ffont_instance_width): * fontcolor.c (Ffont_instance_proportional_p): * frame-gtk.c (gtk_frame_property): * frame-gtk.c (gtk_frame_properties): * frame-gtk.c (gtk_set_frame_properties): * frame-impl.h (FRAME_SCROLLBAR_WIDTH): * frame-impl.h (FRAME_RAW_THEORETICAL_TOOLBAR_SIZE): * frame-impl.h (FRAME_RAW_REAL_TOOLBAR_BORDER_WIDTH): * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_frame_property): * frame-msw.c (mswindows_frame_properties): * frame-msw.c (mswindows_set_frame_properties): * frame-msw.c (msprinter_frame_property): * frame-msw.c (msprinter_frame_properties): * frame-msw.c (msprinter_set_frame_properties): * frame-tty.c: * frame-tty.c (tty_frame_property): * frame-tty.c (tty_frame_properties): * frame-x.c (x_frame_property): * frame-x.c (x_frame_properties): * frame-x.c (x_set_frame_properties): * frame.c (Fmake_frame): * frame.c (delete_frame_internal): * frame.c (Fmouse_pixel_position): * frame.c (Fmouse_position): * frame.c (Fset_mouse_position): * frame.c (Fset_mouse_pixel_position): * frame.c (Fprint_job_page_number): * frame.c (Fframe_modified_tick): * frame.c (Fframe_property): * frame.c (Fframe_properties): * frame.c (Fframe_pixel_height): * frame.c (Fframe_displayable_pixel_height): * frame.c (Fframe_pixel_width): * frame.c (Fframe_displayable_pixel_width): * frame.c (Fset_frame_height): * frame.c (Fset_frame_pixel_height): * frame.c (Fset_frame_displayable_pixel_height): * frame.c (Fset_frame_width): * frame.c (Fset_frame_pixel_width): * frame.c (Fset_frame_displayable_pixel_width): * frame.c (Fset_frame_size): * frame.c (Fset_frame_pixel_size): * frame.c (Fset_frame_displayable_pixel_size): * frame.c (Fset_frame_position): * frame.c (adjust_frame_size): * free-hook.c (Freally_free): * free-hook.c (really_free_one_entry): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (GETCOLOR): * glyphs-gtk.c (image_instance_convert_to_pointer): * glyphs-gtk.c (init_image_instance_from_xbm_inline): * glyphs-gtk.c (xbm_instantiate_1): * glyphs-gtk.c (gtk_xbm_instantiate): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-gtk.c (check_valid_string_or_int): * glyphs-gtk.c (autodetect_normalize): * glyphs-gtk.c (gtk_progress_gauge_redisplay): * glyphs-gtk.c (gtk_register_gui_item): * glyphs-gtk.c (gtk_tab_control_callback): * glyphs-gtk.c (BUILD_GLYPH_INST): * glyphs-msw.c (init_image_instance_from_dibitmap): * glyphs-msw.c (mswindows_initialize_image_instance_icon): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (resource_name_to_resource): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (init_image_instance_from_xbm_inline): * glyphs-msw.c (xbm_instantiate_1): * glyphs-msw.c (mswindows_xbm_instantiate): * glyphs-msw.c (mswindows_register_gui_item): * glyphs-msw.c (mswindows_subwindow_instantiate): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (mswindows_progress_gauge_instantiate): * glyphs-msw.c (mswindows_progress_gauge_redisplay): * glyphs-msw.c (mswindows_control_wnd_proc): * glyphs-widget.c: * glyphs-widget.c (check_valid_int_or_function): * glyphs-widget.c (widget_query_geometry): * glyphs-widget.c (widget_instantiate): * glyphs-widget.c (layout_update): * glyphs-widget.c (layout_query_geometry): * glyphs-widget.c (layout_layout): * glyphs-widget.c (layout_property): * glyphs-widget.c (Fwidget_logical_to_character_width): * glyphs-widget.c (Fwidget_logical_to_character_height): * glyphs-x.c (image_instance_convert_to_pointer): * glyphs-x.c (init_image_instance_from_xbm_inline): * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (autodetect_normalize): * glyphs-x.c (x_progress_gauge_redisplay): * glyphs-x.c (BUILD_GLYPH_INST): * glyphs.c: * glyphs.c (process_image_string_instantiator): * glyphs.c (check_valid_int): * glyphs.c (alist_to_tagged_vector): * glyphs.c (normalize_image_instantiator): * glyphs.c (print_image_instance): * glyphs.c (make_image_instance_1): * glyphs.c (Fimage_instance_depth): * glyphs.c (Fimage_instance_height): * glyphs.c (Fimage_instance_width): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (xbm_normalize): * glyphs.c (pixmap_to_lisp_data): * glyphs.c (image_instantiate): * glyphs.c (image_going_to_add): * glyphs.c (Fglyph_width): * glyphs.c (Fglyph_ascent): * glyphs.c (Fglyph_descent): * glyphs.c (Fglyph_height): * glyphs.c (glyph_baseline): * glyphs.c (subwindow_instantiate): * glyphs.c (Fimage_instance_subwindow_id): * glyphs.c (Fresize_subwindow): * glyphs.c (disable_glyph_animated_timeout): * gpmevent.c (Fgpm_enable): * gtk-glue.c (xemacs_list_to_array): * gtk-xemacs.c (FROB_FACE): * gtk-xemacs.c (smash_scrollbar_specifiers): * gtk-xemacs.c (smash_toolbar_specifiers): * gui-gtk.c (gcpro_popup_callbacks): * gui-gtk.c (ungcpro_popup_callbacks): * gui-gtk.c (get_gcpro_popup_callbacks): * gui-msw.c (mswindows_handle_gui_wm_command): * gui-x.c: * gui-x.c (gcpro_popup_callbacks): * gui-x.c (ungcpro_popup_callbacks): * gui-x.c (popup_handled_p): * gui.c (gui_item_id_hash): * gutter.c (calculate_gutter_size): * gutter.c (Fgutter_pixel_width): * gutter.c (Fgutter_pixel_height): * gutter.c (gutter_specs_changed_1): * gutter.c (gutter_specs_changed): * gutter.c (gutter_size_validate): * gutter.c (specifier_vars_of_gutter): * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): * indent.c (last_visible_position): * indent.c (column_at_point): * indent.c (Fcurrent_column): * indent.c (Findent_to): * indent.c (byte_spaces_at_point): * indent.c (Fcurrent_indentation): * indent.c (Fmove_to_column): * indent.c (Fcompute_motion): * indent.c (vertical_motion_1): * indent.c (Fvertical_motion_pixels): * indent.c (syms_of_indent): * insdel.c (make_gap): * insdel.c (signal_before_change): * insdel.c (signal_after_change): * insdel.c (buffer_insert_string_1): * intl-win32.c: * intl-win32.c (mswindows_get_code_page_charset): * intl-win32.c (Fmswindows_get_locale_info): * intl-win32.c (enum_code_page_fn): * intl-win32.c (Fmswindows_get_console_code_page): * intl-win32.c (Fmswindows_set_console_code_page): * intl-win32.c (Fmswindows_get_console_output_code_page): * intl-win32.c (Fmswindows_set_console_output_code_page): * intl-win32.c (Fmswindows_get_code_page_charset): * intl-win32.c (Fmswindows_get_valid_keyboard_layouts): * intl-win32.c (Fmswindows_get_keyboard_layout): * intl-win32.c (Fmswindows_set_keyboard_layout): * intl-win32.c (mswindows_multibyte_to_unicode_putprop): * intl-win32.c (mswindows_multibyte_to_unicode_getprop): * intl-win32.c (mswindows_multibyte_to_unicode_print): * keymap.c (MAKE_MODIFIER_HASH_KEY): * keymap.c (print_keymap): * keymap.c (get_keyelt): * keymap.c (keymap_fullness): * keymap.c (Fkeymap_fullness): * keymap.c (event_matches_key_specifier_p): * keymap.c (ensure_meta_prefix_char_keymapp): * keymap.c (Fdefine_key): * keymap.c (raw_lookup_key_mapper): * keymap.c (lookup_events): * keymap.c (get_relevant_keymaps): * keymap.c (Fkey_binding): * keymap.c (map_keymap_sorted): * keymap.c (Faccessible_keymaps): * keymap.c (Fkey_description): * keymap.c (Fwhere_is_internal): * keymap.c (where_is_recursive_mapper): * keymap.c (describe_map_tree): * keymap.c (describe_command): * keymap.c (describe_map_mapper): * keymap.c (describe_map_sort_predicate): * keymap.c (describe_map): * line-number.c (narrow_line_number_cache): * line-number.c (get_nearest_line_number): * line-number.c (add_position_to_cache): * line-number.c (buffer_line_number): * lisp-disunion.h: * lisp-disunion.h (Lisp_Type_Fixnum_Bit): * lisp-disunion.h (make_fixnum): * lisp-disunion.h (FIXNUMP): * lisp-disunion.h (Qzero): * lisp-union.h: * lisp-union.h (union Lisp_Object): * lisp-union.h (XREALFIXNUM): * lisp-union.h (FIXNUMP): * lisp.h: * lisp.h (enum Lisp_Type): * lisp.h (FIXNUM_GCBITS): * lisp.h (HACKEQ_UNSAFE): * lisp.h (BITP): * lisp.h (XFIXNUM): * lisp.h (CHECK_FIXNUM): * lisp.h (CONCHECK_FIXNUM): * lisp.h (XCHAR_OR_FIXNUM): * lisp.h (CHAR_INTP): * lisp.h (CHECK_CHAR_COERCE_INT): * lisp.h (CHECK_FIXNUM_COERCE_CHAR): * lisp.h (CHECK_FIXNUM_COERCE_MARKER): * lisp.h (CHECK_FIXNUM_COERCE_CHAR_OR_MARKER): * lisp.h (XFLOATFIXNUM): * lisp.h (CONCHECK_FIXNUM_OR_FLOAT): * lisp.h (FIXNUM_OR_FLOATP): * lisp.h (PARSE_KEYWORDS): * lisp.h (ARRAY_DIMENSION_LIMIT): * lread.c (pas_de_holgazan_ici): * lread.c (load_force_doc_string_unwind): * lread.c (close_load_descs): * lread.c (Fload_internal): * lread.c (decode_mode_1): * lread.c (Feval_region): * lread.c (Fread_from_string): * lread.c (read_unicode_escape): * lread.c (read_atom): * lread.c (parse_integer): * lread.c (read_structure): * lread.c (read1): * lread.c (read_vector): * lread.c (read_compiled_function): * lstream.c (make_lisp_buffer_stream_1): * macros.c (Fstart_kbd_macro): * macros.c (Fend_kbd_macro): * macros.c (pop_kbd_macro_event): * macros.c (Fexecute_kbd_macro): * marker.c (Fmarker_position): * marker.c (set_marker_internal): * marker.c (copy_marker_1): * marker.c (init_buffer_markers): * marker.c (uninit_buffer_markers): * mc-alloc.c (Fmc_alloc_memory_usage): * mc-alloc.c (syms_of_mc_alloc): * menubar-msw.c (allocate_menu_item_id): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (mswindows_handle_wm_command): * menubar.c (Fcompare_menu_text): * minibuf.c: * minibuf.c (Fminibuffer_depth): * minibuf.c (read_minibuffer_internal_unwind): * minibuf.c (Fminibuffer_prompt_width): * mule-ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): * mule-ccl.c (CCL_WRITE_STRING): * mule-ccl.c (ccl_driver): * mule-ccl.c (resolve_symbol_ccl_program): * mule-ccl.c (ccl_get_compiled_code): * mule-ccl.c (setup_ccl_program): * mule-ccl.c (Fccl_execute): * mule-ccl.c (vars_of_mule_ccl): * mule-charset.c: * mule-charset.c (get_unallocated_leading_byte): * mule-charset.c (Fmake_charset): * mule-charset.c (Fcharset_from_attributes): * mule-charset.c (Fcharset_dimension): * mule-charset.c (Fcharset_property): * mule-charset.c (Fcharset_id): * mule-coding.c (Fdecode_shift_jis_char): * mule-coding.c (Fencode_shift_jis_char): * mule-coding.c (Fdecode_big5_char): * mule-coding.c (Fencode_big5_char): * mule-coding.c (charset_by_attributes_or_create_one): * mule-coding.c (decode_unicode_char): * mule-coding.c (fixed_width_skip_chars_data_given_strings): * mule-coding.c (fixed_width_query): * mule-wnnfns.c (Fwnn_dict_add): * mule-wnnfns.c (Fwnn_dict_delete): * mule-wnnfns.c (Fwnn_dict_list): * mule-wnnfns.c (Fwnn_dict_comment): * mule-wnnfns.c (Fwnn_begin_henkan): * mule-wnnfns.c (Fwnn_zenkouho): * mule-wnnfns.c (Fwnn_get_zenkouho): * mule-wnnfns.c (Fwnn_zenkouho_bun): * mule-wnnfns.c (Fwnn_zenkouho_suu): * mule-wnnfns.c (Fwnn_dai_top): * mule-wnnfns.c (Fwnn_dai_end): * mule-wnnfns.c (Fwnn_kakutei): * mule-wnnfns.c (Fwnn_bunsetu_henkou): * mule-wnnfns.c (Fwnn_inspect): * mule-wnnfns.c (Fwnn_bunsetu_kanji): * mule-wnnfns.c (Fwnn_bunsetu_yomi): * mule-wnnfns.c (Fwnn_bunsetu_suu): * mule-wnnfns.c (Fwnn_hindo_update): * mule-wnnfns.c (Fwnn_word_toroku): * mule-wnnfns.c (Fwnn_word_sakujo): * mule-wnnfns.c (Fwnn_word_use): * mule-wnnfns.c (Fwnn_word_info): * mule-wnnfns.c (Fwnn_hindo_set): * mule-wnnfns.c (Fwnn_dict_search): * mule-wnnfns.c (Fwnn_get_param): * mule-wnnfns.c (Fwnn_set_param): * mule-wnnfns.c (Fwnn_get_msg): * mule-wnnfns.c (Fwnn_hinsi_dicts): * mule-wnnfns.c (Fwnn_hinsi_list): * mule-wnnfns.c (Fwnn_notrans_dict_add): * mule-wnnfns.c (Fwnn_bmodify_dict_add): * mule-wnnfns.c (Fwnn_okuri_flag): * mule-wnnfns.c (Fwnn_prefix_flag): * mule-wnnfns.c (Fwnn_freq_func): * mule-wnnfns.c (Fwnn_numeric): * mule-wnnfns.c (Fwnn_alphabet): * mule-wnnfns.c (Fwnn_symbol): * mule-wnnfns.c (Fwnn_version): * mule-wnnfns.c (Fwnn_hinsi_number): * mule-wnnfns.c (syms_of_mule_wnn): * number.c: * number.c (Fdenominator): * number.c (Fbigfloat_get_precision): * number.c (Fbigfloat_set_precision): * number.c (default_float_precision_changed): * number.c (Fcanonicalize_number): * number.c (get_number_type): * number.c (promote_args): * number.c (Fcoerce_number): * number.c (vars_of_number): * number.h (INTEGERP): * number.h (make_integer): * number.h (NATNUMP): * number.h (CHECK_NATNUM): * print.c (output_string): * print.c (print_vector_internal): * print.c (print_cons): * print.c (print_string): * print.c (print_preprocess_inchash_eq): * print.c (print_seen_once): * print.c (print_nonsymbol_seen_once): * print.c (print_sort_get_numbers): * print.c (print_gensym_or_circle): * print.c (nsubst_structures_descend): * print.c (print_internal): * print.c (restore_inhibit_non_essential_conversion_operations): * print.c (begin_inhibit_non_essential_conversion_operations): * print.c (debug_print_enter): * print.c (debug_p4): * process-nt.c (validate_signal_number): * process-nt.c (nt_send_process): * process-nt.c (nt_open_network_stream): * process-nt.c (Fmswindows_set_process_priority): * process-unix.c: * process-unix.c (connect_to_file_descriptor): * process-unix.c (get_internet_address): * process-unix.c (child_setup): * process-unix.c (unix_update_status_if_terminated): * process-unix.c (unix_reap_exited_processes): * process-unix.c (unix_send_process): * process-unix.c (unix_kill_child_process): * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): * process.c (create_process): * process.c (Fstart_process_internal): * process.c (Fset_process_window_size): * process.c (read_process_output): * process.c (status_message): * process.c (status_notify): * process.c (Fprocess_exit_status): * process.c (decode_signal): * process.c (Fprocess_send_eof): * profile.c: * profile.c (profile_sow_backtrace): * profile.c (profile_reap_backtrace): * profile.c (Fstart_profiling): * profile.c (get_profiling_info_timing_maphash): * profile.c (Fget_profiling_info): * profile.c (set_profiling_info_timing_maphash): * ralloc.c: * ralloc.c (MLVAL): * rangetab.c (Fget_range_table): * rangetab.c (Fput_range_table): * rangetab.c (Fmap_range_table): * rangetab.c (rangetab_data_validate): * redisplay-msw.c (mswindows_output_vertical_divider): * redisplay-output.c (redisplay_move_cursor): * redisplay-output.c (redisplay_output_layout): * redisplay-output.c (redisplay_output_window): * redisplay-output.c (redisplay_redraw_exposed_area_1): * redisplay-output.c (redisplay_redraw_exposed_area): * redisplay-output.c (bevel_modeline): * redisplay-xlike-inc.c (XLIKE_get_gc): * redisplay-xlike-inc.c (XLIKE_output_string): * redisplay-xlike-inc.c (XLIKE_output_vertical_divider): * redisplay-xlike-inc.c (XLIKE_output_blank): * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): * redisplay.c (tab_char_width): * redisplay.c (add_glyph_rune): * redisplay.c (create_text_block): * redisplay.c (generate_fstring_runes): * redisplay.c (create_string_text_block): * redisplay.c (regenerate_window): * redisplay.c (regenerate_window_extents_only_changed): * redisplay.c (regenerate_window_incrementally): * redisplay.c (regenerate_window_point_center): * redisplay.c (redisplay_window): * redisplay.c (validate_line_start_cache): * redisplay.c (update_line_start_cache): * scrollbar-gtk.c (scrollbar_cb): * scrollbar-msw.c (mswindows_handle_scrollbar_event): * scrollbar-x.c (x_update_vertical_scrollbar_callback): * scrollbar-x.c (x_update_horizontal_scrollbar_callback): * scrollbar.c (scrollbar_reset_cursor): * scrollbar.c (Fscrollbar_line_up): * scrollbar.c (Fscrollbar_line_down): * scrollbar.c (Fscrollbar_page_up): * scrollbar.c (Fscrollbar_page_down): * scrollbar.c (Fscrollbar_to_bottom): * scrollbar.c (Fscrollbar_vertical_drag): * scrollbar.c (Fscrollbar_set_hscroll): * scrollbar.c (specifier_vars_of_scrollbar): * search.c (string_match_1): * search.c (skip_chars): * search.c (search_command): * search.c (Freplace_match): * search.c (match_limit): * search.c (Fmatch_data): * search.c (Fstore_match_data): * select-gtk.c (gtk_get_foreign_selection): * select-msw.c (x_sym_p): * select-msw.c (symbol_to_ms_cf): * select-msw.c (ms_cf_to_symbol): * select-msw.c (mswindows_own_selection): * select-msw.c (mswindows_register_selection_data_type): * select-msw.c (mswindows_selection_data_type_name): * select-x.c: * select-x.c (x_get_foreign_selection): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (Fx_rotate_cutbuffers_internal): * select-xlike-inc.c (selection_data_to_lisp_data): * select-xlike-inc.c (lisp_data_to_selection_data): * select.c (Favailable_selection_types): * sgiplay.c (close_sound_file): * sgiplay.c (play_sound_file): * sgiplay.c (restore_audio_port): * sgiplay.c (audio_initialize): * sgiplay.c (set_channels): * sgiplay.c (set_output_format): * sound.c (Fplay_sound_file): * sound.c (parse_sound_alist_elt): * sound.c (Fplay_sound): * specifier.c: * specifier.c (print_specifier): * specifier.c (canonicalize_tag_set): * specifier.c (call_charset_predicate): * specifier.c (Fdefine_specifier_tag): * specifier.c (specifier_instance_1): * specifier.c (integer_validate): * specifier.h (XFIXNUMEGER_SPECIFIER): * symbols.c: * symbols.c (Fintern): * symbols.c (Fintern_soft): * symbols.c (Funintern): * symbols.c (oblookup): * symbols.c (do_symval_forwarding): * symbols.c (set_default_buffer_slot_variable): * symbols.c (set_default_console_slot_variable): * symbols.c (store_symval_forwarding): * symbols.c (Fset): * symbols.c (Fsetq_default): * symbols.c (symbol_value_buffer_local_info): * symbols.c (user_variable_alias_check_fun): * symbols.c (Fuser_variable_p): * syntax.c (Fsyntax_cache_info): * syntax.c (Fset_syntax_table): * syntax.c (reset_syntax_cache_range): * syntax.c (update_syntax_cache): * syntax.c (syntax_match): * syntax.c (Fforward_word): * syntax.c (Fforward_comment): * syntax.c (scan_lists): * syntax.c (Fscan_lists): * syntax.c (Fscan_sexps): * syntax.c (scan_sexps_forward): * syntax.c (Fparse_partial_sexp): * syntax.c (copy_to_mirrortab): * syntax.c (copy_if_not_already_present): * syntax.c (update_just_this_syntax_table): * syntax.c (define_standard_syntax): * syntax.c (SET_RANGE_SYNTAX): * syntax.c (complex_vars_of_syntax): * syntax.h: * sysdep.c: * sysdep.c (init_system_name): * sysdep.c (get_random): * tests.c: * tests.c (test_hash_tables_mapper): * tests.c (test_hash_tables_modifying_mapper): * tests.c (test_hash_tables_predicate): * tests.c (Ftest_hash_tables): * text.c (get_buffer_pos_char): * text.c (get_string_pos_char_1): * text.c (non_ascii_valid_ichar_p): * text.c (Fmake_char): * text.c (Fchar_octet): * text.c (Fsplit_char): * toolbar-msw.c (allocate_toolbar_item_id): * toolbar-msw.c (mswindows_clear_toolbar): * toolbar-msw.c (mswindows_output_toolbar): * toolbar-msw.c (mswindows_get_toolbar_button_text): * toolbar-msw.c (mswindows_handle_toolbar_wm_command): * toolbar-xlike.c (__prepare_button_area): * toolbar-xlike.c (xlike_get_button_size): * toolbar.c (Fcheck_toolbar_button_syntax): * toolbar.c (specifier_vars_of_toolbar): * tooltalk.c (tooltalk_constant_value): * tooltalk.c (Fadd_tooltalk_message_arg): * tooltalk.c (Fadd_tooltalk_pattern_arg): * tooltalk.c (init_tooltalk): * tooltalk.c (MAKE_CONSTANT): * tooltalk.c (vars_of_tooltalk): * tooltalk.h (CHECK_TOOLTALK_CONSTANT): * tooltalk.h (VALID_TOOLTALK_MESSAGEP): * ui-byhand.c (Fgtk_box_query_child_packing): * ui-byhand.c (Fgtk_button_box_get_child_size): * ui-byhand.c (Fgtk_calendar_get_date): * ui-byhand.c (Fgtk_clist_get_text): * ui-byhand.c (Fgtk_clist_get_selection): * ui-byhand.c (Fgtk_clist_get_pixmap): * ui-byhand.c (Fgtk_clist_get_pixtext): * ui-byhand.c (Fgtk_editable_insert_text): * ui-byhand.c (Fgtk_curve_get_vector): * ui-byhand.c (Fgtk_notebook_query_tab_label_packing): * ui-byhand.c (Fgtk_widget_get_pointer): * ui-byhand.c (generic_toolbar_insert_item): * ui-byhand.c (Fgtk_toolbar_insert_item): * ui-byhand.c (Fgtk_ctree_recurse): * ui-gtk.c: * ui-gtk.c (import_gtk_enumeration_internal): * ui-gtk.c (Fgtk_call_function): * ui-gtk.c (__internal_callback_destroy): * ui-gtk.c (Fgtk_signal_connect): * ui-gtk.c (Fgtk_fundamental_type): * ui-gtk.c (Fgtk_object_type): * ui-gtk.c (Fgtk_describe_type): * ui-gtk.c (gtk_type_to_lisp): * ui-gtk.c (lisp_to_gtk_type): * ui-gtk.c (lisp_to_gtk_ret_type): * ui-gtk.c (get_enumeration): * ui-gtk.c (symbol_to_enum): * ui-gtk.c (flags_to_list): * ui-gtk.c (enum_to_symbol): * undo.c (undo_prelude): * undo.c (record_insert): * undo.c (record_delete): * undo.c (record_property_change): * undo.c (Fprimitive_undo): * unicode.c (unicode_to_ichar): * unicode.c (Fchar_to_unicode): * unicode.c (Funicode_to_char): * unicode.c (add_lisp_string_to_skip_chars_range): * unicode.c (unicode_query): * unicode.c (vars_of_unicode): * win32.c (Fmswindows_shell_execute): * window-impl.h (MODELINE_OFF_SHADOW_THICKNESS_ADJUSTED): * window-impl.h (MODELINE_SHADOW_THICKNESS): * window.c (window_divider_width): * window.c (window_scrollbar_width): * window.c (window_scrollbar_height): * window.c (margin_width_internal): * window.c (Fpos_visible_in_window_p): * window.c (Fwindow_height): * window.c (Fwindow_displayed_height): * window.c (Fwindow_pixel_height): * window.c (Fwindow_text_area_height): * window.c (Fwindow_width): * window.c (Fwindow_full_width): * window.c (Fwindow_pixel_width): * window.c (Fwindow_hscroll): * window.c (Fmodeline_hscroll): * window.c (Fset_modeline_hscroll): * window.c (Fset_window_hscroll): * window.c (Fwindow_pixel_edges): * window.c (Fwindow_end): * window.c (Fwindow_last_line_visible_height): * window.c (Fset_window_point): * window.c (Fset_window_start): * window.c (unshow_buffer): * window.c (Fother_window): * window.c (window_loop): * window.c (buffer_window_count): * window.c (Fdelete_other_windows): * window.c (Fset_window_buffer): * window.c (Fselect_window): * window.c (temp_output_buffer_show): * window.c (Fsplit_window): * window.c (Fenlarge_window): * window.c (Fenlarge_window_pixels): * window.c (Fshrink_window): * window.c (Fshrink_window_pixels): * window.c (window_scroll): * window.c (Fscroll_left): * window.c (Fscroll_right): * window.c (Fcenter_to_window_line): * window.c (Fmove_to_window_line): * window.c (get_current_pixel_pos): * window.c (Fcurrent_pixel_column): * window.c (Fcurrent_pixel_row): * window.c (specifier_vars_of_window): * xemacs.def.in.in: Mechanically change INT (where it refers to non-bignum Lisp integers) to FIXNUM in our sources. Done for the following functions, enums, and macros: Lisp_Type_Int_Even, Lisp_Type_Int_Odd, INT_GCBITS, INT_VALBITS, make_int(), INTP(), XINT(), CHECK_INT(), XREALINT(), INT_PLUS(), INT_MINUS(), EMACS_INT_MAX (to MOST_POSITIVE_FIXNUM), EMACS_INT_MIN (to MOST_NEGATIVE_FIXNUM), NUMBER_FITS_IN_AN_EMACS_INT() to NUMBER_FITS_IN_A_FIXNUM(), XFLOATINT, XCHAR_OR_INT, INT_OR_FLOAT. The EMACS_INT typedef was not changed, it does not describe non-bignum Lisp integers. Script that did the change available in http://mid.xemacs.org/20067.17650.181273.12014@parhasard.net . 2011-09-06 Aidan Kehoe <kehoea@parhasard.net> * redisplay-tty.c (init_tty_for_redisplay): Only set the console meta key flag to treat the eight bit as meta if the native coding system doesn't need that. * general-slots.h: * mule-coding.c: * mule-coding.c (syms_of_mule_coding): Move Qiso2022, Qseven to general-slots.h, they're now used in redisplay-tty.c. 2011-09-05 Stephen J. Turnbull <stephen@xemacs.org> * chartab.c (nsubst_structures_mapper): Don't use MULE-only cases in non-MULE. 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> * alloc.c: * alloc.c (ALLOC_FROB_BLOCK_LISP_OBJECT_1): * alloc.c (ALLOC_FROB_BLOCK_LISP_OBJECT): * alloc.c (cons_print_preprocess): * alloc.c (vector_print_preprocess): * alloc.c (vector_nsubst_structures_descend): * alloc.c (Fmake_symbol): * alloc.c (UNMARK_symbol): * alloc.c (sweep_symbols): * alloc.c (reinit_alloc_objects_early): * alloc.c (reinit_alloc_early): * bytecode.c: * bytecode.c (compiled_function_print_preprocess): * bytecode.c (compiled_function_nsubst_structures_descend): * bytecode.c (set_compiled_function_arglist): * bytecode.c (set_compiled_function_interactive): * bytecode.c (bytecode_objects_create): * chartab.c: * chartab.c (print_preprocess_mapper): * chartab.c (nsubst_structures_mapper): * chartab.c (char_table_nsubst_structures_descend): * chartab.c (chartab_objects_create): * elhash.c: * elhash.c (nsubst_structures_map_hash_table): * elhash.c (hash_table_nsubst_structures_descend): * elhash.c (print_preprocess_mapper): * elhash.c (hash_table_print_preprocess): * elhash.c (inchash_eq): * elhash.c (hash_table_objects_create): * elhash.c (syms_of_elhash): * elhash.h: * emacs.c (main_1): * fns.c: * fns.c (check_eq_nokey): * fns.c (Fnsubst): * fns.c (syms_of_fns): * lisp.h: * lisp.h (struct Lisp_Symbol): * lisp.h (IN_OBARRAY): * lisp.h (struct): * lisp.h (PRINT_PREPROCESS): * lread.c (read1): * lrecord.h: * lrecord.h (struct lrecord_implementation): * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT): * print.c: * print.c (PRINT_CIRCLE_LIMIT): * print.c (print_continuous_numbering_changed): * print.c (print_prepare): * print.c (print_finish): * print.c (Fprin1_to_string): * print.c (print_cons): * print.c (print_preprocess_inchash_eq): * print.c (print_preprocess): * print.c (print_sort_get_numbers): * print.c (print_sort_compare_ordinals): * print.c (print_gensym_or_circle): * print.c (nsubst_structures_descend): * print.c (nsubst_structures): * print.c (print_internal): * print.c (print_symbol): * print.c (vars_of_print): * rangetab.c: * rangetab.c (range_table_print_preprocess): * rangetab.c (range_table_nsubst_structures_descend): * rangetab.c (rangetab_objects_create): * rangetab.c (syms_of_rangetab): * symbols.c: * symbols.c (symbol_print_preprocess): * symbols.c (Fintern): * symbols.c (Funintern): * symbols.c (reinit_symbol_objects_early): * symbols.c (init_symbols_once_early): * symsinit.h: Implement print-circle, printing circular structures in a readable fashion, and treating them appropriately on read. This is by means of two new object methods, print_preprocess (detecting circularities), and nsubst_structures_descend (replacing placeholders with the read objects). Expose the substitution to Lisp via #'nsubst and its new :descend-structures keyword. Store information as to whether symbols are interned in obarray or not in their header, making checking for keywords and uninterned symbols (and thus printing) cheaper. Default print_gensym to t, as Common Lisp does, and as a more-than-decade old comment suggests. 2011-08-28 Aidan Kehoe <kehoea@parhasard.net> * event-Xt.c (x_to_emacs_keysym): Take a new pointer argument, X_KEYSYM_OUT, where we store the X11 keysym that we actually used. * event-Xt.c (x_event_to_emacs_event): Call x_to_emacs_keysym with its new pointer argument, so we have access to the X11 keysym used. When checking whether a keysym obeys caps lock, use the X11 keysym rather than the XEmacs keysym. When checking whether a key has two distinct keysyms depending on whether shift is pressed or not, use the X11 keysym passed back by x_to_emacs_keysym rather than working it out again using XLookupKeysym(). * event-Xt.c (keysym_obeys_caps_lock_p): Use XConvertCase() in this function, now we're receiving the actual X keysym used. 2011-08-24 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: Move REALPATH_CORRECTS_CASE, DEFAULT_FILE_SYSTEM_IGNORE_CASE to ../configure.ac rather than implementing them in terms of HAVE_DYLD here. 2011-08-23 Stephen Turnbull <stephen@xemacs.org> Fix performance regression in refactored syntax cache setup. More doc improvements. * syntax.h (enum syntax_source): New. Specify whether syntax is from property or buffer. (struct syntax_cache): Use enum syntax_source source, instead of no_syntax_table_prop and use_code. Improve comments. (SOURCE_IS_TABLE): New predicate. (SYNTAX_CODE_FROM_CACHE): Use it instead of use_code, and adjust logic. * syntax.c (syntax_cache_table_was_changed): Check cache->source (cache->no_syntax_table_prop is gone). (reset_syntax_cache_range): All information about OBJECT and BUFFER is in CACHE already. Also reset markers in OBJECT if it is a buffer. Rename INFINITE to VALID_EVERYWHERE. (init_syntax_cache): Initialize source (cache->no_syntax_table_prop is gone). Maybe initialize start and end to null markers. Initialize cache range with reset_syntax_cache_range. (update_syntax_cache): Use source instead of no_syntax_table_prop and use_code. (setup_syntax_cache): Add header comment. Improve other comments. Make calls to reset_syntax_cache_range and init_syntax_cache match their prototypes. (init_buffer_syntax_cache): Use init_syntax_cache to do the work. (signal_syntax_cache_extent_changed): Make call to reset_syntax_cache_range match its prototype. Improve local variable naming. 2011-08-08 Stephen J. Turnbull <stephen@xemacs.org> * syntax.c (update_syntax_cache): Use buffer_or_string_accessible_*, not buffer_or_string_absolute_*. Patch and test suggested by Alan Mackenzie. Fix initialization of insertion type for start and end in struct syntax_cache. 2011-08-06 Stephen J. Turnbull <stephen@xemacs.org> * syntax.c: Remove some obsolete or unintelligible #### comments. Improve many toplevel comments. (Fsyntax_designator_chars): (Fchar_syntax): (Fmatching_paren): (Fforward_word): (Fforward_comment): (Fscan_lists): (Fscan_sexps): (Fbackward_prefix_chars): (parse-sexp-ignore-comments): (lookup-syntax-properties): (words-include-escapes): Improve docstrings. * syntax.h: Document functions and restrictions struct syntax_cache members. Improve many toplevel comments. Delete syntax code parsing macros unused for a decade or so. (#if 0'd out since May 2002.) 2011-08-06 Stephen J. Turnbull <stephen@xemacs.org> * syntax.c (reset_buffer_syntax_cache_range): Rename to reset_syntax_cache_range. (setup_syntax_cache): (init_buffer_syntax_cache): (init_syntax_cache): (reset_syntax_cache_range): Refactor and document. (signal_syntax_cache_extent_changed): Remove obsolete comment. 2011-08-05 Stephen J. Turnbull <stephen@xemacs.org> There are only (octal) 0200 ASCII characters, and only 128 values supplied in the definition. * syntax.h (syntax_spec_code): * syntax.c (syntax_spec_code): Declare array with correct dimension. * search.c (skip_chars): Correct bounds check on index of syntax_spec_code. 2011-08-04 Stephen J. Turnbull <stephen@xemacs.org> * search.c (byte_scan_buffer): Rename local variables to suppress GCC "shadowed global" warnings. The warnings are due to ANSI functions from <math.h> on Darwin. 2011-08-04 Stephen J. Turnbull <stephen@xemacs.org> * mule-coding.c (shift_jis_convert): * redisplay-xlike-inc.c (XLIKE_output_vertical_divider): Rename local variables to suppress GCC "shadowed global" warnings. The warnings are due to non-ANSI functions from <math.h> on Darwin. 2011-08-04 Stephen J. Turnbull <stephen@xemacs.org> * glyphs-eimage.c (png_instantiate): Rename a shadowing loop index which shadows another local to quiet GCC. 2011-08-03 Stephen J. Turnbull <stephen@xemacs.org> * glyphs-eimage.c (_LARGEFILE64_SOURCE, _FILE_OFFSET_BITS): Define these macros to suppress GCC warnings caused by excessive zlib magic. 2011-08-03 Stephen J. Turnbull <stephen@xemacs.org> * dumper.c (pdump_file_try): Add prototype to suppress GCC warning. 2011-06-25 Aidan Kehoe <kehoea@parhasard.net> * console.c: * console.c (allocate_console): * console.c (vars_of_console): * console.c (complex_vars_of_console): * lisp.h: Add a new keymap variable, function-key-map-parent; use it as the parent of each console-specific function-key-map. This is appropriate for things like x-compose processing. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * fns.c: * fns.c (list_delete_duplicates_from_end): Correct a couple of comments in this file. * fns.c (sublis): Remove a superfluous gcpro1. 2011-06-19 Aidan Kehoe <kehoea@parhasard.net> * elhash.c (Feq_hash): Document that this returns, for non-immediate objects, a value that is unique among currently-reachable objects. 2011-05-29 Didier Verna <didier@xemacs.org> * console-impl.h (struct console_methods): Remove device parameter from the clear_region method prototype. * redisplay-output.c (redisplay_clear_region): Remove the device parameter from the clear_region method call. * console-stream.c (stream_clear_region): * redisplay-msw.c (mswindows_clear_region): * redisplay-tty.c (tty_clear_region): Update accordingly. * redisplay-xlike-inc.c (XLIKE_clear_region): Ditto. Get the device from the frame structure instead. 2011-05-20 Jerry James <james@xemacs.org> * Makefile.in.in: Default DESTDIR to the empty string, and use it in install targets. 2011-05-20 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: * data.c (Faref): * fns.c (check_losing_bytecode): * fns.c (concat): * fns.c (Felt): Remove the LOSING_BYTECODE compile-time option entirely. It allowed access to the elements of a compiled function using #'aref, and has been turned off since 1997. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * eval.c: * eval.c (Fdefmacro): * eval.c (syms_of_eval): Support macro-declaration-function in defmacro, incompletely and without documentation. * lisp.h: Declare Fnth here, necessary for the previous changes. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * s/netbsd.h: Remove an extraneous #endif, hopefully fixing the NetBSD and OpenBSD builds; thank you Adam Sjøgren! 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * fns.c (Fsplit_path): Removed. * fns.c (syms_of_fns): Move #'split-path to subr.el, as was always the intention. 2011-05-03 Stephen J. Turnbull <stephen@xemacs.org> * dumper.c (pdump_file_try): Remove static qualifier. Thanks to Hans de Graaff of Gentoo and Marcus Crestani. 2011-05-01 Aidan Kehoe <kehoea@parhasard.net> * lread.c (parse_integer): GMP's mpz_set_string deals with a leading plus badly, make sure it never sees one coming from this function. 2010-12-31 Mike Kupfer <mike.kupfer@xemacs.org> * redisplay.c (pixel_to_glyph_translation): Handle redisplay edge case. With motion events when entering a frame and the minibuffer is active, row and column can be zero, and there aren't any runes. 2011-04-30 Stephen J. Turnbull <stephen@xemacs.org> * specifier.c (Fspecifier_matching_instance): Add comment about backward-incompatibility of MATCHSPEC. ChangeLog Entries from tests/ChangeLoggoto announcement, summary, changes 2012-08-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.32 "habanero" is released. 2012-05-12 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Test #'truncate-string-to-width, thank you Colin Walters. 2012-05-06 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Use &environment appropriately in #'macrolet, instead of relying on #'macroexpand to guess what we mean. 2012-05-04 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el (equal): * automated/regexp-tests.el (Assert-char-class): Correct a stray parenthesis; add tests for the predefined character classes with #'skip-chars-{forward,backward}; update the tests to reflect some changed design decisions on my part. 2012-04-25 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el: Check that #'posix-string-match actually returns the longest match; thank you Ilya Shlyakhter in jn1j8t$ujq$1@dough.gmane.org ! 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el: * automated/regexp-tests.el (Assert-char-class): Check that #'string-match errors correctly with an over-long character class name. Add tests for character class functionality that supports non-ASCII characters. These tests expose bugs in GNU Emacs 24.0.94.2, but pass under current XEmacs. 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el: * automated/regexp-tests.el (Assert-char-class): Test the character classes functionality that was always in regex.c but that has only just been turned on. These tests pass on GNU Emacs 24.0.94.2. 2012-01-14 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Check that `byte-compile-catch' doesn't strip keyword (as such, non-quoted) TAGs. 2012-01-01 Aidan Kehoe <kehoea@parhasard.net> * automated/completion-tests.el: New. Test #'try-completion, #'all-completion and #'test-completion with list, vector and hash-table COLLECTION arguments. 2011-12-30 Aidan Kehoe <kehoea@parhasard.net> * automated/hash-table-tests.el: No longer use the obsolete function names in the tests, now they've been removed from cl.el. 2011-12-03 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: Check that integer object labels (using the #N=... syntax) treat bignums as such, rather than as fixnums that have wrapped. 2011-11-09 Aidan Kehoe <kehoea@parhasard.net> Update some tests that have started failing because of some changed design decisions. * automated/lisp-tests.el (eq): (type-of 42) now returns the symbol fixnum. * automated/lisp-tests.el (needs-lexical-context): (function ...) doesn't create a lexical context, and this is now the case in interpreted as well as in compiled code. * automated/mule-tests.el (featurep): Silence messages when byte-compiling files; if a file doesn't have the escape-quoted coding cookie, it will now have the raw-text-unix coding cookie, look for that instead of looking for the absence of the escape-quoted coding cookie. 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (uni-mappings): * automated/database-tests.el (delete-database-files): * automated/hash-table-tests.el (iterations): * automated/lisp-tests.el (test1): * automated/lisp-tests.el (a): * automated/lisp-tests.el (cl-floor): * automated/lisp-tests.el (foo): * automated/lisp-tests.el (list-nreverse): * automated/lisp-tests.el (needs-lexical-context): * automated/mule-tests.el (featurep): * automated/os-tests.el (original-string): * automated/os-tests.el (with): * automated/symbol-tests.el (check-weak-list-unique): Replace #'flet with #'labels where appropriate in these tests, following my own advice on style in the docstrings of those functions. 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (+): Test #'labels and inlining. 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: * automated/lisp-tests.el (literal-with-uninterned): * automated/symbol-tests.el (foo): Test print-circle, for printing (mutually-)recursive and circular structures. Bind print-continuous-numbering where appropriate. 2011-08-24 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Add a test of apply partially that depends on the relative order of its arguments. 2011-08-12 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Trivial tests of #'apply-partially, just added to subr.el. 2011-08-08 Stephen J. Turnbull <stephen@xemacs.org> * automated/syntax-tests.el: Add test of syntax cache suggested by Alan Mackenzie. 2011-08-06 Stephen J. Turnbull <stephen@xemacs.org> * automated/syntax-tests.el: Suggest test from old syntax-cache bug. 2011-08-06 Stephen J. Turnbull <stephen@xemacs.org> * automated/os-tests.el: * automated/syntax-tests.el: Move tests of `substitute-in-file-name' from syntax to os. * automated/syntax-tests.el: Add lisp-maint required file terminator. 2011-07-31 Mats Lidell <matsl@xemacs.org> * automated/process-tests.el: shell-command tests. 2011-07-22 Mats Lidell <matsl@xemacs.org> * automated/syntax-ppss-tests.el: Add tests for syntax-ppss.el. 2011-06-28 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Update the charsets-in-region test to reflect the GPLv3 HELLO file. 2011-05-20 Jerry James <james@xemacs.org> * tooltalk/Makefile (DESTDIR): New variable for all Makefiles, unused in this one. 2011-05-01 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: If the bignum feature is available, check that a leading plus sign is treated correctly when reading bignum integers. goto announcement, summary, changes |
||||||||||||||||
|
|
||||||||||||||||
Conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML