|
|||||||||||||||||
Searching XEmacs
Quick Links
About XEmacs
|
XEmacs 21.5.29 "garbanzo" 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.29 "garbanzo" is released. Organization: The XEmacs Project * XEmacs 21.5.29 "garbanzo" is released. "garbanzo" is the thirtieth in the VEGETABLE series. The successor to XEmacs 21.5.28 "fuki", "garbanzo" adds 8-bit ISO 8859- conformant coding systems and "just-in-time" Unicode charsets for Mule by Aidan Kehoe. There are a bunch of small improvements such as support for up to 26 mouse buttons and new icons for Windows users. All of these are standards conforming but may be surprising or inconvenient for some users: - The ISO 8859 coding systems no longer translate ISO 2022 escape sequences. Use iso-2022-n-with-esc instead. - The "just-in-time" charsets do not correspond directly to any font, so expect glitches in display of these characters. Bug reports and patches are very welcome. - Ability to bind additional mouse buttons should not be a problem, even for the "fat-fingered", until they're actually used. But there is potential for surprises. The configure script has been rebuilt with autoconf 2.63. This version fixed a bug which can cause the script to hang or fail incorrectly. Unfortunately, it also enables spurious warnings like: configure: WARNING: unrecognized options: --with-sound, --with-dialogs, --with-widgets, --with-mule, --with-xim, --with-png, --with-optimization, --with-dynamic You can ignore this warning, or suppress it with ./configure --enable-option-checking=no ... There is also a horde of bug fixes and new Lisp APIs, along with a few GNU syncs which should make some packages work better. XEmacs 21.5.29 is primarily a "checkpoint" release to give users who prefer not to live on the bleeding edge something to target. XEmacs 21.5.29 is the recommended version for all beta testers and 21.5 users who are not participating actively in development, including all bug fixes and features developed since the release of XEmacs 21.5.28 "fuki". IMPORTANT: XEmacs has moved its repository for new development from CVS to Mercurial, and changed hosts as well. For technical reasons, the "r21-5-latest-beta" tag is not available in Mercurial. To get the most recent beta, you need to specify its tag (for "garbanzo", that's "r21-5-29"). If you're not familiar with the XEmacs Mercurial repository there's a brief description in the "Availability" section below, and the full details are available at http://www.xemacs.org/Develop/hgaccess.html If you haven't used Mercurial before, it's very easy to get used to. It is a distributed version control system, which means that every workspace is a branch is a repository. You don't need to worry about space; the whole history of XEmacs 21.5 takes up only about 20% of the space that the source tree does, and about 10% of the combined source tree and build products. Even for a clone of the whole respository, it's faster than CVS. And once you have a clone, you can update very quickly, and all operations like diff and log are local: no network delays. Finally, if you make changes to your workspace, you can just check them in locally and Mercurial will handle merging and keeping your versions separate from the "official" ones. 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.29 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.28 source tree, a patchkit is available in xemacs-21.5.28-21.5.29.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. 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.28 source tree, a patchkit is available in xemacs-21.5.28-21.5.29.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. Changes in XEmacs 21.5.29 "garbanzo"goto announcement, summary, changes ChangeLogs for XEmacs 21.5.29 "garbanzo"goto announcement, summary, changes
ChangeLog Entries from ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-02-11 Jerry James <james@xemacs.org> * config.guess: * config.sub: Update to 2009-02-03 versions. 2009-01-31 Stephen J. Turnbull <stephen@xemacs.org> * configure.ac: Adopt Martin's suggestion of declaring argv as char ** (from <18643.15864.667930.542671@gargle.gargle.HOWL>). 2008-12-29 Stephen J. Turnbull <stephen@xemacs.org> * configure.ac (xemacs_cc_cc_mismatch): Fix my syntax errors. 2008-12-29 Stephen J. Turnbull <stephen@xemacs.org> * .hgignore: Add terminating newline to .hgignore. 2008-12-27 Aidan Kehoe <kehoea@parhasard.net> * configure.ac: Vladimir Ivanovic's change of 2008-09-17 was effective, but not correct. The original issue was that m4 stripped [], so "char *v[]" in configure.ac became "char *v" in configure. His change to configure.ac rendered the declaration "char **v[]", which is effective but confusing; this change renders it "char **v". * configure: Regenerate. 2008-10-25 Stephen J. Turnbull <stephen@xemacs.org> * INSTALL: Give better pointers to package documentation. 2008-10-25 Stephen J. Turnbull <stephen@xemacs.org> * configure.ac (xemacs_cc_cc_mismatch): Improve g++ detection. 2008-09-17 Vladimir G. Ivanovic <vladimir@acm.org> * configure: Fixed two typos in args of main: char *v -> char **v * configure.ac: Fixed two typos in args of main: char *v -> char **v 2008-08-03 Mats Lidell <matsl@xemacs.org> * configure.ac: Fix typo xft_gauge to xft_gauges * configure.ac (XE_COMPLEX_ARG): Use different defaults for with-xft and without-xft. 2008-07-06 Ville Skyttä <scop@xemacs.org> * configure.ac (xe_fst): New, to replace m4_fst which disappeared in autoconf 2.62 (#370). (XE_EXPAND_COMPLEX_OPTIONS): Use xe_fst. 2008-05-12 Michael Sperber <mike@xemacs.org> * configure.ac: A number of the checks that tried to determine whether an explicit path was specified were wrong. Also, add an AC_SUBST for INFOPATH. 2008-05-07 Aidan Kehoe <kehoea@parhasard.net> * configure.ac (XE_EXPAND_VARIABLE): Call AC_SUBST on SHEBANG_PATHNAME, as suggested by Michael Sperber in y9ly7aj1wfc.fsf@deinprogramm.de. * Makefile.in.in: Regenerate. * configure: Ditto. 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * Makefile.in.in (SHEBANG_PROGNAME): New variable; a symbol link to the XEmacs binary to tell it it should read a script from stdin. * configure.ac (XE_EXPAND_VARIABLE): Set SHEBANG_PROGNAME. * configure: Regenerate. 2008-04-01 Andreas Schwab <schwab@suse.de> Thanks to Mike Fabian for posting a patch to the mainline, to Martin Buchholz for writing the ChangeLog, and to Aidan Kehoe for finding the 2003-01-27 ChangeLog. Tested against Xaw3d. -- stephen * configure.ac (athena_3d): AC_CHECK_LIB must always take a function as argument, never a global variable. Some linkers can tell the difference. So change: threeDClassRec ==> XawSme3dComputeTopShadowRGB 2008-02-15 Marcus Crestani <crestani@xemacs.org> * configure.ac: Look for all x86 machines to determine which write barrier to use on MacOSX. * configure : Rebuild. 2008-02-12 Jerry James <james@xemacs.org> * install.sh: Rename to install-sh and update to latest FSF version. 2008-01-25 Stephen J. Turnbull <stephen@xemacs.org> * configure.ac (--with-database): 'gnudbm' -> 'gdbm' in docstrings. 2008-01-25 Michael Sperber <mike@xemacs.org> * Makefile.in.in: * configure.ac: * version.sh.in: Use Mercurial tip hash to identify version instead of old CVS method. 2008-01-17 Aidan Kehoe <kehoea@parhasard.net> * configure.ac: If using a version of the gdbm library that sticks dbm_open in libgdbm_compat.so, also link to that library. Correct a thinko with DBM version 4 checks. Both from Hans de Graaff, in http://mid.xemacs.org/20050812092756.6850.qmail@graaff.xs4all.nl and http://mid.xemacs.org/pan.2007.06.24.10.10.57@gentoo.org; thank you Hans! * configure: Regenerate. 2008-01-01 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (mkpkgdir): Fix incorrect comment convention. 2007-12-26 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (mkpkgdir): Ensure only one late package directory. 2007-12-26 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (check-available-packages): Say where to install. (mkpkgdir): 2007-12-23 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (mkpkgdir): (check-available-packages): (install-bootstrap-packages): (install-nonmule-packages): (install-all-packages): New targets supporting bundled packages. * .hgignore: Ignore tarballs in etc/bundled-packages/. 2007-12-08 Jerry James <james@xemacs.org> * config.guess: * config.sub: Sync with the latest upstream versions. 2007-12-12 Aidan Kehoe <kehoea@parhasard.net> * configure.ac : Check for FcConfigGetRescanInterval, FcConfigSetRescanInterval. * configure : Rebuild. 2007-08-27 Mike Sperber <mike@xemacs.org> * configure.ac: Try to use pkg-config for finding Xft includes and libraries. If that fails, search also in /usr/local. 2007-08-12 Mike Sperber <mike@xemacs.org> * Makefile.in.in (datarootdir): Add. * configure.ac (infodir): Now in terms of $(datarootdir). (mandir): Ditto, making it usually point to $(prefix)/share/man, conformant with the GNU Coding Standards. 2007-07-31 Mike Sperber <mike@xemacs.org> * configure.ac: Don't divert `share' to `lib' for datadir. Also, define AC_DATAROOTDIR_CHECKED to shut up autoconf. ChangeLog Entries from etc/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2008-08-10 Aidan Kehoe <kehoea@parhasard.net> * HELLO: Add a coding cookie, now the UTF-8 sequences prevent the file being recognised as ISO-2022-7 automatically. 2008-08-05 Aidan Kehoe <kehoea@parhasard.net> * HELLO: Encode the Arabic using UTF-8 sequences, not ISO-8859-6. 2008-02-21 Stephen J. Turnbull <stephen@xemacs.org> * README: Add descriptions of Daniel Polansky's icons. 2008-02-21 Daniel Polansky <danielpolansky@gmail.com> Two images for one icon for XEmacs, one 16x16 and 32x32. Also, a Microsoft Windows icon file is attached. Itemized: - 16x16 icon in PNG - 32x32 icon in PNG - Both bundled as a Microsoft Windows icon. The images are modeled on XEmacs violet logotype, as found at http://www.xemacs.org/. The images are copyright (c) 2005 by Daniel Polansky, and licensed under GNU General Public Licence V2 or later at your option. * xemacs-X-16.png: * xemacs-X-32.png: * xemacs-X.ico: New files. 2008-02-20 Stephen J. Turnbull <stephen@xemacs.org> * README: Give more accurate descriptions of image files. 2007-12-26 Stephen J. Turnbull <stephen@xemacs.org> * bundled-packages/README: Document restriction on --with-late-packages. 2007-12-23 Stephen J. Turnbull <stephen@xemacs.org> * bundled-packages/README: Documentation for bundled packages. * bundled-packages/test.sh: Test suite for bundled packages. 2007-11-22 Vin Shelton <acs@xemacs.org> * photos/vin.png: * photos/vinm.png: Updated. 2004-12-03 Shyamal Prasad <shyamal@member.fsf.org> * xemacs.1: Now describe $HOME/.xemacs/init.el as the preferred init file. Fixed excessive space insertion in the description of the '-vanilla' option 2007-09-19 Didier Verna <didier@lrde.epita.fr> * photos/dv.png: Remove. * photos/didier.png: Add. 2007-07-28 Aidan Kehoe <kehoea@parhasard.net> * unicode/unicode-consortium/BIG5.TXT: Don't map any characters to U+FFFD; for round trip compatibility, map those that were mapped to U+FFFD to the Unicode private use area. ChangeLog Entries from lib-src/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2008-12-27 Aidan Kehoe <kehoea@parhasard.net> * make-docfile.c (main): Allow more than one -d argument, followed by a directory to change to. (put_filename): Don't strip directory information; with previous change, allows retrieval of Lisp function and variable origin files from #'built-in-symbol-file relative to lisp-directory. (scan_lisp_file): Don't add an extraneous newline after the file name, put_filename has added the newline already. 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * make-mswin-unicode.pl: Check %WindowsSdkDir%, %MSSddk% for the Windows header files too. 2008-05-14 Vin Shelton <acs@xemacs.org> * winclient.c: Create CONNECT_RETRIES and increase retry count from 5 to 10. 2008-05-13 Aidan Kehoe <kehoea@parhasard.net> * make-docfile.c (scan_file): Pass READ_BINARY to scan_lisp_file, scan_c_file; avoids an assertion failure with Visual C++ 2005 Express Edition, and is logically more coherent, given that our Lisp and C files are saved with Unix line endings. 2007-08-27 Mike Sperber <mike@xemacs.org> * config.values.in (datarootdir): Add. 2007-08-12 Mike Sperber <mike@xemacs.org> * Makefile.in.in (datarootdir): Add. 2007-05-29 Stephen J. Turnbull <stephen@xemacs.org> * etags.c: Sync to pot_etags_version 17.33. Reverts part of 2007-03-24 patch: no longer displays pot_etags_version in usage message. 2007-05-22 Jerry James <james@xemacs.org> * ellcc.c (do_init_mode): Plug memory leak. ChangeLog Entries from lisp/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-04-01 Stephen J. Turnbull <stephen@xemacs.org> * lisp-mnt.el: Update FSF address. Improve header comment. Remove long-obsolete commented code. (lm-crack-address, lm-report-bug): Add #### remarks calling for use of superior external functions. (lm-synopsis): Convert interactive spec to use "F" specifier. Adjust docstring to reality. 2009-03-08 Stephen J. Turnbull <stephen@xemacs.org> * cus-edit.el (custom-face-prompt): Fix typo and improve readability in comment. 2009-03-01 Aidan Kehoe <kehoea@parhasard.net> * x-compose.el: Document an XIM bug, and how one might work around it. (define-compose-map): Revise this macro, call it with compose-caron-map, compose-macron-map, compose-breve-map, compose-dot-map, compose-doubleacute-map, compose-ogonek-map, compose-hook-map, compose-horn-map as well as the previous existing maps. (compose-map): Add entries for caron, macron, doubleacute, ogonek, breve and abovedot to this map. Add an assert, this code assumes that a non-Mule build has no character codes above U+00FF. Incorporate all the precomposed Latin characters in UnicodeData.txt that we can into the maps, deciding at runtime on which exactly depending on whether this is a non-Mule or a Mule build. Remove a commented-out old X11 bug workaround. Use #'flet instead of defun + unintern for #'alias-colon-to-doublequote. Correct #'electric-diacritic to work with the keyboard macro versions of the maps. (compose-help): This has been turned off since 1994; no-one appears to have noticed, since the normal help mechanism offers similar functionality and is actually maintained. Removed entirely. Remove a superflous setting of a default value for ctl-arrow. * x-init.el (x-initialize-compose): Support the new dead key maps we just added to x-compose.el with autoloads here. 2009-02-22 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-force-escape-quoted): New variable, used to force `byte-compile-insert-header' to treat the output as having characters above ?\xFF. (byte-compile-from-buffer): If the compiled output contains characters above ?\xFF, and byte-compile-dynamic-docstrings or byte-compile-dynamic is non-nil (or we're using an inappropriate coding system) recompile the file, turning off the dynamic features and using a more appropriate header. (byte-compile-insert-header): Pay attention to byte-compile-force-escape-quoted. 2009-02-18 Aidan Kehoe <kehoea@parhasard.net> * coding.el (check-coding-systems-region): Return null on success, not t. See http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1723 2009-02-17 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (finish-set-language-environment): Correct this function, don't try to format non-control characters with ^ followed by their value plus (char-int ?@). 2009-02-17 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (unicode-query-coding-region): Avoid eval-when-compile where that gives incorrect results when compiled on a non-Mule XEmacs but run on a Mule XEmacs. Fixes problems seen by 20a807210902131835o2f25930apaffabb6b62a95e5f@mail.gmail.com , thank you Vin! (An equivalent way to get the efficiency of the eval-when-compile would be to provide two defvars, evaluated at dump time, but this code will be in C soon enough, and we can use the relevant preprocessor constants there.) 2009-02-02 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-char-unicodedata-file): Back out Stephen's change of 2009-01-01, 16c9098dd3d2; do a Mercurial merge, add this ChangeLog entry. See also http://mid.xemacs.org/8763jbsyr7.fsf@xemacs.org . 2009-02-02 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el (macintosh): Add GNU Emacs' name for this coding system as an alias. 2009-02-13 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (init-mule-at-startup): Actually use leim-list-file-name, don't load a hardcoded leim-list.el in this function. 2009-02-11 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-string): Correct the order of arguments passed to #'query-coding-region. (unencodable-char-position): Handle string offsets correctly, they're one less than buffer offsets. Handle START and END correctly if passed a string. 2009-02-08 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (delete-duplicates): Add a new compiler macro, inlining this function if it's called with a literal #'eq or #'equal test arguments and no other keywords. * font-lock.el (font-lock-unique): Remove this function. * font-lock.el (font-lock-prepend-text-property): (font-lock-append-text-property): Use #'delete-duplicates instead of #'font-lock-unique. * font.el (font-unique): Remove this function. * font.el (font-combine-fonts-internal): (x-font-families-for-device): (xft-font-families-for-device): (ns-font-families-for-device): Use #'delete-duplicates instead of #'font-unique. * fontconfig.el (fc-delete-duplicates): * fontconfig.el (fc-filter): Remove these functions. * fontconfig.el (fc-find-available-font-families): Replace #'fc-delete-duplicates with #'delete-duplicates, #'fc-filter with #'delete-if-not. * format.el (format-make-relatively-unique): Document that this is equivalent to #'nset-exclusive-or with a test of #'equal. 2009-02-07 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-text-sexp): pp is in packages, use cl-prettyprint instead. * mule/mule-coding.el (make-8-bit-generate-helper): Don't uselessly bind args-out-of-range, thank you the byte compiler. * mule/mule-coding.el (8-bit-fixed-query-coding-region): Don't uselessly bind previous-fail, thank you the byte compiler. * tty-init.el (make-device-early-tty-entry-point): Set make-device-early-tty-entry-point-called-p, not pre-tty-win-initted, thank you the byte compiler. * unicode.el (unicode-query-coding-region): Don't uselessly bind invalid-sequence-p, thank you the byte-compiler. 2009-02-07 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-clear-highlights): Rename the BUFFER argument to BUFFER-OR-STRING, describe it as possibly being a string in its documentation. (default-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document that this function does not support it. Bind case-fold-search to nil, we don't want this to influence what the function thinks is encodable or not. (query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does; reflect this new argument in the associated compiler macro. (query-coding-string): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does. Support the HIGHLIGHT argument correctly. * unicode.el (unicode-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does, implement this. Document a potential problem. Use #'query-coding-clear-highlights instead of reimplementing it ourselves. Remove some debugging messages. * mule/arabic.el (iso-8859-6): * mule/cyrillic.el (iso-8859-5): * mule/greek.el (iso-8859-7): * mule/hebrew.el (iso-8859-8): * mule/latin.el (iso-8859-2): * mule/latin.el (iso-8859-3): * mule/latin.el (iso-8859-4): * mule/latin.el (iso-8859-14): * mule/latin.el (iso-8859-15): * mule/latin.el (iso-8859-16): * mule/latin.el (iso-8859-9): * mule/latin.el (windows-1252): * mule/mule-coding.el (iso-8859-1): Avoid the assumption that characters not given an explicit mapping in these coding systems map to the ISO 8859-1 characters corresponding to the octets on disk; this makes it much more reasonable to implement the IGNORE-INVALID-SEQUENCESP argument to query-coding-region. * mule/mule-cmds.el (set-language-info): Correct the docstring. * mule/mule-cmds.el (finish-set-language-environment): Treat invalid Unicode sequences produced from invalid-sequence-coding-system and corresponding to control characters the same as control characters in redisplay. * mule/mule-cmds.el: Document that encode-coding-char is available in coding.el * mule/mule-coding.el (make-8-bit-generate-helper): Change to return the both the encode-program generated and the relevant non-ASCII charset; update the docstring to reflect this. * mule/mule-coding.el (make-8-bit-generate-encode-program-and-skip-chars-strings): Rename this function; have it return skip-chars-strings as well as the encode program. Have these skip-chars-strings use ranges for charsets, where possible. * mule/mule-coding.el (make-8-bit-create-decode-encode-tables): Revise this to allow people to specify explicitly characters that should be undefined (= corresponding to keys in unicode-error-default-translation-table), and treating unspecified octets above #x7f as undefined by default. * mule/mule-coding.el (8-bit-fixed-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, implement support for it using the 8-bit-fixed-invalid-sequences-skip-chars coding system property; remove some debugging messages. * mule/mule-coding.el (make-8-bit-coding-system): This function is dumped, autoloading it makes no sense. Document what happens when characters above #x7f are not specified, implement this. * mule/vietnamese.el: Correct spelling. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * help.el: (describe-function-1): * byte-optimize.el: Remove any reference to mocklisp as an active technology. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el: Specify windows-1250 as the invalid-sequence-coding-system for the iso-8859-2 languages; actually *use* the invalid-sequence-coding-system for German and the other iso-8859-1 language environments. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * coding.el (force-coding-system-equivalency): Document this macro and the motivation for it. 2009-01-15 Aidan Kehoe <kehoea@parhasard.net> * coding.el (force-coding-system-equivalency): Move three functions that we don't want to advertise to being anonymous lambdas instead. * glyphs.el : Remove #'define-constant-glyph and some functions it uses, replace the latter with anonymous lambdas and the former and its uses with a call to loop. Do the same with #'define-obsolete-pointer-glyph and the functions it uses. (init-glyphs): Untern this symbol once the associated function has been called; it's only needed at dump time, not at runtime. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-region): Revert this to being a defun, add a compiler macro without needless binding. (query-coding-string): Correct a bug here, string indices are zero- not one-based. * mule/general-late.el (unicode-query-coding-skip-chars-arg): Correct the algorithm used to initialise this variable. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * help.el (describe-function-1): Distinguish between special forms and subrs; don't bind autoload-file, #'symbol-file returns it like any other function file name. 2009-01-31 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (finish-set-language-environment): Treat control characters specially in the invalid-sequence-coding-system handling, display them using the caret notation. 2009-01-31 Aidan Kehoe <kehoea@parhasard.net> * frame.el (display-graphic-p): Call #'display-device on the DISPLAY argument, ensuring that the argument to #'device-on-window-system-p is correct. 2009-01-18 Ville Skyttä <scop@xemacs.org> * font.el (font-*-p): Docstring spelling fix. (set-font-*-p): Ditto. * modeline.el (modeline-3d-p): Fix docstring copy-pasto. 2009-01-13 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (set-language-environment-coding-systems): Fix a cosmetic bug; the relationship between file-name-coding-system and the file-name coding system alias established in coding.el wasn't being maintained. See Katsumi Yamaoka's comment in http://mid.xemacs.org/b4m4p03bt43.fsf@jpl.org . 2009-01-11 Aidan Kehoe <kehoea@parhasard.net> * subr.el: Correct a comment, we now have #'syntax-after in syntax.el. (subr-arity): New. Docstring and API taken initially from GNU's data.c, revision 1.275, GPLv2. 2009-01-01 Stephen J. Turnbull <stephen@xemacs.org> * descr-text.el (describe-char-unicodedata-file): Nuke build-breaking computation from defcustom initializer. 2008-12-30 Aidan Kehoe <kehoea@parhasard.net> * make-docfile.el: Use absolute source file names when checking if DOC is out of date, don't use relative paths that may not be related to the current directory. 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-region): (query-coding-string): Make these defsubsts, they're short enough and they're called explicitly rarely enough that it make some sense. The alternative would be compiler macros that avoid the binding of the arguments. (unencodable-char-position): Document where the docstring and API are from. Correct a special case for zero--check-argument-type returns nil when it succeeds, we can't usefully chain its result in an and here. (check-coding-systems-region): New. API taken from GNU; docstring and implementation are independent. (encode-coding-char): Add an optional third argument, as used by recent GNU. Document the origen of the docstring. (default-query-coding-region): Add a short docstring to the non-Mule implementation of this function. * unicode.el: Don't set the query-coding-function property for unicode coding systems if we're on non-mule. Unintern unicode-query-coding-region, unicode-query-coding-skip-chars-arg in the same context. 2008-12-30 Aidan Kehoe <kehoea@parhasard.net> * frame.el (display-mouse-p): (display-popup-menus-p): (display-images-p): (display-selections-p): (display-visual-class): Make all these functions more general, do not hard code device type symbols where that is inappropriate. 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * coding.el (default-query-coding-region): Declare using defun*, so we can #'return-from to it on encountering a safe-charsets value of t. Comment out a few debug messages. (query-coding-region): Correct the docstring, it deals with a region, not a string. (unencodable-char-position): Correct the implementation for non-nil COUNT, special-case a zero value for count, treat it as one. Don't rely on dynamic scope when calling the main lambda. * unicode.el (unicode-query-coding-region): Comment out some debug messages here. * mule/mule-coding.el (8-bit-fixed-query-coding-region): Comment out some debug messages here. * code-init.el (raw-text): Add a safe-charsets property to this coding system. * mule/korean.el (iso-2022-int-1): * mule/korean.el (euc-kr): * mule/korean.el (iso-2022-kr): Add safe-charsets properties for these coding systems. * mule/japanese.el (iso-2022-jp): * mule/japanese.el (jis7): * mule/japanese.el (jis8): * mule/japanese.el (shift-jis): * mule/japanese.el (iso-2022-jp-1978-irv): * mule/japanese.el (euc-jp): Add safe-charsets properties for all these coding systems. * mule/iso-with-esc.el: Add safe-charsets properties to all the coding systems in here. Comment on the downside of a safe-charsets value of t for iso-latin-1-with-esc. * mule/hebrew.el (ctext-hebrew): Add a safe-charsets property for this coding system. * mule/devanagari.el (in-is13194-devanagari): Add a safe-charsets property for this coding system. * mule/chinese.el (cn-gb-2312): * mule/chinese.el (hz-gb-2312): * mule/chinese.el (big5): Add safe-charsets properties for these coding systems. * mule/latin.el (iso-8859-14): Add an implementation for this, using #'make-8-bit-coding-system. * mule/mule-coding.el (ctext): * mule/mule-coding.el (iso-2022-8bit-ss2): * mule/mule-coding.el (iso-2022-7bit-ss2): * mule/mule-coding.el (iso-2022-jp-2): * mule/mule-coding.el (iso-2022-7bit): * mule/mule-coding.el (iso-2022-8): * mule/mule-coding.el (escape-quoted): * mule/mule-coding.el (iso-2022-lock): Add safe-charsets properties for all these coding systems. 2008-12-27 Aidan Kehoe <kehoea@parhasard.net> * loadhist.el (symbol-file): Use #'defun*, not #'defun, to allow the checks for autoloaded functions and variables to call #'return-from correctly. Use #'return-from instead of #'return throughout the function. 2008-12-27 Aidan Kehoe <kehoea@parhasard.net> * loadup.el (load-history): Add the contents of current-load-list to load-history before clearing it. Move the variable declarations earlier in the file to a format understood by make-docfile.c. * custom.el (custom-declare-variable): Add the variable's symbol to the current file's load history entry correctly, don't use a cons. Eliminate a comment that we don't need to worry about, we don't need to check the `initialized' C variable in Lisp. * bytecomp.el (byte-compile-output-file-form): Merge Andreas Schwab's pre-GPLv3 GNU change of 19970831 here; treat #'custom-declare-variable correctly, generating the docstrings in a format understood by make-docfile.c. * loadhist.el (symbol-file): Correct behaviour for checking autoloaded macros and functions when supplied with a TYPE argument. Accept fully-qualified paths from #'built-in-symbol-file; if a path is not fully-qualified, return it relative to lisp-directory if the filename corresponds to a Lisp file, and relative to (concat source-directory "/src/") otherwise. * make-docfile.el (preloaded-file-list): Rationalise some let bindings a little. Use the "-d" argument to make-docfile.c to supply Lisp paths relative to lisp-directory, not absolutely. Add in loadup.el explicitly to the list of files to be processed by make-docfile.c--it doesn't make sense to add it to preloaded-file-list, since that is used for purposes of byte-compilation too. 2008-12-22 Aidan Kehoe <kehoea@parhasard.net> * loadhist.el (symbol-file): Add support for differentiating between variables and functions to #'symbol-file. * help.el (describe-function-1): (describe-variable): Call #'symbol-function explicitly with a 'defun or 'defvar argument, depending on whether we're looking for a variable or a function. * cus-face.el (custom-declare-face): Record information about the face in the load history; code taken from GNU, pre-GPLv3 revision 1.45. 2008-10-29 Stephen J. Turnbull <stephen@xemacs.org> * bytecomp.el (byte-compile-file): Protect encoding from latin-unity. 2008-10-28 Stephen J. Turnbull <stephen@xemacs.org> * version.el (xemacs-betaname): Fix docstring typo. (Thanks, Ville!) 2008-09-30 Stephen J. Turnbull <stephen@xemacs.org> * version.el (xemacs-betaname): Document relation to other version variables. 2008-09-27 Stephen J. Turnbull <stephen@xemacs.org> * subr.el (with-string-as-buffer-contents): Document initial position of point. 2008-08-31 Aidan Kehoe <kehoea@parhasard.net> * window.el (only-window-p): New. Check if WINDOW is the only window in some context, normally its frame. (one-window-p): Implemented this in terms of #'only-window-p, calling it on the selected window. (window-buffer-height): Uncomment this, make it work. (count-screen-lines): Support a BUFFER argument. (fit-window-to-buffer): Uncomment this, correct its implementation to work with XEmacs. * help.el (temp-buffer-resize-mode): New. Name taken from GNU, implementation our own. * (resize-temp-buffer-window): New. GNU-compatible alias for #'shrink-window-if-larger-than-buffer. * dumped-lisp.el (preloaded-file-list): Move easy-mmode before help, now that the latter uses #'define-minor-mode. * frame.el: Point to #'temp-buffer-resize-mode in a comment. Some of this code is from GNU; help.el CVS version 1.327 of 2007-03-21, window.el CVS version 1.122, of 2007-06-24. Both these are GPLV2 or later. 2008-08-27 Aidan Kehoe <kehoea@parhasard.net> * subr.el (skip-chars-quote): Correct the implementation, following the docstring of #'skip-char-forward more closely rather than the documentation of character classes in the Lispref. 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * custom.el: Move #'custom-variable-p to C, since it's now called from #'user-variable-p. 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-coding-system): * mule/general-late.el (posix-charset-to-coding-system-hash): Use #'skip-chars-quote as appropriate. 2008-08-09 Aidan Kehoe <kehoea@parhasard.net> * subr.el (skip-chars-quote): New. Given STRING, return a string that means that all characters in STRING will be skipped when passed to #'skip-chars-forward, #'skip-chars-backward. 2008-08-09 Aidan Kehoe <kehoea@parhasard.net> * mule/cyril-util.el: Remove. Use the version in packages instead. 2008-08-08 Aidan Kehoe <kehoea@parhasard.net> * unicode.el: * mule/mule-cmds.el: * mule/latin.el: * mule/cyrillic.el: Rework the various identifiers using error-sequence to use invalid-sequence instead. 2008-08-05 Aidan Kehoe <kehoea@parhasard.net> * specifier.el (current-display-table): Initialise this here, not in x-init.el, since we want it even on non-X builds to use the support for displaying Unicode error sequences according to the current locale. * mule/mule-cmds.el (set-language-info): Document error-sequence-coding-system, used to describe how to display characters that are not valid Unicode on disk. * mule/mule-cmds.el (finish-set-language-environment): Implement error-sequence-coding-system. * unicode.el (unicode-error-sequence-warning-face): New face, to make it possible to distinguish invalid Unicode sequences from the characters given by the valid Unicode sequences. * mule/cyrillic.el ("Russian"): ("Ukrainian"): ("Bulgarian"): ("Belarusian"): ("Cyrillic-ALT"): Add support for error-sequence-coding-system for all these languages. * mule/latin.el: Add support for error-sequence-coding-system for the Latin-alphabet language environments. 2008-08-05 Aidan Kehoe <kehoea@parhasard.net> * mule/iso-with-esc.el (greek-iso-8bit-with-esc): (arabic-iso-8bit-with-esc): Add these two here. Move the implementation of the 'arabic-iso8859-6 character set here, with commentary on why that is reasonable. * mule/arabic.el (iso-8859-6): Add iso-8859-6, windows-1256 implementations using make-8-bit-coding-system. Remove our non-standard Mule character sets. * unicode.el (load-unicode-tables): Remove Arabic since it's no longer dumped. * mule/mule-msw-init-late.el: Remove Arabic. * mule/mule-category.el (predefined-category-list): Remove Arabic. 2008-07-26 Aidan Kehoe <kehoea@parhasard.net> * x-init.el (x-initialize-compose): Rewrite to use #'loop, as does similar code in x-win-sun.el, x-win-xfree86.el. Locally bind function-key-map to the correct value for the device's console. * x-win-xfree86.el (x-win-init-xfree86): Locally bind function-key-map to the correct value for the device's console. * x-win-sun.el (x-win-init-sun): Locally bind function-key-map to the correct value for the device's console. 2008-07-20 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-char-unicode-data): Correct three calls to #'error; it doesn't take #'message style format strings and arguments. 2008-07-19 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-property-list): Move the (require 'hyper-apropos) call to top level, this isn't the only function that uses the relevant face. (describe-char): Wrap the Unihan field descriptions if they are longer than the windows width minus 50. Rename the created buffer to reflect the character's position as well as its value. 2008-07-07 Aidan Kehoe <kehoea@parhasard.net> Patch to make it up to the device-specific code whether various Lisp functions should be called during device creation, not relying on the startup code to decide this. Also, rename initial-window-system to initial-device-type (which makes more sense in this scheme), always set it. * startup.el (command-line): Use initial-device-type, not initial-window-system; just call #'make-device, leave the special behaviour to be done the first time a console type is initialised to be decided on by the respective console code. * x-init.el (x-app-defaults-directory): Declare that it should be bound. (x-define-dead-key): Have the macro take a DEVICE argument. (x-initialize-compose): Have the function take a DEVICE argument, and use it when checking if various keysyms are available on the keyboard. (x-initialize-keyboard): Have the function take a DEVICE argument, allowing device-specific keyboard initialisation. (make-device-early-x-entry-point-called-p): New. (make-device-late-x-entry-point-called-p): New. Rename pre-x-win-initted, x-win-initted. (make-device-early-x-entry-point): Rename init-pre-x-win, take the call to make-x-device out (it should be called from the device-creation code, not vice-versa). (make-device-late-x-entry-point): Rename init-post-x-win, have it take a DEVICE argument, use that DEVICE argument when working out what device-specific things need doing. Don't use create-console-hook in core code. * x-win-xfree86.el (x-win-init-xfree86): Take a DEVICE argument; use it. * x-win-sun.el (x-win-init-sun): Take a DEVICE argument; use it. * mule/mule-x-init.el: Remove #'init-mule-x-win, an empty function. * tty-init.el (make-device-early-tty-entry-point-called-p): New. Rename pre-tty-win-initted. (make-device-early-tty-entry-point): New. Rename init-pre-tty-win. (make-frame-after-init-entry-point): New. Rename init-post-tty-win to better reflect when it's called. * gtk-init.el (gtk-early-lisp-options-file): New. Move this path to a documented variable. (gtk-command-switch-alist): Wrap the docstring to fewer than 79 columns. (make-device-early-gtk-entry-point-called-p): New. (make-device-late-gtk-entry-point-called-p): New. Renamed gtk-pre-win-initted, gtk-post-win-initted to these. (make-device-early-gtk-entry-point): New. (make-device-late-gtk-entry-point): New. Renamed init-pre-gtk-win, init-post-gtk-win to these. Have make-device-late-gtk-entry-point take a device argument, and use it; have make-device-early-gtk-entry-point load the GTK-specific startup code, instead of doing that in C. (init-gtk-win): Deleted, functionality moved to the GTK device creation code. (gtk-define-dead-key): Have it take a DEVICE argument; use this argument. (gtk-initialize-compose): Ditto. * coding.el (set-terminal-coding-system): Correct the docstring; the function isn't broken. 2008-06-29 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-char-unicode-data): Don't leak the Unihan database handle when looking up non-Han characters. 2008-06-04 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el (describe-property-list): #'require hyper-apropos, since we use hyper-apropos-face 2008-05-25 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el: New. Taken from GNU's GPLV2 version of 2007-02-14, with modifications for XEmacs support and extensions for Unihan.txt support and db/dbm caches. * simple.el (what-cursor-position): Support an optional prefix argument, as does GNU, calling #'describe-char to giving more detail on the character at point, notably from UnicodeData and (in our case, optionally) Unihan.txt. * syntax.el (syntax-after): Make this available for the sake of #'describe-char. * mule/mule-cmds.el (iso-2022-control-alist): Make this available, for the sake of #'encoded-string-description and #'describe-char. * mule/mule-cmds.el (encoded-string-description): Make this available, for the sake of #'describe-char. * unicode.el (unicode-error-default-translation-table): Make this a char table of type generic, not of type char. Makes it possible to have the relevant logic in #'describe-char reasonably clear; also, and this is undocumented, makes it much easier to implement #'frob-unicode-errors-region. I should document this, and revise #'frob-unicode-errors-region. 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-choose-category): Merge my change of 2008-05-14 to the query-coding-region code. 2008-05-14 Stephen J. Turnbull <stephen@xemacs.org> * subr.el (add-to-list): Fix Aidan's last commit. 2008-05-14 Aidan Kehoe <kehoea@parhasard.net> * subr.el (add-to-list): Implement the same logic with a more concise syntax; thank you Stephen, in http://mid.xemacs.org/87ablomdwx.fsf@uwakimon.sk.tsukuba.ac.jp . 2008-02-25 bpalmer <bpalmer@gmail.com> * subr.el(add-to-list): add support for `compare-fn' to sync with emacs. 2008-05-14 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-choose-category):=20 Control-1 characters extend from #x80 to #x9F (inclusive), not from #x80 to #xBF. 2008-05-13 Aidan Kehoe <kehoea@parhasard.net> * printer.el (generic-print-region): (generic-print-buffer): Use #'valid-device-type-p instead of #'valid-specifier-tag-p to check if the msprinter device is available, now that msprinter is always available as a specifier tag. 2008-05-11 Aidan Kehoe <kehoea@parhasard.net> * disp-table.el (make-display-table): Update the example code to make it more general, and more compatible with GNU. Also, I previously said #xFF when I meant ?\xFF; correct this. * mule/cyril-util.el (standard-display-cyrillic-translit): Make the selection of the default language more sensible; change the API a little to make a sensible default Cyrillic language available, checking current-language-environment. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * mule/cyril-util.el: * mule/cyril-util.el (cyrillic-encode-koi8-r-char): Removed. * mule/cyril-util.el (cyrillic-encode-alternativnyj-char): Removed. No-one uses these functions in google.com/codesearch, GNU have a comment doubting their utility, and their implementation is trivial. * mule/cyril-util.el (cyrillic-language-alist): Reformatted. * mule/cyril-util.el (standard-display-table)): Removed. It wasn't used anyway. * mule/cyril-util.el (standard-display-cyrillic-translit): Rewrite it to work with character tables as display tables, and not to abort with an error. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * disp-table.el: * disp-table.el (make-display-table): Moved earlier in the file in a weak attempt at making syncing with GNU easier. * disp-table.el (frob-display-table): Autoload it, accept TAG-SET, for editing specifiers. * disp-table.el (describe-display-table): Have it handle character sets. * disp-table.el (standard-display-8bit-1): * disp-table.el (standard-display-8bit): * disp-table.el (standard-display-default-1): * disp-table.el (standard-display-ascii): * disp-table.el (standard-display-g1): * disp-table.el (standard-display-graphic): * disp-table.el (standard-display-underline): * disp-table.el (standard-display-european): Rework them all to use put-char-table, remove-char-table instead of aset. Limit standard-display-g1, standard-display-graphic to TTYs; have standard-display-underline work on X11 too. * font.el (font-caps-display-table): Use put-char-table instead of aset when editing a display table. * x-init.el: * x-init.el (tab): Create the initial display table as a char-table, not a vector. 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * startup.el (command-line-do-script): New. (command-switch-alist): Use command-line-do-script. New argument, compatible with GNU; --script or -script says "treat the following argument as a file to load in batch mode". 2008-05-07 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el (windows-1250): Add the Central European Windows coding system. * mule/mule-win32-init.el: Don't use the Windows-specific CP1250 implementation, rely on that in latin.el instead. 2008-05-11 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-clear-highlights): New function--clear any face information added by `query-coding-region'. (default-query-coding-region): Use it. 2008-04-13 Henry S. Thompson <ht@inf.ed.ac.uk>, Mike Sperber <mike@xemacs.org> * window-xemacs.el (save-window-excursion/mapping, set-window-configuration/mapping): Add. These function return an alist mapping the window objects from the original window configuration to the window objects corresponding to them in the restored configuration. (set-window-configuration): (saved-window): (root-window->saved-window): (really-set-window-configuration): (restore-saved-window): Record the mapping for above functions. 2008-04-12 Henry S. Thompson <ht@inf.ed.ac.uk> * window-xemacs.el (real-split-window, real-delete-window): Define these to the original definitions of `split-window' and `delete-window', and use them in the window-configuration code to make sure it doesn't get affected by advice to these functions. 2008-04-10 Aidan Kehoe <kehoea@parhasard.net> * help.el (describe-function-1): Rely on #'symbol-file to tell which file an autoloaded function belongs to, don't special-case them. 2008-03-19 Stephen J. Turnbull <stephen@xemacs.org> * custom.el (custom-theme-reset-internal): Fix call to get (symbol and property were reversed). 2008-03-12 Mike Sperber <mike@xemacs.org> * window-xemacs.el (restore-saved-window): Restore window parameters right after splitting, rather than after traversing the other children. 2008-03-07 Michael Sperber <mike@xemacs.org> * gnuserv.el (gnuserv-temp-file-regexp): Quote the temp-directory part. 2008-03-05 Didier Verna <didier@xemacs.org> Fix auto-formatting of comments in auto-fill-mode. * newcomment.el (comment-indent): Don't insert a space at bol. * newcomment.el (comment-indent-new-line): Bind block-comment-start to comment-start in order to preserve the formatting of previous comment lines. 2008-03-05 Didier Verna <didier@xemacs.org> Ease customization of face(s) under point. Suggested by Andreas Rohler. * cus-edit.el (custom-face-prompt): New (interactive call). Offer a prefix for choosing a face amongst those at point instead of all of them. * cus-edit.el (customize-face-1): New. Factor out from the functions below. * cus-edit.el (customize-face): Use it. * cus-edit.el (customize-face-other-window): Ditto. 2008-02-16 Michael Sperber <mike@xemacs.org> * autoload.el (autoload-make-autoload-operators, autoload-make-autoload-complex-operators): Move autoload operator definitons to autoload-operators.el in xemacs-base package. Continue to work with older packages. 2008-02-03 Aidan Kehoe <kehoea@parhasard.net> * iso8859-1.el (ascii-case-table): Correct the order of the arguments to #'put-case-table-pair. 2008-01-25 Michael Sperber <mike@xemacs.org> * build-report.el (build-report-version-file-regexp): Adjust to handle Mercurial hash. 2008-01-21 Aidan Kehoe <kehoea@parhasard.net> * info.el (Info-suffix-list): Support LZMA compression, as used--oddly--by Mandriva Linux. * coding.el (decode-coding-string): (encode-coding-string): Accept GNU's NOCOPY argument for these. Todo; write compiler macros to use it. (query-coding-warning-face): New face, to show unencodable characters. (default-query-coding-region-safe-charset-skip-chars-map): New variable, a cache used by #'default-query-coding-region. (default-query-coding-region): Default implementation of #'query-coding-region, using the safe-charsets and safe-chars coding systemproperties. (query-coding-region): New function; can a given coding system encode a given region? (query-coding-string): New function; can a given coding system encode a given string? (unencodable-char-position): Function API taken from GNU; return the first unencodable position given a string and coding system. (encode-coding-char): Function API taken from GNU; return CHAR encoded using CODING-SYSTEM, or nil if CODING-SYSTEM would trash CHAR. ((unless (featurep 'mule)): Override the default query-coding-region implementation on non-Mule. * mule/mule-coding.el (make-8-bit-generate-helper): Eliminate a duplicate comment. (make-8-bit-choose-category): Simplify implementation. (8-bit-fixed-query-coding-region): Implementation of #'query-coding-region for coding systems created with #'make-8-bit-coding-system. (make-8-bit-coding-system): Initialise the #'query-coding-region implementation for these character sets. (make-8-bit-coding-system): Ditto for the compiler macro version of this function. * unicode.el (unicode-query-coding-skip-chars-arg): New variable, used by unicode-query-coding-region, initialised in mule/general-late.el. (unicode-query-coding-region): New function, the #'query-coding-region implementation for Unicode coding systems. Initialise the query-coding-function property for the Unicode coding systems to #'unicode-query-coding-region. * mule/mule-charset.el (charset-skip-chars-string): New function. Return a #'skip-chars-forward argument that skips all characters in CHARSET. (map-charset-chars): Function synced from GNU, modified to work with XEmacs. Map FUNC across the int value charset ranges of CHARSET. 2008-01-21 Aidan Kehoe <kehoea@parhasard.net> * info.el (Info-suffix-list): Support LZMA compression, as used--oddly--by Mandriva Linux. 2008-01-17 Mike Sperber <mike@xemacs.org> * files.el (insert-directory): Bind `coding-system-for-read' to the `file-name' coding system. (Previously, the default ended up being undecided, which doesn't work well for UTF-8-based locales, for example.) 2008-01-16 Aidan Kehoe <kehoea@parhasard.net> * keydefs.el (global-map): Bind '(shift delete) to #'kill-primary-selection, as described by Glynn Clements in 16434.49191.47038.991206@cerise.nosuchdomain.co.uk of 2004-02-08. 2008-01-14 Jerry James <james@xemacs.org> * font-lock.el (font-lock-add-keywords): Adapt to differences in Emacs and XEmacs compiled font-lock lists. * font-lock.el (font-lock-remove-keywords): Ditto. * font-lock.el (font-lock-set-defaults-1): Make changes specified by font-lock-keywords-alist and font-lock-removed-keywords-alist. 2008-01-14 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-output-file-form): Bind print-gensym-alist to nil, as we do within byte-compile-output-docform. 2008-01-04 Michael Sperber <mike@xemacs.org> * code-files.el (insert-file-contents): (load): Don't call `substitute-in-file-name' on the file name. 2008-01-03 Aidan Kehoe <kehoea@parhasard.net> * cus-edit.el (custom-save-all): If the directory containing the custom file doesn't exist, try to create it. Fixes Nick's Crabtree's bug of 5fb265820712140145w512fa3bbh355cf76f7e2cf792@mail.gmail.com ; thank you Nick. * menubar-items.el (default-menubar): In the code to edit the user's init file, try to create the containing directory if it doesn't exist. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> * gtk-init.el (init-post-gtk-win): Trust the X11 code to give us decent default fonts. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> * x-iso8859-1.el: Removed. * gtk-iso8859-1.el: Removed. These haven't been used in a year and a half. No need to keep them around. 2008-01-02 Mike Sperber <mike@xemacs.org> * minibuf.el (mouse-read-file-name-1): Use `window-height' instead of `frame-height' to be consistent with `split-window''s calculations. Bind `window-min-height' for the whole thing to avoid geometry problems with the buttons window. 2008-01-02 Mike Sperber <mike@xemacs.org> * minibuf.el (mouse-read-file-name-1): Make the buttons in the dialog frame occupy `window-min-height' lines to avoid problems when the window configuration changes---as it does with `resize-minibuffer-mode'. 2007-12-31 Aidan Kehoe <kehoea@parhasard.net> * menubar-items.el (default-menubar): Byte compile the specified lambdas. Correct some compile time warnings uncovered by this. * menubar-items.el (tutorials-menu-filter): If a language environment doesn't have an associated POSIX locale specified--which indicates we don't want it used except by those who know what they're doing--don't show its tutorial in the menu. * behavior.el (behavior-menu-filter): Byte compile the lambdas in the generated menu. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> * iso8859-1.el: (provide 'iso8859-1) again, because one file uses it in the packages. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> * subr.el (with-case-table): New. Idea and implementation taken from GNU's code of April 2007, before GPL V3 was implied. Thank you GNU. * iso8859-1.el (ascii-case-table): New. Idea taken from GNU. * iso8859-1.el : Change Jamie's implicit compile-time call to a macro literal into something comprehensible to and maintainable by mortals, using to cl.el's #'loop. * iso8859-1.el (ctl-arrow): Initialise it to something more comprehensible. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> * loadhist.el (symbol-file): Accept a new TYPE argument, compatible with GNU, saying whether function or variable definitions should be searched for. Implement the functionality for autoloads, handling TYPE correctly. Pass the TYPE argument to built-in-symbol-file correctly. Document that TYPE is not implemented for non-autoloaded Lisp definitions. Our load-history doesn't have the relevant metadata. 2007-12-25 Aidan Kehoe <kehoea@parhasard.net> * glyphs.el (init-glyphs): Revert part of Didier's 2007-10-15 commit, which broke #'make-image-specifier with string arguments, and more noticeably truncation-glyph, continuation-glyph, octal-escape-glyph, control-arrow-glyph. 2007-12-23 Mike Sperber <mike@xemacs.org> * font.el (xft-font-create-object): Use `fc-pattern-get-or-compute-size' instead of `fc-pattern-get-size'. * fontconfig.el (fc-pattern-get-or-compute-size): Add. 2007-12-22 Stephen J. Turnbull <stephen@xemacs.org> Factor out lists of operators specially treated by `make-autoload'. * autoload.el (autoload-make-autoload-operators): New. (autoload-make-autoload-complex-operators): New. (make-autoload): Use them. 2007-12-18 Mike Sperber <mike@xemacs.org> * autoload.el (process-one-lisp-autoload): Insert <immediate> into the section header for immediate autoloads, to make sure the upstream doesn't think there aren't any autoloads at all. 2007-12-19 Mike Sperber <mike@xemacs.org> * startup.el (ask-about-user-init-file-migration-p): Factored out check. (maybe-migrate-user-init-file): (migrate-user-init-file): Don't do a backup of ~/.emacs anymore. Instead, make only a manual adjustment of the file, if at all, i.e. don't go through customize magic anymore. (unmigrate-user-init-file): Don't use customize to set `load-home-init-file' anymore. (set-load-home-init-file): Add; performs the modification previously done through customize. (unmigrate-user-init-file): Use `set-load-home-init-file' instead of customize. (command-line-1): Only wait for the first event if we're not going to ask about migration. 2007-12-18 Aidan Kehoe <kehoea@parhasard.net> * help.el (describe-function-1): Give details of bindings for commands, taking into account global-window-system-map and global-tty-map when bindings differ compared to the global map. 2007-12-17 Aidan Kehoe <kehoea@parhasard.net> * subr.el (integer-to-bit-vector): New. * subr.el (bit-vector-to-integer): New. Provide naive implementations using the Lisp reader for these. 2007-12-14 Aidan Kehoe <kehoea@parhasard.net> * process.el (substitute-env-vars): Merge an example from GNU's docstring. * process.el (setenv): Pass nil as the default abbrev table to the #'read-from-minibuffer call, instead of passing the current value of the variable. Bug introduced by an incorrect sync from GNU by Ben; reported by Thomas Mittelstaedt in 47626712.40609@cadenas.de. Document the #'set-time-zone-rule call when TZ is set. Push the old value on to the beginning of setenv-history. (Both merged from GNU.) Document that we don't do the coding-system frobbing at this level that GNU does. Provide a commented-out, sample implementation of GNU's #'environment; document why I think we shouldn't include it. 2007-12-11 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el : Specify tutorial-coding-system using dotted cons notation, since it's not a list. Prevents an error in help-with-tutorial for these languages. 2007-12-09 Aidan Kehoe <kehoea@parhasard.net> * abbrev.el (write-abbrev-file): Write FILE using escape-quoted, as a coding system. Add a coding cookie to specify exactly what coding system was used (escape-quoted is aliased to binary on non-Mule). Thank you for the bug report, Uwe Brauer. This bug would have been resolved ages ago if we had merged Dave Love's 2002 changes from GNU. Nope, I didn't merge the whole file when doing this. 2007-12-09 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (load-unicode-mapping-tables): Call #'set-default-unicode-precedence wrapped with #'declare-fboundp, to avoid warnings on non-Mule builds. * unicode.el (ccl-encode-to-ucs-2): * unicode.el (unicode-error-sequence-regexp-range): * unicode.el (frob-unicode-errors-region): * unicode.el (unicode-error-translate-region): Unconditionally provide these functions and variables at top level in the code, to make them available to make-docfile. For the INITVALUE args to #'defvar, conditionalise on (featurep 'mule); ditto for the code that tests the lookup tables and provides the WGL4 characters as jit-ucs-charset-0 characters. Unintern the function and variable symbols if (featurep 'mule) is not true, so their function definitions and so on get garbage collected at dump time in non-Mule builds. * obsolete.el (add-menu-item): * obsolete.el (add-menu): * obsolete.el (add-menu): * obsolete.el (package-get-download-menu): Provide these functions at top level, in order to make them available to make-docfile.c, which has trouble interpreting byte code. Unintern their symbols if the menubar feature is not available, which means they will be garbage collected on non-menubar builds. 2007-12-09 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el: Create clones of the English language environment with UTF-8 and Windows-1252 as the associated coding system, for Joachim Schrod's use case of f8q022$3o3$1@sea.gmane.org. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * keydefs.el: Bind mouse wheel movements by default, to a lambda that calls the autoloaded #'mwheel-install and then #'mwheel-scroll with the appropriate event. 2007-12-07 Vin Shelton <acs@xemacs.org> * about.el: Minor bio update to test hg repository. 2007-12-05 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (write-region): Use a more concise and probably less confusing docstring from Stephen. See 87ve84323s.fsf@uwakimon.sk.tsukuba.ac.jp. Not following his suggestion of keeping the CODING-SYSTEM name for the last argument, given that that would make reworking the body of the necessary, and that I introduced a short-lived bug the last time I did that. 2007-12-03 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-file-form-custom-declare-variable): Instead of using a keyword argument that's incompatible with 21.4, modify the byte compiled init code to change the variable's standard-value property itself. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * mule/iso-with-esc.el: * mule/iso-with-esc.el ('iso-latin-1-with-esc): New. Provide the variable-length rarely-used ISO 2022 compatible coding systems for Latin (that is, iso-8859-[1-16]) again, to address Stephen's veto. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * autoload.el (make-autoload): Support auto-autoloads for coding systems. 2007-12-01 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (iso-8859-1): * mule/latin.el (iso-8859-2): * mule/latin.el (iso-8859-3): * mule/latin.el (iso-8859-4): * mule/cyrillic.el (iso-8859-5): * mule/greek.el (iso-8859-7): * mule/hebrew.el (iso-8859-8): * mule/latin.el (iso-8859-9): * mule/latin.el (iso-8859-15): * mule/latin.el (iso-8859-16): Move the various ISO 8859 coding systems away from the ISO 2022 implementation to a #'make-8-bit-coding-system implementation; this has the handy side-effect of adressing most of the unification problems the old implementation had. Add aliases for GNU compatibility. Still no warning on the imminent corruption of data, though. I'm working on it. * mule/greek.el (windows-1253): Unconditionally provide this coding system. 2007-12-01 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-output-file-form): Bind print-gensym to a cons, to tell the Lisp printer not to clear print-gensym-alist on exit from #'print. This is appropriate because #'byte-compile-output-file-form may be called multiple times for a given output file, and re-using the #1=#:... placeholders in that context is inappropriate. 2007-11-29 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-generate-helper): Don't use 128 as a magic constant, instead make a let-binding to in in the eval-when-compile clause, and pass that bound value through to the run-time code. Fixes a bug where the compile-time and run-time code didn't share this value. * mule/mule-coding.el (make-8-bit-coding-system): Mark the coding systems created by this code as such, for the sake of automated testing of their round-trip compatibility. 2007-11-28 Aidan Kehoe <kehoea@parhasard.net> * simple.el: * simple.el (xemacs-default-composefunc-dont-nag): New. Variable to be bound when using the xemacs-default-composefunc and when nagging should be avoided (notably when submitting bug report). 2007-11-28 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (create-variant-language-environment): Set tutorial-coding-system to correspond to the original coding system when creating the variant language environment. 2007-11-27 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-file-form-custom-declare-variable): Byte compile the default value for #'custom-declare-variable (and thence defcustom) calls; pass the uncompiled value as the value of a :default keyword, to be used in the customize UI if the byte compiled init value differs from the non byte compiled init value. GNU don't do these things. The advantages of doing it our way are a) the byte compilation warnings and b) since our interpreter is proportionately so much slower than theirs, we are penalised more strongly when we interpret code, especially when #'custom-declare-variable calls cluster, as they tend to do. * cus-edit.el (customize-changed-options): Wrap the #'interactive call to be less than 80 columns. Wrap the code to less than 80 columns. * cus-edit.el (custom-variable-menu): * cus-edit.el (custom-face-menu): * cus-edit.el (custom-group-menu): Expose the lambda expressions in these variables to the byte compiler. * custom.el (custom-initialize-changed): Correct the docstring; change the defun to defsubst, since calls to this are only done from one function, and calls to that function cluster. * custom.el (custom-declare-variable): Document the :default argument to #'custom-declare-variable; implement it. 2007-11-27 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-optimize-featurep): Remove a useless let binding that was a hangover from an earlier version of the code. Eliminates a byte-compile time warning. 2007-11-22 Vin Shelton <acs@xemacs.org> * about.el (about-hacker-contribution): Updated my bio. 2007-11-15 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (write-region): Call #'find-coding-system on the (possible) coding system argument before checking it with #'coding-system-p; the latter function gives false results when passed coding system names as symbols. Preserve the old order of determination of the coding system better. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (unicode-error-default-translation-table): * unicode.el (unicode-error-sequence-regexp-range): * unicode.el (frob-unicode-errors-region): Make these variables and the single function available to make-docfile, by moving them to the start of the line. This conflicts with normal indentation of Lisp, unfortunately. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * subr.el (string-to-sequence): * subr.el (string-to-list): * subr.el (string-to-vector): (append STRING nil) is faster than (mapcar #'identity STRING), (vconcat STRING) is faster than (mapcar #'identity STRING). Change from GNU. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (write-region): Provide a new arg, CODING-SYSTEM-OR-MUSTBENEW, for compatibility both with GNU (where it has the MUSTBENEW meaning) and earlier XEmacs code (where it has the CODING-SYSTEM meaning). * files.el: * files.el (normal-backup-enable-predicate): * files.el (auto-save-file-name-transforms): Correct the docstrings of #'normal-backup-enable-predicate, #'auto-save-file-name-transforms. * files.el (make-temp-file): New. Merge from GNU. * subr.el: Document that #'make-temp-name is now in files.el. 2007-11-08 Aidan Kehoe <kehoea@parhasard.net> * cus-edit.el (custom-save-all): Merge Jason Spiro's fix of c241693f0710021645g642f145n5925c7a35e7b2c58@mail.gmail.com , to avoid corruption of the custom-set-variables and custom-set-fonts calls in ~/.emacs if XEmacs doesn't understand any part of the syntax of ~/.emacs . 2007-10-31 Mike Sperber <mike@xemacs.org> * autoload.el (make-autoload): Add `defclass' and `defmethod' as defmacro-like operators. This is need to enable compilation of packages that depend on eieio. 2007-10-26 Aidan Kehoe <kehoea@parhasard.net> * mule/general-late.el: Now that all the dumped coding systems are available, decode Installation-string using the value for Installation-file-coding-system at dump time. 2007-10-26 Aidan Kehoe <kehoea@parhasard.net> * dumped-lisp.el (preloaded-file-list): Allow version.el to be compiled. * help.el (describe-installation): Use and-boundp instead of (and (boundp ...); don't decode Installation-string. Call #'error with a DATUM arg. * loadup.el: * loadup.el (Installation-string): Removed. Moved to version.el. * loadup.el (really-early-error-handler): Move the initialization of Installation-string to version.el too. * update-elc-2.el (update-elc-ignored-files): * update-elc-2.el (batch-update-elc-2): Remove version.el from the ignored files; if Mule is available, always recompile it, since Installation-file-coding-system depends on relatively complex Mule code. * update-elc.el (unbytecompiled-lisp-files): Remove version.el. * version.el: * version.el (Installation-file-coding-system): New. Variable reflecting the native coding system at build time, to better work out Installation-string. * version.el (Installation-string): New. Moved from loadup.el; documented in more detail. 2007-10-26 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el: "pl" is the normal POSIX language code for Polish, not "po"; if a tutorial is provided, set tutorial-coding-system explicitly based on the language environment coding system, to override confusion that can arise with the variant language environments. 2007-10-01 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el: * byte-optimize.el (byte-optimize-ever-present-features): New. * byte-optimize.el (byte-optimize-featurep): New. Optimise calls to (featurep 'xemacs) to t, since our byte code refuses to run on GNU Emacs. Also optimises away checks for cl, cl-extra, cl-19 and backquote, a conservative list of those features that have been available in every XEmacs build since the last time our opcodes changed. 2007-10-14 Aidan Kehoe <kehoea@parhasard.net> * coding.el: Use raw-text, not no-conversion for iso-8859-1 on non-Mule; preserves the line ending autodetection, but doesn't do coding system autodetection. Thank you Stephen. 2007-10-15 Didier Verna <didier@xemacs.org> * glyphs.el (init-glyphs): Use more sensible image conversion rules for tty consoles (don't inline images, explicitely recognize more image types). Avoid images on stream consoles altogether. 2007-10-13 Aidan Kehoe <kehoea@parhasard.net> * cmdloop.el (yes-or-no-p): Only call #'yes-or-no-p-dialog-box if it's bound. Eliminates a compile-time warning; should not actually avoid any run-time errors. * coding.el: * coding.el ('automatic-conversion): Removed. On non-Mule builds, alias 'iso-8859-1 to 'no-conversion, not 'undecided, since the latter does coding system autorecognition that is useless and leads to stack overflows without Mule. Delete 'iso-8859-2 as an alias on non-Mule * faces.el (face-font-instance): Only call get-charset if it's bound. * faces.el (xpm-color-symbols): Only modify xpm-color-symbols if it's bound. * map-ynp.el (map-y-or-n-p): Check that #'get-dialog-box-response is bound before calling it. * menubar.el: List #'menu-split-long-menu as an autoload, for those builds that don't use it at runtime but nonetheless have to compile code that uses it. * minibuf.el (mouse-read-file-name-1): Only use scrollbar-width if it's bound. * obsolete.el: Only provide #'add-meu-item, #'add-menu, #'package-get-download-menu if the menubar feature is available at runtime. * obsolete.el (find-non-ascii-charset-string): Only call #'charset-in-string if it's bound; else give nil. * obsolete.el (find-non-ascii-charset-region): Only call #'charset-in-region if it's bound; else give nil. * select.el (activate-region-as-selection): Only call #'mouse-track-rectangle-p if it's bound. * select.el (select-make-extent-for-selection): Ditto. * simple.el (zmacs-make-extent-for-region): Only call #'default-mouse-track-next-move-rect if it's bound. * simple.el (zmacs-activate-region): Use and-boundp rather than (and (boundp ...))) when checking for a variable. * unicode.el (featurep): Don't bind res, which is not used, in the loop. 2007-10-06 Stephen J. Turnbull <stephen@xemacs.org> * x-faces.el (x-color-list-internal): Should return a list of strings. Make it so. 2007-10-03 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (featurep): Comment out the assertion until the issue in 18179.49815.622843.336527@parhasard.net is fixed. This doesn't remove any functionality, just a check. 2007-10-02 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (insert-file-contents): Document that START and END are zero-based, in contrast to buffer offsets, and give an example of their use. 2007-09-09 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (unicode-error-default-translation-table): New. A char table mapping from Unicode error octets (as represented in XEmacs) to ASCII, Control-1 and latin-iso8859-1. * unicode.el (unicode-error-sequence-regexp-range): Correct it, add a build-time check that it matches every possible error octet. * unicode.el (frob-unicode-errors-region) New. Apply a supplied function to each set of error sequences in a region. * unicode.el (unicode-error-translate-region) New. Translate the error octets in a region to the corresponding ASCII, control-1 and latin-1 characters. 2007-10-02 Didier Verna <didier@xemacs.org> * objects.el (make-face-boolean-specifier): Fix docstring, really make a face-boolean specifier (not a color one). 2007-09-23 Stephen J. Turnbull <stephen@xemacs.org> * subr.el (replace-regexp-in-string): Handle SUBEXP arg properly. 2007-09-30 Aidan Kehoe <kehoea@parhasard.net> * x-faces.el: * x-faces.el ('x-resource)): Removed. Specifier tag moved to specifier.el to ensure availability on non-X builds. * specifier.el: Provide x, tty, mswindows, msprinter, gtk and carbon as device tags that never match on builds that don't support them. * specifier.el ('x-resource)): New. Moved here from x-faces.el 2007-09-26 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Introduce ftp.cn.xemacs.org. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-09-25 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Add new mirrors in The Netherlands and China. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-09-20 Didier Verna <didier@xemacs.org> Improvements in user options interactive prompting. This mainly involves the following: before this patch, options of type 'group or 'checklist were prompted by full sexp, without taking a possible default value into account. Now, the user interaction features individual prompting _with completion_ for each group or checklist member. For group options, an optional default value is also handled on an individual group member basis. * cus-edit.el (customize-set-value): Suppress the final ": " from created prompts. (customize-set-variable): Ditto. (customize-save-variable): Ditto. (custom-prompt-variable): Add final ": " to prompts if needed. * wid-edit.el (widget-prompt-spaceify): New. Add trailing space to string if needed. (widget-prompt): New. Construct a prompt for a widget. (widget-prompt-value): Use it; make prompt argument optional. (widget-default-prompt-value): Add final ": " to prompt. (widget-field-prompt-internal): Ditto. (widget-sexp-prompt-value): Ditto. (widget-file-prompt-value): Ditto. (widget-symbol-prompt-internal): Ditto. (widget-choice-prompt-value): Ditto. (widget-boolean-prompt-value): Ditto. (widget-checklist-prompt-value): New. Prompt value with completion. (checklist): Make the widget aware of it. (widget-group-prompt-value): New. Prompt value with completion; handle default value individually for each group member. * wid-edit.el (group): Make the widget aware of it. 2007-09-19 Didier Verna <didier@xemacs.org> Update my personal info. * about.el (xemacs-hackers): Use 'didier instead of 'dv. * about.el (about-other-current-hackers): Ditto. * about.el (about-url-alist): Add my musical website. * about.el (about-personal-info): Update my entry. * about.el (about-hacker-contribution): Ditto. 2007-09-09 Norbert Koch <viteno@xemacs.org> * byte-optimize.el: Revert last patch from Steve Youngs. 2007-09-02 Steve Youngs <steve@sxemacs.org> * byte-optimize.el (byte-optimize-featurep): New. Optimise feature 'sxemacs to nil and 'xemacs to t. This is along the same lines as GNU/Emacs where they optimise both 'xemacs and 'sxemacs to nil. It has the added advantage of suppressing byte-compiler warnings in most cases. * package-get.el (package-get-pgp-available-p): Removed. (package-get-require-signed-base-updates): Ditto. (package-entries-are-signed): Ditto. (package-get-pgp-signed-begin-line): Ditto. (package-get-pgp-signature-begin-line): Ditto. (package-get-pgp-signature-end-line): Ditto. (package-get-update-base-from-buffer): Remove the PGP nonsense. 2007-08-29 Didier Verna <didier@xemacs.org> * files.el (files-fetch-hook-value): Preserve locality of hooks by working on copies. 2007-08-29 Mike Sperber <mike@xemacs.org> * setup-paths.el (paths-emacs-data-root-p): Use "share" instead of "lib" as the subdirectory to look for when testing for a data root. 2007-08-25 Aidan Kehoe <kehoea@parhasard.net> * mule/chinese.el ("Chinese-GB"): * mule/chinese.el ("Chinese-BIG5"): * mule/japanese.el ("Japanese"): These three language environments have associated lambda expressions to determine whether the current locale matches and and what the native-coding-system should be. These used to be stored uncompiled, since they were specified deep in the ALIST argument to a #'set-language-info-alist call; this change moves them into #'set-language-info calls where the byte-compiler can compile them. Shouldn't make a huge difference, but startup time is an issue for us. * mule/cyrillic.el (windows-1251): Unconditionally provide windows-1251 using make-8-bit-coding-system. * mule/latin.el: Add a setup-function and an exit-function to the Turkish language environment to change and restore the standard case table, respectively. This reflects case conventions in Turkish, where dotless i and dotted i are distinct characters with distinct case forms. Add windows-1252, Mac Roman as coding systems. * mule/mule-cmds.el: * mule/mule-cmds.el (set-language-environment): * mule/mule-cmds.el (finish-set-language-environment): Check setup-function and exit-function's validity with #'functionp, not fboundp. It doesn't make a lot of sense to exclude lambdas from being specified as setup-function and exit-functions. Update a comment to reflect the that posix-charset-to-coding-system-hash is no longer initialised at compile time. * mule/mule-coding.el: * mule/mule-coding.el (define-translation-hash-table): Call check-argument-type on the two arguments instead of an explicit error in a conditional, for the sake of better style. * mule/mule-coding.el (make-8-bit-choose-category): New. Function that looks at a make-8-bit-coding-system decode table and decides on an appropriate category for the associated coding system. * mule/mule-coding.el (make-8-bit-coding-system): Use make-8-bit-choose-category to make the coding category for the generated coding systems a bit more sane. * mule/mule-win32-init.el: Move to a loop-with-destructuring-bind syntax for the creation of Windows-specific coding systems. Specify the coding category of the created coding systems, and create aliases of the form cpNNNN for the compatibility with GNU. Use our own implementations instead of the Windows ones for several coding systems, for the sake of greater cross-platform compatibility. 2007-08-25 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (load-unicode-tables): Explicitly set the default unicode-precedence-list after loading the unicode tables, to move the Western character sets before the East Asian ones by default. * unicode.el : Avoid overflowing 80 characters per line with the CCL program. Make unicode-error-sequence-zero and unicode-error-sequence-regexp-range available to user code that wants to work with Unicode error sequences. Decode those characters in WGL4 that are not available in other Western character sets at dump time into jit-ucs-charset-0, in the interest of avoiding them getting East Asian fonts and width information when decoding from Unicode. 2007-08-20 Mike Sperber <mike@xemacs.org> * window-xemacs.el (root-window->saved-window): (restore-saved-window-parameters): Don't save the point of the current buffer, as per the docstring. 2007-08-21 Aidan Kehoe <kehoea@parhasard.net> * mule/vietnamese.el ("Vietnamese"): Remove vscii and viqr from the coding-system slot of the language environment for Vietnamese; they're no longer available as coding systems in XEmacs, and they were never widely used. 2007-08-21 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Update download sites in Japan. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-08-16 Vin Shelton <acs@xemacs.org> * font-lock.el: Add defvar for font-lock-warning-face. Original patch from Hans de Graaff. 2007-08-18 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Update mirror sites. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-08-16 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Mirror site update. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-08-09 Mike Sperber <mike@xemacs.org> * startup.el (migrate-user-init-file): Create backup of `user-init-file' before migrating. * startup.el (maybe-migrate-user-init-file): Print information about backup file. (maybe-create-compatibility-dot-emacs): Follow above change. 2007-08-07 Mike Sperber <mike@xemacs.org> * setup-paths.el (paths-find-doc-directory): (paths-find-exec-directory): (paths-find-lisp-directory): (paths-find-mule-lisp-directory): (paths-construct-info-path): (paths-find-data-directory): * packages.el (packages-find-installation-package-directories): * find-paths.el (paths-for-each-emacs-directory): (paths-find-emacs-directories): (paths-find-emacs-directory): (paths-for-each-site-directory): (paths-find-site-directory): (paths-find-site-directories): (paths-for-each-version-directory): (paths-find-version-directories): (paths-find-version-directory): Generalize to multiple bases. (paths-find-architecture-directory): Use above to give roots precedence over bases. This means, for example, that a directory in an in-place root will always get precedence over an installed root. 2007-08-06 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-coding-system): Eliminate byte compiler warnings for the generated coding systems. * mule/mule-msw-init-late.el (l): * mule/mule-x-init.el (x-use-halfwidth-roman-font): Add a couple of declare-fboundp calls for functions we know will be bound on a Windows build, to silence the byte compiler. 2007-08-06 Aidan Kehoe <kehoea@parhasard.net> * diagnose.el (show-memory-usage): * diagnose.el (show-object-memory-usage-stats): * diagnose.el (show-mc-alloc-memory-usage): * diagnose.el (show-gc-stats): Only call sort-numeric-fields when it's bound. It will be, for anyone who has any business calling these functions; it's in xemacs-base. * font.el: Tell the byte compiler about a few more functions that are available and called on an XFT build, and unavailable and not called elsewhere. * gtk-font-menu.el (gtk-reset-device-font-menus): Improve the logic here; don't check for Mule, check whether #'charset-registries is bound with an if-fboundp call. * gtk-iso8859-1.el (x-iso8859-1): character-set-property is no longer used, on any platform. * gtk.el (gtk-import-function-internal): Tell the byte compiler about some functions that are available on the GTK build and not elsewhere. * help.el (help-symbol-function-context-menu): * help.el (help-symbol-variable-context-menu): * help.el (help-symbol-function-and-variable-context-menu): * help.el (help-find-source-or-scroll-up): * help.el (help-mouse-find-source-or-track): Only offer find-function, find-variable if they're available as functions. * iso8859-1.el: This file sets the case table for Latin 1, not the syntax table. * msw-font-menu.el: * msw-font-menu.el (mswindows-parse-font-style): Tell the byte compiler about a few functions that are available and called on msw builds, and not elsewhere. * occur.el (occur-engine): Use Ben's (if-fboundp ...) macro when calling (or otherwise) #'jit-lock-mode. * paragraphs.el (forward-paragraph): multiple-lines is set but not used; comment it out for the sake of the byte-compiler. * paragraphs.el (forward-sentence): Only call #'constrain-to-field if it's bound; give a more relevant error message if it isn't. * subr.el (check-argument-range): Call signal-error with the correct signature. * x-font-menu.el (charset-registries): Make the byte compiler aware of a pile of functions that are available on, and only called on, certain builds. 2007-08-06 Aidan Kehoe <kehoea@parhasard.net> * font.el (x-font-create-object): When handed an XFT font name string, parse it as such. * font.el (font-xft-font-regexp): Don't check for the existence of xft-font-regexp; accept escaped dashes, colons and commas in font family names. 2007-08-04 Aidan Kehoe <kehoea@parhasard.net> * unicode.el: * unicode.el (utf-32): * unicode.el (utf-32-little-endian): Add UTF-32 coding systems. * unicode.el (decode-char): Only accept valid Unicode in this function. 2007-08-02 Mike Sperber <mike@xemacs.org> * startup.el (startup-setup-paths): Fix typo in init expression for `emacs-roots'. 2007-07-31 Mike Sperber <mike@xemacs.org> * find-paths.el (paths-for-each-site-directory): (paths-find-site-directory): (paths-find-site-directories): (paths-for-each-version-directory): (paths-find-version-directory): (paths-find-version-directories): Add `arch-dependent-p' argument to distinguish between `lib' and `share'. (paths-find-architecture-directory): Follow above change. * packages.el (packages-find-installation-package-directories): Ditto. * setup-paths.el (paths-find-site-lisp-directory): (paths-find-site-module-directory): (paths-find-lisp-directory): (paths-find-mule-lisp-directory): (paths-find-module-directory): (paths-find-data-directory): Ditto. 2007-08-01 Aidan Kehoe <kehoea@parhasard.net> * mule/cyrillic.el: * mule/cyrillic.el ("Russian"): * mule/cyrillic.el ("Ukrainian"): * mule/cyrillic.el ("Bulgarian"): * mule/cyrillic.el ("Belarusian"): Add POSIX locale information for all four languages. Remove information about specific coding systems in the docstrings, since this information is inaccurate if a variant language environment is being used. * mule/greek.el: * mule/latin.el (for): Add POSIX locale information, provide Windows-1253 as well. * mule/mule-coding.el (make-8-bit-generate-helper): Fix a bug that was biting me with windows-1251. I need to include tests in tests/automated/mule-tests.el that check that all the coding-systems created with make-8-bit-coding-system are reversible, since all of them should be. 2007-07-28 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-coding.el (make-8-bit-create-decode-encode-tables): Don't creat JIT mappings for U+0080-U+00FF at dump time. 2007-07-28 Aidan Kehoe <kehoea@parhasard.net> * unicode.el: Assert that the ccl-encode-to-ucs-2 vector corresponds to the compiled program at byte-compile time. Display non-BMP characters as U+FFFD. 2007-07-28 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Document Chile and update Denmark download site. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-07-27 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-ccl.el: * mule/ccl.el: Renamed mule-ccl.el to ccl.el, for compatibility with GNU now we no longer dump it. * mule/mule-coding.el (require): * mule/chinese.el (progn): Reflect this renaming in a couple of require calls. 2007-07-23 Aidan Kehoe <kehoea@parhasard.net> * mule/general-late.el (posix-charset-to-coding-system-hash): Pick up coding system aliases as well as their canonical names when initialising this hash. * mule/mule-cmds.el (parse-posix-locale-string): Interpret @cyrillic to mean that the coding system for a language environment is Windows-1251. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * mule/chinese.el: * mule/cyrillic.el: * mule/cyrillic.el (cyrillic-koi8-r-decode-table): Removed. * mule/cyrillic.el (cyrillic-koi8-r-encode-table): Removed. * mule/cyrillic.el (cyrillic-alternativnyj-decode-table): Removed. * mule/cyrillic.el (cyrillic-alternativnyj-encode-table): Removed. * mule/cyrillic.el (cyrillic-koi8-r-to-external-code-table): Removed. * mule/cyrillic.el (ccl-decode-koi8): Removed. * mule/cyrillic.el (ccl-encode-koi8): Removed. * mule/cyrillic.el (ccl-decode-alternativnyj): Removed. * mule/cyrillic.el (ccl-encode-alternativnyj): Removed. * mule/cyrillic.el (cyrillic-alternativnyj-to-external-code-table): Removed. * mule/cyrillic.el ("Cyrillic-ISO"): Langenv added. * mule/cyrillic.el ("Ukrainian"): Langenv added. * mule/cyrillic.el ("Bulgarian"): Langenv added. * mule/cyrillic.el ("Belarusian"): Langenv added. * mule/cyrillic.el (koi8-r): * mule/cyrillic.el (koi8-ru): * mule/cyrillic.el (koi8-t): * mule/cyrillic.el (koi8-c): * mule/english.el ("English"): * mule/ethiopic.el (ccl-encode-ethio-font): * mule/ethiopic.el (ethiopic): * mule/japanese.el (for): * mule/korean.el (for): * mule/latin.el (iso-8859-15): Use a normal quote; there's no need for a backquote. * mule/mule-ccl.el: * mule/mule-ccl.el (ccl-command-table): * mule/mule-ccl.el (ccl-extended-code-table): * mule/mule-ccl.el (ccl-embed-data): * mule/mule-ccl.el (ccl-compile-lookup-integer): New. * mule/mule-ccl.el (ccl-compile-lookup-character): New. * mule/mule-ccl.el (ccl-dump-ex-cmd): * mule/mule-ccl.el (ccl-dump-lookup-int-const-tbl): New. * mule/mule-ccl.el (ccl-dump-lookup-char-const-tbl): New. * mule/mule-ccl.el (define-ccl-program): * mule/mule-ccl.el (ccl): * mule/mule-ccl.el (ccl-execute-with-args): Removed. * mule/mule-charset.el: * mule/mule-charset.el ('charset-columns): Removed. * mule/mule-charset.el ('charset-final): Removed. * mule/mule-charset.el ('charset-graphic): Removed. * mule/mule-charset.el ('charset-doc-string): Removed. * mule/mule-coding.el: * mule/mule-coding.el (define-translation-hash-table): New. * mule/mule-coding.el (make-8-bit-private-use-start): New. * mule/mule-coding.el (make-8-bit-generate-helper): New. * mule/mule-coding.el (make-8-bit-generate-encode-program): New. * mule/mule-coding.el (make-8-bit-create-decode-encode-tables): New. * mule/mule-coding.el (make-8-bit-generate-decode-program): New. * mule/mule-coding.el (make-8-bit-coding-system): New. * mule/viet-util.el (viet-encode-viscii-char): * mule/vietnamese.el: * mule/vietnamese.el (?v): * mule/vietnamese.el (viscii): * mule/vietnamese.el (viet-viscii-decode-table): Removed. * mule/vietnamese.el (viet-viscii-encode-table): Removed. * mule/vietnamese.el (viet-vscii-decode-table): Removed. * mule/vietnamese.el (viet-vscii-encode-table): Removed. * mule/vietnamese.el (ccl-decode-viscii): Removed. * mule/vietnamese.el (leading-code-private-11): Removed. * mule/vietnamese.el (ccl-encode-viscii): Removed. * mule/vietnamese.el (ccl-encode-viscii-font): Removed. * mule/vietnamese.el (ccl-decode-vscii): Removed. * mule/vietnamese.el (ccl-encode-vscii): Removed. * mule/vietnamese.el (ccl-encode-vscii-font): Removed. * mule/vietnamese.el (viet-viscii-to-external-code-table): Removed. Provide make-8-bit-coding-system, a way to construct a fixed-width XEmacs CCL coding system given a map from 8-bit characters to Unicode. Such generated CCL coding systems do not have the Latin deunification problem of iso-8859-15, for example. For most users, most of the time, only a small minority of code conversions will require a hash table lookup, so performance is good. Provide a compiler macro version of same, used when make-8-bit-coding-system is called with literal arguments, since at dump time the unicode conversion tables are not available, whereas during compilation of dumped files they are. Rework cyrillic.el to use make-8-bit-coding-system. Add support for previously trashed characters in KOI8-R, add support for KOI8-u, re-add support for Windows-1251 when not building on win32, add support for previously trashed characters in Alternativnyj, add support for koi8-ru (unified Russian, Belarusian and Ukrainian), add support for koi8-t (Tajik), koi8-c \(languages of the Caucasus), koi8-o (archaic Russian, Old Church Slavonic). Add language environments for Russian, Bulgarian, Belarusian and Cyrillic-KOI8RU. Remove the ascii-right-to-left charset, which never worked. Move to syntactic integers in CCL, when semantic integers were represented by character. Remove superflous calls to (modify-syntax-entry [...] "w"), since character syntax now defaults to word. Add support for lookup-integer, lookup-character in mule-ccl.el, based on Dave Love's work for GNU. Remove ccl-execute-with-args; ccl-execute-on-string ably does the same job, and no-one's using it on google.com/codesearch. Correct the documentation for read-multibyte-character and write-multibyte-character. Rework vietnamese.el to use make-8-bit-coding-system. Remove the viqr coding system, since it never worked. Don't use a CCL program to display VISCII; rely on our Unicode conversion instead. Rework viet-encode-viscii-char, now viet-viscii-to-external-code-table is no longer available. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * dumped-lisp.el (preloaded-file-list): It's not necessary to dump mule-ccl.el; the functionality from it that's used in other dumped files is available in macro form. * unicode.el (ccl-encode-to-ucs-2): Update ccl-encode-to-ucs-2 to reflect the changes made to mule-ccl.c. NB; this change needs to be made to fsf-compat-unicode.el too. 2007-07-16 Aidan Kehoe <kehoea@parhasard.net> * isearch-mode.el (isearch-exit): Don't highlight matches if we're currently executing a keyboard macro. 2007-07-16 Aidan Kehoe <kehoea@parhasard.net> * x-init.el (x-initialize-keyboard): Treat Cygwin and X.org as XFree86 on startup. 2007-06-19 Ron Isaacson <Ron.Isaacson@morganstanley.com> * frame.el (other-frame): Stop other-frame cycling through all frames. 2007-06-19 Ron Isaacson <Ron.Isaacson@morganstanley.com> * modeline.el (modeline-update-tty-frame-specifier): Don't use non-existent function frame-tty-p. 2007-06-23 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Add and announce web and ftp mirrors in Greece. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-06-22 Aidan Kehoe <kehoea@parhasard.net> * files.el (revert-buffer): * files.el (recover-file): Pass NOMODIFY to set-buffer-file-coding-systems after reverting a buffer and after recovering a file. 2007-06-21 Aidan Kehoe <kehoea@parhasard.net> * msw-faces.el: Accept numbers, indeed anything other than a colon, as legitmate in a font family as parsed by mswindows-font-regexp. Fixes the problem reported in puftoj6l.fsf@isoware.de of six years ago. 2007-06-21 Aidan Kehoe <kehoea@parhasard.net> * mule/devan-util.el (devanagari-reorder-glyphs-for-composition): * mule/ethio-util.el (ethio-fidel-to-sera-buffer): '(lambda ...) -> #'(lambda ..), for the sake of style and the byte compiler. 2007-06-21 Aidan Kehoe <kehoea@parhasard.net> * build-report.el (build-report-delete): * cus-edit.el (custom-face): * custom.el (custom-theme-reset-variables): * fontconfig.el (fc-find-available-font-families): * fontconfig.el (fc-find-available-weights-for-family): * select.el (select-convert-from-integer): * x-faces.el (x-find-smaller-font-xft): * x-faces.el (x-find-larger-font-xft): '(lambda ...) -> #'(lambda ..), for the sake of style and the byte compiler. 2007-06-12 Adrian Aichner <adrian@xemacs.org> * package-get.el (package-get-download-sites): Add mirror in Saudi Arabia. * package-get.el (package-get-pre-release-download-sites): Ditto. 2007-05-29 Adrian Aichner <adrian@xemacs.org> * abbrev.el (expand-region-abbrevs): Downcase word before abbreviation lookup, since `inverse-add-abbrev', `add-abbrev', `define-mode-abbrev', and `define-global-abbrev' also downcase to normalize abbreviations. 2007-06-03 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el: * mule/mule-cmds.el (system-type-file-name-coding): New. * mule/mule-cmds.el (set-language-environment-coding-systems): Check system-type-file-name-coding for an entry before making the file-name coding system alias equivalent to the native coding system alias. 2007-05-25 Mike Sperber <mike@xemacs.org> * startup.el (startup-setup-paths): Print the configure-xxx variables as well. 2007-05-21 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el: The character set associated with the Turkish language environment is latin-iso8859-9, not latin-iso8859-5. Who thought up the Latin 5 vs. ISO 8859-9 distinction anyway? ChangeLog Entries from lwlib/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2008-11-02 Stephen J. Turnbull <stephen@xemacs.org> G++ 4.3 complains a lot about implicit conversions of string literals (const char *) to char *. Shut it up. * xt-wrappers.h: New file. Contains wrappers for Xt functions and macros for C++ type-correctness and/or convenience. * lwlib.h: * lwlib-Xm.c: * lwlib-Xaw.c: #include xt-wrappers.h. * xlwcheckbox.c: * xlwgauge.c: * xlwmenu.c: * xlwradio.c: * xlwscrollbar.c: * xlwtabs.c: #include xt-wrappers.h. Cast class name to String. Cast action names to String. Rewrite resources to use Xt_RESOURCE. * lwlib.h (lw_get_value_arg): * lwlib.c (lw_get_value_arg): Declare String argument const. * lwlib-Xaw.c (xaw_actions): Cast to string. * lwlib-Xaw.c (xaw_update_scrollbar): * lwlib-Xaw.c (xaw_update_one_widget): * lwlib-Xaw.c (xaw_update_one_value): * lwlib-Xaw.c (make_dialog): * lwlib-Xaw.c (xaw_generic_callback): * lwlib-Xaw.c (wm_delete_window): * lwlib-Xaw.c (xaw_create_scrollbar): * lwlib-Xaw.c (xaw_create_button): * lwlib-Xaw.c (xaw_create_label): * lwlib-Xaw.c (xaw_create_progress): * lwlib-Xaw.c (xaw_create_text_field): * lwlib-Xaw.c (xaw_creation_table): * lwlib-Xlw.c (xlw_create_menubar): * lwlib-Xlw.c (xlw_create_popup_menu): * lwlib-Xlw.c (xlw_create_scrollbar): * lwlib-Xlw.c (xlw_update_scrollbar): * lwlib-Xlw.c (xlw_create_tab_control): * lwlib-Xlw.c (build_tabs_in_widget): * lwlib-Xlw.c (xlw_create_clip_window): * lwlib-Xlw.c (xlw_update_one_widget): * lwlib-Xm.c (xm_update_label): * lwlib-Xm.c (xm_update_pushbutton): * lwlib-Xm.c (xm_update_progress): * lwlib-Xm.c (xm_update_toggle): * lwlib-Xm.c (xm_update_radiobox): * lwlib-Xm.c (make_menu_in_widget): * lwlib-Xm.c (update_one_menu_entry): * lwlib-Xm.c (xm_update_scrollbar): * lwlib-Xm.c (xm_update_one_value): * lwlib-Xm.c (make_dialog): * lwlib-Xm.c (recenter_widget): * lwlib-Xm.c (recycle_instance): * lwlib-Xm.c (make_menubar): * lwlib-Xm.c (make_scrollbar): * lwlib-Xm.c (xm_create_button): * lwlib-Xm.c (xm_create_progress): * lwlib-Xm.c (xm_create_text_field): * lwlib-Xm.c (xm_create_label): * lwlib-Xm.c (xm_create_combo_box): * lwlib-Xm.c (xm_popup_menu): * lwlib-Xm.c (set_min_dialog_size): * lwlib-Xm.c (do_call): * lwlib-Xm.c (xm_generic_callback): * xlwcheckbox.c (offset): * xlwgauge.c (offset): * xlwgauge.c (actionsList): * xlwmenu.c (xlwMenuResources): * xlwmenu.c (xlwMenuActionsList): * xlwmenu.c (xlwMenuClassRec): * xlwmenu.c (nameResource): * xlwmenu.c (parameterize_string): * xlwradio.c (actionsList): * xlwscrollbar.c (offset): * xlwscrollbar.c (actions): Use Xt_SET_ARG, Xt_SET_VALUE, and Xt_GET_VALUE instead of raw Xt equivalents. 2008-10-26 Stephen J. Turnbull <stephen@xemacs.org> * lwlib-Xm.c (xm_update_progress): Set all values! 2007-09-15 Jerry James <james@xemacs.org> * xlwmenu.c (XlwMenuDestroy): Release XftFont resources * xlwtabs.c (TabsDestroy): Ditto ChangeLog Entries from man/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-04-02 Stephen J. Turnbull <stephen@xemacs.org> * internals/internals.texi: s/@urlref/@uref/g. (Lstreams): Add urefs to David Beasley tutorials. 2009-02-26 Stephen J. Turnbull <stephen@xemacs.org> * xemacs-faq.texi (Q3.0.12): New node for Meta key on Mac. (Top): (Editing): (Q3.0.11): (Q3.1.1): Fix up Next/Prev/Menu references. 2009-02-04 Aidan Kehoe <kehoea@parhasard.net> * xemacs/xemacs.texi (Top): * xemacs/misc.texi (Emulation): * xemacs/building.texi (Lisp Libraries): (Compiling Libraries): Remove any reference to mocklisp as an active technology. Also remove documentation of the related #'set-gosmacs-bindings, which is no longer available. 2008-10-04 Stephen J. Turnbull <stephen@xemacs.org> * xemacs-faq.texi (Q5.0.7): Fix broken instructions on use of antialiased fonts. 2008-08-31 Aidan Kehoe <kehoea@parhasard.net> * xemacs-faq.texi (Q5.0.7): Add a section on how one can use antialiased fonts under X11; thank you Giacomo Boffi. (Q1.0.3): Clarify pronunciation using a serious phonetic alphabet. 2008-07-26 Ville Skyttä <scop@xemacs.org> * xemacs/custom.texi, xemacs/frame.texi, xemacs/mule.texi, xemacs/packages.texi, xemacs/programs.texi, xemacs/trouble.texi: Spelling fixes. 2008-07-26 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Character Type): Document the error provoked when the reader sees an over-long hexadecimal constant. 2008-07-26 Aidan Kehoe <kehoea@parhasard.net> * lispref/variables.texi (Extent): Correct a misspelling of macros, add a needed space. Thank you John Paul Wallington, thank you Stephen Turnbull. 2008-05-29 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Equality Predicates): Expand on bignum equality; correct an omitted word in the last commit. 2008-05-27 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Equality Predicates): Cross reference to the section on comparison of numbers when talking about using #'eq with integers; also mention that #'eq gives t when passed identical integers, and that #'char= is also available there. 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (Ben's README): Add a couple of @itemize / @end itemize pairs, to prevent #'batch-texinfo-format choking on the input. 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * xemacs/cmdargs.texi (Command Switches): Describe --script, -script. 2008-02-27 Stephen J. Turnbull <stephen@xemacs.org> * internals/internals.texi (Discussion -- KKCC): (Discussion -- Incremental Collector): New nodes. (Top): (Discussion -- Garbage Collection): (Discussion -- Pure Space): Adjust pointers and menus for new nodes. (lrecords): Remark that lcrecords are obsolete. 2007-12-17 Aidan Kehoe <kehoea@parhasard.net> * lispref/strings.texi (Formatting Strings): Document %b for binary output. 2007-12-10 Ville Skyttä <scop@xemacs.org> * internals/internals.texi: Spelling fixes. 2007-12-07 Ville Skyttä <scop@xemacs.org> * beta.texi, emodules.texi, term.texi, termcap.texi, texinfo.texi, widget.texi, xemacs-faq.texi: Spelling fixes. 2007-11-28 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (Ibytes and Ichars): Cross reference to the Mule docs describing these typedefs, instead of saying Not yet documented. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (String Type): Describe how one can include a trailing backslash in a raw string, by means of the Unicode escape syntax. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * xemacs/keystrokes.texi (Character Representation): Clarify the description of which characters are displayed as themselves and which as octal escapes bzw. "control" characters with an initial caret. 2007-10-15 Adrian Aichner <adrian@xemacs.org> * Makefile (info_files): Sync nt/xemacs.mak and man/Makefile. Sort enries to easy future syncs. 2007-09-22 Stephen J. Turnbull <stephen@xemacs.org> * lispref/searching.texi (Replacing Match): Document the escapes for changing case in `replace-match'. Document the change to STRBUFFER to permit subexpressions in string replacement. 2007-09-30 Adrian Aichner <adrian@xemacs.org> * Makefile (TEXI2HTML_NOSPLIT): New. * Makefile ($(HTMLDIR)/beta.html): Use TEXI2HTML_NOSPLIT. * Makefile ($(HTMLDIR)/xemacs-faq.html): Ditto. 2007-09-30 Adrian Aichner <adrian@xemacs.org> * Makefile (TEXI2HTML): Refactor TEXI2HTML for use by xemacsweb/Documentation/Makefile. 2007-08-25 Adrian Aichner <adrian@xemacs.org> * internals/internals.texi (Through Version 18): Fix error in Emacs Timeline URL. * internals/internals.texi (Better Rendering Support -- Configuration with the Interim Patches): 2007-06-27 Aidan Kehoe <kehoea@parhasard.net> * lispref/variables.texi (Extent): Mention that lexical scope is available using lexical-let and lexical-let* in cl-macs, instead of ignoring them entirely. 2007-05-21 Ville Skyttä <scop@xemacs.org> * internals/internals.texi: Fix corrupted/oddly encoded chars. * lispref/ldap.texi: Ditto. ChangeLog Entries from modules/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2008-02-12 Jerry James <james@xemacs.org> * canna/install-sh: Update to latest FSF version. * ldap/install-sh: Ditto. * postgresql/install-sh: Ditto. * sample/external/install-sh: Ditto. * sample/internal/install-sh: Ditto. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * canna/canna_api.c (Fcanna_set_bunsetsu): (Fcanna_initialize): Suppress warnings about loss of precision on amd64. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * ldap/eldap.h: Declare that we use deprecated API. Thanks to Mats Lidell <matsl@xemacs.org> for the report & patch: <871wgnqunm.fsf@spencer.lidell.homelinux.net>. ChangeLog Entries from netinstall/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2007-08-12 Mike Sperber <mike@xemacs.org> * Makefile.in.in (datarootdir): Add. ChangeLog Entries from nt/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-02-06 Vin Shelton <acs@xemacs.org> * xemacs.mak: Add support for Visual Studio 2005 manifests. 2008-05-13 Aidan Kehoe <kehoea@parhasard.net> * xemacs.mak (PROGRAM_DEFINES): Provide SHEBANG_PROGNAME on Win32 too. 2008-01-25 Michael Sperber <mike@xemacs.org> * xemacs.mak (version.sh): Generate version.sh via Mercurial. 2008-01-24 Mike Sperber <mike@xemacs.org> * config.inc.samp: Fix URL for optional libraries. * xemacs.mak (PATH_PREFIX): Set PATH_PREFIX to the value of INSTALL_DIR. * xemacs.mak (PATH_DEFINES): Fix setting of PATH_DEFINES. * xemacs.mak (DEBUG_FLAG_COMPILE_DEBUG): Comment out -RTC1: it even crashes with VC 8. * xemacs.mak: Comment out echo line that leads to command-line-too-long error on some Windowses. 2008-01-18 Vin Shelton <acs@xemacs.org> * xemacs.mak: Use debug version of Intel's libm, if appropriate. 2008-01-17 Vin Shelton <acs@xemacs.org> * config.inc.samp: Added USE_INTEL_COMPILER to support the Intel compiler. * xemacs.mak: Use USE_INTEL_COMPILER. 2007-10-15 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (INFO_FILES): Sync nt/xemacs.mak and man/Makefile (adding beta.info). * xemacs.mak (LISPREF_SRCS): Ditto. Adding packages.texi. ChangeLog Entries from nt/installer/Wise/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. ChangeLog Entries from src/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-03-08 Ville Skyttä <scop@xemacs.org> * glyphs-gtk.c (init_image_instance_from_gdk_pixmap): Apply the 2008-03-05 change from Dominique Quatravaux here as well even though the code is not enabled at the moment. 2009-02-04 Stephen J. Turnbull <stephen@xemacs.org> * eval.c (skip_debugger): Fix typo in preceding comment. 2009-02-11 Jerry James <james@xemacs.org> * number-gmp.c (bigfloat_to_string): Fix broken string conversion. 2009-02-10 Aidan Kehoe <kehoea@parhasard.net> * lread.c (Fload_internal): Make load-file-name-internal readonly for Lisp code; make load-file-name a modifiable copy. (init_lread): Initialised Vload_file_name_internal, Vload_file_name to nil on each post-dump start. 2009-02-02 Stephen J. Turnbull <stephen@xemacs.org> * frame-x.c (x_init_frame_2): Update comment per new info from HT. 2009-02-02 Stephen J. Turnbull <stephen@xemacs.org> * frame-x.c (x_init_frame_2): Placate openbox by calling update_frame_icon. Suggested by Henry S. Thompson <ht@inf.ed.ac.uk> in <f5btz7ghm5k@hildegard.inf.ed.ac.uk>. 2009-01-31 Aidan Kehoe <kehoea@parhasard.net> * unicode.c (unicode_convert): Correct little-endian UTF-16 surrogate handling. 2009-01-16 Aidan Kehoe <kehoea@parhasard.net> * chartab.c (print_table_entry): Print char table values correctly, eliminating some confusion between symbols and strings. 2009-01-10 Aidan Kehoe <kehoea@parhasard.net> * objects-msw.c (mswindows_font_spec_matches_charset_stage_2): Accept msprinter as well as mswindows devices here. 2008-12-30 Aidan Kehoe <kehoea@parhasard.net> * device-x.c (Fx_get_font_path): Free the font path once we're finished with it. 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * file-coding.c (Fmake_coding_system): Document our use of the safe-chars and safe-charsets properties, and the differences compared to GNU. (make_coding_system_1): Don't drop the safe-chars and safe-charsets properties. (Fcoding_system_property): Return the safe-chars and safe-charsets properties when asked for them. * file-coding.h (CODING_SYSTEM_SAFE_CHARSETS): * coding-system-slots.h: Make the safe-chars and safe-charsets slots available in these headers. 2008-12-27 Aidan Kehoe <kehoea@parhasard.net> * doc.c (Fbuilt_in_symbol_file): Return a subr's filename immediately if we've found it. Check for compiled function and compiled macro docstrings in DOC too, and return them if they exist. The branch of the if statement focused on functions may have executed, but we may still want to check variable bindings; an else clause isn't appropriate. 2008-12-27 Vin Shelton <acs@xemacs.org> * syswindows.h: Don't define wide character interfaces for Cygwin 1.7 and up. 2008-12-22 Aidan Kehoe <kehoea@parhasard.net> * symbols.c (Fdefine_function): * eval.c (define_function): Record explicitly that we're defining a function in the load history, in both these files. 2008-12-22 Aidan Kehoe <kehoea@parhasard.net> * faces.c (Fbuilt_in_face_specifiers): Document that we're returning a copy. 2008-12-21 Aidan Kehoe <kehoea@parhasard.net> * faces.c (Fbuilt_in_face_specifiers): Don't simply warn the user not to modify Vbuilt_in_face_specifiers, enforce this by returning a copy of the list. 2008-11-02 Stephen J. Turnbull <stephen@xemacs.org> G++ 4.3 complains a lot about implicit conversions of string literals (const char *) to char *. Shut it up. * console-x.h: * EmacsFrame.c: * EmacsManager.c: * EmacsShell-sub.c: #include ../lwlib/xt-wrappers.h. Cast class name to String. Cast action names to String. Rewrite resources to use Xt_RESOURCE. * console-x.h: Move Xt_SET_VALUE and Xt_GET_VALUE to ../lwlib/xt-wrappers.h. * console-x.h (describe_XRectangle): * input-method-xlib.c (describe_XRectangle): * emacs.c (argmatch): * emacs.c (check_compatible_window_system): * emodules.c (Fload_module): * emodules.c (Funload_module): * event-stream.c (external_debugging_print_event): * file-coding.h (struct subsidiary_type): * file-coding.c (struct subsidiary_type): * file-coding.c (setup_eol_coding_systems): * file-coding.c (make_coding_system_1): * file-coding.c (make_internal_coding_system): * gif_io.c (GifErrorString: * gif_io.c (GetGifError): * input-method-xlib.c (XIM_init_frame): * mule-coding.c (ccl_putprop): * print.c (printing_major_badness): * redisplay.c (generate_fstring_runes): Declare String or char * argument or variable as const. * EmacsFrame.c (EmacsFrameSetCharSize): * EmacsShell-sub.c (update_size_hints_internal): * EmacsShell-sub.c (SuperClassRootGeometryManager): * device-x.c (emacs_options): * device-x.c (compute_x_app_name): * device-x.c (have_xemacs_resources_in_xrdb): * device-x.c (x_init_device): * event-Xt.c (x_fallback_resources): * event-Xt.c (widgetActionsList): * event-Xt.c (emacs_Xt_event_add_widget_actions): * frame-x.c (x_wm_set_cell_size): * frame-x.c (x_wm_set_variable_size): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_initialize_frame_size): * frame-x.c (x_create_widgets): * frame-x.c (x_set_frame_icon): * frame-x.c (x_set_frame_position): * frame-x.c (x_update_frame_external_traits): * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (update_tab_widget_face): * glyphs-x.c (x_widget_instantiate): * glyphs-x.c (x_button_instantiate): * glyphs-x.c (x_progress_gauge_redisplay): * glyphs-x.c (x_tab_control_redisplay): * menubar-x.c (make_dummy_xbutton_event): Use Xt_SET_ARG, Xt_SET_VALUE, and Xt_GET_VALUE instead of raw Xt equivalents. Declare String or char * argument or local variable as const. Cast string literals to char* (or equivalent). * input-method-xlib.c: Use Xt_RESOURCE. 2008-11-25 Stephen J. Turnbull <stephen@xemacs.org> * elhash.c (hash_table_data_validate): * elhash.c (decode_hash_table_rehash_size): * elhash.c (decode_hash_table_rehash_threshold): Document side effects used in these functions. 2008-11-20 Stephen J. Turnbull <stephen@xemacs.org> * console-x-impl.h (struct x_frame): Clarify comment. 2008-11-01 Stephen J. Turnbull <stephen@xemacs.org> * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos. From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>. 2008-11-01 Stephen J. Turnbull <stephen@xemacs.org> * mule-ccl.c (ccl_driver): Fix off-by-one error. By Julian Bradfield in <18691.16568.526264.972026@krk.inf.ed.ac.uk>. 2008-10-25 Stephen J. Turnbull <stephen@xemacs.org> * lisp.h (static_pro): Cast out a warning. g++ 4.3 complains about the conversion of const char to char. These end up in a dynarray, so we would need to define a whole new class of dynarray just to handle the const char stuff. 2008-08-27 Aidan Kehoe <kehoea@parhasard.net> * symbols.c (Fuser_variable_p): (map_varalias_chain): Use EQ() and !EQ(), don't compare two Lisp_Objects using == and !=. Fixes the union build, thank you Robert Delius Royar. 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fuser_variable_p): Moved to symbols.c * symbols.c (Fcustom_variable_p): Moved here from custom.el. (user_variable_alias_check_fun): Mapper function used in `user-variable-p'. (Fuser_variable_p): Moved here from eval.c, to allow it to examine the variable alias chain. Expanded to check each entry in the variable alias chain for signs of being a user variable; documentation updated, noting the differences between GNU's behaviour and ours (ours is a little more sensible) (map_varalias_chain): New. Given a C function, call it at least once for each symbol in a symbol's varalias chain, signalling an error if there's a cycle, and returning immediately if the function returns something other than Qzero. (Fdefvaralias): Correct the use of the word "alias" in the docstring and in the argument name. Motivate this in a comment. Add support for a DOCSTRING argument, something GNU has too, and document this * gc.c (vars_of_gc): Start the docstring of `garbage-collection-messages' with an asterisk, to indicate that it's a user variable. 2008-08-09 Aidan Kehoe <kehoea@parhasard.net> Integrate Romain Francoise' 2005-09-14 (pre-GPLV3) GNU change, which can allow much better performace with some stupid filesystems: * fileio.c (write_region_inhibit_fsync): New variable. (Fwrite_region): Use it to skip call to fsync. (syms_of_fileio): Initialize it. 2008-08-10 Aidan Kehoe <kehoea@parhasard.net> * objects-xlike-inc.c (charset_table): Remove the entry for Vcharset_arabic_iso8859_7, thank you Robert Delius Royar. 2008-08-05 Aidan Kehoe <kehoea@parhasard.net> * mule-charset.c (complex_vars_of_mule_charset): Remove Vcharset_arabic_iso8859_7. * lisp.h: Remove Vcharset_arabic_iso8859_7. See commentary in lisp/mule/iso-with-esc.el for motivation. 2008-08-03 Mats Lidell <matsl@xemacs.org> * config.h.in: Renamed USE_XFT_GAUGE to USE_XFT_GAUGES in sync with configure.ac. 2008-07-20 John Paul Wallington <jpw@pobox.com> * nt.c (Fmswindows_short_file_name, Fmswindows_long_file_name): Remove their interactive specs; they shouldn't be called interactively. 2008-07-17 Aidan Kehoe <kehoea@parhasard.net> * redisplay.c (init_redisplay): Don't set window-system to 'stream if running noninteractively, revert to the documented behaviour. 2008-07-16 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read_escape): Error if we're handed an over-long hex character escape, something which arises reasonably frequently in code written for GNU. 2008-07-07 Aidan Kehoe <kehoea@parhasard.net> Patch to make it up to the device-specific code whether various Lisp functions should be called during device creation, not relying on the startup code to decide this. Also, rename initial-window-system to initial-device-type (which makes more sense in this scheme), always set it. * redisplay.c (Vinitial_device_type): New. (Vinitial_window_system): Removed. Rename initial-window-system to initial-device type, making it a stream if we're noninteractive. Update its docstring. * device-x.c (Qmake_device_early_x_entry_point, Qmake_device_late_x_entry_point): New. Rename Qinit_pre_x_win, Qinit_post_x_win. (x_init_device): Call #'make-device-early-x-entry-point earlier, now we rely on it to find the application class and the app-defaults directory. (x_finish_init_device): Call #'make-device-late-x-entry-point with the created device. (Vx_app_defaults_directory): Always make this available, to simplify code in x-init.el. * device-tty.c (Qmake_device_early_tty_entry_point): New. Rename Qinit_pre_tty_win, rename Qinit_post_tty_win and move to frame-tty.c as Qmake_frame_after_init_entry_point. (tty_init_device): Call #'make-device-early-tty-entry-point before doing anything. * frame-tty.c (Qmake_frame_after_init_entry_point): New. * frame-tty.c (tty_after_init_frame): Have it call the better-named #'make-frame-after-init-entry-point function instead of #'init-post-tty-win (since it's called after frame, not device, creation). * device-msw.c (Qmake_device_early_mswindows_entry_point, Qmake_device_late_mswindows_entry_point): New. Rename Qinit_pre_mswindows_win, Qinit_post_mswindows_win. (mswindows_init_device): Call #'make-device-early-mswindows-entry-point here, instead of having its predecessor call us. (mswindows_finish_init_device): Call #'make-device-early-mswindows-entry-point, for symmetry with the other device types (though it's an empty function). * device-gtk.c (Qmake_device_early_gtk_entry_point, Qmake_device_late_gtk_entry_point): New. Rename Qinit_pre_gtk_win, Qinit_post_gtk_win. (gtk_init_device): Call #'make-device-early-gtk-entry-point; don't load ~/.xemacs/gtk-options.el ourselves, leave that to lisp. (gtk_finish_init_device): Call #'make-device-late-gtk-entry-point with the created device as an argument. 2008-07-10 Aidan Kehoe <kehoea@parhasard.net> * redisplay-msw.c (mswindows_text_width_single_run): Explicitly check for the null font instance, and return zero if so. Avoids the crash documented in http://mid.xemacs.org/18473.32468.712317.149457@parhasard.net . 2008-05-27 Aidan Kehoe <kehoea@parhasard.net> * editfns.c (Ftranslate_region): Correct a thinko in the last commit; I meant #'get-char-table, not #'put-char-table. 2008-05-25 Aidan Kehoe <kehoea@parhasard.net> * chartab.c (Fmake_char_table): Document the default return values for the various char table types. * editfns.c (Ftranslate_region): Document why `generic' char tables are preferable to `char' char tables for this function. 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * fileio.c (Fmake_symbolic_link): Document behaviour when the underlying OS doesn't support symbolic links. 2008-05-13 Aidan Kehoe <kehoea@parhasard.net> * emacs.c (SHEBANG_EXE_PROGNAME_LENGTH): Use WEXTSTRING separately on the two concatenated strings, avoiding an error on Win32. 2008-05-13 Aidan Kehoe <kehoea@parhasard.net> * config.h.in (_CRT_NONSTDC_NO_DEPRECATE): Define this, to avoid warnings about using standard POSIX and C9X functions on Win32; fixes part of Matthew Persico's problems of 9ea6aaa80805081832r1a3308e9wb6d2bfea7457379f@mail.gmail.com . 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: Add SHEBANG_PROGNAME. * emacs.c (main_1): If we've been called using SHEBANG_PROGNAME, rewrite our arguments to add a --script argument. Also, handle the --script argument by setting noninteractive and vanilla. * lread.c (Fload_internal): If the first two characters of a file are #!, replace them with ;! before they get to the Lisp reader. 2008-04-26 Mike Sperber <mike@xemacs.org> * window.c (set_window_pixsize): Round up when we're shrinking, down when we're growing * to make sure that pairs of grow / shrink meant to * cancel out actually do cancel out. This fixes a problem with `resize-minibuffer-mode' where successive grow/shrink actions are meant to cancel out, but previously didn't. 2008-04-05 Aidan Kehoe <kehoea@parhasard.net> * depend: Regenerate with LF line endings, not CRLF. 2008-03-15 Michael Sperber <mike@xemacs.org> * lread.c (read1): Signal an error on ?\<newline>, thus preventing an assertion failure higher up. 2008-03-11 Stephen J. Turnbull <stephen@xemacs.org> * specifier.c (CHECK_INSTANCE_ENTRY): Fix typo in comment. 2008-03-05 Dominique Quatravaux <domq@cpan.org> * glyphs-gtk.c (init_image_instance_from_gdk_image): (gtk_colorize_image_instance): Use IMAGE_INSTANCE_PIXMAP_MASK (an lvalue), not IMAGE_INSTANCE_GTK_MASK (an rvalue). 2008-03-05 Dominique Quatravaux <domq@cpan.org> * console-gtk.c (gtk_perhaps_init_unseen_key_defaults): Fix typo. 2008-02-28 Didier Verna <didier@xemacs.org> * specifier.h (struct specifier_methods): Fix instantiate_method prototype to match the changes below. 2008-02-26 Didier Verna <didier@xemacs.org> * specifier.c (CHECK_INSTANCE_ENTRY): See below. * specifier.c (specifier_instance_1): Propagate the no_fallback flag to ... * specifier.c (specifier_instance_from_inst_list): ... here, and in turn propagate it to the <specifier>_instantiate methods. * glyphs.c (image_instantiate): Handle the no_fallback flag. * objects.c (color_instantiate): Ditto. * objects.c (font_instantiate): Ditto. * objects.c (face_boolean_instantiate): Ditto. * specifier.c (specifier_matching_foo_from_inst_list): Update call to specifier_instance_from_inst_list accordingly. 2008-02-11 Aidan Kehoe <kehoea@parhasard.net> * search.c (search_buffer): In the event that a character is not representable in the buffer, fail immediately. Prevents an assertion failure in the code to deal with whether Boyer-Moore search can be used for such characters. 2008-02-03 Jerry James <james@xemacs.org> * redisplay.c (generate_displayable_area): If a line has been generated in place in the dynarray, use Dynarr_increment instead of Dynarr_add. * redisplay.c (regenerate_window): Ditto. 2008-02-01 Jerry James <james@xemacs.org> * event-Xt.c (emacs_Xt_event_handler): Remove unnecessary call to SET_EVENT_MAGIC_X_EVENT. See xemacs-beta message <870180fe080131201011b191ae5g1d70cbd2136f570c@mail.gmail.com>. 2008-01-30 Aidan Kehoe <kehoea@parhasard.net> * search.c (debug-xemacs-searches): New variable, available on debug builds. Used in tests/automated/case-tests.el. (search_buffer): Only store the charset_base for characters with translations. Correct some comments, correct some checks. If debug_xemacs_searches is non-zero, record which search was used. (boyer_moore): Remove an assertion that was incorrect. Remove its documentation. Correct an assertion dealing with equivalence tables; we may end up looking through the equivalence table if a non-ASCII non-case character was searched for. 2008-01-25 Michael Sperber <mike@xemacs.org> * emacs.c (vars_of_emacs): Zap mention of CVS. 2008-01-24 Mike Sperber <mike@xemacs.org> * make-src-depend (PrintDeps): Fix Perl code that no longer works with Perl 5.10. 2008-01-21 Aidan Kehoe <kehoea@parhasard.net> * elhash.c (Fputhash): Document the return value. (Fclrhash): Ditto. 2007-12-26 Aidan Kehoe <kehoea@parhasard.net> * casetab.c: Extend and correct some case table documentation. * search.c (search_buffer): Correct a bug where only the first entry for a character in the case equivalence table was examined in determining if the Boyer-Moore search algorithm is appropriate. If there are case mappings outside of the charset and row of the characters specified in the search string, those case mappings can be safely ignored (and Boyer-Moore search can be used) if we know from the buffer statistics that the corresponding characters cannot occur. * search.c (boyer_moore): Assert that we haven't been passed a string with varying characters sets or rows within character sets. That's what simple_search is for. In the very rare event that a character in the search string has a canonical case mapping that is not in the same character set and row, don't try to search for the canonical character, search for some other character that is in the the desired character set and row. Assert that the case table isn't corrupt. Do not search for any character case mappings that cannot possibly occur in the buffer, given the buffer metadata about its contents. 2008-01-19 Aidan Kehoe <kehoea@parhasard.net> * dired.c (Ffile_attributes): If bignums are available, use them for the file size when necessary. If they are not, be clearer about the check for whether the file size can fit in a Lisp integer. 2008-01-18 Jerry James <james@xemacs.org> * device-x.c (x_init_device): Don't write to path or read from format when neither has been initialized. 2008-01-16 Aidan Kehoe <kehoea@parhasard.net> * elhash.c (internal_hash): Make short lists with the same contents in a different order hash distinctly. Gives better performance for things like three-element lists describing colours. Thank you Sebastian Freundt! 2008-01-15 Aidan Kehoe <kehoea@parhasard.net> * print.c (prin1_to_string): New. The guts of Fprin1_to_string, without resetting Vprint_gensym_alist. (Fprin1_to_string): Call prin1_to_string, wrapped with RESET_PRINT_GENSYM calls. * doprnt.c (emacs_doprnt_1): Call prin1_to_string, not Fprin1_to_string (dos veces). Avoids an inappropriate reset of print-gensym-alist. 2008-01-12 Aidan Kehoe <kehoea@parhasard.net> * rangetab.c (Fmap_range_table): Clarify docstring. (If FUNCTION doesn't touch any range-table entry, things will also be correct.) 2008-01-09 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: Check that __STDC_VERSION__ is defined before examining its value. Eliminates a Cygwin warning. 2008-01-08 Aidan Kehoe <kehoea@parhasard.net> * text.h (MAX_XETCHAR_SIZE): Remove, eliminating a redefinition warning on Win32. * dumper.c (pdump_load): Don't use PATH_MAX_EXTERNAL, instead allocate enough for the path + DUMP_SLACK (space for .dmp and version information), already used on Win32 and #defined to be 100. 2008-01-08 Jerry James <james@xemacs.org> * config.h.in (INLINE_HEADER): adapt to C99 inline semantics. 2008-01-07 Jerry James <james@xemacs.org> * xemacs.def.in.in: Clarify the copyright and license. 2008-01-03 Aidan Kehoe <kehoea@parhasard.net> * fileio.c (Fmake_temp_name): Correct the comment to cross reference to make-temp-file, and not to this function. 2008-01-03 Stephen J. Turnbull <stephen@xemacs.org> * doc.c (Fbuilt_in_symbol_file): Improve style. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> * emacs.c (main_1): Call the new vars_of_console_gtk function. * console-gtk.c (vars_of_console_gtk): New. * console-gtk.c (gtk_perhaps_init_unseen_key_defaults): Correct the initialisation of the hash table, on the model of the MSW and TTY builds. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> * doc.c (Fbuilt_in_symbol_file): Don't check is fun zero in the condition, check that it's not nil. Fixes the union build; thank you Stephen. 2008-01-02 Mike Sperber <mike@xemacs.org> * window.c (set_window_pixsize): Factor in the modeline when looking at window_min_width. Remove obsolete comment about incorrect use of `default_face_height_and_width'. (change_window_height): Remove obsolete comment about incorrect use of `default_face_height_and_width'. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> * doc.c (Fbuilt_in_symbol_file): Take a new TYPE argument, specifying whether the function or variable definition of the symbol should be searched for. Handle built-in macros correctly. 2007-12-24 Aidan Kehoe <kehoea@parhasard.net> * event-xlike-inc.c (x_keysym_to_character): * event-xlike-inc.c (gtk_keysym_to_character): Unify the typed character if possible, following the current value for the unicode precedence list. 2007-12-24 Aidan Kehoe <kehoea@parhasard.net> * symbols.c (Fintern_soft): Provide a new optional third argument, DEFAULT, for those who want to check if "nil" is a symbol or not. (More realistically, general code that may get handed "nil" should probably use this argument.) 2007-12-23 Aidan Kehoe <kehoea@parhasard.net> * objects-tty.c (tty_find_charset_font): * objects-msw.c (mswindows_font_spec_matches_charset_stage_2): * objects-msw.c (mswindows_font_spec_matches_charset_stage_1): * objects-xlike-inc.c (x_font_spec_matches_charset): * objects-xlike-inc.c (gtk_font_spec_matches_charset): If the charset is not specified when calling the font_spec_matches_charset device method, its value is Qnil, not Qunbound. See http://mid.xemacs.org/E1EfbmW-00029r-5G@iwi191.iwi.uni-sb.de and Ben Wing's patch of http://mid.xemacs.org/439FA06B.3090007@xemacs.org. 2007-12-22 Aidan Kehoe <kehoea@parhasard.net> * database.c (Fopen_database): Actually respect the CODESYS argument; don't require EOL autodetection from the coding system, because autodetection mostly fails with reads of small amounts of data. It might be possible with an implicit #'map-database on open, though I don't think that's a great idea. * database.c (print_database): Give the coding system used for text conversion when printing a database object. 2007-12-20 Jerry James <james@xemacs.org> * sound.c: Fix unused parameter warnings when HAVE_ALSA_SOUND. 2007-12-18 Kenny Chien <Kenny.Chien@morganstanley.com> * extw-Xt.c (extw_wait_for_response): Don't use undocumented internal Xt functions, avoiding inconsistent behavior between different Solaris versions. 2007-12-18 Aidan Kehoe <kehoea@parhasard.net> * symbols.c (Fspecial_form_p): Following commentary from Jerry James, don't error if not passed a subr. Flesh out the docstring; give details of what a subr is, what a special form is, and why one should probably not write special forms oneself. 2007-12-18 Aidan Kehoe <kehoea@parhasard.net> * symbols.c (Fspecial_form_p): New. For the use of advice.el, and perhaps other files; is SUBR a special form? 2007-12-17 Aidan Kehoe <kehoea@parhasard.net> * doprnt.c (emacs_doprnt_1): Add support for formatted printing of both longs and bignums as base 2. * editfns.c (Fformat): Document the new %b escape for #'format. * lisp.h: Make ulong_to_bit_string available beside long_to_string. * lread.c: Fix a bug where the integer base was being ignored in certain contexts; thank you Sebastian Freundt. This is necessary for correct behaviour of #'integer-to-bit-vector and #'bit-vector-to-integer, just added to subr.el * print.c (ulong_to_bit_string): New. Analagous to long_to_string, but used all the time when %b is encountered, since we can't pass that to sprintf. 2007-12-12 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: Make the results of the checks for FcConfigGetRescanInterval, FcConfigSetRescanInterval available. * font-mgr.h: If FcConfigSetRescanInterval and FcConfigGetRescanInterval are not available as functions, #define them to map to their old misspelled names. * font-mgr.c (Ffc_config_get_rescan_interval): * font-mgr.c (Ffc_config_set_rescan_interval): Use the correct spelling in FcConfigGetRescanInterval, FcConfigSetRescanInterval 2007-12-11 Aidan Kehoe <kehoea@parhasard.net> * glyphs-eimage.c: Merge Ron Isaacson's patch of 3ggprxj7ifh.wl_Ron.Isaacson@morganstanley.com , originally from Gennady Khokhorin. Prevents library incompatibilities on Win32. 2007-12-11 Aidan Kehoe <kehoea@parhasard.net> * fileio.c (Fsubstitute_in_file_name): On encountering non-existent environment variables or incorrect syntax for specifying environment variables (as is routine on Windows) don't error, instead pass the original strings through. 2007-12-05 Stephen J. Turnbull <stephen@xemacs.org> * search.c (simple_search): Fix underrun in reverse search. (search_buffer): Clarify decision to use boyer_moore or not. 2007-12-06 Aidan Kehoe <kehoea@parhasard.net> * tests.c (Ftest_data_format_conversion): Move those tests that expect that iso-8859-2 is ISO 2022-compatible to testing iso-latin-2-with-esc instead. 2007-12-02 Ron Isaacson <ron.isaacson@morganstanley.com> * frame.c (change_frame_size): (change_frame_size_1): Must reset pending flag per-frame, so do it in the latter. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * file-coding.c: * file-coding.c (find_coding_system): C-accessible version of #'find-coding-system that doesn't necessarily call the autoload code, for use in #'autoload-coding-system (which we allow to overwrite autoloaded coding systems) and make_coding_system_1 (which has to). * file-coding.c (Ffind_coding_system): Move the implementation to find_coding_system; call that function with a do_autoloads argument of 1. * file-coding.c (Fautoload_coding_system): New. * file-coding.c (add_coding_system_to_list_mapper): When returning a list of coding systems, don't call the autoload code. * file-coding.c (make_coding_system_1): * file-coding.c (Fcopy_coding_system): * file-coding.c (syms_of_file_coding): Implement autoloaded coding systems. The form to be evaluated to load a given coding system is stored as the value in Vcoding_system_hash_table; this form is evaluated if find-coding-system is called with the symbol name of the coding system as its argument. This is also tied in with the POSIX locale infrastructure by means of posix-charset-to-coding-system-hash. 2007-11-29 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c (ccl_driver): Take out a static variable I was using for debugging. 2007-11-26 Aidan Kehoe <kehoea@parhasard.net> * doprnt.c: Default to a buffer size of 350 for the sprintf call, but increase it if the precision and minwidth indicate that it should be bigger. Issue reported by Hans de Graaff; bug originally fixed by Sebastian Freundt in SXEmacs following the change I merged on 2006-11-28. Forks have their disadvantages. 2007-11-11 Mats Lidell <matsl@xemacs.org> * events.h: Based on SXEmacs patch. Support for mouse button 6 to 26. * keymap.h: Ditto. * keymap.c: Ditto. 2007-11-15 Aidan Kehoe <kehoea@parhasard.net> * unicode.c (coding_system_type_create_unicode): * unicode.c (vars_of_unicode): Move the initialisation of Vnumber_of_jit_charsets, Vlast_jit_charset_final, Vcharset_descr to an #ifdef MULE block in vars_of_unicode. Fixes a build failure reported by Vin Shelton--thank you Vin! 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read_unicode_escape): Correct the range check for Unicode characters specified with source-level escapes. * unicode.c: * unicode.c (unicode_to_ichar): * unicode.c (coding_system_type_create_unicode): Correct the dump behaviour for just-in-time Unicode code points. Update the docstring for #'unicode-to-char to indicate that code points will run out above around 400,000 in a session. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * editfns.c (vars_of_editfns): Correct the docstring of user-full-name. * fileio.c: * fileio.c (Fmake_temp_name): Document that make-temp-file is available and the best approach to this. * fileio.c (Fwrite_region_internal): Take a new arg, MUSTBENEW, to error if the file to be written already exists. * fileio.c (auto_save_1): Update a call to Fwrite_region_internal to pass the new argument. * fileio.c (syms_of_fileio): Provide 'excl as a symbol, for the calls to write-region-internal. 2007-11-05 Didier Verna <didier@xemacs.org> * glyphs.c (potential_pixmap_file_instanciator): Fix comment describing its behavior. * glyphs.c (xbm_mask_file_munging): Update semantics of file and mask_file arguments to reflect recent changes in potential_pixmap_file_instanciator (see patch below). * glyphs-x.c (autodetect_normalize): Update call to xbm_mask_file_munging to reflect the above change. * glyphs-gtk.c (autodetect_normalize): Ditto. 2007-10-10 Didier Verna <didier@xemacs.org> * glyphs.c (potential_pixmap_file_instantiator): Make a difference between not being able to locate a pixmap file, and not having a console method to do so. * glyphs.c (simple_image_type_normalize): Notice that difference, and don't err when the method is unavailable. * glyphs.c (xbm_normalize): Ditto. * glyphs.c (xface_normalize): Ditto. * glyphs.c (xpm_normalize): Ditto. * glyphs-shared.c (shared_resource_normalize): Ditto. * glyphs-x.c (x_locate_pixmap_file): Recognize ~ pathnames as fully qualified. 2007-10-03 Didier Verna <didier@xemacs.org> * faces.c (reset_face_cachels): Check for noninteractive mode in the assertions below, in which case the cache is unused. 2007-10-03 Didier Verna <didier@xemacs.org> * faces.c (reset_face_cachels): Assert correct order of built-in faces additions to the face cache, as per suggestion from Aidan. 2007-10-03 Didier Verna <didier@xemacs.org> Again, fix some DEFAULT_INDEX == 0 assumptions. Actually, properly initialize display_line structures. * redisplay.h (DISPLAY_LINE_INIT): New macro. Properly initialize the default_index field to DEFAULT_INDEX. * frame.c (init_frame): Use it. * redisplay.c (ensure_modeline_generated): Ditto. * redisplay.c (generate_displayable_area): Ditto. * redisplay.c (regenerate_window): Ditto. * redisplay-output.c (sync_display_line_structs): Ditto. * redisplay-output.c (redisplay_output_layout): Ditto. 2004-12-08 Shyamal Prasad <shyamal@member.fsf.org> * editfns.c: * editfns.c (Fformat_time_string): Added documentation for %z, %g, %G and %V specifiers. This synchs up the set of % specifiers for format-time-string with Emacs 21.3.1. Make copy of static buffer returned by localtime(). * strftime.c: * strftime.c (strftime): Implemented %z, %g, %G and %V in a style similar to existing implementation of other specifiers. 2007-09-30 Stephen J. Turnbull <stephen@xemacs.org> * search.c (Freplace_match): Improve range-checking on STRBUFFER. 2007-09-22 Stephen J. Turnbull <stephen@xemacs.org> * search.c (Freplace_match): Allow STRBUFFER to specify a subexpression when the source is a string. 2007-09-30 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c: * mule-ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): * mule-ccl.c (ccl_driver): Merge Kenichi Handa's 2004-06-12 GNU bugfix, handling EOF in ccl_driver correctly. 2007-09-26 Didier Verna <didier@xemacs.org> More fixes similar to previous patch: * faces.c (reset_face_cachels): Add informative comment about the order of faces cache addition. * redisplay.h: Ditto. * redisplay-output.c (output_display_line): Don't rely on DEFAULT_INDEX being 0. * redisplay.c (create_string_text_block): Ditto. 2007-09-26 Didier Verna <didier@xemacs.org> * gutter.c (calculate_gutter_size): Don't hardwire face index to 0: use DEFAULT_INDEX instead. 2006-11-26 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fcommand_execute): * eval.c (Feval): * eval.c (Ffuncall): Use the PROFILE_DECLARE macro instead of declaring `struct backtrace backtrace' by hand. * profile.h: * profile.h (PROFILE_EXIT_FUNCTION): * profile.h (PROFILE_ENTER_FUNCTION): Check do_backtrace before passing the backtrace structure to profile_record_about_to_call, profile_record_just_called. 2007-08-28 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c (ccl_driver): Revert the last change to mule-ccl.c, on objection from SL Baur. The change to lisp.h in the same commit sufficed. 2007-08-17 Marcus Crestani <crestani@xemacs.org> * buffer.c (Fkill_buffer): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (console_type_create_objects_tty): * syntax.c (uninit_buffer_syntax_cache): Keep functions that do nothing for NEW_GC instead of removing them. 2007-08-18 Vin Shelton <acs@xemacs.org> * frame-msw.c (mswindows_init_frame_3): Restore extra call to ShowWindow so that cygwin's run command can be used to open an XEmacs session. Without this, no frame appears when the XEmacs process starts up. 2006-10-26 Nix <nix@esperi.org.uk> * dumper.c (pdump_load): Statically allocate a large enough exe_path for all conceivable uses. Fixes a buffer overrun. * text.h (MAX_XETCHAR_SIZE): Define, for PATH_MAX_EXTERNAL. 2007-08-21 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c (ccl_driver): Don't pass XCHAR_OR_INT an argument of which the evaluation has side effects; thank you Mike Fabian. * lisp.h: Redundantly, don't multiply evaluate the argument to XCHAR_OR_INT; this should prevent the same error in the future. 2007-08-17 Marcus Crestani <crestani@xemacs.org> * mc-alloc.c (L1_INDEX): * mc-alloc.c (PAGE_SIZE_ALIGNMENT): * mc-alloc.c (set_bit): * mc-alloc.c (init_mc_allocator): Use EMACS_UINT with bit shifting. 2007-08-15 Marcus Crestani <crestani@xemacs.org> * database.c (dbm_map): Add typecast. * database.c (dbm_get): Add typecast. * gc.c (gc_state_type): Declare type. * objects-tty.c (tty_find_charset_font): Add typecast. * objects-xlike-inc.c (count_hyphens): Add typecast. * objects-xlike-inc.c (endif): Add typecast. 2007-08-15 Marcus Crestani <crestani@xemacs.org> * input-method-xlib.c (EmacsFreeXIMStyles): * lisp.h: * process-unix.c (connect_to_file_descriptor): * process-unix.c (create_bidirectional_pipe): * process-unix.c (unix_create_process): * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): Convert pointers to EMACS_INTs instead of ints. * vdb.c (Ftest_vdb): Print adresses as pointers. 2007-08-14 Marcus Crestani <crestani@xemacs.org> * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10. 2007-08-15 Marcus Crestani <crestani@xemacs.org> * buffer.c (Fkill_buffer): * console-tty.c (free_tty_console_struct): * device-gtk.c (free_gtk_device_struct): * device-msw.c (mswindows_delete_device): * device-msw.c (msprinter_delete_device): * device-x.c (free_x_device_struct): * device-x.c (x_delete_device): * dynarr.c (Dynarr_lisp_realloc): * dynarr.c (Dynarr_free): * elhash.c: * elhash.c (finalize_hash_table): * elhash.c (resize_hash_table): * elhash.c (pdump_reorganize_hash_table): * extents.c (gap_array_delete_marker): * frame-gtk.c (gtk_delete_frame): * frame-msw.c (mswindows_delete_frame): * frame-x.c (x_delete_frame): * glyphs.c (check_for_ignored_expose): * mc-alloc.c (mc_realloc_1): * mc-alloc.h: * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (console_type_create_objects_tty): * syntax.c: * syntax.c (uninit_buffer_syntax_cache): * vdb.c (Ftest_vdb): Remove all calls to mc_free. 2006-12-29 Nix <nix@esperi.org.uk> * gc.c (recompute_need_to_garbage_collect): Avoid numeric overflow in percentage calculation. 2007-08-04 Stephen J. Turnbull <stephen@xemacs.org> * sunpro.c (Fut_log_text): Fix mismatched parentheses, reorganize. Thanks to Paul Keusemann (for a suggested patch) and Rob McMahon for reporting the issue. 2007-08-08 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Feval): Fix, stick with original error messages instead of referring to the indirected function. From Sebastian Freundt's mail nhtfy9sitjf.fsf@muck.math.tu-berlin.de , Tue Jan 30 12:30:07 UTC 2007; complements 18005.16378.980760.860724@parhasard.net . This reverts the error message when M-: (no-such-function t) RET is called to the old "Symbol's function definition is void: ..." rather than the recent "Invalid function: #<INTERNAL OBJECT ..." 2007-07-31 Mike Sperber <mike@xemacs.org> * file-coding.c (undecided_convert): Kludge to prevent infinite recursion. * file-coding.c (detected_coding_system): Change default from raw-text to binary. 2007-08-04 Aidan Kehoe <kehoea@parhasard.net> * charset.h: * charset.h (enum unicode_type): Add UNICODE_UTF_32. * lisp.h: Add Qutf_32. * lread.c (read_unicode_escape): Error on an invalid Unicode escape; error on no mapping, as GNU does. * mule-coding.c: * mule-coding.c (dynarr_add_2022_one_dimension): * mule-coding.c (dynarr_add_2022_two_dimensions): * mule-coding.c (struct iso2022_coding_stream): * mule-coding.c (decode_unicode_char): * mule-coding.c (indicate_invalid_utf_8): * mule-coding.c (iso2022_decode): * unicode.c: * unicode.c (struct unicode_coding_stream): * unicode.c (decode_unicode_char): * unicode.c (DECODE_ERROR_OCTET): * unicode.c (indicate_invalid_utf_8): * unicode.c (encode_unicode_char_1): * unicode.c (encode_unicode_char): * unicode.c (unicode_convert): * unicode.c (unicode_putprop): * unicode.c (unicode_getprop): * unicode.c (syms_of_unicode): Make UTF-8 and UTF-16 handling more robust; indicate error sequences when decoding, passing the octets as distinct from the corresponding ISO8859-1 characters, and (by default) writing them to disk on encoding. Don't accept over-long UTF-8 sequences, codes >= #x110000, or UTF-16 surrogates on reading in the utf-8 coding system; represent them as error sequences. Do accept code points above #x110000 in the ISO IR 196 handling, since we decode Unicode error sequences to "Unicode" code points starting at 0x200000, and will need to save them as such in escape-quoted. Do not accept over-long UTF-8 sequences or UTF-16 surrogates in escape-quoted. This change means that when a non-UTF-8 file is opened as UTF-8, one change made, and immediately saved, the non-ASCII characters are not corrupted. In Europe, this is a distinct win. Add UCS-4, UTF-32 as coding systems. 2007-07-26 Aidan Kehoe <kehoea@parhasard.net> * mule-ccl.c (ccl_driver): op is an integer, not a Lisp_Object; don't use it to temporarily store a Lisp_Object. This change fixes the union build; thank you for the report, Robert Delius Royar. 2007-07-23 Aidan Kehoe <kehoea@parhasard.net> * text.c: Backslash a parenthesis at the start of a line, for the sake of our font lock engine. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * elhash.c (struct Lisp_Hash_Table): * elhash.c (HTENTRY_CLEAR_P): * elhash.c (find_htentry): * elhash.h: * elhash.h (htentry): Move struct Lisp_Hash_Table, HTENTRY_CLEAR_P, struct htentry to elhash.h, since mule-ccl.c needs to use them. Ditto adding a declaration for find_htentry to elhash.h, and removing the static from its declaration in elhash.c * file-coding.c: Add a backslash at the beginning of a line starting with a parenthesis, for the sake of our font lock engine. * mule-ccl.c: * mule-ccl.c (CCL_LookupIntConstTbl): * mule-ccl.c (CCL_WRITE_STRING): * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Fix a bug where the charset ID of ASCII was not recognised as being a possible leading byte. * mule-ccl.c (CCL_MAKE_CHAR): Take Mule character arguments in the same format as GNU. * mule-ccl.c (CCL_DEBUG): * mule-ccl.c (ccl_driver): * mule-ccl.c (resolve_symbol_ccl_program): * mule-ccl.c (Fccl_execute): * mule-ccl.c (vars_of_mule_ccl): Add Dave Love's hash table lookup CCL code, which has been in GNU for years. Move mule-to-unicode to accept its argument in the same format as write-multibyte-character. Move to accepting characters as well as integers in lots of places; with XEmacs (and even with GNU Emacs), where the character-integer map is not constant from one invocation to the next, it makes sense for CCL programs with character literals to accept those literals as characters, not integers. If we're a debug build, allow access to ccl-program-table from Lisp, which can make debugging things easier. Take out font-ccl-encoder-alist, since it was never implemented, and was not ever a stellar idea. Provide translation-hash-table-vector, as in GNU. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * event-unixoid.c (event_stream_unixoid_create_io_streams): * process-unix.c (unix_init_process_io_handles): Cast out bogus warnings about 64-bit value truncation. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and a typo fix. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * sysdep.h (environ): Needs to be in C_DECLS for C++ build. 2007-06-23 Stephen J. Turnbull <stephen@xemacs.org> * compiler.h: Try to use USED with more compilers. Thanks, Jerry! 2007-06-22 Aidan Kehoe <kehoea@parhasard.net> * eval.c (restore_int): * eval.c (record_unwind_protect_restoring_int): Conditionalise the munging of a C integer into a void pointer on whether it's necessary at compile time, using INT_VALBITS (which describes how many value bits a Lisp integer has) and INTBITS (describing how many value bits a C integer has). 2007-05-24 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Feval): Small optimisations from Sebastian Freundt's SXEmacs work; don't do the unnecessary book-keeping in the trivial cases, only look for an indirect function if the stored function is a bound symbol. 2007-05-24 Aidan Kehoe <kehoea@parhasard.net> * free-hook.c (check_free): * lisp.h: * lisp.h (xfree): Inspired by some of Sebastian Freundt's SXEmacs work, use a 64-bit constant on 64-bit platforms when making sure pointers haven't been freed twice. 2007-05-22 Ville Skyttä <scop@xemacs.org> * Makefile.in.in ($(LISP)/finder-inf.el): Set lisp-directory to $(LISP) to ensure we're working with the correct finder*. ChangeLog Entries from tests/ChangeLoggoto announcement, summary, changes 2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2009-02-22 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Use more realistic tests for the escape-quoted mule encoding checks; update a comment, change a Known-Bug-Expect-Failure to a normal test now that we've addressed an old bug. 2009-02-18 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el : Check that #'check-coding-systems-region returns null on success here, not t. 2009-02-17 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (featurep): Add a missing parenthesis here, thank you Stephen. Cf. http://mid.xemacs.org/871vtzrxey.fsf@xemacs.org . 2009-02-10 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el : Check that #$ is not modifiable from Lisp, and that load-file-name is modifiable from Lisp. 2009-02-07 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el: Add FAILING-CASE arguments to the Assert calls, making #'q-c-debug mostly unnecessary. Remove #'q-c-debug. Add new tests that use the IGNORE-INVALID-SEQUENCESP argument to #'query-coding-region; rework the existing ones to respect it. 2009-01-31 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Test little-endian Unicode surrogates too. 2009-01-18 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: (char-table-with-string): That was remiss of me, I should have checked before commiting that last changed. Fixed, the char tables are now actually printed. 2009-01-18 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Check that a bug I fixed in char table printing is really gone. 2009-01-11 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el (): Test #'subr-arity, recently added to subr.el. 2009-01-03 Aidan Kehoe <kehoea@parhasard.net> * automated/ccl-tests.el (ccl-test-setup): Use sane CCL programs for decoding and encoding with the test CCL coding system by default. Correct a spelling in the docstring, add a safe-chars property so that we don't confuse query-coding-tests.el. (ccl-test-suites): Explicitly re-initialise the CCL programs for the test coding system once finished. 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el: Add tests for #'unencodable-char-position, #'check-coding-systems-region, #'encode-coding-char. Remove some debugging statements. 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el: New file, testing the functionality of #'query-coding-region and #'query-coding-string. 2008-09-27 Stephen J. Turnbull <stephen@xemacs.org> * automated/regexp-tests.el: Add test for at_dot regexp. 2008-09-27 Stephen J. Turnbull <stephen@xemacs.org> * automated/regexp-tests.el: `with-string-as-buffer-contents' leaves point at end of buffer, so must move point to beginning. 2008-08-27 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el: Add a few basic #'skip-chars-forward, #'skip-chars-backward tests. 2008-08-10 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (featurep): Update the list of character sets in etc/HELLO to reflect that we've deleted the XEmacs-specific Arabic character sets. 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (featurep): Make sure that working symlinks are available before testing their functionality. Also, don't bomb out on deleting the other temporary files if deleting the first threw an error. 2008-02-14 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (let): Correct and extend the previous test, thank you Stephen. 2008-02-11 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (Assert): New test case; thank you Michael Sperber. 2008-01-30 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (pristine-case-table): New var, reflecting the standard case table before case-table.el messes with it. * automated/case-tests.el: Call Skip-Test-Unless correctly, following Vin's report of 20a807210801300635v7533d26rdb32a8d82fb4239b@mail.gmail.com . Use pristine-case-table, add in a couple more tests. * automated/test-harness.el (test-harness-from-buffer): Update the error message in the light of tests skipped for other reasons (not to do with absent packages). In this case, because we're exposing diagnostics in a DEBUG_XEMACS build that are no appropriate to expose to non-DEBUG_XEMACS builds. 2008-01-30 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el: Check for a bug Mike Sperber reported; check algorithms used, if available. 2008-01-16 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (test-file-name): Call #'make-temp-file now it's available. Remove a long comment saying, essentially, that it should be used, not #'make-temp-name. 2008-01-16 Aidan Kehoe <kehoea@parhasard.net> * automated/hash-table-tests.el: Assert that two short lists with the same contents in distinct orders hash differently. 2008-01-15 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el (literal-with-uninterned): Use ?\x syntax for Latin-1 characters, don't assume that the file will be read as UTF-8. 2008-01-15 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el (thing): Check that printing a hash table literal doesn't clear print-gensym-alist. 2008-01-03 Stephen J. Turnbull <stephen@xemacs.org> * automated/symbol-tests.el (Symbol documentation): Add tests to check documentation extraction. 2007-12-29 Stephen J. Turnbull <stephen@xemacs.org> * automated/test-harness.el (test-harness-test-compiled): Improve docstring. * automated/weak-tests.el (test-harness-test-compiled): Remove debugging code. 2007-12-21 Stephen J. Turnbull <stephen@xemacs.org> * reproduce-crashes.el: Renamed from reproduce-bugs.el. Update to-do. 2007-12-21 Stephen J. Turnbull <stephen@xemacs.org> * reproduce-bugs.el: Reorganize. Minor cosmetic improvements. Update to-do list. (defbug): Include status and docstring in value. (bug-hashtable): Document the table format. (reproduce-bug): Handle revised table format. Remove broken autoload cookie. (describe-bug): New function. Pop up description of one bug. (list-bugs): New function. Pop up brief descriptions of all bugs. (1,2,3,4,5,6,7,8,9,10,11): (Re)number all bugs. Move comments to docstrings. 2007-12-11 Aidan Kehoe <kehoea@parhasard.net> * automated/syntax-tests.el: Check that substitute-in-file-name doesn't error when handed non-existing environment variables, passing through the specified string instead. Also check that existing environment variables are correctly substituted. Also check that double slashes in the middle of a path name are treated as re-starting the path. 2007-12-10 Stephen J. Turnbull <stephen@xemacs.org> * reproduce-bugs.el (reproduce-bug): Add bug 10, crash in search. 2007-12-10 Stephen J. Turnbull <stephen@xemacs.org> * reproduce-bugs.el: Add some commentary. Number the two unnumbered bugs. Comment out the keybinding. 2007-12-06 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Add a Known-Bug-Expect-Error call testing and documenting that we don't support all of the Unicode code space in a single session. * automated/test-harness.el (Known-Bug-Expect-Error): Provide Known-Bug-Expect-Error, analagous to Known-Bug-Expect-Failure and Check-Error. * automated/test-harness.el (Silence-Message): Dynamically bind the function definition of #'clear-message, as well as that of #'append-message, to nil. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (featurep): The native coding system specified in the language environment can be either a list (which we used to handle fine) or a single coding system expression (which we failed on). Handle the latter case. 2007-11-29 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Check the eight-bit fixed-width CCL coding systems for round-trip compatibility with themselves. 2007-11-26 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Check that a couple of previously problematic calls to #'format succeed. 2007-09-30 Stephen J. Turnbull <stephen@xemacs.org> * automated/os-tests.el: Suppress `executable-find' lossage. * automated/regexp-tests.el (replace-regexp-in-string): New tests for error conditions. * automated/test-harness.el (test-harness-from-buffer): Comment about inability to check the FROB in invalid_argument. 2007-09-23 Stephen J. Turnbull <stephen@xemacs.org> * automated/regexp-tests.el (replace-regexp-in-string): New tests for correct operation. Comment need for `replace-match' tests. 2007-08-21 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (test-chars): There are now 2^21 possible characters under Mule, not 2^19. * automated/mule-tests.el (test-file-name): Call #'make-temp-name instead of writing the file needed for the rever-buffer test to the user's home directory. Wrap the following #'save-buffer in a Silence-Message call. * automated/mule-tests.el: In the language environment tests, check that a given input method exists before trying to activate it. If there are installed input methods, assert that every input method specified in any language environment exists. If the native-coding-system of the language environment is specified as a function, don't assert that it is a coding system. In the byte-compiler coding cookie tests, call #'read at runtime on strings with non-Latin-1 Unicode escapes. This avoids errors when make check is run under a non-Mule XEmacs, where unavailable Unicode escapes throw an error in the Lisp reader. Add a new Known-Bug-Expect-Failure call for a bug that occurred to me yesterday; if non-Latin-1 is generated in an eval-when-compile clause, that non-ASCII may be trashed and the compiled code incorrectly saved as no-conversion if no other non-Latin-1 exists in the input buffer. Add a comment giving more details of the bug and how one might fix it. 2007-06-22 Stephen J. Turnbull <stephen@xemacs.org> * automated/mule-tests.el (buffer-modified-p): Test after revert. 2007-06-21 Aidan Kehoe <kehoea@parhasard.net> * gtk/event-stream-tests.el (timer-check): '(lambda ...) -> #'(lambda ..), for the sake of style and the byte compiler. 2007-06-21 Aidan Kehoe <kehoea@parhasard.net> * automated/weak-tests.el (p): * automated/weak-tests.el (inner_cons): '(lambda ...) -> #'(lambda ..), for the sake of style and the byte compiler. 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