# This is a patch for xemacs-21.5.21 to update it to xemacs-21.5.22 # # To apply this patch: # STEP 1: Chdir to the source directory. # STEP 2: Run the 'applypatch' program with this patch file as input. # # If you do not have 'applypatch', it is part of the 'makepatch' package # that you can fetch from the Comprehensive Perl Archive Network: # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz # In the above URL, 'x' should be 2 or higher. # # To apply this patch without the use of 'applypatch': # STEP 1: Chdir to the source directory. # If you have a decent Bourne-type shell: # STEP 2: Run the shell with this file as input. # If you don't have such a shell, you may need to manually create/delete # the files as shown below. # STEP 3: Run the 'patch' program with this file as input. # # These are the commands needed to create/delete files/directories: # rm -f './modules/postgresql/Makefile.in' rm -f './modules/postgresql/GNUmakefile' touch './modules/postgresql/configure' chmod 0644 './modules/postgresql/configure' # # This command terminates the shell and need not be executed manually. exit # #### End of Preamble #### #### Patch data follows #### diff --text -u 'xemacs-21.5.21/CHANGES-beta' 'xemacs-21.5.22/CHANGES-beta' Index: ./CHANGES-beta --- ./CHANGES-beta Fri May 27 18:12:57 2005 +++ ./CHANGES-beta Wed Sep 14 13:58:13 2005 @@ -1,563 +1,604 @@ +to 21.5.22 "cucumber" + +Major features + +--New: support for Unnnn-style keysyms on X11. -- Aidan Kehoe + +User-Visible Bug Fixes and Minor Improvements + +-- Fix: window configuration subsystem. -- Michael Sperber, Fabrice Popineau + +Build Infrastructure + +-- Fix: add generated dumper files to .cvsignore. -- Marcus Crestani +-- Fix: add generated makefiles to .cvsignore in ./modules. -- Craig Lanning + +Documentation + +-- Fix: lispref - compose processing now goes direct to character, not + keysym. -- Aidan Kehoe +-- Improve: lispref - Mule explanations. -- Aidan Kehoe +-- Improve: lispref - remove discussion of pure storage, long disabled. + -- Aidan Kehoe +-- New: lispref - face aliasing. -- Didier Verna + +Lisp API + +-- New: face aliasing. -- Didier Verna + +Internal API and Implementation + +-- Fix: DLL implementation for Mac OS X "Tiger". -- Atanu Ghosh +-- Fix: false load path shadows after package update. -- Jeff Mincy, + Adrian Aichner +-- Fix: make CCL check for existence before using characters. -- Aidan Kehoe +-- Fix: memory descriptions for gap variables for better 64-bit support. + -- Darryl Okahata +-- Fix: various cleanups for MC_ALLOC. -- Marcus Crestani +-- Improve: use characters instead of keysyms in x-compose.el. Remove + iso8859 .els from dumped-lisp.el. -- Aidan Kehoe + to 21.5.21 "corn" Major features --- New: An alternative memory allocator. (Marcus Crestani) +-- New: An alternative memory allocator. -- Marcus Crestani User-Visible Bug Fixes and Minor Improvements --- Fix: Calculations in font-spatial-to-canonical. (Ralf Angeli) --- Fix: Honor coding system argument when creating a file. (Aidan Kehoe) --- Fix: Prevent stripping of items from Command menu. (Ralf Angeli) --- Fix: Selection handling on Win32. (Fabrice Popineau) --- Improve: Better defaults for mail-user-agent. (Aidan Kehoe) --- Improve: Deprecate use of Emacs X resource class. (Aidan Kehoe) --- Improve: Initialize fontlock properly in *scratch*. (Aidan Kehoe) --- Improve: Make %backup%~ honor auto-save-directory. (Steve Youngs, - Jamie Zawinski) --- Improve: Recognize some constructed Unicode keysyms. (Aidan Kehoe) --- Improve: Synch dired features from GNU Emacs. (Mike Sperber, - Richard Stallman, Luc Teirlinck, Stefan Monnier, Andreas Schwab) --- Improve: Syntax and case mapping for ISO 8859 parts 14-16. (Aidan Kehoe) --- Improve: Warn about unbound Unicode keysyms. (Aidan Kehoe) +-- Fix: Calculations in font-spatial-to-canonical. -- Ralf Angeli +-- Fix: Honor coding system argument when creating a file. -- Aidan Kehoe +-- Fix: Prevent stripping of items from Command menu. -- Ralf Angeli +-- Fix: Selection handling on Win32. -- Fabrice Popineau +-- Improve: Better defaults for mail-user-agent. -- Aidan Kehoe +-- Improve: Deprecate use of Emacs X resource class. -- Aidan Kehoe +-- Improve: Initialize fontlock properly in *scratch*. -- Aidan Kehoe +-- Improve: Make %backup%~ honor auto-save-directory. -- Steve Youngs, + Jamie Zawinski +-- Improve: Recognize some constructed Unicode keysyms. -- Aidan Kehoe +-- Improve: Synch dired features from GNU Emacs. -- Mike Sperber, + Richard Stallman, Luc Teirlinck, Stefan Monnier, Andreas Schwab +-- Improve: Syntax and case mapping for ISO 8859 parts 14-16. -- Aidan Kehoe +-- Improve: Warn about unbound Unicode keysyms. -- Aidan Kehoe Build Infrastructure --- Fix: Asserts can't contain active code. (Melvin Hadasht) --- Fix: Avoid "head -#", coreutils doesn't like it. (Vin Shelton) --- Fix: Build for non-DEBUG_XEMACS native Windows build. (Marcus Crestani) --- Fix: Cater to OpenBSD /bin/sh. (Malcolm Purvis) --- Fix: Check $ac_cv_build not $canonical for libossaudio. (Aidan Kehoe) +-- Fix: Asserts can't contain active code. -- Melvin Hadasht +-- Fix: Avoid "head -#", coreutils doesn't like it. -- Vin Shelton +-- Fix: Build for non-DEBUG_XEMACS native Windows build. -- Marcus Crestani +-- Fix: Cater to OpenBSD /bin/sh. -- Malcolm Purvis +-- Fix: Check $ac_cv_build not $canonical for libossaudio. -- Aidan Kehoe -- Fix: Define elfw(type) for unexec on Alpha and amd64 for FreeBSD. - (Andrey Slusar) --- Fix: Make get-user-response available regardless of config. (Mike Sperber) + -- Andrey Slusar +-- Fix: Make get-user-response available regardless of config. -- Mike Sperber -- Fix: Make srcdir absolute, include X header, terminate lines. - (Malcolm Purvis) --- Fix: Remove do-nothing --no-gnu-linker in Solaris builds. (Vin Shelton) --- Fix: Specifying optimization flags implies optimization. (Stephen Turnbull) --- Fix: Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED. (Volker Zell) + -- Malcolm Purvis +-- Fix: Remove do-nothing --no-gnu-linker in Solaris builds. -- Vin Shelton +-- Fix: Specifying optimization flags implies optimization. -- Stephen Turnbull +-- Fix: Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED. -- Volker Zell -- Fix: configure needs to include X11/Intrinsic.h to check for Xaw. - (Robert Delius Royar, Aidan Kehoe, Jerry James) --- Fix: egetenv needs process.h in device-x.c. (Marcus Crestani) --- New: Conditionally compile insert-data-in-exec. (Marcus Crestani) + -- Robert Delius Royar, Aidan Kehoe, Jerry James +-- Fix: egetenv needs process.h in device-x.c. -- Marcus Crestani +-- New: Conditionally compile insert-data-in-exec. -- Marcus Crestani Documentation --- Fix: Add "--with" prefix in docstrings in configure.ac. (Aidan Kehoe) --- Fix: Documentation typos. (Aidan Kehoe, Adrian Aichner) --- Improve: Mention and deprecate atomic extents in docstring. (Aidan Kehoe) --- Improve: Texinfo docs. (Aidan Kehoe, Stephen Turnbull, Ben Wing) +-- Fix: Add "--with" prefix in docstrings in configure.ac. -- Aidan Kehoe +-- Fix: Documentation typos. -- Aidan Kehoe, Adrian Aichner +-- Improve: Mention and deprecate atomic extents in docstring. -- Aidan Kehoe +-- Improve: Texinfo docs. -- Aidan Kehoe, Stephen Turnbull, Ben Wing Lisp API -- Improve: Use override-redirect to suppress WM decorations. - (Stephen Turnbull) --- New: More stats for show-memory-usage. (Marcus Crestani) + -- Stephen Turnbull +-- New: More stats for show-memory-usage. -- Marcus Crestani Internal API and Implementation -- Fix: Argument count in issue_call_trapping_problems_warning. - (Stephen Turnbull) --- Fix: Avoid use of nonexistent insert-for-yank. (Aidan Kehoe) --- Fix: Buffer overflow in pdump backtrace array. (Jerry James) --- Fix: Control-1 handling in CCL. (Aidan Kehoe) --- Fix: fakemail for FreeBSD >= 4. (Andrey Slusar) --- Improve: Dynamic diagnostic backtrace for KKCC. (Marcus Crestani) + -- Stephen Turnbull +-- Fix: Avoid use of nonexistent insert-for-yank. -- Aidan Kehoe +-- Fix: Buffer overflow in pdump backtrace array. -- Jerry James +-- Fix: Control-1 handling in CCL. -- Aidan Kehoe +-- Fix: fakemail for FreeBSD >= 4. -- Andrey Slusar +-- Improve: Dynamic diagnostic backtrace for KKCC. -- Marcus Crestani to 21.5.20 "cilantro" Major Features --- New: Handle various X selection targets properly. (Aidan Kehoe) +-- New: Handle various X selection targets properly. -- Aidan Kehoe User-Visible Bug Fixes and Minor Improvements --- Fix: Handle active regions properly. (Adrian Aichner) --- Fix: pui-list-packages handles longer filenames. (Norbert Koch) +-- Fix: Handle active regions properly. -- Adrian Aichner +-- Fix: pui-list-packages handles longer filenames. -- Norbert Koch Build Infrastructure --- Improve: Port configure to autoconf 2.59. (Malcolm Purvis) --- Fix: make-docfile.c misparsed UNUSED macro in defuns. (Stephen Turnbull) --- Fix: Don't copy non-existent BUGS file on NT. (Adrian Aichner) --- Fix: Typo in PDUMP section of Makefile.in.in. (Mike Alexander) +-- Improve: Port configure to autoconf 2.59. -- Malcolm Purvis +-- Fix: make-docfile.c misparsed UNUSED macro in defuns. -- Stephen Turnbull +-- Fix: Don't copy non-existent BUGS file on NT. -- Adrian Aichner +-- Fix: Typo in PDUMP section of Makefile.in.in. -- Mike Alexander Documentation --- Improve: Update info/dir. (Adrian Aichner) --- Improve: Automate updating of release date in about.el. (Stephen Turnbull) --- New: about.el entry for Simon Josefsson. (Simon Joseffson) --- Fix: Typos. (Adrian Aichner) --- Improve: Sort memory usage report sections by usage. (Adrian Aichner) --- Improve: Glyphs documentation. (Ben Wing) --- Improve: Description of build configuration system. (Malcolm Purvis) --- New: Description of build configuration system. (Stephen Turnbull) --- New: Lispref node on CCL Example. (Aidan Kehoe) --- Improve: Describe \c and \C in Syntax of Regexps. (Aidan Kehoe) --- Improve: Future Work -- Better Rendering Support. (Stephen Turnbull) --- Improve: Comments. (Stephen Turnbull, Aidan Kehoe) +-- Improve: Update info/dir. -- Adrian Aichner +-- Improve: Automate updating of release date in about.el. -- Stephen Turnbull +-- New: about.el entry for Simon Josefsson. (Simon Joseffson +-- Fix: Typos. (Adrian Aichner +-- Improve: Sort memory usage report sections by usage. -- Adrian Aichner +-- Improve: Glyphs documentation. -- Ben Wing +-- Improve: Description of build configuration system. -- Malcolm Purvis +-- New: Description of build configuration system. -- Stephen Turnbull +-- New: Lispref node on CCL Example. -- Aidan Kehoe +-- Improve: Describe \c and \C in Syntax of Regexps. -- Aidan Kehoe +-- Improve: Future Work -- Better Rendering Support. -- Stephen Turnbull +-- Improve: Comments. -- Stephen Turnbull, Aidan Kehoe Lisp API --- New: GNU semi-compatible decode-char and encode-char. (Aidan Kehoe) +-- New: GNU semi-compatible decode-char and encode-char. (Aidan Kehoe Internal API and Implementation --- Fix: Avoid consing in operate-on-matching-lines. (Adrian Aichner) --- Fix: Correctly disable geometry negotiation in tabs widget. (Stephen Turnbull) --- New: Backtrace feature for KKCC. (Marcus Crestani) --- Fix: Type casts in database.c. (Marcus Crestani) --- Fix: Adjust s&m to FreeBSD 6.x reality. (Andrey Slusar) +-- Fix: Avoid consing in operate-on-matching-lines. -- Adrian Aichner +-- Fix: Correctly disable geometry negotiation in tabs widget. -- Stephen Turnbull +-- New: Backtrace feature for KKCC. -- Marcus Crestani +-- Fix: Type casts in database.c. -- Marcus Crestani +-- Fix: Adjust s&m to FreeBSD 6.x reality. -- Andrey Slusar Quality Assurance Infrastructure --- New: USED_IF_BIGFLOAT macro. (Jerry James) --- New: region-tests.el. (Adrian Aichner) --- New: autoconf/regressiontest.pl. (Malcolm Purvis) +-- New: USED_IF_BIGFLOAT macro. -- Jerry James +-- New: region-tests.el. -- Adrian Aichner +-- New: autoconf/regressiontest.pl. -- Malcolm Purvis to 21.5.19 "chives" Major Features --- Improve: major reorganization of source tree docs. (Ben Wing) --- Improve: behaviors get new code and many new implementations. (Ben Wing) +-- Improve: major reorganization of source tree docs. -- Ben Wing +-- Improve: behaviors get new code and many new implementations. -- Ben Wing User-Visible Bug Fixes and Minor Improvements --- Fix: security hole (CAN-2005-0100) in movemail. (Vin Shelton) --- Fix: data truncation in i.c. (Ben Wing) --- Fix: region deletion bug. (Stephen Turnbull) --- Fix: crash in Frecord_buffer. (Yoshiki Hayashi) --- Fix: Metacity maximize bug. (Stephen Turnbull) --- Fix: data truncation bugs in unix_send_process. (David Evers, Jerry James) --- Fix: recognise AltGr as a valid modifier in GTK. (Malcolm Purvis) --- Fix: recognize ISO keysyms. (Ville Skyttä) +-- Fix: security hole (CAN-2005-0100) in movemail. -- Vin Shelton +-- Fix: data truncation in i.c. -- Ben Wing +-- Fix: region deletion bug. -- Stephen Turnbull +-- Fix: crash in Frecord_buffer. -- Yoshiki Hayashi +-- Fix: Metacity maximize bug. -- Stephen Turnbull +-- Fix: data truncation bugs in unix_send_process. -- David Evers, Jerry James +-- Fix: recognise AltGr as a valid modifier in GTK. -- Malcolm Purvis +-- Fix: recognize ISO keysyms. -- Ville Skyttä -- New: on Windows, dump Unicode tables to allow non-ASCII invocation. - (Ben Wing) --- New: splash screen. (Ben Wing) --- New: support treating shortcuts under Windows as symbolic links. (Ben Wing) --- Improve: GNU-compatible coding system aliases. (Aidan Kehoe) --- Improve: help system. (Ben Wing) --- Improve: mouse-track. (Ben Wing) --- Improve: support ISO 8859/16 by default. (Aidan Kehoe) + -- Ben Wing +-- New: splash screen. -- Ben Wing +-- New: support treating shortcuts under Windows as symbolic links. -- Ben Wing +-- Improve: GNU-compatible coding system aliases. -- Aidan Kehoe +-- Improve: help system. -- Ben Wing +-- Improve: mouse-track. -- Ben Wing +-- Improve: support ISO 8859/16 by default. -- Aidan Kehoe Build Infrastructure -- Fix: copy BUGS, README, COPYING and Installation on installation on - Windows. (Ben Wing) --- Fix: installation for Cygwin. (Marcus Crestani) --- Fix: various build problems. (Ben Wing) --- Fix: various things in configure. (Ben Wing) --- New: default pdump on for Cygwin. (Marcus Crestani) --- New: support NetBSD sound via Linux API. (Aidan Kehoe) --- Improve: generation of CFLAGS (Jerry James, Ben Wing) --- Improve: parallel build support. (Malcolm Purvis) + Windows. -- Ben Wing +-- Fix: installation for Cygwin. -- Marcus Crestani +-- Fix: various build problems. -- Ben Wing +-- Fix: various things in configure. -- Ben Wing +-- New: default pdump on for Cygwin. -- Marcus Crestani +-- New: support NetBSD sound via Linux API. -- Aidan Kehoe +-- Improve: generation of CFLAGS (Jerry James, Ben Wing +-- Improve: parallel build support. -- Malcolm Purvis -- Improve: support --package-prefix as simple interface to --package-path - facility. (Ben Wing) --- Improve: support mmdf and pop arguments to --mail-locking. (Ben Wing) + facility. -- Ben Wing +-- Improve: support mmdf and pop arguments to --mail-locking. -- Ben Wing Documentation --- Fix: beta.texi. (Stephen Turnbull, Robert Royar) --- Fix: typos. (Alexey Mahotkin, Andreas Eder) --- New: "Future Work -- Better Rendering Support". (Stephen turnbull) --- New: "Future Work" collects feature proposals in Internals. (Ben Wing) --- New: empty ChangeLog entry. (Ben Wing) --- New: personal photos. (Malcolm Purvis) --- Improve: Lispref (Shyamal Prasad, Stephen Turnbull, Aidan Kehoe) --- Improve: Users' Guide. (Ben Wing) --- Improve: about.el. (Malcolm Purvis, Ben Wing) --- Improve: docstrings. (Ben Wing, Stephen Turnbull, Adrian Aichner, - Aidan Kehoe) --- Improve: gnuserv docs. (Stephen J. Turnbull) --- Improve: incorporate source tree docs in FAQ. (Ben Wing) --- Improve: major overhauls of FAQ, Internals. (Ben Wing) --- Improve: various comments. (Ben Wing) +-- Fix: beta.texi. -- Stephen Turnbull, Robert Royar +-- Fix: typos. -- Alexey Mahotkin, Andreas Eder +-- New: "Future Work -- Better Rendering Support". -- Stephen Turnbull +-- New: "Future Work" collects feature proposals in Internals. -- Ben Wing +-- New: empty ChangeLog entry. -- Ben Wing +-- New: personal photos. -- Malcolm Purvis +-- Improve: Lispref (Shyamal Prasad, Stephen Turnbull, Aidan Kehoe +-- Improve: Users' Guide. -- Ben Wing +-- Improve: about.el. -- Malcolm Purvis, Ben Wing +-- Improve: docstrings. -- Ben Wing, Stephen Turnbull, Adrian Aichner, + Aidan Kehoe +-- Improve: gnuserv docs. -- Stephen J. Turnbull +-- Improve: incorporate source tree docs in FAQ. -- Ben Wing +-- Improve: major overhauls of FAQ, Internals. -- Ben Wing +-- Improve: various comments. -- Ben Wing Lisp API -- Improve: sync bytecomp-runtime.el (make-obsolete, make-obsolete-variable). - (Ville Skyttä) + -- Ville Skyttä -- Improve: sync paragraphs.el, custom.el, subr.el, newcomment.el, - fill.el, page.el, register.el. (Ben Wing) --- New: move regexp-opt.el and easy-mmode.el from packages to core. (Ben Wing) + fill.el, page.el, register.el. -- Ben Wing +-- New: move regexp-opt.el and easy-mmode.el from packages to core. -- Ben Wing -- New: next/previous-single-char-property-change and make - next/previous-single-property-change work like in FSF. (Ben Wing) --- New: xemacs-font-lock-c-keywords and friends. (Ben Wing) + next/previous-single-property-change work like in FSF. -- Ben Wing +-- New: xemacs-font-lock-c-keywords and friends. -- Ben Wing Internal API and Implementation --- Fix: ^M brokenness in res.rc. (Ben Wing) --- Fix: adapt to recent changes in Cygwin. (Ben Wing) +-- Fix: ^M brokenness in res.rc. -- Ben Wing +-- Fix: adapt to recent changes in Cygwin. -- Ben Wing -- Fix: byte-char conversion, should speed up Mule if there are - non-ASCII characters in the buffer. (Ben Wing) --- Fix: coding cookie recognition in .elc. (Ben Wing) --- Fix: data-in-executable problems. (Olivier Galibert, Ben Wing) --- Fix: find-coding-system-magic-cookie-in-file. (Ben Wing) --- Fix: leaking process handles. (Ben Wing) + non-ASCII characters in the buffer. -- Ben Wing +-- Fix: coding cookie recognition in .elc. -- Ben Wing +-- Fix: data-in-executable problems. -- Olivier Galibert, Ben Wing +-- Fix: find-coding-system-magic-cookie-in-file. -- Ben Wing +-- Fix: leaking process handles. -- Ben Wing -- Fix: only call device method compute_scrollbar_instance_usage() if it - is defined. (Zajcev Evgeny) + is defined. -- Zajcev Evgeny -- Fix: protect callers of MSFT syscalls from MSFT API randomization. - (Ben Wing) --- Fix: typos. (Robert Royar) --- Fix: warnings. (Aidan Kehoe, Ben Wing) --- New: Hashcode type. (Ben Wing) --- New: color API. (Ben Wing) --- New: rename abort() macro to ABORT() to placate VC 7. (Ben Wing) --- Improve: GCPRO macros. (Ben Wing) --- Improve: Mule-ize various things. (Ben Wing) + -- Ben Wing +-- Fix: typos. -- Robert Royar +-- Fix: warnings. -- Aidan Kehoe, Ben Wing +-- New: Hashcode type. -- Ben Wing +-- New: color API. -- Ben Wing +-- New: rename abort() macro to ABORT() to placate VC 7. -- Ben Wing +-- Improve: GCPRO macros. -- Ben Wing +-- Improve: Mule-ize various things. -- Ben Wing -- Improve: Suppress aliasing warning in free_hook; Jerry says not a fix? - (Ben Wing) --- Improve: UNUSED parameter marking, UNO support. (Malcolm Purvis, - Jerry James) --- Improve: Unicode-ize various things. (Ben Wing) --- Improve: critical section protection. (Ben Wing) + -- Ben Wing +-- Improve: UNUSED parameter marking, UNO support. -- Malcolm Purvis, + Jerry James +-- Improve: Unicode-ize various things. -- Ben Wing +-- Improve: critical section protection. -- Ben Wing -- Improve: debug info on attempt to throw outside of a function where - call_trapping_problems() has been used. (Ben Wing) --- Improve: menubar support. (Ben Wing) --- Improve: more orthogonality in emacs-root-finding. (Mike Sperber) --- Improve: move etc/aliases.ksh to xemacs-builds CVS module. (Ben Wing) --- Improve: move etc/chr.png, etc/chrm.png to etc/photos/ (Ben Wing) --- Improve: partially rework Unicode support. (Ben Wing) --- Improve: path handling correctness. (Ben Wing) + call_trapping_problems() has been used. -- Ben Wing +-- Improve: menubar support. -- Ben Wing +-- Improve: more orthogonality in emacs-root-finding. -- Mike Sperber +-- Improve: move etc/aliases.ksh to xemacs-builds CVS module. -- Ben Wing +-- Improve: move etc/chr.png, etc/chrm.png to etc/photos/ (Ben Wing +-- Improve: partially rework Unicode support. -- Ben Wing +-- Improve: path handling correctness. -- Ben Wing -- Improve: rangetabs get different types of ranges (open/closed start - and end). Change default to be start-closed, end-open. (Ben Wing) --- Improve: refactor Initialization changes: (Ben Wing) --- Improve: refer to init.el not .emacs in menus. (Stephen Turnbull) --- Improve: s&m files by removing autodetected stuff. (Ben Wing) --- Improve: support dumping bignums. (Jerry James, Olivier Galibert) --- Improve: support for crashing gently. (Ben Wing) --- Improve: type and keyword pedantry. (Jerry James, Ben Wing) --- Improve: update etags from upstream. (Jerry James) --- Remove: EXTERNAL_LIST_LOOP because it can infloop. (Ben Wing) + and end). Change default to be start-closed, end-open. -- Ben Wing +-- Improve: refactor Initialization changes: (Ben Wing +-- Improve: refer to init.el not .emacs in menus. -- Stephen Turnbull +-- Improve: s&m files by removing autodetected stuff. -- Ben Wing +-- Improve: support dumping bignums. -- Jerry James, Olivier Galibert +-- Improve: support for crashing gently. -- Ben Wing +-- Improve: type and keyword pedantry. -- Jerry James, Ben Wing +-- Improve: update etags from upstream. -- Jerry James +-- Remove: EXTERNAL_LIST_LOOP because it can infloop. -- Ben Wing -- Remove: etc/gnu.xpm, etc/gnu.xbm, etc/sink.xbm, etc/ms-kermit, - etc/ms-kermit-7bit (Ben Wing) --- Remove: unneeded/unused code. (Ben Wing, Stephen Turnbull) + etc/ms-kermit-7bit (Ben Wing +-- Remove: unneeded/unused code. -- Ben Wing, Stephen Turnbull Quality Assurance Infrastructure --- Fix: conflict with builtin in .gdbinit. (Golubev I. N.) --- New: regexp tests. (Stephen Turnbull, Vin Shelton) --- New: os-tests.el. (Stephen Turnbull) --- Improve: profiling support. (Ben Wing) +-- Fix: conflict with builtin in .gdbinit. -- Golubev I. N. +-- New: regexp tests. -- Stephen Turnbull, Vin Shelton +-- New: os-tests.el. -- Stephen Turnbull +-- Improve: profiling support. -- Ben Wing to 21.5.18 "chestnut" Major Features --- Improve: GTK support gets many fixes and improvements - Purvis. --- Improve: pdump gets data in executable support, -si option - Galibert. --- New: GTK gets default gtkrc - Purvis. --- New: bignum support - James (lead), Sivakumar, Turnbull. +-- Improve: GTK support gets many fixes and improvements -- Purvis. +-- Improve: pdump gets data in executable support, -si option -- Galibert. +-- New: GTK gets default gtkrc -- Purvis. +-- New: bignum support -- James (lead), Sivakumar, Turnbull. User-Visible Bug Fixes and Minor Improvements --- Fix: 'no-conversion is special in eol detection - Turnbull. --- Fix: `display-completion-list' does not overflow window - Grundmann. --- Fix: X error handler must not call stderr_out - Clements. --- Fix: bogus error in `apropros' - Turnbull. --- Fix: bogus error in `package-require' - Youngs. --- Fix: buffer editing by `call-process-region' - Aichner. --- Fix: coredump from bogus position computation in syntax cache - Euler. --- Fix: coredump from redisplay wrapping in signal.c - James. --- Fix: coredump in giflib - Hines. --- Fix: etags.el correctly handles tags with name fields - Grundmann. --- Fix: prevent minibuffer from hijacking marks - Sperber. --- Fix: respect `allow-deletion-of-last-visible-frame' - Zajcev. --- Fix: sync revert-buffer to 21.4 - Turnbull, Sparapani. --- Improve: error message formatting - Gatzemeier. --- Improve: etags.el optimized for exuberant ctags - Grundmann. --- Improve: isearch-abort preserves interim successes - Turnbull, Zawinski. --- Improve: package info reporting - Youngs. --- Improve: window configuration handling - Rychter. +-- Fix: 'no-conversion is special in eol detection -- Turnbull. +-- Fix: `display-completion-list' does not overflow window -- Grundmann. +-- Fix: X error handler must not call stderr_out -- Clements. +-- Fix: bogus error in `apropros' -- Turnbull. +-- Fix: bogus error in `package-require' -- Youngs. +-- Fix: buffer editing by `call-process-region' -- Aichner. +-- Fix: coredump from bogus position computation in syntax cache -- Euler. +-- Fix: coredump from redisplay wrapping in signal.c -- James. +-- Fix: coredump in giflib -- Hines. +-- Fix: etags.el correctly handles tags with name fields -- Grundmann. +-- Fix: prevent minibuffer from hijacking marks -- Sperber. +-- Fix: respect `allow-deletion-of-last-visible-frame' -- Zajcev. +-- Fix: sync revert-buffer to 21.4 -- Turnbull, Sparapani. +-- Improve: error message formatting -- Gatzemeier. +-- Improve: etags.el optimized for exuberant ctags -- Grundmann. +-- Improve: isearch-abort preserves interim successes -- Turnbull, Zawinski. +-- Improve: package info reporting -- Youngs. +-- Improve: window configuration handling -- Rychter. Build Infrastructure --- Fix: 64-bit support - Purvis, SuSE. --- Fix: configure.in syntax, logic - Turnbull, James, Purvis. --- Fix: make install went interactive - Aichner. --- Fix: rebuild finder-inf.el - Turnbull. --- Improve: Makefile diagnostics - Turnbull. --- Improve: Windows build support - Aichner. --- Improve: configure compiler warning setup - James, Purvis. --- Improve: configure diagnostics - Turnbull. --- Improve: configure feature detection - Purvis, James, Turnbull. --- Improve: configure report - Turnbull, James. --- Improve: icc support - James. --- Improve: install procedure - Galibert. --- New: configure supports Playstation2 - Myrkraverk. --- New: support for parallel builds - Purvis. +-- Fix: 64-bit support -- Purvis, SuSE. +-- Fix: configure.in syntax, logic -- Turnbull, James, Purvis. +-- Fix: make install went interactive -- Aichner. +-- Fix: rebuild finder-inf.el -- Turnbull. +-- Improve: Makefile diagnostics -- Turnbull. +-- Improve: Windows build support -- Aichner. +-- Improve: configure compiler warning setup -- James, Purvis. +-- Improve: configure diagnostics -- Turnbull. +-- Improve: configure feature detection -- Purvis, James, Turnbull. +-- Improve: configure report -- Turnbull, James. +-- Improve: icc support -- James. +-- Improve: install procedure -- Galibert. +-- New: configure supports Playstation2 -- Myrkraverk. +-- New: support for parallel builds -- Purvis. Documentation --- Improve: about.el version reporting - Turnbull. --- Improve: comments and docstrings - Turnbull, Aichner, Gatzemeier. --- New: lispref.texi documents bignum support - Turnbull, James. --- New: lispref.texi documents text field support - James. --- Update: FAQ - Turnbull. --- Update: NEWS - Turnbull. --- Update: PACKAGES - Koch. --- Update: about.el - Turnbull. --- Update: internals.texi - James, Turnbull. --- Update: lispref.texi - Turnbull, Okahata. --- Update: menus to XEmacs config file reality - Turnbull. +-- Improve: about.el version reporting -- Turnbull. +-- Improve: comments and docstrings -- Turnbull, Aichner, Gatzemeier. +-- New: lispref.texi documents bignum support -- Turnbull, James. +-- New: lispref.texi documents text field support -- James. +-- Update: FAQ -- Turnbull. +-- Update: NEWS -- Turnbull. +-- Update: PACKAGES -- Koch. +-- Update: about.el -- Turnbull. +-- Update: internals.texi -- James, Turnbull. +-- Update: lispref.texi -- Turnbull, Okahata. +-- Update: menus to XEmacs config file reality -- Turnbull. Lisp API --- Improve: pixel position reporting - Okahata. +-- Improve: pixel position reporting -- Okahata. Internal API and Implementation --- Fix: C macro definition for icc - James. --- Fix: C++ build problems - James, Verna. --- Fix: Cygwin bug workaround conditionalized - James. --- Fix: Lisp internal type manipulation - James. --- Fix: bogus CVS conflict in package-ui.el - Aichner. --- Fix: callproc.c vestiges removed - James. --- Fix: format conversions in pdump report - Turnbull. --- Fix: function argument usage - James. --- Fix: incomplete macro in external widget support - Golubev. --- Fix: lwlib GC handling - James. --- Fix: lwlib computation of widget changes - James. --- Fix: mark unused parameters - James, Wing. --- Fix: remove duplicate functions - Turnbull. --- Fix: remove unused variables - James. --- Fix: specifier validation - James. --- Fix: update byte compiler function database - James. --- Fix: warning suppression - James, Gatzemeier. +-- Fix: C macro definition for icc -- James. +-- Fix: C++ build problems -- James, Verna. +-- Fix: Cygwin bug workaround conditionalized -- James. +-- Fix: Lisp internal type manipulation -- James. +-- Fix: bogus CVS conflict in package-ui.el -- Aichner. +-- Fix: callproc.c vestiges removed -- James. +-- Fix: format conversions in pdump report -- Turnbull. +-- Fix: function argument usage -- James. +-- Fix: incomplete macro in external widget support -- Golubev. +-- Fix: lwlib GC handling -- James. +-- Fix: lwlib computation of widget changes -- James. +-- Fix: mark unused parameters -- James, Wing. +-- Fix: remove duplicate functions -- Turnbull. +-- Fix: remove unused variables -- James. +-- Fix: specifier validation -- James. +-- Fix: update byte compiler function database -- James. +-- Fix: warning suppression -- James, Gatzemeier. -- Fix: workaround Darwin's distaste for ISO 8859/2 filenames. --- Improve: custom database save - Aichner, Niksic. --- Improve: itimer implementation - James, Jones, Buchholz, Yamaoka. --- Improve: test-harness.el Assert macro - James. --- New: LTDL support in ELLs - James. --- Update: INSTALL Canna, Make descriptions - James, Purvis. --- Update: SERVICE sync with upstream - James. --- Update: derived.el, subr.el, cl*.el sync to Emacs 21.3 - James. --- Update: etags sync with upstream v17.6 - James. +-- Improve: custom database save -- Aichner, Niksic. +-- Improve: itimer implementation -- James, Jones, Buchholz, Yamaoka. +-- Improve: test-harness.el Assert macro -- James. +-- New: LTDL support in ELLs -- James. +-- Update: INSTALL Canna, Make descriptions -- James, Purvis. +-- Update: SERVICE sync with upstream -- James. +-- Update: derived.el, subr.el, cl*.el sync to Emacs 21.3 -- James. +-- Update: etags sync with upstream v17.6 -- James. Quality Assurance Infrastructure --- Fix: regression tests using most-negative-fixnum - James. --- Improve: faster Mule tests - Turnbull. --- New: Uno support - James. --- New: regression tests - Turnbull, Youngs, Yamaoka, Shelton, James. +-- Fix: regression tests using most-negative-fixnum -- James. +-- Improve: faster Mule tests -- Turnbull. +-- New: Uno support -- James. +-- New: regression tests -- Turnbull, Youngs, Yamaoka, Shelton, James. to 21.5.17 "chayote" Build --- New: configure reports cc and libc versions - Kletnieks, Turnbull. --- New: configure supports icc - James. --- New: configure supports typeof extension - James. --- New: use XCFLAGS to allow different flags for XEMACS_CC - Turnbull. --- Improve: module build process - James.-- Fix: compiler warnings - Turnbull. --- Fix: configure CFLAGS detection - James, Turnbull. --- Fix: configure arg parsing on Solaris - Niksic, Shelton, Turnbull. --- Fix: configure warning and progress messages - Turnbull. --- Fix: force regeneration of Lisp on every build - Turnbull. --- Fix: minitar compiler warnings, errors - Aichner. --- Fix: mislocation of installexe.sh - James. --- Fix: missing $(ldflags) in libsrc - James. --- Fix: remove dead references to GNU DLD - James. --- Fix: remove obsolete makefile cruft - Turnbull. +-- New: configure reports cc and libc versions -- Kletnieks, Turnbull. +-- New: configure supports icc -- James. +-- New: configure supports typeof extension -- James. +-- New: use XCFLAGS to allow different flags for XEMACS_CC -- Turnbull. +-- Improve: module build process -- James. +-- Fix: compiler warnings -- Turnbull. +-- Fix: configure CFLAGS detection -- James, Turnbull. +-- Fix: configure arg parsing on Solaris -- Niksic, Shelton, Turnbull. +-- Fix: configure warning and progress messages -- Turnbull. +-- Fix: force regeneration of Lisp on every build -- Turnbull. +-- Fix: minitar compiler warnings, errors -- Aichner. +-- Fix: mislocation of installexe.sh -- James. +-- Fix: missing $(ldflags) in libsrc -- James. +-- Fix: remove dead references to GNU DLD -- James. +-- Fix: remove obsolete makefile cruft -- Turnbull. Documentation --- Improve: charset registry docs - Golubev. --- Improve: specifier and internals docs - Turnbull. --- Improve: test-harness reporting - Aichner, Shelton, Turnbull. --- New: weak data structure testing - Kaltenbach. --- Remove: own photos and personal information - Youngs. --- Update: library versions in Windows docs - James. --- Update: package list - Koch. --- Fix: TeXinfo syntax - Golubev, Turnbull. --- Fix: clarifications - Turnbull. --- Fix: typos - Aichner, Golubev, Turnbull. --- Fix: workaround version issues in NAS headers - Turnbull. +-- Improve: charset registry docs -- Golubev. +-- Improve: specifier and internals docs -- Turnbull. +-- Improve: test-harness reporting -- Aichner, Shelton, Turnbull. +-- New: weak data structure testing -- Kaltenbach. +-- Remove: own photos and personal information -- Youngs. +-- Update: library versions in Windows docs -- James. +-- Update: package list -- Koch. +-- Fix: TeXinfo syntax -- Golubev, Turnbull. +-- Fix: clarifications -- Turnbull. +-- Fix: typos -- Aichner, Golubev, Turnbull. +-- Fix: workaround version issues in NAS headers -- Turnbull. Lisp API -- New: device-num-screens, device-backing-store, device-save-under, - add-to-invisibility-spec, remove-from-invisibility-spec - James. + add-to-invisibility-spec, remove-from-invisibility-spec -- James. -- New: lazy (widget), widget-child-value-get, widget-child-value-inline, widget-child-validate, widget-type-value-create, widget-type-default-get, - widget-type-match - Abrahamsen, Youngs. --- New: package-get-list-packages-where - Youngs. --- New: pui-display-maintainer command - Youngs. --- New: pui-help-echo displays both installed and available versions - Youngs. --- Synch: frame.el to GNU Emacs 21.3 - James. --- Fix: cl-do-prettyprint formatting of prog* - Youngs. --- Fix: update coding system name usage - James. + widget-type-match -- Abrahamsen, Youngs. +-- New: package-get-list-packages-where -- Youngs. +-- New: pui-display-maintainer command -- Youngs. +-- New: pui-help-echo displays both installed and available versions -- Youngs. +-- Synch: frame.el to GNU Emacs 21.3 -- James. +-- Fix: cl-do-prettyprint formatting of prog* -- Youngs. +-- Fix: update coding system name usage -- James. Internals --- Improve: KKCC - Kaltenbach. --- Improve: compiler.h for use with modules - James. --- Improve: make QUIT-related APIs visible to modules - James. --- New: support more device metrics on X11 - James. --- New: support symbols in Darwin shared libraries - Purvis. --- New: widget-default-create uses char-table - Haddock. --- New: xfree gets a type parameter for error-checking - James. --- Fix: (remove) duplicated code - James. --- Fix: GCPRO_STACK in byte interpreter - Turnbull. --- Fix: GTK marshalling code - Purvis. --- Fix: aliasing problems - Turnbull. --- Fix: bad interaction in initialization of args with pdumper - Benson. --- Fix: bit fields need to be unsigned in unicode detectors - James. --- Fix: coding system for GPG verification - Youngs. --- Fix: hard-coded options to use APIs - Pakoulin. --- Fix: improper use of XSetArg in frame-x.c - Turnbull. --- Fix: lstream close code - Euler. --- Fix: paragraph detection in Japanese - Yamaoka, Turnbull. --- Fix: regexps using \{ - Monnier, Turnbull. --- Fix: set dirty flag in mirror window at proper time - Galibert. --- Fix: several missing GC wrappers which caused crashes - James. --- Fix: some GCPROed variables were declared register - McPherson. --- Fix: stale info in realpath computation - James. --- Fix: two infloops in GC - James. --- Fix: usage of prin1 and princ in help - Eide, Shelton. +-- Improve: KKCC -- Kaltenbach. +-- Improve: compiler.h for use with modules -- James. +-- Improve: make QUIT-related APIs visible to modules -- James. +-- New: support more device metrics on X11 -- James. +-- New: support symbols in Darwin shared libraries -- Purvis. +-- New: widget-default-create uses char-table -- Haddock. +-- New: xfree gets a type parameter for error-checking -- James. +-- Fix: (remove) duplicated code -- James. +-- Fix: GCPRO_STACK in byte interpreter -- Turnbull. +-- Fix: GTK marshalling code -- Purvis. +-- Fix: aliasing problems -- Turnbull. +-- Fix: bad interaction in initialization of args with pdumper -- Benson. +-- Fix: bit fields need to be unsigned in unicode detectors -- James. +-- Fix: coding system for GPG verification -- Youngs. +-- Fix: hard-coded options to use APIs -- Pakoulin. +-- Fix: improper use of XSetArg in frame-x.c -- Turnbull. +-- Fix: lstream close code -- Euler. +-- Fix: paragraph detection in Japanese -- Yamaoka, Turnbull. +-- Fix: regexps using \{ -- Monnier, Turnbull. +-- Fix: set dirty flag in mirror window at proper time -- Galibert. +-- Fix: several missing GC wrappers which caused crashes -- James. +-- Fix: some GCPROed variables were declared register -- McPherson. +-- Fix: stale info in realpath computation -- James. +-- Fix: two infloops in GC -- James. +-- Fix: usage of prin1 and princ in help -- Eide, Shelton. to 21.5.16 "celeriac" Build --- Don't detect GNU DLD - James. --- Better detection of sound on Solaris9 - Buchholz. --- Add support detecting SunOS 5.10 in configure - Buchholz. +-- Don't detect GNU DLD -- James. +-- Better detection of sound on Solaris9 -- Buchholz. +-- Add support detecting SunOS 5.10 in configure -- Buchholz. -- Use '-bundle' when testing ability to build shared libs, but use - '-bundle_loader' in ellcc - Begel. --- Output separate declaration and definition for dump_id - James. --- Add Makefile targets to build PDF docs - Wambold. + '-bundle_loader' in ellcc -- Begel. +-- Output separate declaration and definition for dump_id -- James. +-- Add Makefile targets to build PDF docs -- Wambold. -- Don't mangle the unload function in `unload_postgresql' and - `unload_ldap' when compiling with C++ - James. --- Use extern "C" for C++ builds - James. --- Conditionally compile messages missing from the Cygwin headers - James. --- Add cast to quiet compiler in unexcw.c - James. --- Quiet compiler warnings about struct stat in syswindows.h - James. --- Test \{m,n\} in regexp-tests - Turnbull. + `unload_ldap' when compiling with C++ -- James. +-- Use extern "C" for C++ builds -- James. +-- Conditionally compile messages missing from the Cygwin headers -- James. +-- Add cast to quiet compiler in unexcw.c -- James. +-- Quiet compiler warnings about struct stat in syswindows.h -- James. +-- Test \{m,n\} in regexp-tests -- Turnbull. Documentation --- Propose bash as workaround for buggy Solaris sh in PROBLEMS - Sparapani. +-- Propose bash as workaround for buggy Solaris sh in PROBLEMS -- Sparapani. -- Fix the PRINTED-MANUAL-TITLE arg for cross ref to "The XEmacs User's Manual" - - Aichner. --- New node: "A Reader's Guide to XEmacs Coding Conventions" - Turnbull. --- New node: "Customizing Message Display" - Golubev. + -- Aichner. +-- New node: "A Reader's Guide to XEmacs Coding Conventions" -- Turnbull. +-- New node: "Customizing Message Display" -- Golubev. Internals --- In ellcc.c don't mangle external symbols in generated doc file - James. +-- In ellcc.c don't mangle external symbols in generated doc file -- James. -- Add PARTIALLY parameter to support Fpos_visible_in_window_p parameter in - redisplay - James. --- Use 'point_would_be_visible' parameter in `scrollbar_reset_cursor' - James. --- Add PARTIALLY parameter fo `Fpos_visible_in_window_p' - James. --- Use new 'point_would_be_visible' parameter in `window_scroll' - James. --- dll_open now takes a Lisp_Object - James. --- Remove useless call to dll_init - James. --- char to CIbyte conversion in emodules.c, sysdll.c - James. --- Do not mangle module initialisation function names - James. --- char to Extbyte conversion in sysdll.c - James. --- Return a Lisp_Object instead of a string in `dll_error' - James. --- Make eval-related functions visible to modules - James. + redisplay -- James. +-- Use 'point_would_be_visible' parameter in `scrollbar_reset_cursor' -- James. +-- Add PARTIALLY parameter fo `Fpos_visible_in_window_p' -- James. +-- Use new 'point_would_be_visible' parameter in `window_scroll' -- James. +-- dll_open now takes a Lisp_Object -- James. +-- Remove useless call to dll_init -- James. +-- char to CIbyte conversion in emodules.c, sysdll.c -- James. +-- Do not mangle module initialisation function names -- James. +-- char to Extbyte conversion in sysdll.c -- James. +-- Return a Lisp_Object instead of a string in `dll_error' -- James. +-- Make eval-related functions visible to modules -- James. -- Allow specifying elisp function for waithing user input while displaying - message while in minibuffer - Golubev. --- Use OS_RELEASE=os_release_major*100+os_release_minor in s/sol2.h - Buchholz. --- Add lrecord_memory_descriptions - Crestani. --- Remove GetLongPathNameW - Harris. --- A couple of new macros to compare w32api versions - James. --- KKCC fixes - Crestani. + message while in minibuffer -- Golubev. +-- Use OS_RELEASE=os_release_major*100+os_release_minor in s/sol2.h -- Buchholz. +-- Add lrecord_memory_descriptions -- Crestani. +-- Remove GetLongPathNameW -- Harris. +-- A couple of new macros to compare w32api versions -- James. +-- KKCC fixes -- Crestani. Lisp API --- Allow user to specify alternative function for displaying message - Golubev. --- New var to specify the maximum received fonts - LewisMoss. --- Allow gnuserv to fallback to GTK if X device fails - LewisMoss. --- Eval the initialisation value of `eol-detection-enabled-p' - Alexander. --- Make sure `setbuffer-file-coding-system' sets the eol type - Alexander. --- Remove unnecessary definitions of 'null-device' - Turnbull. --- Actually implement the specified semantics for 'defvar' - Sperber. --- Fix `shrink-to-fit' by calling `shrink-window-if-larger-than-buffer' - Aichner. +-- Allow user to specify alternative function for displaying message -- Golubev. +-- New var to specify the maximum received fonts -- LewisMoss. +-- Allow gnuserv to fallback to GTK if X device fails -- LewisMoss. +-- Eval the initialisation value of `eol-detection-enabled-p' -- Alexander. +-- Make sure `setbuffer-file-coding-system' sets the eol type -- Alexander. +-- Remove unnecessary definitions of 'null-device' -- Turnbull. +-- Actually implement the specified semantics for 'defvar' -- Sperber. +-- Fix `shrink-to-fit' by calling `shrink-window-if-larger-than-buffer' -- Aichner. to 21.5.15 "celery" Build --- Autoconf configure updates - James, Turnbull. --- Makefile updates - James. --- Minor updates to make-docfile.c - Begel. --- Wrap assert_failed with EXTERN_C for modules - James. --- Updates to modules Makefile.common - James. +-- Autoconf configure updates -- James, Turnbull. +-- Makefile updates -- James. +-- Minor updates to make-docfile.c -- Begel. +-- Wrap assert_failed with EXTERN_C for modules -- James. +-- Updates to modules Makefile.common -- James. -- Include emodules.h when building modules in postgresql.c - and ldap.c - James. --- Updates to xemacs.mak - Aichner. + and ldap.c -- James. +-- Updates to xemacs.mak -- Aichner. -- Add some extern "C" declarations for C++ module builds - - James. --- Add casts for C++ builds in mule-canna.c - James. + -- James. +-- Add casts for C++ builds in mule-canna.c -- James. -- Add type casts in database.c to satisy C++ compilers. -- Log result summary of tests when the testsuite is running - noninteractive - Aichner. --- Add some tests for weak-lists - Crestani, Kaltenbach. + noninteractive -- Aichner. +-- Add some tests for weak-lists -- Crestani, Kaltenbach. Documentation --- Update README.(HYPERBOLE|OO-BROWSER) - Turnbull. --- Update etc/PACKAGES - Turnbull, Koch, Youngs. --- Update etc/sample.Xresources - Turnbull. --- Major update and audit of all documents relating to PUI - Youngs. +-- Update README.(HYPERBOLE|OO-BROWSER) -- Turnbull. +-- Update etc/PACKAGES -- Turnbull, Koch, Youngs. +-- Update etc/sample.Xresources -- Turnbull. +-- Major update and audit of all documents relating to PUI -- Youngs. -- Mention `line-move-ignore-invisible' (display.texi "Invisible Text") - - Kyllingstad. + -- Kyllingstad. -- Document that end-glyph is still displayed when invisible - is set (extents.texi "Extent Properties") - Kyllingstad. + is set (extents.texi "Extent Properties") -- Kyllingstad. -- Document that only begin-glyph is highlighted (extents.texi "Extents - and Events") - Kyllingstad. --- Various typo and docstring fixes - Turnbull, Sperber. --- Add missing '@end' defun in lists.texi - Shelton. --- Document ?\x00 read syntax and range limitations on ?\000 and - ?\x00 read syntaxes (objects.texi "Character Type") - Turnbull. + and Events") -- Kyllingstad. +-- Various typo and docstring fixes -- Turnbull, Sperber. +-- Add missing '@end' defun in lists.texi -- Shelton. +-- Document ?\x00 read syntax and range limitations on ?\000 and + ?\x00 read syntaxes (objects.texi "Character Type") -- Turnbull. -- Document `true-list-p' (lists.texi "List-related Predicates") - - Turnbull. + -- Turnbull. Internals --- KKCC updates - Crestani, Kyllingstad. +-- KKCC updates -- Crestani, Kyllingstad. -- Define DECLARE_MODULE_API_LRECORD when not ERROR_CHECK_TYPES - - James. --- Updates to DSO code - James. --- Remove unused (X)OPAQUE_MARKFUN definitions - James. --- GCPRO updates - Sperber. --- Mouse wheel fixes in event-msw.c - Kyllingstad. --- Use 'HAVE_DLD_INIT' instead of 'HAVE_INIT_DLD' in sysdll.c - James. --- Rewrite ephemeron marker code - Sperber. --- Fix printing of symbol names in .gdbinit - Golubev. --- Fixes to `update_frame_toolbars_geometry' - Sperber. --- Fix missing commas in `fonts' initialiser - Golubev. --- Add `opaque_ptr_description' - Crestani. --- Add `allocate_big_string_chars' - Turnbull, Buchholz. + -- James. +-- Updates to DSO code -- James. +-- Remove unused (X)OPAQUE_MARKFUN definitions -- James. +-- GCPRO updates -- Sperber. +-- Mouse wheel fixes in event-msw.c -- Kyllingstad. +-- Use 'HAVE_DLD_INIT' instead of 'HAVE_INIT_DLD' in sysdll.c -- James. +-- Rewrite ephemeron marker code -- Sperber. +-- Fix printing of symbol names in .gdbinit -- Golubev. +-- Fixes to `update_frame_toolbars_geometry' -- Sperber. +-- Fix missing commas in `fonts' initialiser -- Golubev. +-- Add `opaque_ptr_description' -- Crestani. +-- Add `allocate_big_string_chars' -- Turnbull, Buchholz. Lisp API --- New alias `apropos-customize' -> `customize-apropos' - Aichner. --- Remove unecessary arg from `pui-set-local-package-get-directory - Youngs. --- New key bindings in mwheel.el - Kyllingstad. --- Make `insert-directory' to be more like FSF version - Sperber. --- Window configuration fixes in isearch code - Sperber. --- Implement simple object finalisation in post-gc.el - Sperber. --- Updates to etags.el - Turnbull. --- Updates to cl-macs.el - Pakoulin. --- Fix "do-nothing" bug in `derived-mode-merge-syntax-tables' - Turnbull. --- Fixes to `restore-saved-window' - James. --- Handle missing "EMACSPACKAGEPATH" env var in - `package-get-package-index-file-location' - Aichner. --- Fix substring errors in `package-admin-find-top-directory' - Aichner. +-- New alias `apropos-customize' -> `customize-apropos' -- Aichner. +-- Remove unecessary arg from `pui-set-local-package-get-directory -- Youngs. +-- New key bindings in mwheel.el -- Kyllingstad. +-- Make `insert-directory' to be more like FSF version -- Sperber. +-- Window configuration fixes in isearch code -- Sperber. +-- Implement simple object finalisation in post-gc.el -- Sperber. +-- Updates to etags.el -- Turnbull. +-- Updates to cl-macs.el -- Pakoulin. +-- Fix "do-nothing" bug in `derived-mode-merge-syntax-tables' -- Turnbull. +-- Fixes to `restore-saved-window' -- James. +-- Handle missing "EMACSPACKAGEPATH" env var in + `package-get-package-index-file-location' -- Aichner. +-- Fix substring errors in `package-admin-find-top-directory' -- Aichner. -- Fix `byte-compile-lambda' so it only discards the docstring if it is - not also the value of the lambda - Turnbull. --- Don't insist in lib-src directory in `path-emacs-root-p' on WinNT - Aichner. --- Don't include '(' in `font-lock-function-name-face' - Aichner. + not also the value of the lambda -- Turnbull. +-- Don't insist in lib-src directory in `path-emacs-root-p' on WinNT -- Aichner. +-- Don't include '(' in `font-lock-function-name-face' -- Aichner. to 21.5.14 "cassava" @@ -570,31 +611,31 @@ Build --- Autoconf tweaks for building modules on MacOSX - James. --- GCC fixes in ellcc.c - James. --- Module Makefile fixes - Begel, James. --- Fix shadow warning in regex.c - James. +-- Autoconf tweaks for building modules on MacOSX -- James. +-- GCC fixes in ellcc.c -- James. +-- Module Makefile fixes -- Begel, James. +-- Fix shadow warning in regex.c -- James. Documentation --- New TeXinfo node "Searching and Matching" - Turnbull. --- New section "Legacy Versions" in FAQ - Turnbull. --- New FAQ question Q8.0.1 - Turnbull. --- Update split-string specs in "Regexp Search" - Turnbull. +-- New TeXinfo node "Searching and Matching" -- Turnbull. +-- New section "Legacy Versions" in FAQ -- Turnbull. +-- New FAQ question Q8.0.1 -- Turnbull. +-- Update split-string specs in "Regexp Search" -- Turnbull. Internals --- Package index file updated - Koch. --- Add some debug checks in file-coding.c - Turnbull. +-- Package index file updated -- Koch. +-- Add some debug checks in file-coding.c -- Turnbull. Lisp API -- Make error message report the sym checked in `autoload-featurep-protect-autoloads' -- Turnbull. --- `split-string' tweaks - Turnbull. --- Make the location of the package-index file user customisable - Youngs. --- Turn on package-index file PGP verification - Youngs. --- Only use message if interactive for functions in replace.el - Josefsson. +-- `split-string' tweaks -- Turnbull. +-- Make the location of the package-index file user customisable -- Youngs. +-- Turn on package-index file PGP verification -- Youngs. +-- Only use message if interactive for functions in replace.el -- Josefsson. to 21.5.13 "cauliflower" @@ -607,41 +648,41 @@ Build --- Don't look for Motif if it's already been found - Buchholz. --- Darwin, Cygwin, BerkDB autoconf fixes - Turnbull. --- Make DEFUNed functions be tags - Buchholz. --- Allow compiling with Motif 1 and linking with Motif 2 - Buchholz. --- Update regexp tests - Turnbull. --- Don't autodetect ESD (Enlightened Sound Daemon) - Turnbull. +-- Don't look for Motif if it's already been found -- Buchholz. +-- Darwin, Cygwin, BerkDB autoconf fixes -- Turnbull. +-- Make DEFUNed functions be tags -- Buchholz. +-- Allow compiling with Motif 1 and linking with Motif 2 -- Buchholz. +-- Update regexp tests -- Turnbull. +-- Don't autodetect ESD (Enlightened Sound Daemon) -- Turnbull. Documentation --- New section in PROBLEMS auxilary programs for Windows - Turnbull. +-- New section in PROBLEMS auxilary programs for Windows -- Turnbull. -- FAQ updates - Q6.4.3 New aux programs for Windows - Turnbull. --- Document failed match preserves data - Turnbull. + Q6.4.3 New aux programs for Windows -- Turnbull. +-- Document failed match preserves data -- Turnbull. Internals --- Don't use the u_int8_t etc typedefs on FreeBSD in database.c - Pluim. --- Better support for externally defined lrecord types - Begel. --- Only call `xm_update_progress' if Motif is defined - Youngs. --- Define __STDC__ for BerkeleyDB - Buchholz. --- Fix bug where XEmacs couldn't find its .dmp file - Buchholz. --- Move `filemodestring' from lisp.h to sysfile.h - Golubev. --- Clean ups against the possibility of sys/stat.h defining stat - Turnbull. --- Search/match updates - Turnbull. +-- Don't use the u_int8_t etc typedefs on FreeBSD in database.c -- Pluim. +-- Better support for externally defined lrecord types -- Begel. +-- Only call `xm_update_progress' if Motif is defined -- Youngs. +-- Define __STDC__ for BerkeleyDB -- Buchholz. +-- Fix bug where XEmacs couldn't find its .dmp file -- Buchholz. +-- Move `filemodestring' from lisp.h to sysfile.h -- Golubev. +-- Clean ups against the possibility of sys/stat.h defining stat -- Turnbull. +-- Search/match updates -- Turnbull. Lisp API --- Fix bug preventing installing new packages - Youngs. --- Put exit message on separate line in `command-error' - Turnbull. --- Temporarily turn off PGP verification of package-index - Youngs. --- Remove keymapings for 'function-key-error' - James. --- Fix bug that mapped RET to LFD in TTYs - James. +-- Fix bug preventing installing new packages -- Youngs. +-- Put exit message on separate line in `command-error' -- Turnbull. +-- Temporarily turn off PGP verification of package-index -- Youngs. +-- Remove keymapings for 'function-key-error' -- James. +-- Fix bug that mapped RET to LFD in TTYs -- James. to 21.5.12 "carrot" @@ -655,103 +696,103 @@ Build --- Updates to configure.in - Steuck, James, Skyttä, Wing. --- Major updates to Makefile.in.in - Wing. --- Allow for separate build and source directories - Wing. --- Fix some compiler warnings - Wing. --- Major clean up of xemacs.mak and friends - Wing, Aichner. --- Fix some Solaris 2.7 CC compiler warnings - Persico. --- Fix for building on Mac - Palmer. +-- Updates to configure.in -- Steuck, James, Skyttä, Wing. +-- Major updates to Makefile.in.in -- Wing. +-- Allow for separate build and source directories -- Wing. +-- Fix some compiler warnings -- Wing. +-- Major clean up of xemacs.mak and friends -- Wing, Aichner. +-- Fix some Solaris 2.7 CC compiler warnings -- Persico. +-- Fix for building on Mac -- Palmer. -- Work around a problem compiling with '--use-union-type' on Intel's - ICC compiler - Buchholz. --- Fix problems with rel-alloc compilation - Wing. --- Sequentialize dependencies even more in update-elc-2 - Sperber. + ICC compiler -- Buchholz. +-- Fix problems with rel-alloc compilation -- Wing. +-- Sequentialize dependencies even more in update-elc-2 -- Sperber. -- Don't fatal() in 'report_sheap_usage' when need to rerun Make - - Wing. --- Various updates to the test suite - Turnbull. + Wing. +-- Various updates to the test suite -- Turnbull. Documentation -- Updates to - INSTALL - Turnbull, Wing. - PROBLEMS - Turnbull, Wing. --- Global substition of .Xresources for .Xdefaults - Turnbull. --- Update packages in ./etc/BETA - Skyttä. --- Doc string updates - Korytov, Turnbull, Wing. --- TeXinfo updates - Aichner, Turnbull, Wing, Youngs. + INSTALL -- Turnbull, Wing. + PROBLEMS -- Turnbull, Wing. +-- Global substition of .Xresources for .Xdefaults -- Turnbull. +-- Update packages in ./etc/BETA -- Skyttä. +-- Doc string updates -- Korytov, Turnbull, Wing. +-- TeXinfo updates -- Aichner, Turnbull, Wing, Youngs. Internals --- Fix stale match data after failed search bug - Turnbull. +-- Fix stale match data after failed search bug -- Turnbull. -- Reformat function definitions correctly in menubar-gtk.c and - event-gtk.c - Turnbull. + event-gtk.c -- Turnbull. -- Fix bug matching ASCII character classes to Mule characters - - Ueno. --- Frame updates for MS Win - Alexander. + Ueno. +-- Frame updates for MS Win -- Alexander. -- Add .dylib as an acceptable shared library file extension to - support MacOS X - Begel. --- Fix bug in database.c for Berkdb 4.1 - Turnbull. --- Regex fixes - Turnbull, Wing. --- Coding system updates - Wing. --- Add clear-left-side functionality in print.c - Wing. --- Seg fault rather than abort on Cygwin in 'assert_failed' - Wing. --- Delete popup-data object - Wing. --- Delete menubar_data field from frames - Wing. --- Clean up handling of lwlib callback data GCPRO'ing - Wing. + support MacOS X -- Begel. +-- Fix bug in database.c for Berkdb 4.1 -- Turnbull. +-- Regex fixes -- Turnbull, Wing. +-- Coding system updates -- Wing. +-- Add clear-left-side functionality in print.c -- Wing. +-- Seg fault rather than abort on Cygwin in 'assert_failed' -- Wing. +-- Delete popup-data object -- Wing. +-- Delete menubar_data field from frames -- Wing. +-- Clean up handling of lwlib callback data GCPRO'ing -- Wing. -- Use ALLOCA() in regex.c to avoid excessive stack allocation - - Wing. --- Fix subtle problem with REL_ALLOC() - Wing. + Wing. +-- Fix subtle problem with REL_ALLOC() -- Wing. -- Change *run_hook*_trapping_problems to take a warning class, not a - string - Wing. --- Mule-ize encrypt/decrypt-string code - Wing. --- Delete all support for bit-rotten CANNOT_DUMP - Wing. + string -- Wing. +-- Mule-ize encrypt/decrypt-string code -- Wing. +-- Delete all support for bit-rotten CANNOT_DUMP -- Wing. -- Fix crash due to attempt to free objects across dump/undump - - Wing. + Wing. -- Don't get in an infinite loop running post-redisplay actions - - Wing. --- Make gc_currently_forbidden static - Wing. --- Defer redrawing if already in redisplay - Wing. --- Add debug code for locking a dynarr to catch invalid mods - Wing. + Wing. +-- Make gc_currently_forbidden static -- Wing. +-- Defer redrawing if already in redisplay -- Wing. +-- Add debug code for locking a dynarr to catch invalid mods -- Wing. -- Ensure that various glyph functions that eval within redisplay - protect the evals - Wing. --- Defer specifier-changed updating till after redisplay - Wing. + protect the evals -- Wing. +-- Defer specifier-changed updating till after redisplay -- Wing. -- Require that every place inside of redisplay catch errors itself - - Wing. --- Introduce separate means of holding frame-size changes - Wing. + Wing. +-- Introduce separate means of holding frame-size changes -- Wing. -- Introduce "post-redisplay" methods for deferring things till after - redisplay - Wing. --- Disable all quit checking in redisplay - Wing. + redisplay -- Wing. +-- Disable all quit checking in redisplay -- Wing. -- Use _wexecve() when under Windows NT for Unicode correctness - Wing. --- Update list of possibly valid console types - Wing. +-- Update list of possibly valid console types -- Wing. -- Turn on Vstack_trace_on_error 'Frun_emacs_from_temacs' so that errors are debuggable even when occurring extremely early in - reinitialization - Wing. --- Define new function `emacs-run-status' - Wing. + reinitialization -- Wing. +-- Define new function `emacs-run-status' -- Wing. -- Fix crash caused by an edge condition in the syntax-cache macros - - Wing. --- Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead - Wing. + Wing. +-- Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead -- Wing. -- Don't check_quit() unless we're unbinding a real Lisp - `unwind-protect' - Wing. + `unwind-protect' -- Wing. -- Make absolutely sure there is no quit checking while we are in a - "critical section" during frame deletion - Wing. + "critical section" during frame deletion -- Wing. Lisp API --- Fix infloop in font-lock for java files - Choi. --- Fix split-string - Turnbull. --- Support '(filename)nodename' as argument to 'info' - Steib. --- Major clean up of the PUI code - Youngs. --- Use 'equal' instead of '=' in 'saved-window-equal' - James. --- Updates to wid-edit.el - Turnbull. +-- Fix infloop in font-lock for java files -- Choi. +-- Fix split-string -- Turnbull. +-- Support '(filename)nodename' as argument to 'info' -- Steib. +-- Major clean up of the PUI code -- Youngs. +-- Use 'equal' instead of '=' in 'saved-window-equal' -- James. +-- Updates to wid-edit.el -- Turnbull. -- Better layout for Tools -> Packages -> Download Site menu - - Aichner. --- More sites added to packages download sites menu - Aichner. + Aichner. +-- More sites added to packages download sites menu -- Aichner. -- Byte-compiler warning clean up and lots of synching with FSF 21.2 - code - Wing. + code -- Wing. -- Move lots of high-level code for computing paths into - setup-paths.el from various places - Wing. --- Mule and coding system updates - Wing, Turnbull. + setup-paths.el from various places -- Wing. +-- Mule and coding system updates -- Wing, Turnbull. to 21.5.11 "cabbage" @@ -772,135 +813,135 @@ Build --- Updates to test suite - Turnbull. --- Use -no-autoloads with update-elc-2 - Wing. --- Check for strupr and strlwr - Sperber. --- Delete auto-autoloads.el* & cutom-load.el* files on make clean - Turnbull. --- Fix --srcdir processing - Turnbull. --- Define DLSYM_NEEDS_UNDERSCORE on Darwin - Turnbull. --- Use opsys=aix4-2 for AIX 5 and above - Buchholz. --- Make ellcc search XEmacs directories for include files 1st - James. --- Set stack-trace-on-error, load-always-display-messages - Wing. --- Overhaul update-elc.el, cus-dep, autoload (speed ups) - Wing. --- Various compiler warning fixes - Wing. --- FreeBSD updates in modules/Makefile.common - Pluim. --- Warning fix in eldap.c - James. --- Support C++ & KKCC compilation in Windows - Wing. --- Various fixups in nt/config.in.samp - Wing. --- Fixes in xemacs.mak - Wing. --- Clean up compile errors with C++ under Windows - Wing. --- Re-order sections in ldflags for gcc 3.2 - Okhapkin. --- Restore USE_XFONTSET - Turnbull. --- New symbol: DLSYM_NEEDS_UNDERSCORE - Turnbull. --- Guard against multiple definitions of _ALL_SOURCE - Buchholz. --- QUICK_BUILD updates - Wing. +-- Updates to test suite -- Turnbull. +-- Use -no-autoloads with update-elc-2 -- Wing. +-- Check for strupr and strlwr -- Sperber. +-- Delete auto-autoloads.el* & cutom-load.el* files on make clean -- Turnbull. +-- Fix --srcdir processing -- Turnbull. +-- Define DLSYM_NEEDS_UNDERSCORE on Darwin -- Turnbull. +-- Use opsys=aix4-2 for AIX 5 and above -- Buchholz. +-- Make ellcc search XEmacs directories for include files 1st -- James. +-- Set stack-trace-on-error, load-always-display-messages -- Wing. +-- Overhaul update-elc.el, cus-dep, autoload (speed ups) -- Wing. +-- Various compiler warning fixes -- Wing. +-- FreeBSD updates in modules/Makefile.common -- Pluim. +-- Warning fix in eldap.c -- James. +-- Support C++ & KKCC compilation in Windows -- Wing. +-- Various fixups in nt/config.in.samp -- Wing. +-- Fixes in xemacs.mak -- Wing. +-- Clean up compile errors with C++ under Windows -- Wing. +-- Re-order sections in ldflags for gcc 3.2 -- Okhapkin. +-- Restore USE_XFONTSET -- Turnbull. +-- New symbol: DLSYM_NEEDS_UNDERSCORE -- Turnbull. +-- Guard against multiple definitions of _ALL_SOURCE -- Buchholz. +-- QUICK_BUILD updates -- Wing. Documentation --- Major update to configure.usage - Wing. --- New developer bio's - James, Skyttä, Golubev. +-- Major update to configure.usage -- Wing. +-- New developer bio's -- James, Skyttä, Golubev. -- Amendments/additions to PROBLEMS: - - PostgreSQL DSO with --error-checking=all - James. - - Consolidate Motif problems into one section - Turnbull. + - PostgreSQL DSO with --error-checking=all -- James. + - Consolidate Motif problems into one section -- Turnbull. -- Amendments/additions to INSTALL: - - Recommend Mule - Turnbull. - - Deprecate stripped binaries - Turnbull. + - Recommend Mule -- Turnbull. + - Deprecate stripped binaries -- Turnbull. -- General tidy up of etc/BETA, rewrite sections dealing with packages - and building from scratch - Youngs. --- General doc fixes, typos etc - Youngs, Turnbull, Palmer, Wing. --- Fix xref in Auto-Saving - Aichner. --- Update Local.rules File section in packages.texi - Youngs. --- Clarify package hierarchy structure - Turnbull. --- Major fixup of internals.texi - Wing. --- Lots of Mule rewriting in lispref/mule.texi - Wing. --- Document USE_UNION_TYPE evilness - Wing. --- Document event-matches-key-specifier-p better - Wing. --- Change illegal (for C) '//' comments to '/* */' - Shelton, Turnbull. + and building from scratch -- Youngs. +-- General doc fixes, typos etc -- Youngs, Turnbull, Palmer, Wing. +-- Fix xref in Auto-Saving -- Aichner. +-- Update Local.rules File section in packages.texi -- Youngs. +-- Clarify package hierarchy structure -- Turnbull. +-- Major fixup of internals.texi -- Wing. +-- Lots of Mule rewriting in lispref/mule.texi -- Wing. +-- Document USE_UNION_TYPE evilness -- Wing. +-- Document event-matches-key-specifier-p better -- Wing. +-- Change illegal (for C) '//' comments to '/* */' -- Shelton, Turnbull. Internals --- Synch rcs2log to GNU upstream - Youngs. +-- Synch rcs2log to GNU upstream -- Youngs. -- Use symbolic name `XtExposeCompressMaximal' instead of `TRUE' in - xlwMenuClassRec - Buchholz. --- In xm_update_progress, don't define unless LWLIB_WIDGETS_MOTIF - Buchholz. --- Rename class -> class_ & new -> new_ - Wing. --- KKCC update in postgresql.c - Wing. --- KKCC update in eldap.c - James. --- Fix for unix_create_process - Ueno. --- Set stack reserve size during unexec() - Piper. --- Use 'struct htentry' not 'struct hentry' in elhash.c - Wing. + xlwMenuClassRec -- Buchholz. +-- In xm_update_progress, don't define unless LWLIB_WIDGETS_MOTIF -- Buchholz. +-- Rename class -> class_ & new -> new_ -- Wing. +-- KKCC update in postgresql.c -- Wing. +-- KKCC update in eldap.c -- James. +-- Fix for unix_create_process -- Ueno. +-- Set stack reserve size during unexec() -- Piper. +-- Use 'struct htentry' not 'struct hentry' in elhash.c -- Wing. -- New macros ALIST_LOOP_3, ALIST_LOOP_4. --- Fix 'xemacs -batch -l dunnet' under Cygwin - Wing. --- Implement delaying of XFlush() if pending expose events - Wing. --- Fix some longstanding bugs in X quit handling - Wing. --- Correct the message output upon crashing to be more up-to-date - Wing. +-- Fix 'xemacs -batch -l dunnet' under Cygwin -- Wing. +-- Implement delaying of XFlush() if pending expose events -- Wing. +-- Fix some longstanding bugs in X quit handling -- Wing. +-- Correct the message output upon crashing to be more up-to-date -- Wing. -- Add dp() & db() as short synonyms of debug_print() & - debug_backtrace() - Wing. --- Add C++ error-checking code to verify problems with GCPRO/UNGCPRO - Wing. --- Change the way gap arrays are allocated (for KKCC) - Wing. + debug_backtrace() -- Wing. +-- Add C++ error-checking code to verify problems with GCPRO/UNGCPRO -- Wing. +-- Change the way gap arrays are allocated (for KKCC) -- Wing. -- Now lcrecords set the type of items sitting on the free list to - lcrecord_type_free - Wing. + lcrecord_type_free -- Wing. -- All lcrecord allocation functions now zero out the returned - lcrecords - Wing. --- Additional asserts in FREE_FIXED_TYPE - Wing. --- Make bit vectors lcrecords, like vectors - Wing. --- MARKED_SLOT() call no longer includes semicolon - Wing. --- Factor out some code duplicated in KKCC and pdump - Wing. --- KKCC updates - Wing. --- Add a fifth field "flags" to memory_description - Wing. --- Add support for "description maps" - Wing. + lcrecords -- Wing. +-- Additional asserts in FREE_FIXED_TYPE -- Wing. +-- Make bit vectors lcrecords, like vectors -- Wing. +-- MARKED_SLOT() call no longer includes semicolon -- Wing. +-- Factor out some code duplicated in KKCC and pdump -- Wing. +-- KKCC updates -- Wing. +-- Add a fifth field "flags" to memory_description -- Wing. +-- Add support for "description maps" -- Wing. -- Redo XD_UNION so it works inline and change format to provide info - for pdump - Wing. --- Textual changes: - - lrecord_description -> memory_description - Wing. - - struct_description -> sized_memory_description - Wing. --- Initialize protect_me field of popup_data in set_frame_menubar - Sperber --- GTK updates - Sperber. + for pdump -- Wing. +-- Textual changes: + - lrecord_description -> memory_description -- Wing. + - struct_description -> sized_memory_description -- Wing. +-- Initialize protect_me field of popup_data in set_frame_menubar -- Sperber +-- GTK updates -- Sperber. -- Don't lead to a crash if dealing with a dead - window/frame/device/console - Sperber. --- Prevent crash for combination windows - Sperber. --- Window fixes in Fdelete_window - Sperber. --- Module updates in emodules.h - James. --- Fprovide from 'vars_of_file_coding' not 'syms_of_file_coding' - Turnbull. --- Fix syntax of macro in 'mark_object_maybe_checking_free - Turnbull. --- Eliminate bogus require-prints-loading-message - Wing. --- Turn on `load-warn-when-source-newer' by default - Wing. + window/frame/device/console -- Sperber. +-- Prevent crash for combination windows -- Sperber. +-- Window fixes in Fdelete_window -- Sperber. +-- Module updates in emodules.h -- James. +-- Fprovide from 'vars_of_file_coding' not 'syms_of_file_coding' -- Turnbull. +-- Fix syntax of macro in 'mark_object_maybe_checking_free -- Turnbull. +-- Eliminate bogus require-prints-loading-message -- Wing. +-- Turn on `load-warn-when-source-newer' by default -- Wing. -- Fix up crashes when selecting menubar items due to lack of GCPROing - - Wing. --- Implement tail-recursion in KKCC - Wing. --- Fix UTF-(8|16) detector - Wing. + -- Wing. +-- Implement tail-recursion in KKCC -- Wing. +-- Fix UTF-(8|16) detector -- Wing. -- Fix problems with reentrant calling of lwlib and associated crashes - when selecting menu items - Wing. --- Improve redisplay handling of preemption - Wing. --- Return the parameter from strlvr, strupr, depend on !HAVE_STRUPR - James. --- In sysdll.c included lisp.h to define needed alloca_array - Begel. --- Pull GC_CHECK_NOT_FREE out of USE_KKCC - Sperber. --- Abort when any attempts to output a stream console are made - Wing. --- Formatting fixes in redisplay-output.c - Wing. --- Clean up redisplay a bit - Wing. --- Fix scrollbar code TTY devices don't have them - Sperber. --- Major reworking of profile code - Wing. --- Dramatically improve redisplay speed over slow X connections - Buchholz. --- Move syntax table description from buffer.c to syntax.c - Wing. --- Updates to char,mirror,syntax tables code - Wing. --- Niggly whitespace fixups - Wing. + when selecting menu items -- Wing. +-- Improve redisplay handling of preemption -- Wing. +-- Return the parameter from strlvr, strupr, depend on !HAVE_STRUPR -- James. +-- In sysdll.c included lisp.h to define needed alloca_array -- Begel. +-- Pull GC_CHECK_NOT_FREE out of USE_KKCC -- Sperber. +-- Abort when any attempts to output a stream console are made -- Wing. +-- Formatting fixes in redisplay-output.c -- Wing. +-- Clean up redisplay a bit -- Wing. +-- Fix scrollbar code TTY devices don't have them -- Sperber. +-- Major reworking of profile code -- Wing. +-- Dramatically improve redisplay speed over slow X connections -- Buchholz. +-- Move syntax table description from buffer.c to syntax.c -- Wing. +-- Updates to char,mirror,syntax tables code -- Wing. +-- Niggly whitespace fixups -- Wing. Lisp API --- Updates to (japan|cryil)-util.el - Turnbull. --- Updates to how XEmacs computes various paths - Sperber. --- Window configuration fixes - Sperber, Wing. --- Make Info-insert-dir end n separator - Buchholz. --- Drastically reorganise autoload.el - Turnbull. --- Omit M-S-home/end from motion keys - Wing. --- Synch wid-edit to GNU/Emacs 21.3.50 - Turnbull. --- Updates to hyper-apropos - Wing. --- Reorganise Help -> Info submenu - Wing. --- Fix bug when end > start in text-props - Wing. --- Fix walk-windows - Wing. --- Fix for call to set-language-unicode-precedence-list - Nyyss~nen. --- Synch up byte-optimize.el - Wing. --- Include FUNLIST argument to generate-c-file-autoloads-1 - Wing. +-- Updates to (japan|cryil)-util.el -- Turnbull. +-- Updates to how XEmacs computes various paths -- Sperber. +-- Window configuration fixes -- Sperber, Wing. +-- Make Info-insert-dir end n separator -- Buchholz. +-- Drastically reorganise autoload.el -- Turnbull. +-- Omit M-S-home/end from motion keys -- Wing. +-- Synch wid-edit to GNU/Emacs 21.3.50 -- Turnbull. +-- Updates to hyper-apropos -- Wing. +-- Reorganise Help -> Info submenu -- Wing. +-- Fix bug when end > start in text-props -- Wing. +-- Fix walk-windows -- Wing. +-- Fix for call to set-language-unicode-precedence-list -- Nyyss~nen. +-- Synch up byte-optimize.el -- Wing. +-- Include FUNLIST argument to generate-c-file-autoloads-1 -- Wing. to 21.5.10 "burdock" @@ -917,166 +958,166 @@ Build --- Reset sheap-adjustment to zero - Piper. --- Make --pdump default to yes on Linux - Turnbull. --- Only use -Wpacked in GCC v3 - Wing. --- Remove LISP_FLOAT_TYPE definition. - James. --- Temporarily disable DSO's under Cygwin - Wing. --- Updates to DSO building code (Makefile.in, configure.in etc) - Wing, James. --- Separate compiler warning flags from CFLAGS - Wing. --- Delete auto-autoloads.e* & custom-load.e* on 'make clean' - Turnbull. --- Disable detection of 'getaddrinfo' for HP-UX 11.XX - Turnbull. --- Include modules directories in 'make tags' - Youngs. --- Fix shadowing warnings in make-docfile.c - Wing. +-- Reset sheap-adjustment to zero -- Piper. +-- Make --pdump default to yes on Linux -- Turnbull. +-- Only use -Wpacked in GCC v3 -- Wing. +-- Remove LISP_FLOAT_TYPE definition. -- James. +-- Temporarily disable DSO's under Cygwin -- Wing. +-- Updates to DSO building code (Makefile.in, configure.in etc) -- Wing, James. +-- Separate compiler warning flags from CFLAGS -- Wing. +-- Delete auto-autoloads.e* & custom-load.e* on 'make clean' -- Turnbull. +-- Disable detection of 'getaddrinfo' for HP-UX 11.XX -- Turnbull. +-- Include modules directories in 'make tags' -- Youngs. +-- Fix shadowing warnings in make-docfile.c -- Wing. -- Move the common stuff from postgresql/ldap Makefile.in.in & configure.ac's into a "common" Makefile and configure script - Wing. --- Major cleanup of ellcc - Wing, James. --- Add Makefile var to pick up '--site-libraries' in DSO's - Youngs. +-- Major cleanup of ellcc -- Wing, James. +-- Add Makefile var to pick up '--site-libraries' in DSO's -- Youngs. -- Avoid unnecessary deviations from UNIX 'describe-installation' in - xemacs.mak - Aichner. --- Don't confirm overwriting files in xemacs.mak - Aichner. --- Support 'xemacs_extra_name' in xemacs.mak - Aichner. --- Some gcc/g++ 3 fixes - Wing. --- Warning fixes - Wing. --- Fix some C++ errors - Wing. + xemacs.mak -- Aichner. +-- Don't confirm overwriting files in xemacs.mak -- Aichner. +-- Support 'xemacs_extra_name' in xemacs.mak -- Aichner. +-- Some gcc/g++ 3 fixes -- Wing. +-- Warning fixes -- Wing. +-- Fix some C++ errors -- Wing. -- Allow for C needing volatile and C++ that can't have volatile, - remove previous volatile hacks - Wing. --- Try for a working Cygwin build with old unexec - Wing. --- Warning suppression - Turnbull. --- New Mule character class regexp tests - Turnbull, Ueno. --- Better handling of known bugs in tests - Turnbull. --- Add test for stale subexpr match-data - Turnbull. --- Update syntax-table tests - Turnbull. --- Add word-boundary regexp tests - Turnbull. + remove previous volatile hacks -- Wing. +-- Try for a working Cygwin build with old unexec -- Wing. +-- Warning suppression -- Turnbull. +-- New Mule character class regexp tests -- Turnbull, Ueno. +-- Better handling of known bugs in tests -- Turnbull. +-- Add test for stale subexpr match-data -- Turnbull. +-- Update syntax-table tests -- Turnbull. +-- Add word-boundary regexp tests -- Turnbull. Documentation -- Updates to PROBLEMS file - Running/Linux - Lesstif 0.93.36 - Turnbull - Running/IRIX - Irix 6.5 coredumps - Turnbull - Running/Cygwin - "No cygXpm-noX" fatal error - Turnbull - Missing charsets - Remove ambiguity - Turnbull - Running, General - FontSet warnings - Turnbull - MacOS/X - Stack limitation - Turnbull - Digital Unix - Generalise - Turnbull - AIX - USE_KKCC lossage - Turnbull. --- Update instructions in info/dir - Wallington. --- Recommend TeXinfo 4.2 in INSTALL - Turnbull. --- Add example in sample.Xdefaults - Boffi. --- Typo fixes - Yamaoka, Youngs, Turnbull, Wing. --- Docstring fixes - Turnbull, Piper, Skyttä, Wing. --- Update description of XEmacs Patches and Design ML's - Turnbull. --- Incorportate ChangeLog.X into ChangeLog - Wing. + Running/Linux - Lesstif 0.93.36 -- Turnbull + Running/IRIX - Irix 6.5 coredumps -- Turnbull + Running/Cygwin - "No cygXpm-noX" fatal error -- Turnbull + Missing charsets - Remove ambiguity -- Turnbull + Running, General - FontSet warnings -- Turnbull + MacOS/X - Stack limitation -- Turnbull + Digital Unix - Generalise -- Turnbull + AIX - USE_KKCC lossage -- Turnbull. +-- Update instructions in info/dir -- Wallington. +-- Recommend TeXinfo 4.2 in INSTALL -- Turnbull. +-- Add example in sample.Xdefaults -- Boffi. +-- Typo fixes -- Yamaoka, Youngs, Turnbull, Wing. +-- Docstring fixes -- Turnbull, Piper, Skyttä, Wing. +-- Update description of XEmacs Patches and Design ML's -- Turnbull. +-- Incorportate ChangeLog.X into ChangeLog -- Wing. -- FAQ additions/amendments: - Debugging FAQ improvements - Wing. - Mention union type bugs - Turnbull. - Debugging HOWTO improvements - Turnbull. - Decoding Lisp objects in the debugger - Turnbull. - Fix location of FAQ on website - Skyttä. - Add missing menu entry for Q3.2.7 - Verna. - Displaying non-ASCII - Turnbull. - Mention bug report commands - Turnbull. - Revise Q1.3.[1-6] - Turnbull. - New FAQ for "no cygXpm-noX" fatal error - Turnbull. --- New TeXinfo nodes: - "Widget Internals" - Turnbull. - "Simple Specifier Usage" - Turnbull. - "Compilation Options" - Turnbull. --- Document charset Unification and Tables - Turnbull. --- Better short description of Mule in Mule submenu - Turnbull. --- Regression Testing XEmacs design hints & rewrite - Turnbull. --- Document 'face-frob-from-locale-first' - Golubev. --- Document 'set-face-background-pixmap-file' - Verna. + Debugging FAQ improvements -- Wing. + Mention union type bugs -- Turnbull. + Debugging HOWTO improvements -- Turnbull. + Decoding Lisp objects in the debugger -- Turnbull. + Fix location of FAQ on website -- Skyttä. + Add missing menu entry for Q3.2.7 -- Verna. + Displaying non-ASCII -- Turnbull. + Mention bug report commands -- Turnbull. + Revise Q1.3.[1-6] -- Turnbull. + New FAQ for "no cygXpm-noX" fatal error -- Turnbull. +-- New TeXinfo nodes: + "Widget Internals" -- Turnbull. + "Simple Specifier Usage" -- Turnbull. + "Compilation Options" -- Turnbull. +-- Document charset Unification and Tables -- Turnbull. +-- Better short description of Mule in Mule submenu -- Turnbull. +-- Regression Testing XEmacs design hints & rewrite -- Turnbull. +-- Document 'face-frob-from-locale-first' -- Golubev. +-- Document 'set-face-background-pixmap-file' -- Verna. -- Add urefs to Doug Lea's * Wolfram Gloger's home pages in "Low-Level - Modules" - Turnbull. --- Update "Available Packages" - Skyttä. --- Document 'append' arg of 'add-to-list' - Skyttä. --- Add optimisation hints in "Techniques for XEmacs Developers" - Turnbull. + Modules" -- Turnbull. +-- Update "Available Packages" -- Skyttä. +-- Document 'append' arg of 'add-to-list' -- Skyttä. +-- Add optimisation hints in "Techniques for XEmacs Developers" -- Turnbull. Internals --- Add *menubar*FontSet and *popup*FontSet entries - Turnbull, Skyttä. --- Extract ldap and postgresql code from core and put them into DSO's - James. +-- Add *menubar*FontSet and *popup*FontSet entries -- Turnbull, Skyttä. +-- Extract ldap and postgresql code from core and put them into DSO's -- James. -- 'Fset_window_point' Correct to GNU/Emacs behaviour (fixes some bugs - in Gnus) - Wing. --- Inhibit GC in critical sections - Wing. --- Fix calculation in 'report_sheap_usage' - Piper. --- Implement and use new var 'garbage_collection_messages' - Wallington. --- Fix 'open_database' for Berkeley DB 4.1.x - Allen. --- Updates to frame code - Sperber. + in Gnus) -- Wing. +-- Inhibit GC in critical sections -- Wing. +-- Fix calculation in 'report_sheap_usage' -- Piper. +-- Implement and use new var 'garbage_collection_messages' -- Wallington. +-- Fix 'open_database' for Berkeley DB 4.1.x -- Allen. +-- Updates to frame code -- Sperber. -- Change C debugger entrance: error message, then stack trace, then - exiting message, then force debugger - Wing. --- Use EQ not EQUAL in 'mswindows_init_frame_1' - Wing. --- Better redisplay-related asserts - Wing. --- Don't generate large warning strings when they'll be discarded - Wing. --- Implement 'debug-on-error' as documented - Wing. --- Fix docs relating to QUIT which can't GC under any circumstances - Wing. --- More robust package compilation and debugging - Wing. --- Overhaul profile code - Wing. --- Fix crashes due to incorrectly ported GNU/Emacs code - Wing. --- Clean up realpath.c - Wing. --- DdeCreateStringHandle needs to be manual due to new Cygwin bug - Wing. --- Fix some Cygwin complaints - Wing. --- Unconditionally use LISP_FLOAT_TYPE code - James. --- Improve crash message in 'shut_down_emacs' - Turnbull. --- Update NAS code for NAS 1.6 and later - Toy. --- Fix "unused variable" warnings in mule-canna.c - Turnbull. --- Prototype 'enqueue_focus_event' - Turnbull. --- Use BORDER_FIDDLE_FACTOR instead of 10 in 'layout_layout' - Piper. --- Add optional 'noerror' arg to 'Frequire' - Wallington. + exiting message, then force debugger -- Wing. +-- Use EQ not EQUAL in 'mswindows_init_frame_1' -- Wing. +-- Better redisplay-related asserts -- Wing. +-- Don't generate large warning strings when they'll be discarded -- Wing. +-- Implement 'debug-on-error' as documented -- Wing. +-- Fix docs relating to QUIT which can't GC under any circumstances -- Wing. +-- More robust package compilation and debugging -- Wing. +-- Overhaul profile code -- Wing. +-- Fix crashes due to incorrectly ported GNU/Emacs code -- Wing. +-- Clean up realpath.c -- Wing. +-- DdeCreateStringHandle needs to be manual due to new Cygwin bug -- Wing. +-- Fix some Cygwin complaints -- Wing. +-- Unconditionally use LISP_FLOAT_TYPE code -- James. +-- Improve crash message in 'shut_down_emacs' -- Turnbull. +-- Update NAS code for NAS 1.6 and later -- Toy. +-- Fix "unused variable" warnings in mule-canna.c -- Turnbull. +-- Prototype 'enqueue_focus_event' -- Turnbull. +-- Use BORDER_FIDDLE_FACTOR instead of 10 in 'layout_layout' -- Piper. +-- Add optional 'noerror' arg to 'Frequire' -- Wallington. -- Only resize 'layout_query_geometry' dynamically if static sizes - haven't been set - Piper. --- Fix infloop upon a gdm logout - Sigelman. --- Fix scope of 'num_nonshy_regs' - Turnbull. --- Fix "stale match data" bug - Turnbull. --- Don't call 'XtDisplay' on a destroyed widget - Golubev. --- Update specifier code - Sperber. --- Update process code - Sperber. --- Move ldap/postgresql code out to DSO's - James. + haven't been set -- Piper. +-- Fix infloop upon a gdm logout -- Sigelman. +-- Fix scope of 'num_nonshy_regs' -- Turnbull. +-- Fix "stale match data" bug -- Turnbull. +-- Don't call 'XtDisplay' on a destroyed widget -- Golubev. +-- Update specifier code -- Sperber. +-- Update process code -- Sperber. +-- Move ldap/postgresql code out to DSO's -- James. -- Normalise Ffile_truename and drive spec on cygwing to win32 format - - Piper. --- Use 'closesocket' instead of 'CloseHandle' in 'winsock_closer' - Alexander. --- Coding system updates - Ikiuo. + -- Piper. +-- Use 'closesocket' instead of 'CloseHandle' in 'winsock_closer' -- Alexander. +-- Coding system updates -- Ikiuo. Lisp API --- Update window-xemacs.el to fix 'goto-line' - Wing. --- Add garbage collection messages - Wallington. --- Re-implement window configurations in Emacs Lisp - Sperber. --- Enhance background-pixmap-file code - Verna. +-- Update window-xemacs.el to fix 'goto-line' -- Wing. +-- Add garbage collection messages -- Wallington. +-- Re-implement window configurations in Emacs Lisp -- Sperber. +-- Enhance background-pixmap-file code -- Verna. -- New macro 'save-window-excursion' to eventually replace bytecode - instruction - Sperber. --- Move window.el et al up the order in dumped-lisp.el - Sperber. + instruction -- Sperber. +-- Move window.el et al up the order in dumped-lisp.el -- Sperber. -- Don't use 'save-window-excursion' in - 'shrink-window-if-larger-than-buffer' - Sperber. --- Updates to pixel-size code in dialog.el - Sperber. --- Remove nonworking 'breakpoint-on-error' - Wing. + 'shrink-window-if-larger-than-buffer' -- Sperber. +-- Updates to pixel-size code in dialog.el -- Sperber. +-- Remove nonworking 'breakpoint-on-error' -- Wing. -- Extract out 'with-displaying-help-buffer' into a more general mechanism - - Wing. --- Don't catch errors when noninteractive in startup.el - Wing. --- Fix warnings in code-files.el, loadhist.el, & package-get.el - Wing. --- Simplify code in '*-reset-device-font-menus' - James. --- Synch font-menu.el to the 21.4 version - Turnbull. --- Preserve return value from 'call-process' - Sperber. --- New functions in replace.el that operate on regions - Evans. --- Run 'delete-frame-hook' in general dialogs only - Piper. --- Add a margin parameter in autoload.el for DSO autoloads - James. --- Conditionalise autoloads for DSO's on the existence of the DSO - James. --- Always set module directories/paths in dump-paths.el - James. --- Bring list of package sites up to date - Skyttä. + -- Wing. +-- Don't catch errors when noninteractive in startup.el -- Wing. +-- Fix warnings in code-files.el, loadhist.el, & package-get.el -- Wing. +-- Simplify code in '*-reset-device-font-menus' -- James. +-- Synch font-menu.el to the 21.4 version -- Turnbull. +-- Preserve return value from 'call-process' -- Sperber. +-- New functions in replace.el that operate on regions -- Evans. +-- Run 'delete-frame-hook' in general dialogs only -- Piper. +-- Add a margin parameter in autoload.el for DSO autoloads -- James. +-- Conditionalise autoloads for DSO's on the existence of the DSO -- James. +-- Always set module directories/paths in dump-paths.el -- James. +-- Bring list of package sites up to date -- Skyttä. -- Add "Find Variable" menu entry for 'hyper-apropos-find-variable' - Wallington --- Fix 'view-lossage' interactive spec - Wallington. --- Synch 'with-output-to-string' with GNU/Emacs 21 - Wallington. --- Bind C-xrd to 'delete-rectangle' - Yamaoka. +-- Fix 'view-lossage' interactive spec -- Wallington. +-- Synch 'with-output-to-string' with GNU/Emacs 21 -- Wallington. +-- Bind C-xrd to 'delete-rectangle' -- Yamaoka. -- Move entries in 'auto-mode-alist' out to packages for the modes - that are in packages - Skyttä + that are in packages -- Skyttä -- New compatible alias for 'lookup-syntax-properties' - ('parse-sexp-lookup-properties') - Turnbull. --- Enable C autoloads for DSO's - James. --- Update revert-buffer code - Piper. --- Add new coding system 'utf-8-bom' - Ikiuo. + ('parse-sexp-lookup-properties') -- Turnbull. +-- Enable C autoloads for DSO's -- James. +-- Update revert-buffer code -- Piper. +-- Add new coding system 'utf-8-bom' -- Ikiuo. to 21.5.9 "brussels sprouts" @@ -1088,43 +1129,43 @@ document updates. -- Add an extra element to the version string that can be used to - include a date in the version string - Youngs. --- Improve help string for --with-widgets configure option - Skyttä. + include a date in the version string -- Youngs. +-- Improve help string for --with-widgets configure option -- Skyttä. -- Define runtime & build problems, and rewrite "Hannibal Lecter" - stuff in PROBLEMS - Turnbull. --- Add builtin and constant faces to font-lock-face-list - Skyttä. --- Japanese language fixes - Yamaoka. + stuff in PROBLEMS -- Turnbull. +-- Add builtin and constant faces to font-lock-face-list -- Skyttä. +-- Japanese language fixes -- Yamaoka. -- Fix find-library to allow Mule XEmacsen to find compressed - libraries - Youngs. --- New alias for 'delete-indentation' (join-line) - Wallington. --- Support docstring for define-derived-mode - Turnbull --- Doc fix for keybindings in term.texi and misc.texi - Skyttä. --- Bring package list up to date in packages.texi - Skyttä. --- Document purecopy as a no-op - Josefsson. --- New document chapter "Regression Testing XEmacs" - Turnbull. --- Add "USE_KKCC" option to ./nt/xemacs.mak - Aichner. + libraries -- Youngs. +-- New alias for 'delete-indentation' (join-line) -- Wallington. +-- Support docstring for define-derived-mode -- Turnbull +-- Doc fix for keybindings in term.texi and misc.texi -- Skyttä. +-- Bring package list up to date in packages.texi -- Skyttä. +-- Document purecopy as a no-op -- Josefsson. +-- New document chapter "Regression Testing XEmacs" -- Turnbull. +-- Add "USE_KKCC" option to ./nt/xemacs.mak -- Aichner. -- New GC algorithms implemented (Turn them on with --use-kkcc - configure option) - Sperber, Crestani, Kaltenbach, Bush. --- Define HAVE_WCHAR_H for native Win32 builds - Harris. --- Fix x_locate_pixmap_file make sure path is not 0 - MacLennan. --- Fix memory leak - Verna. + configure option) -- Sperber, Crestani, Kaltenbach, Bush. +-- Define HAVE_WCHAR_H for native Win32 builds -- Harris. +-- Fix x_locate_pixmap_file make sure path is not 0 -- MacLennan. +-- Fix memory leak -- Verna. -- Add missing call to 'xfree (newname)' in 'make_coding_system_1 - - Verna. --- Fix --with-mule --with-gtk builds - Barta. --- Make SEPCHAR a required arg to Fsplit_string_by_char - Palmer. + -- Verna. +-- Fix --with-mule --with-gtk builds -- Barta. +-- Make SEPCHAR a required arg to Fsplit_string_by_char -- Palmer. -- Make locate_file indicate success with nonnegative return if MODE - is nonnegative - James. --- Fix splitting window horizontally not splitting evenly - James. --- ORDINARY_LINK OK for Linux - James. + is nonnegative -- James. +-- Fix splitting window horizontally not splitting evenly -- James. +-- ORDINARY_LINK OK for Linux -- James. -- Don't bogusly reinitialise ascii_character property in - maybe_define_x_key_as_self_inserting_character - Astapov. + maybe_define_x_key_as_self_inserting_character -- Astapov. -- Add warning to SOE_DEBUG about not using until debugging functions - are rewritten - Turnbull. --- Update 'do_autoload' to GCPRO both arguments - Turnbull. + are rewritten -- Turnbull. +-- Update 'do_autoload' to GCPRO both arguments -- Turnbull. -- Update automated tests so they don't barf if required packages - aren't present - Turnbull. --- Organise NSIG setting code for SVR4 in a better way - James. --- Various typo fixes - Skyttä, Turnbull, James. + aren't present -- Turnbull. +-- Organise NSIG setting code for SVR4 in a better way -- James. +-- Various typo fixes -- Skyttä, Turnbull, James. to 21.5.8 "broccoli" @@ -1137,50 +1178,50 @@ categories. Maybe next release... -- New configure option "--use-kkcc" for the upcoming new GC - algorithms - Sperber. + algorithms -- Sperber. -- Identify "--with-modules" as an autodetected configure option - - James. --- Add a couple of configuration questions to PROBLEMS - Turnbull. --- Test for wchar.h in configure - Sperber. --- Update package-index files - Youngs. --- s/Xemacs/XEmacs/ doc fixes - Aichner. --- Sync make-docfile.c with GNU - James. --- Updates to gutter-items - Palmieri. --- Sync setenv with GNU - Wallington. --- Remove package-get's dependence on APEL - Youngs. --- Fix case fold bug in replace-in-string - Verna. --- Updates to code-process.el and process.el - Alexander. --- Updates to mule/kinsoku.el - Yamaoka. --- Updates to define-derived-mode - Wallington. --- Printer fixes - Piper. --- Updates to window-xemacs.el & frame.el - James. --- Doc fix gutter-items.el - Piper. --- Sync ":set-after" in custom with GNU - Piper. --- Sort the lists in enabled-behavior-list - Galibert --- Updates to lwlib-Xm.c - Piper. --- Various doc fixes to the TeXinfo docs - Aichner. --- GC fixes - Sperber. --- Updates to lisp.h, symbols.c for DSO's - James. --- Fix to mswindows_need_event - Alexander. --- Declare Fcdr_safe to be callable from C - Turnbull. --- Ffunctionp return nil for autoloaded macros & keymaps - Niksic. --- Subwindow fixes - Ueno. --- Include wchar.h only if available, define wclsen if not - Sperber. --- Fixes to Fstart_process_internal - Sperber. --- Fixes to init_ralloc for pdump - Sperber. --- Remove duplicated definition of Lisp_Devmode - Bush. --- Fixes to toolbar/redisplay - Piper. --- Windows DDE fixes - Moore. + James. +-- Add a couple of configuration questions to PROBLEMS -- Turnbull. +-- Test for wchar.h in configure -- Sperber. +-- Update package-index files -- Youngs. +-- s/Xemacs/XEmacs/ doc fixes -- Aichner. +-- Sync make-docfile.c with GNU -- James. +-- Updates to gutter-items -- Palmieri. +-- Sync setenv with GNU -- Wallington. +-- Remove package-get's dependence on APEL -- Youngs. +-- Fix case fold bug in replace-in-string -- Verna. +-- Updates to code-process.el and process.el -- Alexander. +-- Updates to mule/kinsoku.el -- Yamaoka. +-- Updates to define-derived-mode -- Wallington. +-- Printer fixes -- Piper. +-- Updates to window-xemacs.el & frame.el -- James. +-- Doc fix gutter-items.el -- Piper. +-- Sync ":set-after" in custom with GNU -- Piper. +-- Sort the lists in enabled-behavior-list -- Galibert +-- Updates to lwlib-Xm.c -- Piper. +-- Various doc fixes to the TeXinfo docs -- Aichner. +-- GC fixes -- Sperber. +-- Updates to lisp.h, symbols.c for DSO's -- James. +-- Fix to mswindows_need_event -- Alexander. +-- Declare Fcdr_safe to be callable from C -- Turnbull. +-- Ffunctionp return nil for autoloaded macros & keymaps -- Niksic. +-- Subwindow fixes -- Ueno. +-- Include wchar.h only if available, define wclsen if not -- Sperber. +-- Fixes to Fstart_process_internal -- Sperber. +-- Fixes to init_ralloc for pdump -- Sperber. +-- Remove duplicated definition of Lisp_Devmode -- Bush. +-- Fixes to toolbar/redisplay -- Piper. +-- Windows DDE fixes -- Moore. -- Fixes to 'query_string_geometry' and 'widget_logical_unit_height' - Piper. -- Fix problem with XEmacs freezing with certain virtual window - managers on Windows - Rankin. + managers on Windows -- Rankin. -- Conditionalise calls to syms_of_dired_mswindows & vars_of_dired_mswindows on WIN32_NATIVE instead of HAVE_MSW_C_DIRED - - Harris. --- Process related fixes - Sperber. --- Fix #includes in input-method-motif.c - Galibert. --- Fixes to automated tests - Sperber. + -- Harris. +-- Process related fixes -- Sperber. +-- Fix #includes in input-method-motif.c -- Galibert. +-- Fixes to automated tests -- Sperber. to 21.5.7 "broccoflower" @@ -1328,7 +1369,7 @@ -- Fix: create new process-synchronize-point to avoid dynamic binding problems; fix bogosity in setting process sentinels -- ben, mike -- Fix: make a lot of code use common includes and implementations - (see 2002-06-20 src/ChangeLog) -- ben + -- see 2002-06-20 src/ChangeLog) -- ben -- Fix: move global-map to keydefs.el -- ben -- Fix: new signal/C-g handling (src/ChangeLog 2002-05-28) -- ben -- Fix: numerous problems with the case-table implementation -- ben @@ -1760,7 +1801,7 @@ -- Fix shy group regexp code -- etc. etc. --- The `short-name' argument to make-charset now works correctly +-- The `short-name' argument to make-charset now works correctly -- Yoshiaki Kasahara -- `custom' changes -- Didier Verna -- SET_FACE_PROPERTY bug fix -- Jerry James diff --text -u 'xemacs-21.5.21/ChangeLog' 'xemacs-21.5.22/ChangeLog' Index: ./ChangeLog --- ./ChangeLog Sat May 28 15:10:16 2005 +++ ./ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,15 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-07-20 Didier Verna + + * CHANGES-beta: Remove the face aliasing feature announcement. + +2005-07-19 Didier Verna + + * CHANGES-beta: Announce the face aliasing feature. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. @@ -56,8 +68,8 @@ 2005-03-30 Aidan Kehoe * configure: #include -> #include - , thank you Robert Delius Royar. - + , thank you Robert Delius Royar. + 2005-03-15 Jerry James * configure.ac: Include when checking for @@ -73,9 +85,9 @@ 2005-03-24 Aidan Kehoe - * configure: Regenerate. + * configure: Regenerate. * configure.ac (XE_COMPLEX_ARG_ENABLE): --OPTION -> --with-OPTION - in various docstrings and error messages. + in various docstrings and error messages. 2005-03-15 Stephen J. Turnbull @@ -86,7 +98,7 @@ 2005-03-15 Malcolm Purvis - * configure.ac: Fix problems with OpenBSD /bin/sh. + * configure.ac: Fix problems with OpenBSD /bin/sh. 2005-03-13 Aidan Kehoe @@ -113,7 +125,7 @@ 2005-03-01 Aidan Kehoe - * configure: Regenerated. + * configure: Regenerated. * configure.in (XE_COMPUTE_RUNPATH): Check for the availability of XtRegisterDrawable. @@ -167,7 +179,7 @@ 2005-01-21 Aidan Kehoe * configure: - * configure.in (XE_COMPUTE_RUNPATH): + * configure.in (XE_COMPUTE_RUNPATH): NetBSD can use Linux's sound API, but it needs an extra library at link time to do so. @@ -447,7 +459,7 @@ * aclocal.m4 (XE_SHLIB_STUFF): Use -bundle when testing the ability to build shared libraries, but use -bundle_loader in ellcc. Properly handle other flags for MacOS X. - + 2003-09-03 Steve Youngs * XEmacs 21.5.15 "celery" is released. @@ -503,7 +515,7 @@ * aclocal.m4 (XE_SHLIB_STUFF): Properly define ellcc flags for MacOS X. It was stopping certain libs from making their way into the - Makefiles. + Makefiles. * configure: Regenerate. @@ -620,7 +632,7 @@ Add comment about Cygwin, unexec and sysmalloc. Move some non-general stuff out of general. Make a section for x86. - + * configure.in (AC_INIT_NOTICE): * configure.in (XE_COMPUTE_RUNPATH): Add check for broken alloca in funcalls. @@ -814,7 +826,7 @@ 2002-10-31 John Paul Wallington - * info/dir (File): button1 on a highlighted word doesn't + * info/dir (File): button1 on a highlighted word doesn't follow that cross-reference. 2002-10-31 Stephen J. Turnbull @@ -832,7 +844,7 @@ * configure.in (Check for POSIX functions): New section head. getaddrinfo is detected on HP-UX 11.XX, but appears to be non-functional. Disable it. Based on work by Darryl Okahata. - + 2002-10-18 Stephen J. Turnbull * PROBLEMS (Running/Cygwin): "No cygXpm-noX" fatal error. @@ -886,7 +898,7 @@ * version.sh (xemacs_extra_name): New var to identify XEmacs version > release < next release. ie, release+cvs. - * configure.in: Test for xemacs_extra_name. + * configure.in: Test for xemacs_extra_name. * configure: Re-generate. @@ -909,7 +921,7 @@ 2002-07-09 Mike Sperber - * configure.usage: + * configure.usage: * configure.in: Add --use-kkcc option for new GC algorithms. 2002-06-04 Jerry James @@ -972,7 +984,7 @@ * configure.in: Detect MacOS/X "Darwin". Thanks to Greg Parker . - + 2002-03-30 Steve Youngs * etc/package-index.LATEST.pgp: Update to current reality. @@ -993,7 +1005,7 @@ 2001-12-13 William M. Perry * configure.in (GTK): add -Wno-shadow. - + 2002-01-23 Jarl Friis * etc/BETA (http): Informing of xemacs-patches mailing list. Added @@ -1058,7 +1070,7 @@ 2002-03-31 Ben Wing * TODO.ben-mule-21-5 (bugs): Update. - + * configure.in (USAGE_ERROR): * configure.in (CANONICALIZE_PATH): * configure.in (XE_COMPUTE_RUNPATH): diff --text -u 'xemacs-21.5.21/autom4te.cache/requests' 'xemacs-21.5.22/autom4te.cache/requests' Index: ./autom4te.cache/requests --- ./autom4te.cache/requests Sat May 28 15:10:35 2005 +++ ./autom4te.cache/requests Wed Sep 14 14:28:53 2005 @@ -17,19 +17,19 @@ { 'm4_pattern_forbid' => 1, 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_C_VOLATILE' => 1, 'AC_TYPE_OFF_T' => 1, + 'AC_C_VOLATILE' => 1, 'AC_FUNC_CLOSEDIR_VOID' => 1, 'AC_REPLACE_FNMATCH' => 1, 'AC_PROG_LIBTOOL' => 1, 'AC_FUNC_STAT' => 1, - 'AC_FUNC_WAIT3' => 1, 'AC_HEADER_TIME' => 1, - 'AC_FUNC_LSTAT' => 1, - 'AC_STRUCT_TM' => 1, + 'AC_FUNC_WAIT3' => 1, 'AM_AUTOMAKE_VERSION' => 1, - 'AC_FUNC_GETMNTENT' => 1, + 'AC_STRUCT_TM' => 1, + 'AC_FUNC_LSTAT' => 1, 'AC_TYPE_MODE_T' => 1, + 'AC_FUNC_GETMNTENT' => 1, 'AC_FUNC_STRTOD' => 1, 'AC_CHECK_HEADERS' => 1, 'AC_FUNC_STRNLEN' => 1, @@ -48,17 +48,17 @@ 'AC_STRUCT_ST_BLOCKS' => 1, 'AC_TYPE_SIGNAL' => 1, 'AC_TYPE_UID_T' => 1, - 'AC_PROG_MAKE_SET' => 1, 'AC_CONFIG_AUX_DIR' => 1, - 'm4_pattern_allow' => 1, + 'AC_PROG_MAKE_SET' => 1, 'sinclude' => 1, + 'm4_pattern_allow' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'AC_FUNC_STRERROR_R' => 1, 'AC_PROG_CC' => 1, - 'AC_DECL_SYS_SIGLIST' => 1, 'AC_FUNC_FORK' => 1, - 'AC_FUNC_STRCOLL' => 1, + 'AC_DECL_SYS_SIGLIST' => 1, 'AC_FUNC_VPRINTF' => 1, + 'AC_FUNC_STRCOLL' => 1, 'AC_PROG_YACC' => 1, 'AC_INIT' => 1, 'AC_STRUCT_TIMEZONE' => 1, @@ -80,33 +80,33 @@ 'AM_MAINTAINER_MODE' => 1, 'AC_FUNC_UTIME_NULL' => 1, 'AC_FUNC_SELECT_ARGTYPES' => 1, - 'AC_HEADER_STAT' => 1, 'AC_FUNC_STRFTIME' => 1, - 'AC_PROG_CPP' => 1, + 'AC_HEADER_STAT' => 1, 'AC_C_INLINE' => 1, - 'AC_PROG_LEX' => 1, - 'AC_C_CONST' => 1, + 'AC_PROG_CPP' => 1, 'AC_TYPE_PID_T' => 1, + 'AC_C_CONST' => 1, + 'AC_PROG_LEX' => 1, 'AC_CONFIG_FILES' => 1, 'include' => 1, 'AC_FUNC_SETVBUF_REVERSED' => 1, 'AC_PROG_INSTALL' => 1, 'AM_GNU_GETTEXT' => 1, - 'AC_CHECK_LIB' => 1, 'AC_FUNC_OBSTACK' => 1, + 'AC_CHECK_LIB' => 1, 'AC_FUNC_MALLOC' => 1, 'AC_FUNC_GETGROUPS' => 1, 'AC_FUNC_GETLOADAVG' => 1, 'AH_OUTPUT' => 1, 'AC_FUNC_FSEEKO' => 1, 'AM_PROG_CC_C_O' => 1, - 'AC_FUNC_MKTIME' => 1, - 'AC_CANONICAL_SYSTEM' => 1, 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_FUNC_MKTIME' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_HEADER_SYS_WAIT' => 1, - 'AC_PROG_LN_S' => 1, 'AC_FUNC_MEMCMP' => 1, + 'AC_PROG_LN_S' => 1, 'm4_include' => 1, 'AC_HEADER_DIRENT' => 1, 'AC_CHECK_FUNCS' => 1 diff --text -u 'xemacs-21.5.21/etc/ChangeLog' 'xemacs-21.5.22/etc/ChangeLog' Index: ./etc/ChangeLog --- ./etc/ChangeLog Sat May 28 15:10:16 2005 +++ ./etc/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,12 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-07-17 Aidan Kehoe + + * NEWS: Add information on the last argument to event-to-character + being ignored. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/etc/NEWS' 'xemacs-21.5.22/etc/NEWS' Index: ./etc/NEWS --- ./etc/NEWS Fri May 6 02:10:19 2005 +++ ./etc/NEWS Mon Jul 18 05:08:40 2005 @@ -57,6 +57,17 @@ resources at some point. +* Lisp and internal changes in XEmacs 21.5 +========================================== + +** The ALLOW-NON-ASCII argument to event-to-character is not used. + +While it is still accepted, for compatibilty with older code, +event-to-character no longer takes note of this argument, since the specific +type of mapping between characters and keysyms that it affected is no longer +in place. + + * Changes in XEmacs 21.4 ======================== diff --text -u 'xemacs-21.5.21/lib-src/ChangeLog' 'xemacs-21.5.22/lib-src/ChangeLog' Index: ./lib-src/ChangeLog --- ./lib-src/ChangeLog Sat May 28 15:10:16 2005 +++ ./lib-src/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,11 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-06-28 Marcus Crestani + + * .cvsignore: Add insert-data-in-exec. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/lisp/ChangeLog' 'xemacs-21.5.22/lisp/ChangeLog' Index: ./lisp/ChangeLog --- ./lisp/ChangeLog Sat May 28 15:10:16 2005 +++ ./lisp/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,57 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-08-06 Mike Sperber + + * window-xemacs.el (really-set-window-configuration): Only set + the frame top and left if they've changed. + +2005-08-04 Mike Sperber + + * window-xemacs.el (window-configuration-equal): Compare frame top + and left via `equal' rather than '=', as it can be nil. + +2005-07-24 Fabrice Popineau + + * window-xemacs.el (really-set-window-configuration): + * window-xemacs.el (current-window-configuration): + * window-xemacs.el (window-configuration-equal): + * window-xemacs.el (window-configuration): Add `frame-top' and + `frame-left' field to windows configurations, and save and restore + them. + +2005-06-26 Aidan Kehoe + + * cmdloop.el (read-quoted-char): + * isearch-mode.el (isearch-char-to-string): + Remove the fourth argument from event-to-character. + + * dumped-lisp.el (preloaded-file-list): + No longer dump x-iso8859-1.el--we don't need it any more. + + * x-init.el (x-initialize-keyboard): + * keymap.el (events-to-keys): + * events.el: + Rename the ascii-character keysym property to character-of-keysym. + + * gtk-compose.el: + Don't depend on gtk-iso8859-1.el + + * x-compose.el: + Move to using character literals rather than X11 keysyms as macro + expansions. Loses the ability to use another character encoding + for the Latin-1 characters in X11 composition with a bit of + programming, which no-one uses; also happily reduces dependence on + x-iso8859-1.el, which is no longer of use. + +2005-06-06 Adrian Aichner + + * package-get.el (package-get-init-package): + package-get-init-package buglet (21.4.17) by Jeff Mincy + fixing false temporary load-path shadows reported + after package installation and simplifying code. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/lisp/cmdloop.el' 'xemacs-21.5.22/lisp/cmdloop.el' Index: ./lisp/cmdloop.el --- ./lisp/cmdloop.el Thu Feb 24 07:25:16 2005 +++ ./lisp/cmdloop.el Mon Jun 27 03:04:49 2005 @@ -567,7 +567,7 @@ any other non-digit terminates the character code and is then used as input.")) (and prompt (display-message 'prompt (format "%s-" prompt))) (setq event (next-command-event) - char (or (event-to-character event nil nil t) + char (or (event-to-character event) (signal 'error (list "key read cannot be inserted in a buffer" event)))) diff --text -u 'xemacs-21.5.21/lisp/dumped-lisp.el' 'xemacs-21.5.22/lisp/dumped-lisp.el' Index: ./lisp/dumped-lisp.el --- ./lisp/dumped-lisp.el Thu Feb 10 12:26:15 2005 +++ ./lisp/dumped-lisp.el Mon Jun 27 03:04:49 2005 @@ -246,8 +246,7 @@ ;; preload the X code. (when (featurep '(and x scrollbar)) "x-scrollbar") (when (featurep 'x) - '("x-iso8859-1" - "x-mouse" + '("x-mouse" "x-select" "x-misc" "x-init" @@ -259,7 +258,6 @@ "gtk-widgets" "gdk" "gtk-init" - "gtk-iso8859-1" "gtk-select" "gtk-mouse" "gtk-glyphs" diff --text -u 'xemacs-21.5.21/lisp/events.el' 'xemacs-21.5.22/lisp/events.el' Index: ./lisp/events.el --- ./lisp/events.el Sat Oct 10 17:04:00 1998 +++ ./lisp/events.el Mon Jun 27 03:04:50 2005 @@ -120,39 +120,59 @@ (while pairs (puthash (pop pairs) (pop pairs) keyboard-translate-table))) -(put 'tab 'ascii-character ?\t) -(put 'linefeed 'ascii-character ?\n) -(put 'clear 'ascii-character 12) -(put 'return 'ascii-character ?\r) -(put 'escape 'ascii-character ?\e) -(put 'space 'ascii-character ? ) - - ;; Do the same voodoo for the keypad keys. I used to bind these to keyboard - ;; macros (for instance, kp-0 was bound to "0") so that they would track the - ;; bindings of the corresponding keys by default, but that made the display - ;; of M-x describe-bindings much harder to read, so now we'll just bind them - ;; to self-insert by default. Not a big difference... - -(put 'kp-0 'ascii-character ?0) -(put 'kp-1 'ascii-character ?1) -(put 'kp-2 'ascii-character ?2) -(put 'kp-3 'ascii-character ?3) -(put 'kp-4 'ascii-character ?4) -(put 'kp-5 'ascii-character ?5) -(put 'kp-6 'ascii-character ?6) -(put 'kp-7 'ascii-character ?7) -(put 'kp-8 'ascii-character ?8) -(put 'kp-9 'ascii-character ?9) - -(put 'kp-space 'ascii-character ? ) -(put 'kp-tab 'ascii-character ?\t) -(put 'kp-enter 'ascii-character ?\r) -(put 'kp-equal 'ascii-character ?=) -(put 'kp-multiply 'ascii-character ?*) -(put 'kp-add 'ascii-character ?+) -(put 'kp-separator 'ascii-character ?,) -(put 'kp-subtract 'ascii-character ?-) -(put 'kp-decimal 'ascii-character ?.) -(put 'kp-divide 'ascii-character ?/) +(defun set-character-of-keysym (keysym character) + "Make CHARACTER be inserted when KEYSYM is pressed, +and the key has been bound to `self-insert-command'. " + (check-argument-type 'symbolp keysym) + (check-argument-type 'characterp character) + (put keysym 'character-of-keysym character)) + +(defun get-character-of-keysym (keysym) + "Return the character inserted when KEYSYM is pressed, +and the key is bound to `self-insert-command'. " + (check-argument-type 'symbolp keysym) + (event-to-character (make-event 'key-press (list 'key keysym)))) + +;; We could take the first few of these out by removing the "/* Optimize for +;; ASCII keysyms */" code in event-Xt.c, and I've a suspicion that may be +;; the right thing to do anyway. + +(loop for (keysym char) in + '((tab ?\t) + (linefeed ?\n) + (clear ?\014) + (return ?\r) + (escape ?\e) + (space ? ) + + ;; Do the same voodoo for the keypad keys. I used to bind these to + ;; keyboard macros (for instance, kp-0 was bound to "0") so that they + ;; would track the bindings of the corresponding keys by default, but + ;; that made the display of M-x describe-bindings much harder to read, + ;; so now we'll just bind them to self-insert by default. Not a big + ;; difference... + + (kp-0 ?0) + (kp-1 ?1) + (kp-2 ?2) + (kp-3 ?3) + (kp-4 ?4) + (kp-5 ?5) + (kp-6 ?6) + (kp-7 ?7) + (kp-8 ?8) + (kp-9 ?9) + + (kp-space ? ) + (kp-tab ?\t) + (kp-enter ?\r) + (kp-equal ?=) + (kp-multiply ?*) + (kp-add ?+) + (kp-separator ?,) + (kp-subtract ?-) + (kp-decimal ?.) + (kp-divide ?/)) + do (set-character-of-keysym keysym char)) ;;; events.el ends here diff --text -u 'xemacs-21.5.21/lisp/gtk-compose.el' 'xemacs-21.5.22/lisp/gtk-compose.el' Index: ./lisp/gtk-compose.el --- ./lisp/gtk-compose.el Fri Apr 13 03:21:22 2001 +++ ./lisp/gtk-compose.el Mon Jun 27 03:04:50 2005 @@ -1,4 +1,3 @@ -(require 'gtk-iso8859-1) (require 'x-compose) (provide 'gtk-compose) diff --text -u 'xemacs-21.5.21/lisp/isearch-mode.el' 'xemacs-21.5.22/lisp/isearch-mode.el' Index: ./lisp/isearch-mode.el --- ./lisp/isearch-mode.el Mon May 10 16:04:34 2004 +++ ./lisp/isearch-mode.el Mon Jun 27 03:04:50 2005 @@ -1813,7 +1813,7 @@ (defun isearch-char-to-string (c) (if (eventp c) - (make-string 1 (event-to-character c nil nil t)) + (make-string 1 (event-to-character c)) (make-string 1 c))) ;(defun isearch-text-char-description (c) diff --text -u 'xemacs-21.5.21/lisp/keymap.el' 'xemacs-21.5.22/lisp/keymap.el' Index: ./lisp/keymap.el --- ./lisp/keymap.el Sun Mar 2 18:38:39 2003 +++ ./lisp/keymap.el Mon Jun 27 03:04:50 2005 @@ -338,10 +338,9 @@ ;; any ambiguity. (setq c (event-to-character ce)) (if (and c - character-set-property (key-press-event-p ce)) (cond ((symbolp (event-key ce)) - (if (get (event-key ce) character-set-property) + (if (get (event-key ce) 'character-of-keysym) ;; Don't use a string for `backspace' and `tab' to ;; avoid that unpleasant little ambiguity. (setq c nil))) @@ -349,7 +348,7 @@ (integerp (event-key ce))) (let* ((te (character-to-event c))) (if (and (symbolp (event-key te)) - (get (event-key te) character-set-property)) + (get (event-key te) 'character-of-keysym)) ;; Don't "normalize" (control i) to tab ;; to avoid the ambiguity in the other direction (setq c nil)) diff --text -u 'xemacs-21.5.21/lisp/package-get.el' 'xemacs-21.5.22/lisp/package-get.el' Index: ./lisp/package-get.el --- ./lisp/package-get.el Sat Jun 26 06:24:36 2004 +++ ./lisp/package-get.el Mon Jun 6 07:46:56 2005 @@ -841,14 +841,7 @@ (progn ;; Add lispdir to load-path if it doesn't already exist. ;; NOTE: this does not take symlinks, etc., into account. - (if (let ((dirs load-path)) - (catch 'done - (while dirs - (if (string-equal (car dirs) lispdir) - (throw 'done nil)) - (setq dirs (cdr dirs))) - t)) - (setq load-path (cons lispdir load-path))) + (add-to-list 'load-path (file-name-as-directory lispdir)) (if (not (package-get-load-package-file lispdir "auto-autoloads")) (package-get-load-package-file lispdir "_pkg")) t) diff --text -u 'xemacs-21.5.21/lisp/window-xemacs.el' 'xemacs-21.5.22/lisp/window-xemacs.el' Index: ./lisp/window-xemacs.el --- ./lisp/window-xemacs.el Wed Feb 16 20:07:30 2005 +++ ./lisp/window-xemacs.el Sat Aug 6 18:41:59 2005 @@ -119,6 +119,7 @@ (defstruct window-configuration frame + frame-top frame-left frame-pixel-width frame-pixel-height current-buffer minibuffer-pixel-height @@ -135,6 +136,10 @@ (window-configuration-frame-pixel-width conf-2)) (= (window-configuration-frame-pixel-height conf-1) (window-configuration-frame-pixel-height conf-2)) + (equal (window-configuration-frame-top conf-1) + (window-configuration-frame-top conf-2)) + (equal (window-configuration-frame-left conf-1) + (window-configuration-frame-left conf-2)) (eq (window-configuration-current-buffer conf-1) (window-configuration-current-buffer conf-2)) (saved-window-equal (window-configuration-saved-root-window conf-1) @@ -213,6 +218,8 @@ (make-window-configuration :frame frame + :frame-top (frame-property frame 'top) + :frame-left (frame-property frame 'left) :frame-pixel-width (frame-pixel-width frame) :frame-pixel-height (frame-pixel-height frame) :current-buffer (current-buffer) @@ -285,6 +292,15 @@ (frame-reduce-to-one-window frame) (set-window-configuration-frame-size configuration) + ; avoid setting these if they're already up-to-date + ; This also avoids potential inaccuracies in these settings --Mike + (let ((left (window-configuration-frame-left configuration)) + (top (window-configuration-frame-top configuration))) + (if (not (equal left (frame-property frame 'left))) + (set-frame-property frame 'left left)) + (if (not (equal top (frame-property frame 'top))) + (set-frame-property frame 'top top))) + ;; these may have changed because of the delete (let ((root-window (frame-root-window frame))) (enlarge-window-pixels diff --text -u 'xemacs-21.5.21/lisp/x-compose.el' 'xemacs-21.5.22/lisp/x-compose.el' Index: ./lisp/x-compose.el --- ./lisp/x-compose.el Fri Apr 13 03:21:39 2001 +++ ./lisp/x-compose.el Mon Jun 27 03:04:50 2005 @@ -1,6 +1,6 @@ ;;; x-compose.el --- Compose-key processing in XEmacs -;; Copyright (C) 1992, 1993, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1993, 1997, 2005 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Maintainer: XEmacs Development Team @@ -100,9 +100,11 @@ ;; not have: at any point you can type C-h to get a list of the possible ;; completions of what you have typed so far. -;;; Code: +;; Giacomo Boffi's problem of +;; 20050324103919.8D22E4901@boffi95.stru.polimi.it is caused by Xlib doing +;; the compose processing. To turn that off, I'm not certain what's -(require 'x-iso8859-1) +;;; Code: (macrolet ((define-compose-map (keymap-symbol) @@ -157,85 +159,113 @@ ;;; The contents of the "dead key" maps. These are shared by the ;;; compose-map. +;;; These used to all have nice readable X11-oriented keysym names as the +;;; macro definition in the third argument, but I moved the interpretation +;;; of those mappings (that is, Aacute to \301, &c.) to runtime in the X11 +;;; code on first sight of the symbols--which is the more general solution, +;;; what with Unicode keysyms, publishing, technical and so on, there's no +;;; need to have them hanging around as symbols all the time--so they're no +;;; longer available to Lisp before X11 sees them, something this relied on. + +;;; The transformation was done like so; + +;;; (while (re-search-forward "\\[\\([a-zA-Z]+\\)\\])$" nil t) +;;; (replace-match (format "(?\\%o)" +;;; (get (intern (match-string 1)) 'character-of-keysym)) +;;; t t nil 1)) + +;;; with a lot of repeated calling of setxkbmap to esoteric keymaps--so +;;; x_reset_key_mapping gets called for all the keys on the keyboard--yacute +;;; getting picked up from the Czech keymap, idiaeresis from the Dutch one, +;;; and many more (al, ca, cz, de, dvorak, ee, es, fi, fr, hu, +;;; ie(UnicodeExpert), it, nl, pt, ro, tr, us, vn, if it interests you.) + +;;; The parentheses inside the vector are because otherwise the macro gets +;;; interpreted as a meta character, the Latin-1 codes being in exactly that +;;; range. Perhaps that bears documenting somewhere. Also, why is help +;;; turned off for these (x-compose) sequences by default? + +;;; (Aidan Kehoe, 2005-05-18) + (define-key compose-acute-map [space] "'") -(define-key compose-acute-map [?'] [acute]) -(define-key compose-acute-map [?A] [Aacute]) -(define-key compose-acute-map [E] [Eacute]) -(define-key compose-acute-map [I] [Iacute]) -(define-key compose-acute-map [O] [Oacute]) -(define-key compose-acute-map [U] [Uacute]) -(define-key compose-acute-map [Y] [Yacute]) -(define-key compose-acute-map [a] [aacute]) -(define-key compose-acute-map [e] [eacute]) -(define-key compose-acute-map [i] [iacute]) -(define-key compose-acute-map [o] [oacute]) -(define-key compose-acute-map [u] [uacute]) -(define-key compose-acute-map [y] [yacute]) +(define-key compose-acute-map [?'] [(?\264)]) +(define-key compose-acute-map [?A] [(?\301)]) +(define-key compose-acute-map [E] [(?\311)]) +(define-key compose-acute-map [I] [(?\315)]) +(define-key compose-acute-map [O] [(?\323)]) +(define-key compose-acute-map [U] [(?\332)]) +(define-key compose-acute-map [Y] [(?\335)]) +(define-key compose-acute-map [a] [(?\341)]) +(define-key compose-acute-map [e] [(?\351)]) +(define-key compose-acute-map [i] [(?\355)]) +(define-key compose-acute-map [o] [(?\363)]) +(define-key compose-acute-map [u] [(?\372)]) +(define-key compose-acute-map [y] [(?\375)]) (define-key compose-grave-map [space] "`") -(define-key compose-grave-map [?`] [grave]) -(define-key compose-grave-map [A] [Agrave]) -(define-key compose-grave-map [E] [Egrave]) -(define-key compose-grave-map [I] [Igrave]) -(define-key compose-grave-map [O] [Ograve]) -(define-key compose-grave-map [U] [Ugrave]) -(define-key compose-grave-map [a] [agrave]) -(define-key compose-grave-map [e] [egrave]) -(define-key compose-grave-map [i] [igrave]) -(define-key compose-grave-map [o] [ograve]) -(define-key compose-grave-map [u] [ugrave]) +(define-key compose-grave-map [?`] [(?\140)]) +(define-key compose-grave-map [A] [(?\300)]) +(define-key compose-grave-map [E] [(?\310)]) +(define-key compose-grave-map [I] [(?\314)]) +(define-key compose-grave-map [O] [(?\322)]) +(define-key compose-grave-map [U] [(?\331)]) +(define-key compose-grave-map [a] [(?\340)]) +(define-key compose-grave-map [e] [(?\350)]) +(define-key compose-grave-map [i] [(?\354)]) +(define-key compose-grave-map [o] [(?\362)]) +(define-key compose-grave-map [u] [(?\371)]) (define-key compose-cedilla-map [space] ",") -(define-key compose-cedilla-map [?,] [cedilla]) -(define-key compose-cedilla-map [C] [Ccedilla]) -(define-key compose-cedilla-map [c] [ccedilla]) - -(define-key compose-diaeresis-map [space] [diaeresis]) -(define-key compose-diaeresis-map [?\"] [diaeresis]) -(define-key compose-diaeresis-map [A] [Adiaeresis]) -(define-key compose-diaeresis-map [E] [Ediaeresis]) -(define-key compose-diaeresis-map [I] [Idiaeresis]) -(define-key compose-diaeresis-map [O] [Odiaeresis]) -(define-key compose-diaeresis-map [U] [Udiaeresis]) -(define-key compose-diaeresis-map [a] [adiaeresis]) -(define-key compose-diaeresis-map [e] [ediaeresis]) -(define-key compose-diaeresis-map [i] [idiaeresis]) -(define-key compose-diaeresis-map [o] [odiaeresis]) -(define-key compose-diaeresis-map [u] [udiaeresis]) -(define-key compose-diaeresis-map [y] [ydiaeresis]) +(define-key compose-cedilla-map [?,] [(?\270)]) +(define-key compose-cedilla-map [C] [(?\307)]) +(define-key compose-cedilla-map [c] [(?\347)]) + +(define-key compose-diaeresis-map [space] [(?\250)]) +(define-key compose-diaeresis-map [?\"] [(?\250)]) +(define-key compose-diaeresis-map [A] [(?\304)]) +(define-key compose-diaeresis-map [E] [(?\313)]) +(define-key compose-diaeresis-map [I] [(?\317)]) +(define-key compose-diaeresis-map [O] [(?\326)]) +(define-key compose-diaeresis-map [U] [(?\334)]) +(define-key compose-diaeresis-map [a] [(?\344)]) +(define-key compose-diaeresis-map [e] [(?\353)]) +(define-key compose-diaeresis-map [i] [(?\357)]) +(define-key compose-diaeresis-map [o] [(?\366)]) +(define-key compose-diaeresis-map [u] [(?\374)]) +(define-key compose-diaeresis-map [y] [(?\377)]) (define-key compose-circumflex-map [space] "^") (define-key compose-circumflex-map [?/] "|") -(define-key compose-circumflex-map [?!] [brokenbar]) -(define-key compose-circumflex-map [?-] [macron]) -(define-key compose-circumflex-map [?_] [macron]) -(define-key compose-circumflex-map [?0] [degree]) -(define-key compose-circumflex-map [?1] [onesuperior]) -(define-key compose-circumflex-map [?2] [twosuperior]) -(define-key compose-circumflex-map [?3] [threesuperior]) -(define-key compose-circumflex-map [?.] [periodcentered]) -(define-key compose-circumflex-map [A] [Acircumflex]) -(define-key compose-circumflex-map [E] [Ecircumflex]) -(define-key compose-circumflex-map [I] [Icircumflex]) -(define-key compose-circumflex-map [O] [Ocircumflex]) -(define-key compose-circumflex-map [U] [Ucircumflex]) -(define-key compose-circumflex-map [a] [acircumflex]) -(define-key compose-circumflex-map [e] [ecircumflex]) -(define-key compose-circumflex-map [i] [icircumflex]) -(define-key compose-circumflex-map [o] [ocircumflex]) -(define-key compose-circumflex-map [u] [ucircumflex]) +(define-key compose-circumflex-map [?!] [(?\246)]) +(define-key compose-circumflex-map [?-] [(?\257)]) +(define-key compose-circumflex-map [?_] [(?\257)]) +(define-key compose-circumflex-map [?0] [(?\260)]) +(define-key compose-circumflex-map [?1] [(?\271)]) +(define-key compose-circumflex-map [?2] [(?\262)]) +(define-key compose-circumflex-map [?3] [(?\263)]) +(define-key compose-circumflex-map [?.] [(?\267)]) +(define-key compose-circumflex-map [A] [(?\302)]) +(define-key compose-circumflex-map [E] [(?\312)]) +(define-key compose-circumflex-map [I] [(?\316)]) +(define-key compose-circumflex-map [O] [(?\324)]) +(define-key compose-circumflex-map [U] [(?\333)]) +(define-key compose-circumflex-map [a] [(?\342)]) +(define-key compose-circumflex-map [e] [(?\352)]) +(define-key compose-circumflex-map [i] [(?\356)]) +(define-key compose-circumflex-map [o] [(?\364)]) +(define-key compose-circumflex-map [u] [(?\373)]) (define-key compose-tilde-map [space] "~") -(define-key compose-tilde-map [A] [Atilde]) -(define-key compose-tilde-map [N] [Ntilde]) -(define-key compose-tilde-map [O] [Otilde]) -(define-key compose-tilde-map [a] [atilde]) -(define-key compose-tilde-map [n] [ntilde]) -(define-key compose-tilde-map [o] [otilde]) - -(define-key compose-ring-map [space] [degree]) -(define-key compose-ring-map [A] [Aring]) -(define-key compose-ring-map [a] [aring]) +(define-key compose-tilde-map [A] [(?\303)]) +(define-key compose-tilde-map [N] [(?\321)]) +(define-key compose-tilde-map [O] [(?\325)]) +(define-key compose-tilde-map [a] [(?\343)]) +(define-key compose-tilde-map [n] [(?\361)]) +(define-key compose-tilde-map [o] [(?\365)]) + +(define-key compose-ring-map [space] [(?\260)]) +(define-key compose-ring-map [A] [(?\305)]) +(define-key compose-ring-map [a] [(?\345)]) ;;; The rest of the compose-map. These are the composed characters @@ -245,17 +275,17 @@ (define-key compose-map " ^" "^") (define-key compose-map " `" "`") (define-key compose-map " ~" "~") -(define-key compose-map " " [nobreakspace]) -(define-key compose-map " \"" [diaeresis]) -(define-key compose-map " :" [diaeresis]) -(define-key compose-map " *" [degree]) - -(define-key compose-map "!!" [exclamdown]) -(define-key compose-map "!^" [brokenbar]) -(define-key compose-map "!S" [section]) -(define-key compose-map "!s" [section]) -(define-key compose-map "!P" [paragraph]) -(define-key compose-map "!p" [paragraph]) +(define-key compose-map " " [(?\240)]) +(define-key compose-map " \"" [(?\250)]) +(define-key compose-map " :" [(?\250)]) +(define-key compose-map " *" [(?\260)]) + +(define-key compose-map "!!" [(?\241)]) +(define-key compose-map "!^" [(?\246)]) +(define-key compose-map "!S" [(?\247)]) +(define-key compose-map "!s" [(?\247)]) +(define-key compose-map "!P" [(?\266)]) +(define-key compose-map "!p" [(?\266)]) (define-key compose-map "((" "[") (define-key compose-map "(-" "{") @@ -264,242 +294,242 @@ (define-key compose-map ")-" "}") (define-key compose-map "++" "#") -(define-key compose-map "+-" [plusminus]) +(define-key compose-map "+-" [(?\261)]) (define-key compose-map "-(" "{") (define-key compose-map "-)" "}") (define-key compose-map "--" "-") -(define-key compose-map "-L" [sterling]) -(define-key compose-map "-l" [sterling]) -(define-key compose-map "-Y" [yen]) -(define-key compose-map "-y" [yen]) -(define-key compose-map "-," [notsign]) -(define-key compose-map "-|" [notsign]) -(define-key compose-map "-^" [macron]) -(define-key compose-map "-+" [plusminus]) -(define-key compose-map "-:" [division]) -(define-key compose-map "-D" [ETH]) -(define-key compose-map "-d" [eth]) -(define-key compose-map "-a" [ordfeminine]) +(define-key compose-map "-L" [(?\243)]) +(define-key compose-map "-l" [(?\243)]) +(define-key compose-map "-Y" [(?\245)]) +(define-key compose-map "-y" [(?\245)]) +(define-key compose-map "-," [(?\254)]) +(define-key compose-map "-|" [(?\254)]) +(define-key compose-map "-^" [(?\257)]) +(define-key compose-map "-+" [(?\261)]) +(define-key compose-map "-:" [(?\367)]) +(define-key compose-map "-D" [(?\320)]) +(define-key compose-map "-d" [(?\360)]) +(define-key compose-map "-a" [(?\252)]) -(define-key compose-map ".^" [periodcentered]) +(define-key compose-map ".^" [(?\267)]) (define-key compose-map "//" "\\") (define-key compose-map "/<" "\\") (define-key compose-map "/^" "|") -(define-key compose-map "/C" [cent]) -(define-key compose-map "/c" [cent]) -(define-key compose-map "/U" [mu]) -(define-key compose-map "/u" [mu]) -(define-key compose-map "/O" [Ooblique]) -(define-key compose-map "/o" [oslash]) - -(define-key compose-map "0X" [currency]) -(define-key compose-map "0x" [currency]) -(define-key compose-map "0S" [section]) -(define-key compose-map "0s" [section]) -(define-key compose-map "0C" [copyright]) -(define-key compose-map "0c" [copyright]) -(define-key compose-map "0R" [registered]) -(define-key compose-map "0r" [registered]) -(define-key compose-map "0^" [degree]) - -(define-key compose-map "1^" [onesuperior]) -(define-key compose-map "14" [onequarter]) -(define-key compose-map "12" [onehalf]) +(define-key compose-map "/C" [(?\242)]) +(define-key compose-map "/c" [(?\242)]) +(define-key compose-map "/U" [(?\265)]) +(define-key compose-map "/u" [(?\265)]) +(define-key compose-map "/O" [(?\330)]) +(define-key compose-map "/o" [(?\370)]) + +(define-key compose-map "0X" [(?\244)]) +(define-key compose-map "0x" [(?\244)]) +(define-key compose-map "0S" [(?\247)]) +(define-key compose-map "0s" [(?\247)]) +(define-key compose-map "0C" [(?\251)]) +(define-key compose-map "0c" [(?\251)]) +(define-key compose-map "0R" [(?\256)]) +(define-key compose-map "0r" [(?\256)]) +(define-key compose-map "0^" [(?\260)]) + +(define-key compose-map "1^" [(?\271)]) +(define-key compose-map "14" [(?\274)]) +(define-key compose-map "12" [(?\275)]) -(define-key compose-map "2^" [twosuperior]) +(define-key compose-map "2^" [(?\262)]) -(define-key compose-map "3^" [threesuperior]) -(define-key compose-map "34" [threequarters]) +(define-key compose-map "3^" [(?\263)]) +(define-key compose-map "34" [(?\276)]) -(define-key compose-map ":-" [division]) +(define-key compose-map ":-" [(?\367)]) (define-key compose-map ">" [guillemotright]) +(define-key compose-map ">>" [(?\273)]) -(define-key compose-map "??" [questiondown]) +(define-key compose-map "??" [(?\277)]) (define-key compose-map "AA" "@") (define-key compose-map "Aa" "@") -(define-key compose-map "A_" [ordfeminine]) -(define-key compose-map "A`" [Agrave]) -(define-key compose-map "A'" [Aacute]) -(define-key compose-map "A^" [Acircumflex]) -(define-key compose-map "A~" [Atilde]) -(define-key compose-map "A\"" [Adiaeresis]) -(define-key compose-map "A*" [Aring]) -(define-key compose-map "AE" [AE]) - -(define-key compose-map "C/" [cent]) -(define-key compose-map "C|" [cent]) -(define-key compose-map "C0" [copyright]) -(define-key compose-map "CO" [copyright]) -(define-key compose-map "Co" [copyright]) -(define-key compose-map "C," [Ccedilla]) - -(define-key compose-map "D-" [ETH]) - -(define-key compose-map "E`" [Egrave]) -(define-key compose-map "E'" [Eacute]) -(define-key compose-map "E^" [Ecircumflex]) -(define-key compose-map "E\"" [Ediaeresis]) - -(define-key compose-map "I`" [Igrave]) -(define-key compose-map "I'" [Iacute]) -(define-key compose-map "I^" [Icircumflex]) -(define-key compose-map "I\"" [Idiaeresis]) - -(define-key compose-map "L-" [sterling]) -(define-key compose-map "L=" [sterling]) - -(define-key compose-map "N~" [Ntilde]) - -(define-key compose-map "OX" [currency]) -(define-key compose-map "Ox" [currency]) -(define-key compose-map "OS" [section]) -(define-key compose-map "Os" [section]) -(define-key compose-map "OC" [copyright]) -(define-key compose-map "Oc" [copyright]) -(define-key compose-map "OR" [registered]) -(define-key compose-map "Or" [registered]) -(define-key compose-map "O_" [masculine]) -(define-key compose-map "O`" [Ograve]) -(define-key compose-map "O'" [Oacute]) -(define-key compose-map "O^" [Ocircumflex]) -(define-key compose-map "O~" [Otilde]) -(define-key compose-map "O\"" [Odiaeresis]) -(define-key compose-map "O/" [Ooblique]) - -(define-key compose-map "P!" [paragraph]) - -(define-key compose-map "R0" [registered]) -(define-key compose-map "RO" [registered]) -(define-key compose-map "Ro" [registered]) - -(define-key compose-map "S!" [section]) -(define-key compose-map "S0" [section]) -(define-key compose-map "SO" [section]) -(define-key compose-map "So" [section]) -(define-key compose-map "SS" [ssharp]) - -(define-key compose-map "TH" [THORN]) - -(define-key compose-map "U`" [Ugrave]) -(define-key compose-map "U'" [Uacute]) -(define-key compose-map "U^" [Ucircumflex]) -(define-key compose-map "U\"" [Udiaeresis]) - -(define-key compose-map "X0" [currency]) -(define-key compose-map "XO" [currency]) -(define-key compose-map "Xo" [currency]) - -(define-key compose-map "Y-" [yen]) -(define-key compose-map "Y=" [yen]) -(define-key compose-map "Y'" [Yacute]) - -(define-key compose-map "_A" [ordfeminine]) -(define-key compose-map "_a" [ordfeminine]) -(define-key compose-map "_^" [macron]) -(define-key compose-map "_O" [masculine]) -(define-key compose-map "_o" [masculine]) +(define-key compose-map "A_" [(?\252)]) +(define-key compose-map "A`" [(?\300)]) +(define-key compose-map "A'" [(?\301)]) +(define-key compose-map "A^" [(?\302)]) +(define-key compose-map "A~" [(?\303)]) +(define-key compose-map "A\"" [(?\304)]) +(define-key compose-map "A*" [(?\305)]) +(define-key compose-map "AE" [(?\306)]) + +(define-key compose-map "C/" [(?\242)]) +(define-key compose-map "C|" [(?\242)]) +(define-key compose-map "C0" [(?\251)]) +(define-key compose-map "CO" [(?\251)]) +(define-key compose-map "Co" [(?\251)]) +(define-key compose-map "C," [(?\307)]) + +(define-key compose-map "D-" [(?\320)]) + +(define-key compose-map "E`" [(?\310)]) +(define-key compose-map "E'" [(?\311)]) +(define-key compose-map "E^" [(?\312)]) +(define-key compose-map "E\"" [(?\313)]) + +(define-key compose-map "I`" [(?\314)]) +(define-key compose-map "I'" [(?\315)]) +(define-key compose-map "I^" [(?\316)]) +(define-key compose-map "I\"" [(?\317)]) + +(define-key compose-map "L-" [(?\243)]) +(define-key compose-map "L=" [(?\243)]) + +(define-key compose-map "N~" [(?\321)]) + +(define-key compose-map "OX" [(?\244)]) +(define-key compose-map "Ox" [(?\244)]) +(define-key compose-map "OS" [(?\247)]) +(define-key compose-map "Os" [(?\247)]) +(define-key compose-map "OC" [(?\251)]) +(define-key compose-map "Oc" [(?\251)]) +(define-key compose-map "OR" [(?\256)]) +(define-key compose-map "Or" [(?\256)]) +(define-key compose-map "O_" [(?\272)]) +(define-key compose-map "O`" [(?\322)]) +(define-key compose-map "O'" [(?\323)]) +(define-key compose-map "O^" [(?\324)]) +(define-key compose-map "O~" [(?\325)]) +(define-key compose-map "O\"" [(?\326)]) +(define-key compose-map "O/" [(?\330)]) + +(define-key compose-map "P!" [(?\266)]) + +(define-key compose-map "R0" [(?\256)]) +(define-key compose-map "RO" [(?\256)]) +(define-key compose-map "Ro" [(?\256)]) + +(define-key compose-map "S!" [(?\247)]) +(define-key compose-map "S0" [(?\247)]) +(define-key compose-map "SO" [(?\247)]) +(define-key compose-map "So" [(?\247)]) +(define-key compose-map "SS" [(?\337)]) + +(define-key compose-map "TH" [(?\336)]) + +(define-key compose-map "U`" [(?\331)]) +(define-key compose-map "U'" [(?\332)]) +(define-key compose-map "U^" [(?\333)]) +(define-key compose-map "U\"" [(?\334)]) + +(define-key compose-map "X0" [(?\244)]) +(define-key compose-map "XO" [(?\244)]) +(define-key compose-map "Xo" [(?\244)]) + +(define-key compose-map "Y-" [(?\245)]) +(define-key compose-map "Y=" [(?\245)]) +(define-key compose-map "Y'" [(?\335)]) + +(define-key compose-map "_A" [(?\252)]) +(define-key compose-map "_a" [(?\252)]) +(define-key compose-map "_^" [(?\257)]) +(define-key compose-map "_O" [(?\272)]) +(define-key compose-map "_o" [(?\272)]) (define-key compose-map "aA" "@") (define-key compose-map "aa" "@") -(define-key compose-map "a_" [ordfeminine]) -(define-key compose-map "a-" [ordfeminine]) -(define-key compose-map "a`" [agrave]) -(define-key compose-map "a'" [aacute]) -(define-key compose-map "a^" [acircumflex]) -(define-key compose-map "a~" [atilde]) -(define-key compose-map "a\"" [adiaeresis]) -(define-key compose-map "a*" [aring]) -(define-key compose-map "ae" [ae]) - -(define-key compose-map "c/" [cent]) -(define-key compose-map "c|" [cent]) -(define-key compose-map "c0" [copyright]) -(define-key compose-map "cO" [copyright]) -(define-key compose-map "co" [copyright]) -(define-key compose-map "c," [ccedilla]) - -(define-key compose-map "d-" [eth]) - -(define-key compose-map "e`" [egrave]) -(define-key compose-map "e'" [eacute]) -(define-key compose-map "e^" [ecircumflex]) -(define-key compose-map "e\"" [ediaeresis]) - -(define-key compose-map "i`" [igrave]) -(define-key compose-map "i'" [iacute]) -(define-key compose-map "i^" [icircumflex]) -(define-key compose-map "i\"" [idiaeresis]) -(define-key compose-map "i:" [idiaeresis]) - -(define-key compose-map "l-" [sterling]) -(define-key compose-map "l=" [sterling]) - -(define-key compose-map "n~" [ntilde]) - -(define-key compose-map "oX" [currency]) -(define-key compose-map "ox" [currency]) -(define-key compose-map "oC" [copyright]) -(define-key compose-map "oc" [copyright]) -(define-key compose-map "oR" [registered]) -(define-key compose-map "or" [registered]) -(define-key compose-map "oS" [section]) -(define-key compose-map "os" [section]) -(define-key compose-map "o_" [masculine]) -(define-key compose-map "o`" [ograve]) -(define-key compose-map "o'" [oacute]) -(define-key compose-map "o^" [ocircumflex]) -(define-key compose-map "o~" [otilde]) -(define-key compose-map "o\"" [odiaeresis]) -(define-key compose-map "o/" [oslash]) - -(define-key compose-map "p!" [paragraph]) - -(define-key compose-map "r0" [registered]) -(define-key compose-map "rO" [registered]) -(define-key compose-map "ro" [registered]) - -(define-key compose-map "s!" [section]) -(define-key compose-map "s0" [section]) -(define-key compose-map "sO" [section]) -(define-key compose-map "so" [section]) -(define-key compose-map "ss" [ssharp]) - -(define-key compose-map "th" [thorn]) - -(define-key compose-map "u`" [ugrave]) -(define-key compose-map "u'" [uacute]) -(define-key compose-map "u^" [ucircumflex]) -(define-key compose-map "u\"" [udiaeresis]) -(define-key compose-map "u/" [mu]) - -(define-key compose-map "x0" [currency]) -(define-key compose-map "xO" [currency]) -(define-key compose-map "xo" [currency]) -(define-key compose-map "xx" [multiply]) - -(define-key compose-map "y-" [yen]) -(define-key compose-map "y=" [yen]) -(define-key compose-map "y'" [yacute]) -(define-key compose-map "y\"" [ydiaeresis]) - -(define-key compose-map "|C" [cent]) -(define-key compose-map "|c" [cent]) -(define-key compose-map "||" [brokenbar]) +(define-key compose-map "a_" [(?\252)]) +(define-key compose-map "a-" [(?\252)]) +(define-key compose-map "a`" [(?\340)]) +(define-key compose-map "a'" [(?\341)]) +(define-key compose-map "a^" [(?\342)]) +(define-key compose-map "a~" [(?\343)]) +(define-key compose-map "a\"" [(?\344)]) +(define-key compose-map "a*" [(?\345)]) +(define-key compose-map "ae" [(?\346)]) + +(define-key compose-map "c/" [(?\242)]) +(define-key compose-map "c|" [(?\242)]) +(define-key compose-map "c0" [(?\251)]) +(define-key compose-map "cO" [(?\251)]) +(define-key compose-map "co" [(?\251)]) +(define-key compose-map "c," [(?\347)]) + +(define-key compose-map "d-" [(?\360)]) + +(define-key compose-map "e`" [(?\350)]) +(define-key compose-map "e'" [(?\351)]) +(define-key compose-map "e^" [(?\352)]) +(define-key compose-map "e\"" [(?\353)]) + +(define-key compose-map "i`" [(?\354)]) +(define-key compose-map "i'" [(?\355)]) +(define-key compose-map "i^" [(?\356)]) +(define-key compose-map "i\"" [(?\357)]) +(define-key compose-map "i:" [(?\357)]) + +(define-key compose-map "l-" [(?\243)]) +(define-key compose-map "l=" [(?\243)]) + +(define-key compose-map "n~" [(?\361)]) + +(define-key compose-map "oX" [(?\244)]) +(define-key compose-map "ox" [(?\244)]) +(define-key compose-map "oC" [(?\251)]) +(define-key compose-map "oc" [(?\251)]) +(define-key compose-map "oR" [(?\256)]) +(define-key compose-map "or" [(?\256)]) +(define-key compose-map "oS" [(?\247)]) +(define-key compose-map "os" [(?\247)]) +(define-key compose-map "o_" [(?\272)]) +(define-key compose-map "o`" [(?\362)]) +(define-key compose-map "o'" [(?\363)]) +(define-key compose-map "o^" [(?\364)]) +(define-key compose-map "o~" [(?\365)]) +(define-key compose-map "o\"" [(?\366)]) +(define-key compose-map "o/" [(?\370)]) + +(define-key compose-map "p!" [(?\266)]) + +(define-key compose-map "r0" [(?\256)]) +(define-key compose-map "rO" [(?\256)]) +(define-key compose-map "ro" [(?\256)]) + +(define-key compose-map "s!" [(?\247)]) +(define-key compose-map "s0" [(?\247)]) +(define-key compose-map "sO" [(?\247)]) +(define-key compose-map "so" [(?\247)]) +(define-key compose-map "ss" [(?\337)]) + +(define-key compose-map "th" [(?\376)]) + +(define-key compose-map "u`" [(?\371)]) +(define-key compose-map "u'" [(?\372)]) +(define-key compose-map "u^" [(?\373)]) +(define-key compose-map "u\"" [(?\374)]) +(define-key compose-map "u/" [(?\265)]) + +(define-key compose-map "x0" [(?\244)]) +(define-key compose-map "xO" [(?\244)]) +(define-key compose-map "xo" [(?\244)]) +(define-key compose-map "xx" [(?\327)]) + +(define-key compose-map "y-" [(?\245)]) +(define-key compose-map "y=" [(?\245)]) +(define-key compose-map "y'" [(?\375)]) +(define-key compose-map "y\"" [(?\377)]) + +(define-key compose-map "|C" [(?\242)]) +(define-key compose-map "|c" [(?\242)]) +(define-key compose-map "||" [(?\246)]) -;; Suppose we type these three physical keys: [Multi_key " a] +;; [[ Suppose we type these three physical keys: [Multi_key " a] ;; Xlib can deliver these keys as the following sequences of keysyms: ;; ;; - [Multi_key " a] (no surprise here) @@ -510,20 +540,29 @@ ;; decide whether it's really doing compose processing or not (or ;; actually, different parts of Xlib disagree). ;; -;; So we'll just convert [Multi_key " adiaeresis] to [adiaeresis] -(defun xlib-input-method-bug-workaround (keymap) - (map-keymap - (lambda (key value) - (cond - ((keymapp value) - (xlib-input-method-bug-workaround value)) - ((and (sequencep value) - (eq 1 (length value)) - (null (lookup-key keymap value))) - (define-key keymap value value)))) - keymap)) -(xlib-input-method-bug-workaround compose-map) -(unintern 'xlib-input-method-bug-workaround) +;; So we'll just convert [Multi_key " adiaeresis] to [adiaeresis] ]] + +(eval-when-compile + (when nil ;; Commenting out. + + ;; This _used_ to work with our X11-oriented keysyms above. With them + ;; gone, it won't. The X11 bug it works around should be long dead. (Ha! + ;; Wasn't it cockroaches that would have ruled the planet after World + ;; War III?) + + (defun xlib-input-method-bug-workaround (keymap) + (map-keymap + (lambda (key value) + (cond + ((keymapp value) + (xlib-input-method-bug-workaround value)) + ((and (sequencep value) + (eq 1 (length value)) + (null (lookup-key keymap value))) + (define-key keymap value value)))) + keymap)) + (xlib-input-method-bug-workaround compose-map) + (unintern 'xlib-input-method-bug-workaround))) ;; While we're at it, a similar mechanism will make colon equivalent ;; to doublequote for diaeresis processing. Some Xlibs do this. @@ -582,7 +621,7 @@ (if (and (vectorp mod-char) (= (length mod-char) 1)) (setq mod-char (aref mod-char 0))) (if (and mod-char (symbolp mod-char)) - (setq mod-char (or (get mod-char character-set-property) mod-char))) + (setq mod-char (or (get mod-char 'character-of-keysym) mod-char))) (if (and mod-char (> count 0)) (delete-char -1) (setq mod-char c)) @@ -655,8 +694,8 @@ (defun compose-help-mapper (key binding) (if (and (symbolp key) - (get key character-set-property)) - (setq key (get key character-set-property))) + (get key 'character-of-keysym)) + (setq key (get key 'character-of-keysym))) (if (eq binding 'compose-help) ; suppress that... nil (if (keymapp binding) @@ -675,7 +714,7 @@ (indent-to 16) (let ((code (and (vectorp binding) (= 1 (length binding)) - (get (aref binding 0) character-set-property)))) + (get (aref binding 0) 'character-of-keysym)))) (if code (insert (make-string 1 code)) (if (stringp binding) diff --text -u 'xemacs-21.5.21/lisp/x-init.el' 'xemacs-21.5.22/lisp/x-init.el' Index: ./lisp/x-init.el --- ./lisp/x-init.el Wed May 11 02:14:42 2005 +++ ./lisp/x-init.el Mon Jun 27 03:04:50 2005 @@ -192,7 +192,11 @@ (x-define-dead-key XK_mute_asciicircum compose-circumflex-map) (x-define-dead-key XK_mute_asciitilde compose-tilde-map) - ;; Xfree86 seems to use lower case and a hyphen + ;; [[ XFree86 seems to use lower case and a hyphen ]] Not true; they use + ;; lower case and an underscore. XEmacs converts the underscore to a + ;; hyphen in x_keysym_to_emacs_keysym because the keysym is in the + ;; "Keyboard" character set, which is just totally fucking random, + ;; considering it doesn't happen for any other character sets. (x-define-dead-key dead-acute compose-acute-map) (x-define-dead-key dead-grave compose-grave-map) (x-define-dead-key dead-cedilla compose-cedilla-map) @@ -240,7 +244,7 @@ (let (unknown-code-points sym-string) (dolist (x-keysym (hash-table-key-list (x-keysym-hash-table))) (setq sym-string (if (stringp x-keysym) x-keysym (symbol-name x-keysym))) - (when (and (not (get (intern sym-string) 'ascii-character)) + (when (and (not (get (intern sym-string) 'character-of-keysym)) (string-match "^U[0-9A-F]+$" sym-string)) (pushnew (concat sym-string " ") unknown-code-points :test 'equal))) (when unknown-code-points @@ -288,9 +292,6 @@ (defun init-pre-x-win () "Initialize X Windows at startup (pre). Don't call this." (when (not pre-x-win-initted) - (require 'x-iso8859-1) - (setq character-set-property 'x-iso8859/1) ; see x-iso8859-1.el - (setq initial-frame-plist (if initial-frame-unmapped-p '(initially-unmapped t) nil)) diff --text -u 'xemacs-21.5.21/lwlib/ChangeLog' 'xemacs-21.5.22/lwlib/ChangeLog' Index: ./lwlib/ChangeLog --- ./lwlib/ChangeLog Sat May 28 15:10:16 2005 +++ ./lwlib/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,7 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/man/ChangeLog' 'xemacs-21.5.22/man/ChangeLog' Index: ./man/ChangeLog --- ./man/ChangeLog Sat May 28 15:10:16 2005 +++ ./man/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,44 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-07-20 Didier Verna + + * lispref/faces.texi (Basic Face Functions): Rephrase the face + aliasing paragraph following a suggestion from Stephen J. + Turnbull. + +2005-07-19 Didier Verna + + * lispref/faces.texi (Basic Face Functions): Document the face + aliasing feature. + +2005-07-17 Aidan Kehoe + + * lispref/commands.texi (Converting Events): + Give details on the deprecated ALLOW-NON-ASCII argument to + event-to-character, and why you shouldn't use it. + +2005-06-26 Aidan Kehoe + + * lispref/commands.texi (Converting Events): + * lispref/keymaps.texi (Key Sequences): + Stop pretending ASCII is an eight-bit character set, and remove + documentation of event-to-character's vanished fourth argument. + + * internals/internals.texi (Old Future Work -- Improvements in + support for non-ASCII (European) keysyms under X): + Rename the ascii-character property. + +2005-06-19 Aidan Kehoe + + * lispref/building.texi (Building XEmacs and Object Allocation): + Pure storage has been gone for half a decade or more. + * lispref/mule.texi (Internationalization Terminology): + Phrase stuff a little more clearly, compare Mule with Unicode. + * lispref/lispref.texi (Top): + Take out info on pure storage. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. @@ -5,13 +46,13 @@ 2005-05-10 Aidan Kehoe * xemacs-faq.texi (Q3.2.5): (setq text-mode-hook - 'turn-on-auto-fill) is not a good idea. + 'turn-on-auto-fill) is not a good idea. 2005-05-10 Aidan Kehoe - * xemacs/sending.texi (Sending Mail):Document that sendmail.el is - underfeatured and not getting better anytime soon; suggest using - another mailer. + * xemacs/sending.texi (Sending Mail):Document that sendmail.el is + underfeatured and not getting better anytime soon; suggest using + another mailer. 2005-05-05 Aidan Kehoe @@ -23,8 +64,8 @@ None of the keymaps I have access to have linefeed keys; they all use Return. As such, for new users, C-j is really the only option for evaluation in Lisp interaction mode, and should be documented - as such. - + as such. + 2005-04-18 Turnbull Stephen * internals/internals.texi @@ -60,18 +101,18 @@ * lispref/mule.texi (CCL Example): char-int -> char-to-int, and hex 41 is decimal 65, both problems - with my previous patch pointed out by Stephen. + with my previous patch pointed out by Stephen. * lispref/mule.texi (The actual coding system): Give information on the make-coding-system call, and where the - actual package can be found. - + actual package can be found. + 2005-03-24 Aidan Kehoe * xemacs/custom.texi (X Resources): "Emacs" as the application class -> "XEmacs" as the application class, mention the old resource class determination behaviour, and - how one can temporarily re-instate it. - + how one can temporarily re-instate it. + 2005-03-15 Stephen J. Turnbull * internals/internals.texi (The XEmacs Split): @@ -97,7 +138,7 @@ 2005-01-19 Aidan Kehoe * lispref/mule.texi (CCL Example): Detail an implementation of the - web's URL encoding as a CCL coding system example. + web's URL encoding as a CCL coding system example. 2005-02-22 Stephen J. Turnbull @@ -121,7 +162,7 @@ * lispref/searching.texi (Syntax of Regexps): Mention the \c and \C regular expression constructs; cross - reference to the Category Table documentation. + reference to the Category Table documentation. 2005-02-22 Stephen J. Turnbull @@ -265,26 +306,26 @@ 2005-02-02 Robert Delius Royar * beta.texi (Top): - Add reference to Index in catalog to prevent + Add reference to Index in catalog to prevent errors compiling with GNU makeinfo 4.5. * beta.texi (Syncing with GNU Emacs): - Add forward reference to Index in next node to prevent + Add forward reference to Index in next node to prevent errors compiling with GNU makeinfo 4.5. * beta.texi (Index): Add backward reference to Syncing with GNU Emacs to - replace obsolete reference to Defining Variables to + replace obsolete reference to Defining Variables to prevent errors compiling with GNU makeinfo 4.5. 2005-01-31 Ben Wing * xemacs/help.texi (Misc Help): Delete references to DISTRIB. Point to FAQ. - + * xemacs/new.texi: Update sample code for version checking. - + * xemacs/xemacs.texi (Distrib): * xemacs/xemacs.texi (Intro): Delete references to DISTRIB. Point directly to web site. @@ -299,7 +340,7 @@ * Makefile (pdf_files): * Makefile ($(INFODIR)/beta.info): Add beta.texi and built files. - + * xemacs-faq.texi (Top): * xemacs-faq.texi (Introduction): * xemacs-faq.texi (Q1.0.3): @@ -395,7 +436,7 @@ manual. Also introduce C/AWK modes in prog-modes package * xemacs/programs.texi (C Ident): Removed - it was obsolete. prog-modes package documentation now contains - indentation description for old C mode + indentation description for old C mode * xemacs/major.texi (Mode Hooks): Add description of major mode hooks. Cleaned up and updated programming mode descriptions. * xemacs/xemacs.texi (Top): Updated Detailed Node listing for new @@ -421,9 +462,9 @@ of a command further up the list, give information on a trivial (interactive) declaration, and cross-reference to the key binding detail. Cf. 87vf9wgd08.fsf@tleepslib.sk.tsukuba.ac.jp - (comp.emacs.xemacs, 2005-01-18). + (comp.emacs.xemacs, 2005-01-18). * man/lispref/eval.texi man/lispref/lispref.texi - man/lispref/macros.texi man/lispref/symbols.texi + man/lispref/macros.texi man/lispref/symbols.texi man/lispref/variables.texi: Fix cross references. 2004-12-28 Ben Wing @@ -991,7 +1032,7 @@ * internals/internals.texi (Future Work -- Better Rendering Support): New node. - (Top): + (Top): (Future Work): (Future Work -- Lisp Engine Replacement): Add pointers to new node. @@ -1379,7 +1420,7 @@ * internals/index.texi: Deleted. Incorporated into internals.texi. Having a separate index file messes up texinfo-master-menu. - + * internals/internals.texi: * internals/internals.texi (Top): * internals/internals.texi (Introduction): @@ -1818,7 +1859,7 @@ New nodes. * lispref/lispref.texi (Top): - * lispref/numbers.texi (Numbers): + * lispref/numbers.texi (Numbers): Add nodes "Ratio Basics" and "The Bignum Extension" to menus. 2004-01-26 Stephen J. Turnbull @@ -1832,9 +1873,9 @@ * lispref/gutter.texi (Gutter Descriptor Format): Node deleted. (Gutter): - (Gutter Intro): - (Creating Gutter): - (Specifying a Gutter): + (Gutter Intro): + (Creating Gutter): + (Specifying a Gutter): Pluralize node name to Creating Gutters. (Creating Gutters): Improve explanation of gutter descriptors. (Other Gutter Variables): Remove extraneous text. @@ -1955,7 +1996,7 @@ * lispref/mule.texi (Charset Property Functions): Charset registry can be set. (Predefined Charsets): Add registry to Vietnamese charset names. - + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. @@ -2002,7 +2043,7 @@ entry. (Package Terminology): Whitespace clean up. (Installing Packages): Whitespace clean up and add some @code - formatters. + formatters. Re-organise the menu so that installation via PUI is first and Sumo is last. (Automatically): mule-base is no longer a requirement for using @@ -2015,12 +2056,12 @@ (Building Packages): Remove duplicated stuff that is in lispref/packaging.texi, xref to it instead. (Local.rules File): xref to the appropriate node in - lispref/packaging.texi. + lispref/packaging.texi. (Available Packages): Update to current reality. (all): Removed. (srckit): Removed. (binkit): Removed. - + * xemacs/reading.texi (Reading Mail): Mention Gnus and MEW. * new-users-guide/custom2.texi (Init File): big-menubar.el is in @@ -2157,7 +2198,7 @@ * xemacs/packages.texi (Automatically): Refer to 'pui-set-local-package-get-directory' instead of - 'pui-add-install-directory'. + 'pui-add-install-directory'. Remove comment about PGP not being intergrated into PUI. Document balloon-help in PUI. Add heading "Keeping Packages Up To Date". diff --text -u 'xemacs-21.5.21/man/internals/internals.texi' 'xemacs-21.5.22/man/internals/internals.texi' Index: ./man/internals/internals.texi --- ./man/internals/internals.texi Mon Apr 18 12:59:54 2005 +++ ./man/internals/internals.texi Mon Jun 27 03:04:56 2005 @@ -28257,7 +28257,7 @@ @quotation For every key on the keyboard that has a known character correspondence, - we define the ascii-character property of the keysym, and make the + we define the character-of-keysym property of the keysym, and make the default binding for the key be self-insert-command. The following magic is basically intimate knowledge of X11/keysymdef.h. diff --text -u 'xemacs-21.5.21/man/lispref/building.texi' 'xemacs-21.5.22/man/lispref/building.texi' Index: ./man/lispref/building.texi --- ./man/lispref/building.texi Mon Aug 12 16:45:38 2002 +++ ./man/lispref/building.texi Mon Jun 20 05:49:47 2005 @@ -17,7 +17,6 @@ @menu * Building XEmacs:: How to preload Lisp libraries into XEmacs. -* Pure Storage:: A kludge to make preloaded Lisp functions sharable. * Garbage Collection:: Reclaiming space for Lisp objects no longer used. @end menu @@ -34,9 +33,8 @@ The @cite{XEmacs Internals Manual} contains more information about this. Compilation of the C source files in the @file{src} directory -produces an executable file called @file{temacs}, also called a -@dfn{bare impure XEmacs}. It contains the XEmacs Lisp interpreter and I/O -routines, but not the editing commands. +produces an executable file called @file{temacs}. It contains the +XEmacs Lisp interpreter and I/O routines, but not the editing commands. @cindex @file{loadup.el} Before XEmacs is actually usable, a number of Lisp files need to be @@ -80,17 +78,12 @@ out of luck unless you're able to bootstrap @file{xemacs} from @file{temacs}. Note that @samp{make all-elc} actually loads the alternative loadup file @file{loadup-el.el}, which works like -@file{loadup.el} but disables the pure-copying process and forces -XEmacs to ignore any compiled Lisp files even if they exist.) +@file{loadup.el} but forces XEmacs to ignore any compiled Lisp files +even if they exist.) @cindex @file{site-load.el} You can specify additional files to preload by writing a library named -@file{site-load.el} that loads them. You may need to increase the value -of @code{PURESIZE}, in @file{src/puresize.h}, to make room for the -additional files. You should @emph{not} modify this file directly, -however; instead, use the @samp{--puresize} configuration option. (If -you run out of pure space while dumping @file{xemacs}, you will be told -how much pure space you actually will need.) However, the advantage of +@file{site-load.el} that loads them. However, the advantage of preloading additional files decreases as machines get faster. On modern machines, it is often not advisable, especially if the Lisp code is on a file system local to the machine running XEmacs. @@ -178,61 +171,6 @@ 20.1, the value is 1. @end defvar -@node Pure Storage -@appendixsec Pure Storage -@cindex pure storage - - XEmacs Lisp uses two kinds of storage for user-created Lisp objects: -@dfn{normal storage} and @dfn{pure storage}. Normal storage is where -all the new data created during an XEmacs session is kept; see the -following section for information on normal storage. Pure storage is -used for certain data in the preloaded standard Lisp files---data that -should never change during actual use of XEmacs. - - Pure storage is allocated only while @file{temacs} is loading the -standard preloaded Lisp libraries. In the file @file{xemacs}, it is -marked as read-only (on operating systems that permit this), so that the -memory space can be shared by all the XEmacs jobs running on the machine -at once. Pure storage is not expandable; a fixed amount is allocated -when XEmacs is compiled, and if that is not sufficient for the preloaded -libraries, @file{temacs} aborts with an error message. If that happens, -you must increase the compilation parameter @code{PURESIZE} using the -@samp{--puresize} option to @file{configure}. This normally won't -happen unless you try to preload additional libraries or add features to -the standard ones. - -@defun purecopy object -This function makes a copy of @var{object} in pure storage and returns -it. It copies strings by simply making a new string with the same -characters in pure storage. It recursively copies the contents of -vectors and cons cells. It does not make copies of other objects such -as symbols, but just returns them unchanged. It signals an error if -asked to copy markers. - -This function is a no-op in XEmacs, and its use is deprecated. -@end defun - -@defvar pure-bytes-used -The value of this variable is the number of bytes of pure storage -allocated so far. Typically, in a dumped XEmacs, this number is very -close to the total amount of pure storage available---if it were not, -we would preallocate less. -@end defvar - -@defvar purify-flag -This variable determines whether @code{defun} should make a copy of the -function definition in pure storage. If it is non-@code{nil}, then the -function definition is copied into pure storage. - -This flag is @code{t} while loading all of the basic functions for -building XEmacs initially (allowing those functions to be sharable and -non-collectible). Dumping XEmacs as an executable always writes -@code{nil} in this variable, regardless of the value it actually has -before and after dumping. - -You should not change this flag in a running XEmacs. -@end defvar - @node Garbage Collection @appendixsec Garbage Collection @cindex garbage collector diff --text -u 'xemacs-21.5.21/man/lispref/commands.texi' 'xemacs-21.5.22/man/lispref/commands.texi' Index: ./man/lispref/commands.texi --- ./man/lispref/commands.texi Sun Jul 7 03:56:28 2002 +++ ./man/lispref/commands.texi Mon Jul 18 05:08:45 2005 @@ -1482,11 +1482,11 @@ Beware that @code{character-to-event} and @code{event-to-character} are not strictly inverse functions, since events contain much more -information than the @sc{ascii} character set can encode. +information than the XEmacs internal character encoding can store. @end defun -@defun event-to-character event &optional allow-extra-modifiers allow-meta allow-non-ascii -This function returns the closest @sc{ascii} approximation to +@defun event-to-character event &optional allow-extra-modifiers allow-meta allow-no-ascii +This function returns the closest character approximation to @var{event}. If the event isn't a keypress, this returns @code{nil}. If @var{allow-extra-modifiers} is non-@code{nil}, then this is lenient @@ -1501,15 +1501,23 @@ otherwise, @code{nil} will be returned for events containing the @key{Meta} modifier. -If @var{allow-non-ascii} is non-@code{nil}, then characters which are -present in the prevailing character set (@pxref{Keymaps, variable -@code{character-set-property}}) will be returned as their code in that -character set, instead of the return value being restricted to -@sc{ascii}. - -Note that specifying both @var{allow-meta} and @var{allow-non-ascii} is -ambiguous, as both use the high bit; @key{M-x} and @key{oslash} will be -indistinguishable. +Specifying @var{allow-meta} will give ambiguous results---@key{M-x} and +@key{oslash} will return the same thing, for example---so you should +probably not use it. + +@var{allow-non-ascii} is ignored; in previous versions of XEmacs, it +controlled whether one particular type of mapping between X11 keysyms +and characters would take place. The intention was that this flag could +be clear and you could be sure that if you got a Latin-1 character with +the high bit set back, you could assume that the lower seven bits of the +character were the ASCII code of the character in question, and that the +Meta key was pressed at the same time. This didn't work in the general +case, however, because it left the other type of X11 keysym-to-character +mapping in place, ready to give you a Latin-1 character for a Latin-1 +key. If you feel the need to use such a flag, sit back and think about +abstracting your code, and if you still feel the need, bear in mind that +it will be buggy in earlier versions of XEmacs. + @end defun @defun events-to-keys events &optional no-mice diff --text -u 'xemacs-21.5.21/man/lispref/faces.texi' 'xemacs-21.5.22/man/lispref/faces.texi' Index: ./man/lispref/faces.texi --- ./man/lispref/faces.texi Mon Jun 14 19:24:45 2004 +++ ./man/lispref/faces.texi Wed Jul 20 16:36:44 2005 @@ -141,6 +141,17 @@ in @code{copy-specifier} (@pxref{Specifiers}). @end defun + + Finally, you have the possibility to give faces different names by +means of aliases. One typical use of this feature is to change the name +of a face while preserving backward compatibility. If a symbol has the +@code{face-alias} property set to another symbol, then this other symbol +will be used as the real face name instead. Recursive aliases (aliases +of aliases) are allowed, but the depth of indirection is limited to 32 +to prevent alias loops. + + + @node Face Properties @subsection Face Properties diff --text -u 'xemacs-21.5.21/man/lispref/keymaps.texi' 'xemacs-21.5.22/man/lispref/keymaps.texi' Index: ./man/lispref/keymaps.texi --- ./man/lispref/keymaps.texi Fri Apr 13 03:22:16 2001 +++ ./man/lispref/keymaps.texi Mon Jun 27 03:04:59 2005 @@ -245,12 +245,22 @@ keysym and some set of modifiers (such as @key{CONTROL} and @key{META}). A @dfn{keysym} is what is printed on the keys on your keyboard. - A keysym may be represented by a symbol, or (if and only if it is -equivalent to an @sc{ascii} character in the range 32 - 255) by a -character or its equivalent @sc{ascii} code. The @kbd{A} key may be -represented by the symbol @code{A}, the character @code{?A}, or by the -number 65. The @kbd{break} key may be represented only by the symbol -@code{break}. + A keysym may be represented by a symbol, by a character, or by a +character's Mule code. The @kbd{A} key may be represented by the symbol +@code{A}, the character @code{?A}, or by the number 65. The @kbd{break} +key may be represented only by the symbol @code{break}, and non-ASCII +X11 keys in general are limited to the symbol form with XEmacs. +@footnote{A quirk of our X11 implementation means that non-ASCII keysyms +have different internal representations in the X11 (with GTK) and other +worlds (like the TTY, or Microsoft Windows), so, for example, binding +@kbd{EuroSign} to a command will normally work, but will not invoke that +command if someone presses the Euro sign in a TTY console; conversely, +binding @code{(make-char 'latin-iso8859-15 #xa4)} or @code{(char-to-int +(make-char 'latin-iso8859-15 #xa4))} to a command will call that command +on a TTY console, but not in an X11 window of the same process.} +@footnote{See the documentation for `set-input-mode' and +`set-console-tty-coding-system' if you're having trouble inputting +non-ASCII characters in the TTY.} A keystroke may be represented by a list: the last element of the list is the key (a symbol, character, or number, as above) and the preceding diff --text -u 'xemacs-21.5.21/man/lispref/lispref.texi' 'xemacs-21.5.22/man/lispref/lispref.texi' Index: ./man/lispref/lispref.texi --- ./man/lispref/lispref.texi Fri Jan 21 18:43:12 2005 +++ ./man/lispref/lispref.texi Mon Jun 20 05:49:47 2005 @@ -1199,7 +1199,6 @@ Building XEmacs and Object Allocation * Building XEmacs:: How to preload Lisp libraries into XEmacs. -* Pure Storage:: A kludge to make preloaded Lisp functions sharable. * Garbage Collection:: Reclaiming space for Lisp objects no longer used. @end menu diff --text -u 'xemacs-21.5.21/man/lispref/mule.texi' 'xemacs-21.5.22/man/lispref/mule.texi' Index: ./man/lispref/mule.texi --- ./man/lispref/mule.texi Sun Mar 27 01:20:05 2005 +++ ./man/lispref/mule.texi Mon Jun 20 05:49:47 2005 @@ -141,29 +141,39 @@ An @dfn{encoding} is a way of numerically representing characters from one or more character sets into a stream of like-sized numerical values called @dfn{words} -- typically 8-bit bytes, but sometimes 16-bit or -32-bit quantities. It's very important to clearly distinguish between -charsets and encodings. For a simple charset like ASCII, there is only -one encoding normally used -- each character is represented by a single -byte, with the same value as its code point. For more complicated -charsets, however, or when a single encoding needs to represent more -than charset, things are not so obvious. Unicode version 2, for -example, is a large charset with thousands of characters, each indexed -by a 16-bit number, often represented in hex, e.g. 0x05D0 for the Hebrew -letter "aleph". One obvious encoding (actually two encodings, depending -on which of the two possible byte orderings is chosen) simply uses two -bytes per character. This encoding is convenient for internal -processing of Unicode text; however, it's incompatible with ASCII, and -thus external text (files, e-mail, etc.) that is encoded this way is -completely uninterpretable by programs lacking Unicode support. For -this reason, a different, ASCII-compatible encoding, e.g. UTF-8, is -usually used for external text. UTF-8 represents Unicode characters -with one to three bytes (often extended to six bytes to handle -characters with up to 31-bit indices). Unicode characters 00 to 7F -(identical with ASCII) are directly represented with one byte, and other -characters with two or more bytes, each in the range 80 to FF. -Applications that don't understand Unicode will still be able to process -ASCII characters represented in UTF-8-encoded text, and will typically -ignore (and hopefully preserve) the high-bit characters. +32-bit quantities. In a context where dealing with Japanese motivates +much of XEmacs' design in this area, it's important to clearly +distinguish between charsets and encodings. For a simple charset like +ASCII, there is only one encoding normally used -- each character is +represented by a single byte, with the same value as its code point. +For more complicated charsets, however, or when a single encoding needs +to represent more than charset, things are not so obvious. Unicode +version 2, for example, is a large charset with thousands of characters, +each indexed by a 16-bit number, often represented in hex, e.g. 0x05D0 +for the Hebrew letter "aleph". One obvious encoding (actually two +encodings, depending on which of the two possible byte orderings is +chosen) simply uses two bytes per character. This encoding is +convenient for internal processing of Unicode text; however, it's +incompatible with ASCII, and thus external text (files, e-mail, etc.) +that is encoded this way is completely uninterpretable by programs +lacking Unicode support. For this reason, a different, ASCII-compatible +encoding, e.g. UTF-8, is usually used for external text. UTF-8 +represents Unicode characters with one to three bytes (often extended to +six bytes to handle characters with up to 31-bit indices). Unicode +characters 00 to 7F (identical with ASCII) are directly represented with +one byte, and other characters with two or more bytes, each in the range +80 to FF. Applications that don't understand Unicode will still be able +to process ASCII characters represented in UTF-8-encoded text, and will +typically ignore (and hopefully preserve) the high-bit characters. + +Similarly, Shift-JIS and EUC-JP are different encodings normally used to +encode the same character set(s), these character sets being subsets of +Unicode. However, the obvious approach of unifying XEmacs' internal +encoding across character sets, as was part of the motivation behind +Unicode, wasn't taken. This means that characters in these character +sets that are identical to characters in other character sets---for +example, the Greek alphabet is in the large Japanese character sets and +at least one European character set--are unfortunately disjoint. Naive use of code points is also not possible if more than one character set is to be used in the encoding. For example, printed diff --text -u 'xemacs-21.5.21/modules/ChangeLog' 'xemacs-21.5.22/modules/ChangeLog' Index: ./modules/ChangeLog --- ./modules/ChangeLog Sat May 28 15:10:16 2005 +++ ./modules/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,14 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-06-09 Craig Lanning + + * ldap/.cvsignore: + * sample/external/.cvsignore: + * sample/internal/.cvsignore: + Added GNUmakefile, Makefile, and Makefile.in + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u /dev/null 'xemacs-21.5.22/modules/postgresql/configure' Index: ./modules/postgresql/configure --- ./modules/postgresql/configure Thu Jan 1 09:00:00 1970 +++ ./modules/postgresql/configure Mon Nov 18 15:52:33 2002 @@ -0,0 +1,3808 @@ +#! /bin/sh +# From configure.ac Revision: 1.1 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.53a for PostgreSQL module 1.0. +# +# Report bugs to . +# +# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +# +# Configuration script for the PostgreSQL module. +# Copyright (C) 2002 Jerry James. +# +# This file is part of XEmacs. +# +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your +# option) any later version. +# +# XEmacs is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# NLS nuisances. +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + +(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && + { $as_unset LANG || test "${LANG+set}" != set; } || + { LANG=C; export LANG; } +(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && + { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || + { LC_ALL=C; export LC_ALL; } +(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && + { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || + { LC_TIME=C; export LC_TIME; } +(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && + { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || + { LC_CTYPE=C; export LC_CTYPE; } +(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && + { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || + { LANGUAGE=C; export LANGUAGE; } +(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && + { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || + { LC_COLLATE=C; export LC_COLLATE; } +(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && + { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || + { LC_NUMERIC=C; export LC_NUMERIC; } +(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && + { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || + { LC_MESSAGES=C; export LC_MESSAGES; } + + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conftest.sh + echo "exit 0" >>conftest.sh + chmod +x conftest.sh + if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conftest.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='PostgreSQL module' +PACKAGE_TARNAME='postgresql-module' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='PostgreSQL module 1.0' +PACKAGE_BUGREPORT='xemacs-beta@xemacs.org' + +ac_unique_file="postgresql.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_ELLCC_set=${ELLCC+set} +ac_env_ELLCC_value=$ELLCC +ac_cv_env_ELLCC_set=${ELLCC+set} +ac_cv_env_ELLCC_value=$ELLCC +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures PostgreSQL module 1.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of PostgreSQL module 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + ELLCC The path to the ellcc module compiler + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +PostgreSQL module configure 1.0 +generated by GNU Autoconf 2.53a + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. + +Configuration script for the PostgreSQL module. +Copyright (C) 2002 Jerry James. + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your +option) any later version. + +XEmacs is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to the Free +Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by PostgreSQL module $as_me 1.0, which was +generated by GNU Autoconf 2.53a. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell meta-characters. +ac_configure_args= +ac_sep= +for ac_arg +do + case $ac_arg in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n ) continue ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + ac_sep=" " ;; + esac + # Get rid of the leading space. +done + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core core.* *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output" >&5 +echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null; + ls a.out conftest 2>/dev/null; + ls a.* conftest.* 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + a.out ) # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool --akim. + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5 +echo "$as_me: error: C compiler cannot create executables" >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_compiler_gnu=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_prog_cc_g=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + ''\ + '#include ' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +continue +fi +rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + + + +# Find ELLCC + +# Extract the first word of "ellcc", so it can be a program name with args. +set dummy ellcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_ELLCC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ELLCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_ELLCC="$ELLCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ELLCC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_ELLCC" && ac_cv_path_ELLCC=""FAIL"" + ;; +esac +fi +ELLCC=$ac_cv_path_ELLCC + +if test -n "$ELLCC"; then + echo "$as_me:$LINENO: result: $ELLCC" >&5 +echo "${ECHO_T}$ELLCC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test "$ELLCC" = "FAIL"; then + { { echo "$as_me:$LINENO: error: Cannot find ellcc" >&5 +echo "$as_me: error: Cannot find ellcc" >&2;} + { (exit 1); exit 1; }; } +fi + + + +for header_dir in "" "pgsql/" "postgresql/"; do + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +#include +#include +#include + +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_Header=no" +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +as_ac_Header=`echo "ac_cv_header_${header_dir}libpq-fe.h" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for ${header_dir}libpq-fe.h" >&5 +echo $ECHO_N "checking for ${header_dir}libpq-fe.h... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking ${header_dir}libpq-fe.h usability" >&5 +echo $ECHO_N "checking ${header_dir}libpq-fe.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#include <${header_dir}libpq-fe.h> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking ${header_dir}libpq-fe.h presence" >&5 +echo $ECHO_N "checking ${header_dir}libpq-fe.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include <${header_dir}libpq-fe.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: ${header_dir}libpq-fe.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: ${header_dir}libpq-fe.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: ${header_dir}libpq-fe.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: ${header_dir}libpq-fe.h: proceeding with the preprocessor's result" >&2;};; + no:yes ) + { echo "$as_me:$LINENO: WARNING: ${header_dir}libpq-fe.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: ${header_dir}libpq-fe.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: ${header_dir}libpq-fe.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: ${header_dir}libpq-fe.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: ${header_dir}libpq-fe.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: ${header_dir}libpq-fe.h: proceeding with the preprocessor's result" >&2;};; +esac +echo "$as_me:$LINENO: checking for ${header_dir}libpq-fe.h" >&5 +echo $ECHO_N "checking for ${header_dir}libpq-fe.h... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + libpq_fe_h_file=${header_dir}libpq-fe.h; break +fi + + +done + +test -z "$libpq_fe_h_file" && + { { echo "$as_me:$LINENO: error: Cannot find the PostgresQL header files; try specifying CPPFLAGS." >&5 +echo "$as_me: error: Cannot find the PostgresQL header files; try specifying CPPFLAGS." >&2;} + { (exit 1); exit 1; }; } +cat >>confdefs.h <<_ACEOF +#define LIBPQ_FE_H_FILE "$libpq_fe_h_file" +_ACEOF + + + +echo "$as_me:$LINENO: checking for PQconnectdb in -lpq" >&5 +echo $ECHO_N "checking for PQconnectdb in -lpq... $ECHO_C" >&6 +if test "${ac_cv_lib_pq_PQconnectdb+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char PQconnectdb (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +PQconnectdb (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_pq_PQconnectdb=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_pq_PQconnectdb=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQconnectdb" >&5 +echo "${ECHO_T}$ac_cv_lib_pq_PQconnectdb" >&6 +if test $ac_cv_lib_pq_PQconnectdb = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPQ 1 +_ACEOF + + LIBS="-lpq $LIBS" + +else + { { echo "$as_me:$LINENO: error: Cannot find the PostgresQL library. Try specifying LDFLAGS." >&5 +echo "$as_me: error: Cannot find the PostgresQL library. Try specifying LDFLAGS." >&2;} + { (exit 1); exit 1; }; } +fi + +echo "$as_me:$LINENO: checking for PQconnectStart in -lpq" >&5 +echo $ECHO_N "checking for PQconnectStart in -lpq... $ECHO_C" >&6 +if test "${ac_cv_lib_pq_PQconnectStart+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char PQconnectStart (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +PQconnectStart (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_pq_PQconnectStart=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_pq_PQconnectStart=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQconnectStart" >&5 +echo "${ECHO_T}$ac_cv_lib_pq_PQconnectStart" >&6 +if test $ac_cv_lib_pq_PQconnectStart = yes; then + + with_postgresqlv7=yes; + cat >>confdefs.h <<\_ACEOF +#define HAVE_POSTGRESQLV7 1 +_ACEOF + +fi + +postgresql_libs="$LIBS" + + + +# This part should appear unchanged in every module configure.ac +PROGNAME="module" + +MOD_CC="@ELLCC@" + +MODARCHDIR="\$(shell @ELLCC@ --mod-archdir)" + +MAKE_DOCFILE="\$(MODARCHDIR)/make-docfile" + +MODCFLAGS="\$(CFLAGS) --mode=compile --mod-output=\$@ -I\$(MODARCHDIR)/include" + +INSTALLPATH="\$(shell @ELLCC@ --mod-site-location)" + +MOD_INSTALL_PROGRAM="@INSTALL_PROGRAM@" + +OBJECT_TO_BUILD="\$(MODNAME).ell" + + + ac_config_files="$ac_config_files Makefile.in Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if cmp -s $cache_file confcache; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# NLS nuisances. +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + +(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && + { $as_unset LANG || test "${LANG+set}" != set; } || + { LANG=C; export LANG; } +(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && + { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || + { LC_ALL=C; export LC_ALL; } +(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && + { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || + { LC_TIME=C; export LC_TIME; } +(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && + { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || + { LC_CTYPE=C; export LC_CTYPE; } +(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && + { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || + { LANGUAGE=C; export LANGUAGE; } +(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && + { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || + { LC_COLLATE=C; export LC_COLLATE; } +(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && + { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || + { LC_NUMERIC=C; export LC_NUMERIC; } +(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && + { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || + { LC_MESSAGES=C; export LC_MESSAGES; } + + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conftest.sh + echo "exit 0" >>conftest.sh + chmod +x conftest.sh + if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conftest.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by PostgreSQL module $as_me 1.0, which was +generated by GNU Autoconf 2.53a. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +PostgreSQL module config.status 1.0 +configured by $0, generated by GNU Autoconf 2.53a, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" + exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile.in" ) CONFIG_FILES="$CONFIG_FILES Makefile.in" ;; + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. +: ${TMPDIR=/tmp} +{ + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/cs$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@ELLCC@,$ELLCC,;t t +s,@CPP@,$CPP,;t t +s,@postgresql_libs@,$postgresql_libs,;t t +s,@PROGNAME@,$PROGNAME,;t t +s,@MOD_CC@,$MOD_CC,;t t +s,@MODARCHDIR@,$MODARCHDIR,;t t +s,@MAKE_DOCFILE@,$MAKE_DOCFILE,;t t +s,@MODCFLAGS@,$MODCFLAGS,;t t +s,@INSTALLPATH@,$INSTALLPATH,;t t +s,@MOD_INSTALL_PROGRAM@,$MOD_INSTALL_PROGRAM,;t t +s,@OBJECT_TO_BUILD@,$OBJECT_TO_BUILD,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + exec 5>/dev/null + $SHELL $CONFIG_STATUS || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + diff --text -u 'xemacs-21.5.21/netinstall/ChangeLog' 'xemacs-21.5.22/netinstall/ChangeLog' Index: ./netinstall/ChangeLog Prereq: 1.34 --- ./netinstall/ChangeLog Sat May 28 15:10:16 2005 +++ ./netinstall/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,7 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. @@ -516,6 +520,6 @@ * all: port from cygwin setup. -%%% $Id: ChangeLog,v 1.34 2005/03/11 19:22:45 stephent Exp $ -$Revision: 1.34 $ +%%% $Id: ChangeLog,v 1.35 2005/05/28 06:13:00 stephent Exp $ +$Revision: 1.35 $ diff --text -u 'xemacs-21.5.21/nt/ChangeLog' 'xemacs-21.5.22/nt/ChangeLog' Index: ./nt/ChangeLog --- ./nt/ChangeLog Sat May 28 15:10:16 2005 +++ ./nt/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,7 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/nt/installer/Wise/ChangeLog' 'xemacs-21.5.22/nt/installer/Wise/ChangeLog' Index: ./nt/installer/Wise/ChangeLog --- ./nt/installer/Wise/ChangeLog Sat May 28 15:10:16 2005 +++ ./nt/installer/Wise/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,7 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/src/ChangeLog' 'xemacs-21.5.22/src/ChangeLog' Index: ./src/ChangeLog --- ./src/ChangeLog Sat May 28 15:10:16 2005 +++ ./src/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,252 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + +2005-07-29 Darryl Okahata + + * extents.c (lispobj_gap_array_description_1): fix the memory + descriptions for the "gap", "offset_past_gap", and "els_past_gap" + members. Before, they were incorrectly defined as "XD_INT" + objects. They've been corrected to use "XD_ELEMCOUNT" and + "XD_BYTECOUNT", as that is how they are defined in the actual + Gap_Array declaration. This is important on systems where + sizeof(int) != sizeof(long), such as some 64-bit systems. + +2005-07-24 Fabrice Popineau + + * frame-msw.c (mswindows_set_frame_size): Don't have a frame size + change trigger restoring the frame. + +2005-07-20 Didier Verna + + Following suggestions from Stephen J. Turnbull: + * faces.c (Qcyclic_face_alias): New name for + Qcyclic_face_aliasing. + * faces.c (Ffind_face): Use it. Rename FACE_ALIASING_MAX_DEPTH to + FACE_ALIAS_MAX_DEPTH. + * faces.c (syms_of_faces): Ditto. + +2005-07-19 Didier Verna + + * faces.c (Ffind_face): Implement face aliasing. + * faces.c (syms_of_faces): Define Qface_alias symbol, and + Qcyclic_face_aliasing error symbol. + +2005-07-17 Aidan Kehoe + + * cmds.c (Fself_insert_command): + * editfns.c (Fchar_to_string): + * event-stream.c (Fnext_event): + * event-stream.c (execute_command_event): + * events.c (Fevent_to_character): + * keymap.c (Ftext_char_description): + * lisp.h: + Add back the last argument to event-to-character; document that + it's unused. + +2005-07-11 Atanu Ghosh + + * sysdll.c (dll_open): Under MacOS X return NULL under the + filename is NULL. Fixes problems finding local symbols under 10.4 + (Tiger) + +2005-07-07 Aidan Kehoe + + * console-msw.c: + * console-msw.c (mswindows_perhaps_init_unseen_key_defaults): + * console-msw.c (vars_of_console_mswindows): + Rename Qseen_characters to Vmswindows_seen_characters, dump it + when pdump is in use. + + * console-tty.c (tty_perhaps_init_unseen_key_defaults): + * console-tty.c (vars_of_console_tty): + Rename Qseen_characters to Vttyxo_seen_characters, dump it + when pdump is in use. + +2005-06-29 Marcus Crestani + + Fix C++ build for unexec. + * unexelf.c: Adjust fatal and unexec to the declarations in + lisp.h. + * unexelf.c (unexec): Remove unneeded arguments from fatal calls. + +2005-07-03 Aidan Kehoe + + * event-Xt.c: + * event-gtk.c: + * events.c (event_to_character): + * general-slots.h: + Move the Qkey_mapping variable to general-slots.h, now that it's + used outside the platform specific keyboard warning code. + +2005-06-28 Marcus Crestani + + * console-x.c (x_perhaps_init_unseen_key_defaults): Use + build_intstring to avoid type error. + * event-Xt.c (x_keysym_to_emacs_keysym): Add cast to avoid type + error. + +2005-06-28 Marcus Crestani + + * .cvsignore: Add dump-size, xemacs.def, xemacs.def.in. + +2005-06-28 Marcus Crestani + + * gpmevent.c: Remove workaround. + * gpmevent.c (Fgpm_enable): Use GET_DEFUN_LISP_OBJECT to get + Lisp_Object of a built-in function. + * gpmevent.c (syms_of_gpmevent): Remove workaround. + * lisp.h (GET_DEFUN_LISP_OBJECT): New. Returns Lisp_Object of a + DEFUN. + * tooltalk.c (init_tooltalk): Use GET_DEFUN_LISP_OBJECT to get + Lisp_Object of a built-in function. + +2005-06-26 Aidan Kehoe + + * event-stream.c (command_builder_find_leaf): + * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): + * mule-ccl.c (ccl_driver): + Couple of build fixes. + +2005-06-26 Aidan Kehoe + + * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add. + * mule-ccl.c: Check that a character set exists before using it + to create a character. + +2005-06-26 Aidan Kehoe + + * cmds.c (Fself_insert_command): + No 4th arg to event_to_character. + + * console-impl.h (struct console_methods): Add a new member + method, perhaps_init_unseen_key_defaults, which is to allow the + console to take appropriate action--often a default binding to + self-insert-command--when notified about a character it may not + have seen before. + + * console-gtk.c: + Add gtk_perhaps_init_unseen_key_defaults, a new console method, + and a hash table it uses. + + * console-msw.c: + Add mswindows_perhaps_init_unseen_key_defaults, a new console + method, and a hash table it uses. + + * console-tty.c: + Add tty_perhaps_init_unseen_key_defaults, a new console method, + and a hash table used by it. + + * console-x.c: + * console-x.c (x_perhaps_init_unseen_key_defaults): New. + Given a key, if it maps to a character and we weren't previously + aware that it could be generated on console CON, and if it's + unbound in the global map, bind it to self-insert-command. Return + Qt if the binding was done; Qnil if not. + + * device-gtk.c: + * device-gtk.c (vars_of_device_gtk): + Add a hash table var used by gtk_perhaps_init_unseen_key_defaults. + + * editfns.c (Fchar_to_string): + Call Fevent_to_character with three arguments, not four; don't + express a belief that the only XEmacs character encoding is + ASCII. + + * event-Xt.c: + * event-Xt.c (maybe_define_x_key_as_self_inserting_character): + ascii-character -> character-of-keysym property renaming. + + * event-Xt.c (x_has_keysym): + Make it visible to the console code, make it a little more Mule-safe. + + * event-Xt.c (index_to_name): + Move to Mule declaration conventions. + + * event-Xt.c (x_reset_modifier_mapping): + Move large comment from Jamie before this function. + + * event-Xt.c (x_keysym_to_emacs_keysym): + Move to Mule declaration conventions and coding practices. + + * event-Xt.c (x_event_to_emacs_event): + Add some comments, and the initial steps necessary for Russian C-x + support. + + * event-msw.c (mswindows_wnd_proc): + Don't conditionalize Russian C-x support on Mule. (I'm not certain + if this is correct on MSW, but it's the approach I'm taking on + X11.) + + * event-stream.c: + Add Russian C-x support, a var to enable and disable it, remove + composed-character-default-binding in favour of + self-insert-command, rename + command_builder_find_leaf_no_mule_processing to + command_builder_find_leaf_no_jit_binding, change + command_builder_find_leaf to tell the console-specific code to + perhaps add a binding for keys its never seen before, and then + retry the lookup if it would otherwise fail. + + * event-stream.c (execute_command_event): + event-to-character has three arguments now, not four. + + * event-stream.c (vars_of_event_stream): + Formatting clean up for inhibit-input-event-recoding. + + * event-xlike-inc.c: + * event-xlike-inc.c (endif): + Move x_keysym_to_character here from event-Xt.c so it can be used + by GTK 1.0 as well; greatly expand it, to handle many more + characters than previously. + + * events.c: + Rename the ascii-character property, remove + character-set-property, remove the now unused fourth argument to + event_to_character, ditto for the event-to-character, + + * events.h (enum alternative_key_chars): + * events.h (struct Lisp_Key_Data): + Russian C-x processing is no longer Mule specific. (Though I'm not + certain why a Russian speaker would be using a non-Mule build.) + + * keymap.c: + * keymap.c (event_matches_key_specifier_p): + * keymap.c (map_keymap_sort_predicate): + * keymap.c (Ftext_char_description): + * keymap.c (elide_next_two_p): + * keymap.c (describe_map): + Rename ascii-character to character-of-keysym, stop pretending the + internal encoding of XEmacs is purely ASCII, + + * lisp.h: + * sysdep.c (tty_init_sys_modes_on_device): + One less argument to event-to-character. + +2005-06-23 Marcus Crestani + + * dumper.c (pdump_load_finish): Use EMACS_INT for elt_count. + +2005-06-19 Aidan Kehoe + + * file-coding.c: + * mule-coding.c: + The vernacular in Taiwan, and thus the language for which Big5 is + most used, is Mandarin. Taiwanese does exist, but since the + Chinese civil war, it's used less and less in Taiwan. + +2005-06-06 Marcus Crestani + + * lisp.h (DEFUN): Define S##fname here. + * lisp.h (DEFUN_NORETURN): Define S##fname here. + * symeval.h (DEFSUBR_MC_ALLOC): Use already defined S##fname. + +2005-06-01 Marcus Crestani + + * ralloc.c: + * ralloc.c (r_alloc_free): Call refill_memory_reserve only if + MC_ALLOC is not defined. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. @@ -32,7 +281,7 @@ 2005-05-10 Aidan Kehoe * extents.c: Clarify that the atomic extent property is a kludge - and will go away if and when we implement something better. + and will go away if and when we implement something better. 2005-05-06 Dr. Volker Zell @@ -42,13 +291,13 @@ 2005-05-05 Aidan Kehoe * extents.c: Add some info on atomic-extents.el to the - set-extent-property docstring. + set-extent-property docstring. 2005-05-05 Aidan Kehoe * select.c: - * sound.c: - Spelling fixes to docstrings. + * sound.c: + Spelling fixes to docstrings. 2005-04-27 Stephen J. Turnbull @@ -113,16 +362,16 @@ New lrecord allocation and free functions: - * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes + * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes type checking and initializing of the lrecord_header. * alloc.c (noseeum_alloc_lrecord): Same as above, but increments the NOSEEUM cons counter. - * alloc.c (free_lrecord): New. Calls the finalizer and frees the + * alloc.c (free_lrecord): New. Calls the finalizer and frees the lrecord. * lrecord.h: Add lrecord allocation prototypes and comments. Remove old lrecord FROB block allocation: - + * alloc.c (allocate_lisp_storage): Former function to expand heap. Not needed anymore, remove. * alloc.c: Completely remove `Fixed-size type macros' @@ -144,7 +393,7 @@ * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): Remove. Allocate old lrecords with new allocator: - + * alloc.c: DECLARE_FIXED_TYPE_ALLOC removed for all lrecords defined in alloc.c. * alloc.c (Fcons): Allocate with new allocator. @@ -215,7 +464,7 @@ * alloc.c (gc_sweep): Remove all the old lcrecord and lrecord related stuff. Sweeping now works like this: compact string chars, finalize, sweep. - * alloc.c (common_init_alloc_early): Remove old lrecord + * alloc.c (common_init_alloc_early): Remove old lrecord initializations, remove breathing_space. * emacs.c (Fdump_emacs): Remove release_breathing_space. * lisp.h: Remove prototype for release_breathing_space. @@ -240,12 +489,12 @@ Unify lrecords and lcrecords: - * lisp.h (struct Lisp_String): Adjust string union hack to + * lisp.h (struct Lisp_String): Adjust string union hack to new lrecord header. * lrecord.h: Adjust comments. * lrecord.h (struct lrecord_header): The new lrecord header includes type, lisp-readonly, free, and uid. - * lrecord.h (set_lheader_implementation): Adjust to new + * lrecord.h (set_lheader_implementation): Adjust to new lrecord_header. * lrecord.h (struct lrecord_implementation): The field basic_p for indication of an old lrecord is not needed anymore, remove. @@ -254,9 +503,9 @@ basic_p. * lrecord.h (copy_sized_lrecord): Remove distinction between old lrecords and lcrecords. - * lrecord.h (copy_lrecord): Remove distinction between old + * lrecord.h (copy_lrecord): Remove distinction between old lrecords and lcrecords. - * lrecord.h (zero_sized_lrecord): Remove distinction between + * lrecord.h (zero_sized_lrecord): Remove distinction between old lrecords and lcrecords. * lrecord.h (zero_lrecord): Remove distinction between old lrecords and lcrecords. @@ -265,7 +514,7 @@ * alloc.c (basic_alloc_lcrecord): Not needed anymore, remove. * alloc.c (very_old_free_lcrecord): Not needed anymore, remove. - * alloc.c (copy_lisp_object): No more distinction between + * alloc.c (copy_lisp_object): No more distinction between lrecords and lcrecords. * alloc.c (all_lcrecords): Not needed anymore, remove. * alloc.c (make_vector_internal): Allocate as lrecord. @@ -281,13 +530,13 @@ * alloc.c (free_lcrecord): Remove. * alloc.c (lcrecord_stats): Remove. * alloc.c (tick_lcrecord_stats): Remove. - * alloc.c (disksave_object_finalization_1): Add call to + * alloc.c (disksave_object_finalization_1): Add call to mc_finalize_for_disksave. Remove the lcrecord way to visit all objects. * alloc.c (kkcc_marking): Remove XD_FLAG_FREE_LISP_OBJECT * alloc.c (sweep_lcrecords_1): Remove. * alloc.c (common_init_alloc_early): Remove everything related - to lcrecords, remove old lrecord initializations, + to lcrecords, remove old lrecord initializations, * alloc.c (init_lcrecord_lists): Not needed anymore, remove. * alloc.c (reinit_alloc_early): Remove everything related to lcrecords. @@ -295,7 +544,7 @@ lcrecords. * buffer.c (allocate_buffer): Allocate as lrecord. * buffer.c (nuke_all_buffer_slots): Use lrecord functions. - * buffer.c (common_init_complex_vars_of_buffer): Allocate as + * buffer.c (common_init_complex_vars_of_buffer): Allocate as lrecord. * buffer.h (struct buffer): Add lrecord_header. * casetab.c (allocate_case_table): Allocate as lrecord. @@ -311,11 +560,11 @@ * chartab.h (struct Lisp_Char_Table): Add lrecord_header. * console-impl.h (struct console): Add lrecord_header. * console-msw-impl.h (struct Lisp_Devmode): Add lrecord_header. - * console-msw-impl.h (struct mswindows_dialog_id): Add + * console-msw-impl.h (struct mswindows_dialog_id): Add lrecord_header. * console.c (allocate_console): Allocate as lrecord. * console.c (nuke_all_console_slots): Use lrecord functions. - * console.c (common_init_complex_vars_of_console): Allocate as + * console.c (common_init_complex_vars_of_console): Allocate as lrecord. * data.c (make_weak_list): Allocate as lrecord. * data.c (make_weak_box): Allocate as lrecord. @@ -336,7 +585,7 @@ * event-stream.c (free_command_builder): Use lrecord functions. * event-stream.c (event_stream_generate_wakeup): Allocate as lrecord. - * event-stream.c (event_stream_resignal_wakeup): Use lrecord + * event-stream.c (event_stream_resignal_wakeup): Use lrecord functions. * event-stream.c (event_stream_disable_wakeup): Use lrecord functions. @@ -382,11 +631,11 @@ * lstream.c (Lstream_new): Allocate as lrecord. * lstream.c (Lstream_delete): Use lrecod functions. * lstream.c (reinit_vars_of_lstream): Vlstream_free_list - initialization remove. + initialization remove. * lstream.h (struct lstream): Add lrecord_header. * emacs.c (main_1): Remove lstream initialization. * mule-charset.c (make_charset): Allocate as lrecord. - * objects-impl.h (struct Lisp_Color_Instance): Add + * objects-impl.h (struct Lisp_Color_Instance): Add lrecord_header. * objects-impl.h (struct Lisp_Font_Instance): Add lrecord_header. * objects.c (Fmake_color_instance): Allocate as lrecord. @@ -396,7 +645,7 @@ * opaque.c (make_opaque): Allocate as lrecord. * opaque.c (make_opaque_ptr): Allocate as lrecord. * opaque.c (free_opaque_ptr): Use lrecord functions. - * opaque.c (reinit_opaque_early): + * opaque.c (reinit_opaque_early): * opaque.c (init_opaque_once_early): Vopaque_ptr_list initialization remove. * opaque.h (Lisp_Opaque): Add lrecord_header. @@ -416,7 +665,7 @@ * specifier.h (struct Lisp_Specifier): Add lrecord_header. * symbols.c: * symbols.c (Fmake_variable_buffer_local): Allocate as lrecord. - * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate + * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate as lrecord. * symbols.c (Fdefvaralias): Allocate as lrecord. * symeval.h (struct symbol_value_magic): Add lrecord_header. @@ -441,13 +690,13 @@ * alloc.c (fixed_type_block_overhead): Not used anymore, remove. * buffer.c (compute_buffer_usage): Get storage size from new allocator. - * marker.c (compute_buffer_marker_usage): Get storage size from + * marker.c (compute_buffer_marker_usage): Get storage size from new allocator. - * mule-charset.c (compute_charset_usage): Get storage size from + * mule-charset.c (compute_charset_usage): Get storage size from new allocator. * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): Get storage size from new allocator. - * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): + * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): Get storage size from new allocator. * scrollbar-x.c (x_compute_scrollbar_instance_usage): Get storage size from new allocator. @@ -459,7 +708,7 @@ from new allocator. * window.c (compute_window_mirror_usage): Get storage size from new allocator. - * window.c (compute_window_usage): Get storage size from new + * window.c (compute_window_usage): Get storage size from new allocator. MC_ALLOC_TYPE_STATS: @@ -486,7 +735,7 @@ * alloc.c (debug_string_purity): Remove. * alloc.c (debug_string_purity_print): Remove. * alloc.c (sweep_strings): Remove. - + Remove static C-readonly Lisp objects: * alloc.c (c_readonly): Not needed anymore, remove. @@ -534,7 +783,7 @@ * symbols.c (init_symbols_once_early): Add Qunbound to root set. Changes to the Portable Dumper: - + * alloc.c (FREE_OR_REALLOC_BEGIN): Since dumped objects can be freed with the new allocator, remove assertion for !DUMPEDP. * dumper.c: Adjust comments, increase PDUMP_HASHSIZE. @@ -542,7 +791,7 @@ avoid collisions. * dumper.c (pdump_objects_unmark): No more mark bits within the object, remove. - * dumper.c (mc_addr_elt): New. Element data structure for mc + * dumper.c (mc_addr_elt): New. Element data structure for mc hash table. * dumper.c (pdump_mc_hash): New hash table: `lookup table'. * dumper.c (pdump_get_mc_addr): New. Lookup for hash table. @@ -551,22 +800,22 @@ * dumper.c (pdump_put_mc_addr): New. Putter for hash table. * dumper.c (pdump_dump_mc_data): New. Writes the table for relocation at load time to the dump file. - * dumper.c (pdump_scan_lisp_objects_by_alignment): New. + * dumper.c (pdump_scan_lisp_objects_by_alignment): New. Visits all dumped Lisp objects. * dumper.c (pdump_scan_non_lisp_objects_by_alignment): New. Visits all other dumped objects. * dumper.c (pdump_reloc_one_mc): New. Updates all pointers of an object by using the hash table pdump_mc_hash. * dumper.c (pdump_reloc_one): Replaced by pdump_reloc_one_mc. - * dumper.c (pdump): Change the structure of the dump file, add + * dumper.c (pdump): Change the structure of the dump file, add the mc post dump relocation table to dump file. - * dumper.c (pdump_load_finish): Hand all dumped objects to the - new allocator and use the mc post dump relocation table for + * dumper.c (pdump_load_finish): Hand all dumped objects to the + new allocator and use the mc post dump relocation table for relocating the dumped objects at dump file load time, free not longer used data structures. * dumper.c (pdump_load): Free the dump file. * dumper.h: Remove pdump_objects_unmark. - * lrecord.h (DUMPEDP): Dumped objects can be freed, remove. + * lrecord.h (DUMPEDP): Dumped objects can be freed, remove. DUMP_IN_EXEC: @@ -596,13 +845,13 @@ * mule-ccl.c (ccl_driver): Calculate the charset and position code for control-1 characters properly, both when reading multibyte - characters and writing them. + characters and writing them. 2005-03-31 Aidan Kehoe * unicode.c (set_unicode_conversion): Don't try to write to the non-existent conversion tables for ASCII and control-1, in the - interest of not segfaulting. + interest of not segfaulting. * unicode.c (unicode_convert): The "position code" for a control-1 character has #xA0 added to it when encoded in Mule, unlike #x80 for all the other non-ASCII character sets ; take this into @@ -610,9 +859,9 @@ 2005-03-29 Aidan Kehoe - * event-Xt.c: Declare Funicode_to_char. + * event-Xt.c: Declare Funicode_to_char. * event-Xt.c (x_keysym_to_character): Use it, if we're handed a - keysym for which it's appropriate. + keysym for which it's appropriate. 2005-03-26 Jerry James @@ -623,7 +872,7 @@ 2005-02-24 Andrey Slusar - * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64. + * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64. 2005-03-25 Marcus Crestani @@ -634,11 +883,11 @@ * device-x.c (x_init_device): Only do the old application class determination behaviour if the USE_EMACS_AS_DEFAULT_APPLICATION_CLASS environment variable is - set; otherwise, we use XEmacs. + set; otherwise, we use XEmacs. * device-x.c (vars_of_device_x): Update the docstring for - x-emacs-application-class. + x-emacs-application-class. * frame.c: default-frame-name is now "XEmacs", unless the old X11 - resources behaviour has been requested. + resources behaviour has been requested. 2005-03-15 Marcus Crestani @@ -722,7 +971,7 @@ 2005-01-13 Stephen J. Turnbull - * regex.c (re_match_2_internal): + * regex.c (re_match_2_internal): * regex.h (struct re_pattern_buffer): Improve comments. Add a DEBUG_PRINT2 for null matches. @@ -730,24 +979,24 @@ * select-x.c (x_reply_selection_request): Check that XtWindowToWidget returns NULL before calling XtRegisterDrawable, - document why. + document why. 2005-03-02 Aidan Kehoe * select-x.c (x_reply_selection_request): Make the error message in the absence of HAVE_XTREGISTERDRAWABLE more polite, pass a second argument to invalid_operation to have it actually compile - in that case. + in that case. 2005-03-01 Aidan Kehoe - * config.h.in: New macro, HAVE_XTREGISTERDRAWABLE. - * select-x.c (x_reply_selection_request): Use it. + * config.h.in: New macro, HAVE_XTREGISTERDRAWABLE. + * select-x.c (x_reply_selection_request): Use it. 2005-03-01 Aidan Kehoe * select-x.c (x_reply_selection_request): Wrap - DEVICE_SELECTED_FRAME in XFRAME --> fixes a build failure. + DEVICE_SELECTED_FRAME in XFRAME --> fixes a build failure. 2005-03-01 Aidan Kehoe @@ -755,39 +1004,39 @@ Unicode coding systems will lose data. Make this clear in the docstring of unicode-to-char, give sample code to implement support for some desired code points should our distributors want - to do that. + to do that. 2005-02-28 Aidan Kehoe * select-gtk.c (emacs_gtk_selection_handle): * select-gtk.c (emacs_gtk_selection_clear_event_handle): - Use get_selection_raw_timestamp instead of Fget_selection_timestamp. + Use get_selection_raw_timestamp instead of Fget_selection_timestamp. * select-gtk.c (gtk_own_selection): Cross reference to some debate in select-x.c * select-x.c: * select-x.c (x_handle_selection_request): Discuss Time vs. time_t--I think Time is _always_ thirty-two-bit - and time_t is variable in size. + and time_t is variable in size. * select-x.c (x_handle_selection_clear): Replace call to Fget_selection_timestamp with call to get_selection_raw_time, check that pasted data pointer is non-zero - before trying to free it. + before trying to free it. * select.c: * select.c (Fown_selection_internal): Informative comment! Shouldn't actually be needed outside of the X - world. - * select.c (get_selection_raw_time): New function. + world. + * select.c (get_selection_raw_time): New function. * select.c (Fget_selection_timestamp): Rework to use get_selection_raw_time. * select.h: - Make get_selection_raw_time available. - + Make get_selection_raw_time available. + 2005-02-26 Aidan Kehoe - * select-x.c (x_reply_selection_request): Use XtRegisterDrawable - to tell Xt not to drop PropertyChange events destined for the - selection request target window. This makes incremental selection - transfer work, instead of looping until interrupted. + * select-x.c (x_reply_selection_request): Use XtRegisterDrawable + to tell Xt not to drop PropertyChange events destined for the + selection request target window. This makes incremental selection + transfer work, instead of looping until interrupted. 2005-01-06 Andrey Slusar @@ -829,7 +1078,7 @@ * dumper.c (DUMP_SLACK): * dumper.c (pdump_load): Include extra DUMP_SLACK when allocating space for exe path. - + * glyphs-eimage.c: Reformat comment. @@ -913,14 +1162,14 @@ * menubar.c: * menubar.c (Fcompare_menu_text): New fun to compare menu itext as if the two were normalized. - + * menubar.c (Fnormalize_menu_text): * menubar.c (syms_of_menubar): Rename; there are no external callers of this function. Remove unneeded BUFFER argument. Don't downcase. (This will be done in compare-menu-text.) Document that return value may be same string. - + 2003-02-15 Ben Wing * syswindows.h: Define W32API_2_2 for w32api.h v2.2 or higher. @@ -1002,7 +1251,7 @@ * nt.c: * fileio.c: Fix sync comments. - + * config.h.in: * dired-msw.c (mswindows_get_files): * emacs.c (main_1): @@ -1067,12 +1316,12 @@ * nt.c (mswindows_unlink): * sysdep.c (sys_subshell): Unicode-ize. - + * realpath.c (readlink_or_correct_case): Renamed from readlink_and_correct_case. Fix some problems with Windows implementation due to incorrect understanding of workings of the function. - + * sound.c (Fplay_sound_file): * ntplay.c (nt_play_sound_file): * sound.c: @@ -1088,7 +1337,7 @@ * free-hook.c (check_free): Fix aliasing warning. - + 2005-01-26 Ben Wing * redisplay.c: @@ -1186,7 +1435,7 @@ * bytecode.c (optimize_compiled_function): * print.c (ONE_DIGIT): Add casts to avoid warning. - + * compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and friends here, like for GCC. Need different definitions for VC7 @@ -1202,10 +1451,10 @@ Some really nasty hacks to allow TIFF and JPEG to both be compiled. #### The better solution is to move the TIFF and JPEG code to different files. - + * glyphs-msw.c (mswindows_xbm_instantiate): Define __STDC__ to avoid problems with compface.h. - + * intl-auto-encap-win32.c (qxeImmGetCandidateListCount): * intl-auto-encap-win32.c (qxeFindResourceEx): * intl-auto-encap-win32.h: @@ -1216,7 +1465,7 @@ Various functions change parameter types semi-randomly between VC6 and VC7, so we need to include our own versions that can handle both kinds with appropriate casting. - + * EmacsFrame.c (EmacsFrameRecomputeCellSize): * EmacsShell-sub.c: * EmacsShell-sub.c (ABORT): @@ -1510,7 +1759,7 @@ 2005-01-21 Robert Royar - * database.c: Repair typo in NetBSD fix. + * database.c: Repair typo in NetBSD fix. 2005-01-21 Malcolm Purvis @@ -1565,7 +1814,7 @@ entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. - + * buffer.c (init_initial_directory): * device-msw.c (mswindows_handle_page_setup_dialog_box): * dialog-msw.c (handle_directory_proc): @@ -1621,7 +1870,7 @@ dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. - + * text.c (dfc_convert_to_internal_format): Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no @@ -1716,11 +1965,11 @@ previous version. Track the char position of the gap. Add functions to do char-byte conversion downwards as well as upwards. Move comments about algorithm workings to internals manual. - + --------------------------- work on types --------------------------- - + * alloc.c: * alloc.c (gc_plist_hack): * console-x-impl.h (struct x_frame): @@ -1935,7 +2184,7 @@ the basic semantics of `char' that I have so far identified, so that its semantics can always be identified for the purposes of proper Mule-safe code, and the raw use of `char' always avoided. - + (1) More type renaming, for consistency of naming. Char_ASCII -> Ascbyte @@ -1959,25 +2208,25 @@ * lisp.h: Group generic int-type defs together with EMACS_INT defs. - + * lisp.h (EXTTEXT_ZTERM_SIZE): * lisp.h (ITEXT_SIZE): * lisp.h (NON_ASCII_INTERNAL_FORMAT): * lisp.h (UTF16_IBYTE_FORMAT): * lisp.h (WEXTTEXT_IS_WIDE) New defns. - + * lisp.h (Boolean): New type to replace places where int occurs as a boolean. It's signed because occasionally people may want to use -1 as an error value, and because unsigned ints are viral -- see comments in the internals manual against using them. - + * dynarr.c: * dynarr.c (Dynarr_realloc): * dynarr.c (Dynarr_resize): int -> Bytecount. - + --------------------------- Mule-izing --------------------------- @@ -1989,7 +2238,7 @@ * device-x.c (Fx_set_font_path): * device-x.c (reinit_console_type_create_device_x): Partially Mule-ize. - + * dumper.c (see above): * dumper.c (pdump_file_get): * dumper.c (pdump_resource_get): @@ -2037,14 +2286,14 @@ Rename win32 init function and call it even earlier, to initialize mswindows_9x_p even earlier, for use in startup code (XEUNICODE_P). - + * process.c (init_xemacs_process): Use _wenviron not environ under Windows, to get Unicode environment variables. * event-Xt.c (x_event_to_emacs_event): Mule-ize drag-n-drop related stuff. - + * dragdrop.c (dnd_url_hexify_string): * dragdrop.h: * frame-x.c: @@ -2488,7 +2737,7 @@ * intl-auto-encap-win32.h (OpenJobObject): * intl-auto-encap-win32.h (qxemciGetErrorString): Regenerate. - + --------------------------- Unicode-work --------------------------- @@ -2509,7 +2758,7 @@ * alloc.c (build_ext_string): Use dfc_external_data_len() in case of unicode coding system. - + * alloc.c: * mule-charset.c: * mule-charset.c (make_charset): @@ -2547,7 +2796,7 @@ * console-msw.c: * console-msw.h: Add pointer to docs in win32.c. - + * emacs.c: Add comments on sources of doc info. @@ -2562,7 +2811,7 @@ * intl-encap-win32.c: * text.h: * text.h (internal_format): - * file-coding.c (encode_decode_coding_region): + * file-coding.c (encode_decode_coding_region): * file-coding.c: * mule-coding.c (parse_iso2022_esc): Collect background comments and related to text matters and @@ -2590,17 +2839,17 @@ builds and environments under Windows and how they work. Collect this info in win32.c. Add pointers to these docs in the relevant s/* files. - + * emacs.c (mswindows_handle_hardware_exceptions_1): * emacs.c: Document places with long comments. Remove comment about exiting, move to internals manual, put in pointer. - + * event-stream.c: Move docs about event queues and focus to internals manual, put in pointer. - + * events.h: Move docs about event stream callbacks to internals manual, put in pointer. @@ -2612,17 +2861,17 @@ * process-nt.c: Add pointer to comment in win32-native.el. - + * lisp.h: Add comments about some comment conventions. * lisp.h (xfree): Add comment about the second argument. - + * device-msw.c (msprinter_init_device): * redisplay-msw.c (mswindows_text_width_single_run): @@#### comments are out-of-date. - + --------------------------------------------------------------- PDUMP WORK (MOTIVATED BY UNICODE CHANGES) --------------------------------------------------------------- @@ -2688,19 +2937,19 @@ Properly implement dump_add_root_block(), which never worked before, and is necessary for dumping Unicode tables. - + Pdump name changes for accuracy: XD_STRUCT_PTR -> XD_BLOCK_PTR. XD_STRUCT_ARRAY -> XD_BLOCK_ARRAY. XD_C_STRING -> XD_ASCII_STRING. *_structure_* -> *_block_*. - + * lrecord.h (XD_DYNARR_DESC): some comments added about dump_add_root_block() vs dump_add_root_block_ptr(). * extents.c: remove incorrect comment about pdump problems with gap array. - + --------------------------------------------------------------- ALLOCATION --------------------------------------------------------------- @@ -2790,7 +3039,7 @@ more convenient allocation of these commonly requested items. Modify functions to use alloca_ibytes, alloca_array, alloca_extbytes, xnew_ibytes, etc. also XREALLOC_ARRAY, xnew. - + * alloc.c (FREE_FIXED_TYPE): * alloc.c (Fstring): * alloc.c (MALLOC_BEGIN): @@ -2803,11 +3052,11 @@ * alloc.c: Rewrite the allocation functions to factor out repeated code. Add assertions for freeing dumped data. - + * lisp.h (xmalloc_and_record_unwind): * lisp.h (xfree): Moved down and consolidated with other allocation stuff. - + * lisp.h: * dynarr.c (stack_like_malloc): * dynarr.c (stack_like_free): @@ -2823,7 +3072,7 @@ * text.c (new_dfc_convert_malloc): * text.h: Factor out some stuff for general use by alloca()-conversion funs. - + * text.h (xmalloc_ibytes): * lisp.h: Fill out convenience routines for allocating various kinds of @@ -2860,7 +3109,7 @@ Redo GCPRO declarations. Create a "base" set of functions that can be used to generate any kind of gcpro sets -- regular, ngcpro, nngcpro, private ones used in GC_EXTERNAL_LIST_LOOP_2. - + * buffer.c (Fkill_buffer): * callint.c (quotify_args): * chartab.c (chartab_data_validate): @@ -2905,7 +3154,7 @@ Use EXTERNAL_LIST_LOOP_2 instead or EXTERNAL_LIST_LOOP_3 or EXTERNAL_PROPERTY_LIST_LOOP_3 or GC_EXTERNAL_LIST_LOOP_2 (new macro). Removed/redid comments on EXTERNAL_LIST_LOOP. - + --------------------------------------------------------------- SPACING FIXES @@ -2933,7 +3182,7 @@ FIX FOR LEAKING PROCESS HANDLES: --------------------------------------------------------------- - + * process-nt.c (free_process_memory): * process-nt.c (alloc_process_memory): * process-nt.c (run_in_other_process): @@ -2959,7 +3208,7 @@ * console-stream.c (init_console_stream): `reinit' is unused. - + * compiler.h: * event-msw.c (mswindows_wnd_proc): * frame-msw.c (mswindows_frame_totally_visible_p): @@ -3052,7 +3301,7 @@ * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): Assert on !inhibit_non_essential_conversion_operations. - + * console-msw.c (Fmswindows_message_box): * console-msw.c (GetConsoleHwnd): * console-msw.c (mswindows_output_console_string): @@ -3061,7 +3310,7 @@ Don't do conversion in SetConsoleTitle or FindWindow to avoid problems during armageddon. Put #errors for NON_ASCII_INTERNAL_FORMAT in places where problems would arise. - + --------------------------------------------------------------- CHANGES TO THE BUILD PROCEDURE: --------------------------------------------------------------- @@ -3226,7 +3475,7 @@ Fix some typos in comments. 2003-11-21 Stephen J. Turnbull - + * dired.c (Fdirectory_files): MATCH is only tried against basename. 2003-11-02 Stephen J. Turnbull @@ -3236,7 +3485,7 @@ 2003-10-31 Stephen J. Turnbull * procimpl.h (struct Lisp_Process): - * undo.c (Fprimitive_undo): + * undo.c (Fprimitive_undo): Remove obsolete references to ENERGIZE in comments. 2004-07-18 Stephen J. Turnbull diff --text -u 'xemacs-21.5.21/src/cmds.c' 'xemacs-21.5.22/src/cmds.c' Index: ./src/cmds.c --- ./src/cmds.c Fri Jun 21 06:18:22 2002 +++ ./src/cmds.c Mon Jul 18 05:08:47 2005 @@ -339,11 +339,12 @@ if (CHAR_OR_CHAR_INTP (Vlast_command_char)) c = Vlast_command_char; else - c = Fevent_to_character (Vlast_command_event, Qnil, Qnil, Qt); + c = Fevent_to_character (Vlast_command_event, Qnil, Qnil, Qnil); if (NILP (c)) - invalid_operation ("Last typed character has no ASCII equivalent", - Fcopy_event (Vlast_command_event, Qnil)); + invalid_operation ( + "Last typed key has no character equivalent (that we know of)", + Fcopy_event (Vlast_command_event, Qnil)); CHECK_CHAR_COERCE_INT (c); diff --text -u 'xemacs-21.5.21/src/console-gtk.c' 'xemacs-21.5.22/src/console-gtk.c' Index: ./src/console-gtk.c --- ./src/console-gtk.c Tue Sep 21 04:19:36 2004 +++ ./src/console-gtk.c Mon Jun 27 03:05:02 2005 @@ -32,6 +32,9 @@ #include "process.h" /* canonicalize_host_name */ #include "redisplay.h" /* for display_arg */ +#include "charset.h" +#include "elhash.h" + #include "console-gtk-impl.h" DEFINE_CONSOLE_TYPE (gtk); @@ -112,6 +115,80 @@ RETURN_UNGCPRO (connection); } +extern Lisp_Object gtk_keysym_to_character(guint keysym); + +static Lisp_Object +gtk_perhaps_init_unseen_key_defaults (struct console *UNUSED(con), + Lisp_Object key) +{ + Lisp_Object char_to_associate = Qnil; + extern Lisp_Object Vcurrent_global_map, Qgtk_seen_characters, + Qcharacter_of_keysym; + + if (SYMBOLP(key)) + { + gchar *symbol_name; + guint keyval; + DECLARE_EISTRING(ei_symname); + + eicpy_rawz(ei_symname, XSTRING_DATA(symbol_name(XSYMBOL(key)))); + + /* No information on the coding system of the string key names in GDK, + to my knowledge. Defaulting to binary, */ + eito_external(ei_symname, Qbinary); + symbol_name = eiextdata(ei_symname); + +/* GTK 2.0 has an API we can use, and makes this available in gdkkeys.h + + This has yet to be compiled, because XEmacs' GTK support hasn't yet moved + to 2.0. So if you're porting XEmacs to GTK 2.0, bear that in mind. */ + char_to_associate +#ifdef __GDK_KEYS_H__ + = Funicode_to_char + (make_int(gdk_keyval_to_unicode + (gdk_keyval_from_name(symbol_name))), Qnil); +#else /* GTK 1.whatever doesn't. Use the X11 map. */ + = gtk_keysym_to_character(gdk_keyval_from_name(symbol_name)); +#endif + } + else + { + CHECK_CHAR(key); + } + + if (!(HASH_TABLEP(Qgtk_seen_characters))) + { + Qgtk_seen_characters = make_lisp_hash_table (128, HASH_TABLE_NON_WEAK, + HASH_TABLE_EQUAL); + } + + /* Might give the user an opaque error if make_lisp_hash_table fails, + but it shouldn't crash. */ + CHECK_HASH_TABLE(Qgtk_seen_characters); + + if (EQ(char_to_associate, Qnil) /* If there's no char to bind, */ + || (XCHAR(char_to_associate) < 0x80) /* or it's ASCII */ + || !NILP(Fgethash(key, Qgtk_seen_characters, Qnil))) /* Or we've seen + it already, */ + { + /* then don't bind the key. */ + return Qnil; + } + + if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil))) + { + Fputhash(key, Qt, Qgtk_seen_characters); + Fdefine_key (Vcurrent_global_map, key, Qself_insert_command); + if (SYMBOLP(key)) + { + Fput (key, Qcharacter_of_keysym, char_to_associate); + } + return Qt; + } + + return Qnil; +} + void console_type_create_gtk (void) { @@ -123,6 +200,7 @@ CONSOLE_HAS_METHOD (gtk, canonicalize_device_connection); CONSOLE_HAS_METHOD (gtk, device_to_console_connection); CONSOLE_HAS_METHOD (gtk, initially_selected_for_input); + CONSOLE_HAS_METHOD (gtk, perhaps_init_unseen_key_defaults); /* CONSOLE_HAS_METHOD (gtk, delete_console); */ } diff --text -u 'xemacs-21.5.21/src/console-impl.h' 'xemacs-21.5.22/src/console-impl.h' Index: ./src/console-impl.h --- ./src/console-impl.h Sat Apr 9 08:11:20 2005 +++ ./src/console-impl.h Mon Jun 27 03:05:03 2005 @@ -74,6 +74,8 @@ (Lisp_Object connection, Error_Behavior errb); Lisp_Object (*device_to_console_connection_method) (Lisp_Object connection, Error_Behavior errb); + Lisp_Object (*perhaps_init_unseen_key_defaults_method) + (struct console *, Lisp_Object keysym); /* device methods */ void (*init_device_method) (struct device *, Lisp_Object props); diff --text -u 'xemacs-21.5.21/src/console-msw.c' 'xemacs-21.5.22/src/console-msw.c' Index: ./src/console-msw.c --- ./src/console-msw.c Fri Nov 5 08:06:18 2004 +++ ./src/console-msw.c Fri Jul 8 17:27:34 2005 @@ -37,6 +37,7 @@ #include "console-msw-impl.h" #include "events.h" #include "opaque.h" +#include "elhash.h" DEFINE_CONSOLE_TYPE (mswindows); DEFINE_CONSOLE_TYPE (msprinter); @@ -67,6 +68,7 @@ Lisp_Object Qtopmost; Lisp_Object Qyesno; Lisp_Object Qyesnocancel; +Lisp_Object Vmswindows_seen_characters; /* Lisp_Object Qabort; */ /* Lisp_Object Qcancel; */ @@ -184,6 +186,61 @@ return mswindows_canonicalize_console_connection (connection, errb); } +/* The actual console doesn't matter, because the global map is global. See + console-x.c for a corner case, though. */ + +static Lisp_Object +mswindows_perhaps_init_unseen_key_defaults (struct console *UNUSED(con), + Lisp_Object key) +{ + Ichar val; + extern Lisp_Object Vcurrent_global_map; + + if (SYMBOLP(key)) + { + /* We've no idea what to default a symbol to on MS Windows, and most + of the keys I'm aware of that have + symbols--cf. event-msw.c--_shouldn't_ have associated chars. */ + return Qnil; + } + + CHECK_CHAR(key); + + if (!(HASH_TABLEP(Vmswindows_seen_characters))) + { + /* All the keysym we deal with are character objects; therefore, we + can use eq as the test without worrying. */ + Vmswindows_seen_characters = make_lisp_hash_table (128, + HASH_TABLE_NON_WEAK, + HASH_TABLE_EQ); + } + /* Might give the user an opaque error if make_lisp_hash_table fails, + but it shouldn't crash. */ + CHECK_HASH_TABLE(Vmswindows_seen_characters); + + val = XCHAR(key); + + /* Same logic as in x_has_keysym; I'm not convinced it's sane. */ + if (val < 0x80) + { + return Qnil; + } + + if (!NILP(Fgethash(key, Vmswindows_seen_characters, Qnil))) + { + return Qnil; + } + + if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil))) + { + Fputhash(key, Qt, Vmswindows_seen_characters); + Fdefine_key (Vcurrent_global_map, key, Qself_insert_command); + return Qt; + } + + return Qnil; +} + void mswindows_hide_console (void) { @@ -684,6 +741,7 @@ CONSOLE_HAS_METHOD (mswindows, canonicalize_device_connection); /* CONSOLE_HAS_METHOD (mswindows, semi_canonicalize_console_connection); */ /* CONSOLE_HAS_METHOD (mswindows, semi_canonicalize_device_connection); */ + CONSOLE_HAS_METHOD (mswindows, perhaps_init_unseen_key_defaults); INITIALIZE_CONSOLE_TYPE (msprinter, "msprinter", "console-msprinter-p"); CONSOLE_HAS_METHOD (msprinter, canonicalize_console_connection); @@ -700,5 +758,9 @@ void vars_of_console_mswindows (void) { + DEFVAR_LISP ("mswindows-seen-characters", &Vmswindows_seen_characters /* +Hash table of non-ASCII characters the MS Windows subsystem has seen. +*/ ); + Vmswindows_seen_characters = Qnil; Fprovide (Qmswindows); } diff --text -u 'xemacs-21.5.21/src/console-tty.c' 'xemacs-21.5.22/src/console-tty.c' Index: ./src/console-tty.c --- ./src/console-tty.c Tue Sep 21 04:19:36 2004 +++ ./src/console-tty.c Fri Jul 8 17:27:34 2005 @@ -30,6 +30,7 @@ #include "console-tty-impl.h" #include "console-stream.h" +#include "elhash.h" #include "faces.h" #include "file-coding.h" #include "frame.h" @@ -49,6 +50,8 @@ Lisp_Object Qterminal_type; Lisp_Object Qcontrolling_process; +Lisp_Object Vtty_seen_characters; + static const struct memory_description tty_console_data_description_1 [] = { { XD_LISP_OBJECT, offsetof (struct tty_console, terminal_type) }, { XD_LISP_OBJECT, offsetof (struct tty_console, instream) }, @@ -344,6 +347,56 @@ return stream_canonicalize_console_connection (connection, errb); } +static Lisp_Object +tty_perhaps_init_unseen_key_defaults (struct console *UNUSED(con), + Lisp_Object key) +{ + Ichar val; + extern Lisp_Object Vcurrent_global_map; + + if (SYMBOLP(key)) + { + /* We've no idea what to default an unknown symbol to on the TTY. */ + return Qnil; + } + + CHECK_CHAR(key); + + if (!(HASH_TABLEP(Vtty_seen_characters))) + { + /* All the keysyms we deal with are character objects; therefore, we + can use eq as the test without worrying. */ + Vtty_seen_characters = make_lisp_hash_table (128, HASH_TABLE_NON_WEAK, + HASH_TABLE_EQ); + } + + /* Might give the user an opaque error if make_lisp_hash_table fails, + but it won't crash. */ + CHECK_HASH_TABLE(Vtty_seen_characters); + + val = XCHAR(key); + + /* Same logic as in x_has_keysym; I'm not convinced it's always sane. */ + if (val < 0x80) + { + return Qnil; + } + + if (!NILP(Fgethash(key, Vtty_seen_characters, Qnil))) + { + return Qnil; + } + + if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil))) + { + Fputhash(key, Qt, Vtty_seen_characters); + Fdefine_key (Vcurrent_global_map, key, Qself_insert_command); + return Qt; + } + + return Qnil; +} + /************************************************************************/ /* initialization */ @@ -377,6 +430,7 @@ CONSOLE_HAS_METHOD (tty, canonicalize_device_connection); CONSOLE_HAS_METHOD (tty, semi_canonicalize_console_connection); CONSOLE_HAS_METHOD (tty, semi_canonicalize_device_connection); + CONSOLE_HAS_METHOD (tty, perhaps_init_unseen_key_defaults); } void @@ -397,5 +451,9 @@ void vars_of_console_tty (void) { + DEFVAR_LISP ("tty-seen-characters", &Vtty_seen_characters /* +Hash table of non-ASCII characters the TTY subsystem has seen. +*/ ); + Vtty_seen_characters = Qnil; Fprovide (Qtty); } diff --text -u 'xemacs-21.5.21/src/console-x.c' 'xemacs-21.5.22/src/console-x.c' Index: ./src/console-x.c --- ./src/console-x.c Tue Sep 21 04:19:36 2004 +++ ./src/console-x.c Wed Jun 29 18:47:35 2005 @@ -31,13 +31,18 @@ #include "lisp.h" #include "buffer.h" +#include "device.h" +#include "elhash.h" #include "process.h" /* canonicalize_host_name */ #include "redisplay.h" /* for display_arg */ +#include "device-impl.h" #include "console-x-impl.h" DEFINE_CONSOLE_TYPE (x); +extern void x_has_keysym (KeySym, Lisp_Object, int); + static int x_initially_selected_for_input (struct console *UNUSED (con)) { @@ -296,6 +301,70 @@ RETURN_UNGCPRO (concat2 (connection, screen_str)); } +/* Given a key, if it maps to a character and we weren't previously aware + that it could be generated on console CON, and if it's unbound in the + global map, bind it to self-insert-command. Return Qt if the binding was + done; Qnil if not. */ + +static Lisp_Object +x_perhaps_init_unseen_key_defaults (struct console *con, Lisp_Object key) +{ + KeySym xkeysym; + const Extbyte *keysym_ext; + Lisp_Object key_name, previous_binding = Qnil; + extern Lisp_Object Qcharacter_of_keysym, Vcurrent_global_map; + + /* Getting the device exactly right is not horrendously important; as long + as it's an X11 device it should be okay, because the global keymap (and + whether the key is bound) _is_ global, and any previously seen keysym + will already be bound, or not, in it. However, there is a corner case + where a symbol has been typed, and then explicitly unbound; if the next + event using that symbol comes in on some other frame, it'll get bound + again. This is not realistically an issue. */ + struct device *d = XDEVICE(con->selected_device); + + if (SYMBOLP (key)) + { + key_name = symbol_name(XSYMBOL(key)); + } + else + { + Ibyte buf[MAX_ICHAR_LEN + 1]; + CHECK_CHAR(key); + + buf[set_itext_ichar(buf, XCHAR(key))] = '\0'; + key_name = build_intstring (buf); + + /* We need to do the lookup and compare later, because we can't check + the Qcharacter_of_keysym property belonging to an actual character. */ + previous_binding = Flookup_key (Vcurrent_global_map, key, Qnil); + } + + if (!NILP(Fgethash(key, DEVICE_X_KEYSYM_MAP_HASH_TABLE (d), Qnil))) + { + return Qnil; + } + + LISP_STRING_TO_EXTERNAL (key_name, keysym_ext, Qctext); + xkeysym = XStringToKeysym(keysym_ext); + if (NoSymbol == xkeysym) + { + return Qnil; + } + + x_has_keysym(xkeysym, DEVICE_X_KEYSYM_MAP_HASH_TABLE (d), 0); + + if (SYMBOLP(key)) + { + return NILP(Fget (key, Qcharacter_of_keysym, Qnil)) ? Qnil : Qt; + } + else + { + return EQ(previous_binding, Flookup_key(Vcurrent_global_map, key, Qnil)) + ? Qnil : Qt; + } +} + void console_type_create_x (void) { @@ -307,6 +376,7 @@ CONSOLE_HAS_METHOD (x, canonicalize_device_connection); CONSOLE_HAS_METHOD (x, device_to_console_connection); CONSOLE_HAS_METHOD (x, initially_selected_for_input); + CONSOLE_HAS_METHOD (x, perhaps_init_unseen_key_defaults); } diff --text -u 'xemacs-21.5.21/src/depend' 'xemacs-21.5.22/src/depend' Index: ./src/depend --- ./src/depend Sat Apr 9 08:11:21 2005 +++ ./src/depend Tue Jul 5 06:51:08 2005 @@ -15,7 +15,7 @@ #endif #if defined(HAVE_MS_WINDOWS) -console-msw.o: $(LISP_H) conslots.h console-impl.h console-msw-impl.h console-msw.h console.h events.h intl-auto-encap-win32.h opaque.h systime.h syswindows.h +console-msw.o: $(LISP_H) conslots.h console-impl.h console-msw-impl.h console-msw.h console.h elhash.h events.h intl-auto-encap-win32.h opaque.h systime.h syswindows.h device-msw.o: $(LISP_H) charset.h conslots.h console-impl.h console-msw-impl.h console-msw.h console-stream.h console.h device-impl.h device.h devslots.h events.h faces.h frame.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h sysdep.h systime.h syswindows.h dialog-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h frame-impl.h frame.h frameslots.h gui.h intl-auto-encap-win32.h opaque.h redisplay.h sysfile.h syswindows.h dired-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h console-msw.h console.h intl-auto-encap-win32.h ndir.h regex.h syntax.h sysdir.h sysfile.h sysfloat.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h @@ -40,7 +40,7 @@ EmacsShell.o: $(CONFIG_H) EmacsShell.h ExternalShell.h xintrinsicp.h balloon-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h balloon_help.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h xintrinsic.h balloon_help.o: $(CONFIG_H) balloon_help.h compiler.h xintrinsic.h -console-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-x-impl.h console-x.h console.h process.h redisplay.h xintrinsic.h +console-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h elhash.h process.h redisplay.h xintrinsic.h device-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h glyphs-x.h glyphs.h objects-x.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysdll.h sysfile.h systime.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmu.h dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-impl.h console-x-impl.h console-x.h console.h events.h frame-impl.h frame.h frameslots.h gui.h opaque.h redisplay.h scrollbar.h systime.h window.h xintrinsic.h frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h glyphs-x.h glyphs.h gutter.h objects-impl.h objects-x-impl.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h xmu.h @@ -56,7 +56,7 @@ xgccache.o: $(LISP_H) hash.h xgccache.h #endif #if defined(HAVE_TTY) -console-tty.o: $(LISP_H) charset.h coding-system-slots.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h faces.h file-coding.h frame.h glyphs.h lstream.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systty.h window-impl.h window.h winslots.h +console-tty.o: $(LISP_H) charset.h coding-system-slots.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h elhash.h faces.h file-coding.h frame.h glyphs.h lstream.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systty.h window-impl.h window.h winslots.h device-tty.o: $(LISP_H) charset.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h events.h faces.h frame.h lstream.h redisplay.h sysdep.h sysfile.h syssignal.h systime.h systty.h event-tty.o: $(LISP_H) conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h events.h frame.h process.h redisplay.h sysproc.h syssignal.h systime.h systty.h syswait.h frame-tty.o: $(LISP_H) conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h events.h frame-impl.h frame.h frameslots.h redisplay.h systime.h systty.h @@ -64,7 +64,7 @@ redisplay-tty.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h events.h faces.h frame-impl.h frame.h frameslots.h glyphs.h lstream.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h window-impl.h window.h winslots.h #endif #if defined(HAVE_GTK) -console-gtk.o: $(LISP_H) conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h process.h redisplay.h +console-gtk.o: $(LISP_H) charset.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h elhash.h process.h redisplay.h device-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gtk-xemacs.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h window-impl.h window.h winslots.h dialog-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h events.h frame.h gui.h opaque.h redisplay.h scrollbar.h systime.h window.h emacs-marshals.o: hash.h @@ -247,7 +247,7 @@ unexconvex.o: $(CONFIG_H) compiler.h getpagesize.h unexcw.o: $(LISP_H) sysfile.h unexec.o: $(LISP_H) getpagesize.h -unexelf.o: $(CONFIG_H) compiler.h +unexelf.o: $(LISP_H) unexelfsgi.o: $(CONFIG_H) compiler.h unexencap.o: compiler.h unexenix.o: $(CONFIG_H) compiler.h diff --text -u 'xemacs-21.5.21/src/device-gtk.c' 'xemacs-21.5.22/src/device-gtk.c' Index: ./src/device-gtk.c --- ./src/device-gtk.c Tue Sep 21 04:19:37 2004 +++ ./src/device-gtk.c Mon Jun 27 03:05:03 2005 @@ -65,6 +65,8 @@ Lisp_Object Vgtk_initial_argv_list; /* #### ugh! */ Lisp_Object Vgtk_initial_geometry; +Lisp_Object Qgtk_seen_characters; + static void gtk_device_init_x_specific_cruft (struct device *d); static const struct memory_description gtk_device_data_description_1 [] = { @@ -729,6 +731,8 @@ Vgtk_initial_geometry = Qnil; Vgtk_initial_argv_list = Qnil; + + Qgtk_seen_characters = Qnil; } #include diff --text -u 'xemacs-21.5.21/src/device-x.c' 'xemacs-21.5.22/src/device-x.c' Index: ./src/device-x.c --- ./src/device-x.c Fri Mar 25 10:00:34 2005 +++ ./src/device-x.c Mon Jun 27 03:05:03 2005 @@ -1812,6 +1812,14 @@ - if keysym is a string, it must be the name as known to X windows. - if keysym is a symbol, it must be the name as known to XEmacs. The two names differ in capitalization and underscoring. + +This function is not entirely trustworthy, in that Xlib compose processing +can produce keysyms that XEmacs will not have seen when it examined the +keysyms available on startup. So pressing `dead-diaeresis' and then 'a' may +pass `adiaeresis' to XEmacs, or (in some implementations) even `U00E4', +where `(x-keysym-on-keyboard-p 'adiaeresis)' and `(x-keysym-on-keyboard-p +'U00E4)' would both have returned nil. Subsequent to XEmacs seeing a keysym +it was previously unaware of, the predicate will take note of it, though. */ (keysym, device)) { @@ -2108,7 +2116,7 @@ If this variable is nil on startup, the application uses `XEmacs'. Versions previous to 21.5.21 examined the resource database and used `XEmacs' if any resources beginning with that string existed, and `Emacs' otherwise, for -greated backward compatibility. However, this has always tended to conflict +greater backward compatibility. However, this has always tended to conflict with GNU Emacs, so this behavior is deprecated--in the short term, you can restore it in a post-21.5.21 XEmacs by setting the USE_EMACS_AS_DEFAULT_APPLICATION_CLASS environment variable to some value, diff --text -u 'xemacs-21.5.21/src/dumper.c' 'xemacs-21.5.22/src/dumper.c' Index: ./src/dumper.c --- ./src/dumper.c Mon May 16 01:38:12 2005 +++ ./src/dumper.c Thu Jun 23 20:48:47 2005 @@ -2149,7 +2149,7 @@ count = 2; for (;;) { - int elt_count = PDUMP_READ_ALIGNED (p, int); + EMACS_INT elt_count = PDUMP_READ_ALIGNED (p, EMACS_INT); if (elt_count) { Rawbyte *mc_addr = 0; diff --text -u 'xemacs-21.5.21/src/editfns.c' 'xemacs-21.5.22/src/editfns.c' Index: ./src/editfns.c --- ./src/editfns.c Mon Dec 6 12:52:03 2004 +++ ./src/editfns.c Mon Jul 18 05:08:47 2005 @@ -113,7 +113,7 @@ Lisp_Object ch2 = Fevent_to_character (character, Qt, Qnil, Qnil); if (NILP (ch2)) invalid_argument - ("character has no ASCII equivalent:", Fcopy_event (character, Qnil)); + ("key has no character equivalent:", Fcopy_event (character, Qnil)); character = ch2; } diff --text -u 'xemacs-21.5.21/src/event-Xt.c' 'xemacs-21.5.22/src/event-Xt.c' Index: ./src/event-Xt.c --- ./src/event-Xt.c Tue Mar 29 11:59:21 2005 +++ ./src/event-Xt.c Mon Jul 4 06:48:00 2005 @@ -71,7 +71,9 @@ extern int mswindows_is_blocking; #endif -EXFUN (Funicode_to_char, 2); /* In unicode.c. */ +/* For Russian C-x processing. */ +#define FIRST_ALPHABETIC_QWERTY_KEYCODE 24 +#define LAST_ALPHABETIC_QWERTY_KEYCODE 58 /* used in glyphs-x.c */ void enqueue_focus_event (Widget wants_it, Lisp_Object frame, int in_p); @@ -125,7 +127,6 @@ static int last_quit_check_signal_tick_count; -Lisp_Object Qkey_mapping; Lisp_Object Qsans_modifiers; #define THIS_IS_X @@ -136,204 +137,26 @@ /* keymap handling */ /************************************************************************/ -/* X bogusly doesn't define the interpretations of any bits besides - ModControl, ModShift, and ModLock; so the Interclient Communication - Conventions Manual says that we have to bend over backwards to figure - out what the other modifier bits mean. According to ICCCM: - - - Any keycode which is assigned ModControl is a "control" key. - - - Any modifier bit which is assigned to a keycode which generates Meta_L - or Meta_R is the modifier bit meaning "meta". Likewise for Super, Hyper, - etc. - - - Any keypress event which contains ModControl in its state should be - interpreted as a "control" character. - - - Any keypress event which contains a modifier bit in its state which is - generated by a keycode whose corresponding keysym is Meta_L or Meta_R - should be interpreted as a "meta" character. Likewise for Super, Hyper, - etc. - - - It is illegal for a keysym to be associated with more than one modifier - bit. - - This means that the only thing that emacs can reasonably interpret as a - "meta" key is a key whose keysym is Meta_L or Meta_R, and which generates - one of the modifier bits Mod1-Mod5. - - Unfortunately, many keyboards don't have Meta keys in their default - configuration. So, if there are no Meta keys, but there are "Alt" keys, - emacs will interpret Alt as Meta. If there are both Meta and Alt keys, - then the Meta keys mean "Meta", and the Alt keys mean "Alt" (it used to - mean "Symbol," but that just confused the hell out of way too many people). - - This works with the default configurations of the 19 keyboard-types I've - checked. - - Emacs detects keyboard configurations which violate the above rules, and - prints an error message on the standard-error-output. (Perhaps it should - use a pop-up-window instead.) - */ - -/* For every key on the keyboard that has a known character correspondence, - we define the ascii-character property of the keysym, and make the - default binding for the key be self-insert-command. - - The following magic is basically intimate knowledge of X11/keysymdef.h. - The keysym mappings defined by X11 are based on the iso8859 standards, - except for Cyrillic and Greek. - - In a non-Mule world, a user can still have a multi-lingual editor, by doing - (set-face-font "...-iso8859-2" (current-buffer)) - for all their Latin-2 buffers, etc. */ - -static Lisp_Object -x_keysym_to_character (KeySym keysym) -{ -#ifdef MULE - Lisp_Object charset = Qzero; -#define USE_CHARSET(var,cs) \ - ((var) = charset_by_leading_byte (LEADING_BYTE_##cs)) -#else -#define USE_CHARSET(var,lb) -#endif /* MULE */ - int code = 0; - - if ((keysym & 0xff) < 0xa0) - return Qnil; - - /* The spec says keysyms in the range #x01000100 to #x0110FFFF and - only those should correspond directly to Unicode code points, in - the range #x100-#x10FFFF; actual implementations can have the Latin - 1 code points do the same thing with keysyms - #x010000A0-#x01000100. Oops. */ - - if (keysym >= 0x010000A0 && keysym <= 0x0110FFFF) - return Funicode_to_char (make_int(keysym & 0xffffff), Qnil); - - switch (keysym >> 8) - { - case 0: /* ASCII + Latin1 */ - USE_CHARSET (charset, LATIN_ISO8859_1); - code = keysym & 0x7f; - break; - case 1: /* Latin2 */ - USE_CHARSET (charset, LATIN_ISO8859_2); - code = keysym & 0x7f; - break; - case 2: /* Latin3 */ - USE_CHARSET (charset, LATIN_ISO8859_3); - code = keysym & 0x7f; - break; - case 3: /* Latin4 */ - USE_CHARSET (charset, LATIN_ISO8859_4); - code = keysym & 0x7f; - break; - case 4: /* Katakana */ - USE_CHARSET (charset, KATAKANA_JISX0201); - if ((keysym & 0xff) > 0xa0) - code = keysym & 0x7f; - break; - case 5: /* Arabic */ - USE_CHARSET (charset, ARABIC_ISO8859_6); - code = keysym & 0x7f; - break; - case 6: /* Cyrillic */ - { - static unsigned char const cyrillic[] = /* 0x20 - 0x7f */ - {0x00, 0x72, 0x73, 0x71, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x00, 0x7e, 0x7f, - 0x70, 0x22, 0x23, 0x21, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x00, 0x2e, 0x2f, - 0x6e, 0x50, 0x51, 0x66, 0x54, 0x55, 0x64, 0x53, - 0x65, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, - 0x5f, 0x6f, 0x60, 0x61, 0x62, 0x63, 0x56, 0x52, - 0x6c, 0x6b, 0x57, 0x68, 0x6d, 0x69, 0x67, 0x6a, - 0x4e, 0x30, 0x31, 0x46, 0x34, 0x35, 0x44, 0x33, - 0x45, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, - 0x3f, 0x4f, 0x40, 0x41, 0x42, 0x43, 0x36, 0x32, - 0x4c, 0x4b, 0x37, 0x48, 0x4d, 0x49, 0x47, 0x4a}; - USE_CHARSET (charset, CYRILLIC_ISO8859_5); - code = cyrillic[(keysym & 0x7f) - 0x20]; - break; - } - case 7: /* Greek */ - { - static unsigned char const greek[] = /* 0x20 - 0x7f */ - {0x00, 0x36, 0x38, 0x39, 0x3a, 0x5a, 0x00, 0x3c, - 0x3e, 0x5b, 0x00, 0x3f, 0x00, 0x00, 0x35, 0x2f, - 0x00, 0x5c, 0x5d, 0x5e, 0x5f, 0x7a, 0x40, 0x7c, - 0x7d, 0x7b, 0x60, 0x7e, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, - 0x50, 0x51, 0x53, 0x00, 0x54, 0x55, 0x56, 0x57, - 0x58, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x73, 0x72, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - USE_CHARSET (charset, GREEK_ISO8859_7); - code = greek[(keysym & 0x7f) - 0x20]; - break; - } - case 8: /* Technical */ - break; - case 9: /* Special */ - break; - case 10: /* Publishing */ - break; - case 11: /* APL */ - break; - case 12: /* Hebrew */ - USE_CHARSET (charset, HEBREW_ISO8859_8); - code = keysym & 0x7f; - break; - case 13: /* Thai */ - /* #### This needs to deal with character composition. */ - USE_CHARSET (charset, THAI_TIS620); - code = keysym & 0x7f; - break; - case 14: /* Korean Hangul */ - break; - case 19: /* Latin 9 - ISO8859-15 - unsupported charset. */ - break; - case 32: /* Currency */ - break; - default: - break; - } - - if (code == 0) - return Qnil; - -#ifdef MULE - return make_char (make_ichar (charset, code, 0)); -#else - return make_char (code + 0x80); -#endif -} - -/* See comment near character_to_event(). -*/ +/* See comment near character_to_event(). */ static void -maybe_define_x_key_as_self_inserting_character (KeySym keysym, Lisp_Object symbol) +maybe_define_x_key_as_self_inserting_character (KeySym keysym, + Lisp_Object symbol) { Lisp_Object character = x_keysym_to_character (keysym); if (CHARP (character)) { extern Lisp_Object Vcurrent_global_map; - extern Lisp_Object Qascii_character; + extern Lisp_Object Qcharacter_of_keysym; if (NILP (Flookup_key (Vcurrent_global_map, symbol, Qnil))) { - Fput (symbol, Qascii_character, character); + Fput (symbol, Qcharacter_of_keysym, character); Fdefine_key (Vcurrent_global_map, symbol, Qself_insert_command); } } } -static void +void x_has_keysym (KeySym keysym, Lisp_Object hash_table, int with_modifiers) { KeySym upper_lower[2]; @@ -355,7 +178,7 @@ for (j = 0; j < (upper_lower[0] == upper_lower[1] ? 1 : 2); j++) { - char *name; + Extbyte *name; keysym = upper_lower[j]; name = XKeysymToString (keysym); @@ -371,7 +194,8 @@ EQ (new_value, Qt))) { maybe_define_x_key_as_self_inserting_character (keysym, sym); - Fputhash (build_ext_string (name, Qbinary), new_value, hash_table); + Fputhash (build_ext_string (name, Qbinary), new_value, + hash_table); Fputhash (sym, new_value, hash_table); } } @@ -426,7 +250,7 @@ } } -static const char * +static const Ascbyte * index_to_name (int indice) { switch (indice) @@ -443,18 +267,43 @@ } } -/* Boy, I really wish C had local functions... */ -struct c_doesnt_have_closures /* #### not yet used */ -{ - int warned_about_overlapping_modifiers; - int warned_about_predefined_modifiers; - int warned_about_duplicate_modifiers; - int meta_bit; - int hyper_bit; - int super_bit; - int alt_bit; - int mode_bit; -}; +/* X bogusly doesn't define the interpretations of any bits besides + ModControl, ModShift, and ModLock; so the Interclient Communication + Conventions Manual says that we have to bend over backwards to figure + out what the other modifier bits mean. According to ICCCM: + + - Any keycode which is assigned ModControl is a "control" key. + + - Any modifier bit which is assigned to a keycode which generates Meta_L + or Meta_R is the modifier bit meaning "meta". Likewise for Super, Hyper, + etc. + + - Any keypress event which contains ModControl in its state should be + interpreted as a "control" character. + + - Any keypress event which contains a modifier bit in its state which is + generated by a keycode whose corresponding keysym is Meta_L or Meta_R + should be interpreted as a "meta" character. Likewise for Super, Hyper, + etc. + + - It is illegal for a keysym to be associated with more than one modifier + bit. + + This means that the only thing that emacs can reasonably interpret as a + "meta" key is a key whose keysym is Meta_L or Meta_R, and which generates + one of the modifier bits Mod1-Mod5. + + Unfortunately, many keyboards don't have Meta keys in their default + configuration. So, if there are no Meta keys, but there are "Alt" keys, + emacs will interpret Alt as Meta. If there are both Meta and Alt keys, + then the Meta keys mean "Meta", and the Alt keys mean "Alt" (it used to + mean "Symbol," but that just confused the hell out of way too many people). + + This works with the default configurations of the 19 keyboard-types I've + checked. + + Emacs detects keyboard configurations which violate the above rules, and + gives a warning. */ static void x_reset_modifier_mapping (struct device *d) @@ -581,7 +430,7 @@ be totally wrong. */ if (mode_bit) { - const char *warn = 0; + const Ascbyte *warn = 0; if (mode_bit == meta_bit) warn = "Meta", meta_bit = 0; else if (mode_bit == hyper_bit) warn = "Hyper", hyper_bit = 0; else if (mode_bit == super_bit) warn = "Super", super_bit = 0; @@ -893,7 +742,9 @@ static Lisp_Object x_keysym_to_emacs_keysym (KeySym keysym, int simple_p) { - char *name; + Extbyte *name; + DECLARE_EISTRING(einame); + if (keysym >= XK_exclam && keysym <= XK_asciitilde) /* We must assume that the X keysym numbers for the ASCII graphic characters are the same as their ASCII codes. */ @@ -914,7 +765,6 @@ case 0: return Qnil; default: if (simple_p) return Qnil; - /* !!#### not Mule-ized */ name = XKeysymToString (keysym); if (!name || !name[0]) /* This happens if there is a mismatch between the Xlib of @@ -942,35 +792,40 @@ case 0x1005FF11: return KEYSYM ("SunF37"); /* labeled F12 */ default: { - char buf [64]; + Ascbyte buf [64]; sprintf (buf, "unknown-keysym-0x%X", (int) keysym); return KEYSYM (buf); } } + /* If it's got a one-character name, that's good enough. */ if (!name[1]) - return make_char (name[0]); + return make_char ((Ichar)name[0]); + + /* In theory the Host Portable Character Set is just ASCII, but + trusting X11 implementors to get that right is likely to lead to + tears. */ + eicpy_ext(einame, name, Qbinary); /* If it's in the "Keyboard" character set, downcase it. The case of those keysyms is too totally random for us to force anyone to remember them. - The case of the other character sets is significant, however. - */ + The case of the other character sets is significant, however. */ if ((((unsigned int) keysym) & (~0x1FF)) == ((unsigned int) 0xFE00)) { - char buf [255]; - char *s1, *s2; - for (s1 = name, s2 = buf; *s1; s1++, s2++) { - if (*s1 == '_') { - *s2 = '-'; - } else { - *s2 = tolower (* (unsigned char *) s1); + Ibyte *iname; + eilwr(einame); + + for (iname = eidata(einame); *iname != '\0';) + { + if (*iname == '_') + { + *iname = '-'; + } + INC_IBYTEPTR(iname); } - } - *s2 = 0; - return KEYSYM (buf); } - return KEYSYM (name); + return KEYSYM ((const CIbyte *) eidata (einame)); } } @@ -1139,8 +994,14 @@ struct x_device *xd = DEVICE_X_DATA (d); if (DEVICE_X_BEING_DELETED (d)) - /* #### Uh, is this 0 correct? */ - return 0; + { + /* [[ Uh, is this 0 correct? ]] + + Yup--it means emacs_Xt_event_handler, the only place that calls + this, doesn't queue the emacs_event dispatch, instead immediately + deallocating it. */ + return 0; + } set_last_server_timestamp (d, x_event); @@ -1243,9 +1104,22 @@ the keysym) if the keysym isn't a dual-case alphabetic, and if the caps lock key was down but the shift key wasn't, then turn off the shift modifier. Gag barf */ + /* #### type lossage: assuming equivalence of emacs and - X keysyms */ - /* !!#### maybe fix for Mule */ + X keysyms + + The right thing to do here is to have pass a third, pointer, + argument to x_to_emacs_keysym, where it should store the + intermediate KeySym it used to calculate the string XEmacs + keysym. Then we can call keysym_obeys_caps_lock_p with + exactly the right argument. */ + /* !!#### maybe fix for Mule + + Hard, in the absence of a full case infrastructure for + Mule characters. When + (downcase (make-char 'cyrillic-iso8859-5 73)) + works, we should revisit it. */ + if (lock_p && !shift_p && ! (CHAR_OR_CHAR_INTP (keysym) && keysym_obeys_caps_lock_p @@ -1274,6 +1148,29 @@ SET_EVENT_TIMESTAMP (emacs_event, ev->time); SET_EVENT_KEY_MODIFIERS (emacs_event, modifiers); SET_EVENT_KEY_KEYSYM (emacs_event, keysym); + + if (ev->keycode >= FIRST_ALPHABETIC_QWERTY_KEYCODE + && ev->keycode <= LAST_ALPHABETIC_QWERTY_KEYCODE) + { + /* This correspondence isn't guaranteed by the standards, to + my knowledge. Also, it's incomplete--doesn't include the + upper-case characters, etc--I need to get some feedback + on it once this is out in the world and actually being + used by Russians. */ + static const Ascbyte qwerty_map[] = + { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', + '[', ']', '\015', '\014', + 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', + ';', '\'', '`', 0, '\\', + 'z', 'x', 'c', 'v', 'b', 'n', 'm' }; + Ichar val = qwerty_map + [ev->keycode - FIRST_ALPHABETIC_QWERTY_KEYCODE]; + if (val) + { + SET_EVENT_KEY_ALT_KEYCHARS(emacs_event, KEYCHAR_QWERTY, + val); + } + } } else /* Mouse press/release event */ { @@ -3186,7 +3083,6 @@ void syms_of_event_Xt (void) { - DEFSYMBOL (Qkey_mapping); DEFSYMBOL (Qsans_modifiers); DEFSYMBOL (Qself_insert_command); } diff --text -u 'xemacs-21.5.21/src/event-gtk.c' 'xemacs-21.5.22/src/event-gtk.c' Index: ./src/event-gtk.c --- ./src/event-gtk.c Tue Jan 25 08:33:52 2005 +++ ./src/event-gtk.c Mon Jul 4 06:48:00 2005 @@ -94,7 +94,6 @@ static int last_quit_check_signal_tick_count; -Lisp_Object Qkey_mapping; Lisp_Object Qsans_modifiers; /* @@ -1627,7 +1626,6 @@ void syms_of_event_gtk (void) { - DEFSYMBOL (Qkey_mapping); DEFSYMBOL (Qsans_modifiers); } diff --text -u 'xemacs-21.5.21/src/event-msw.c' 'xemacs-21.5.22/src/event-msw.c' Index: ./src/event-msw.c --- ./src/event-msw.c Fri Jan 28 11:36:24 2005 +++ ./src/event-msw.c Mon Jun 27 03:05:04 2005 @@ -2774,7 +2774,6 @@ mods_with_quit); } /* while */ -#ifdef MULE /* Also figure out what the character would be in other possible keyboard layouts, in this order: @@ -2912,7 +2911,6 @@ } } } -#endif /* MULE */ /* This generates WM_SYSCHAR messages, which are interpreted by DefWindowProc as the menu selections. */ diff --text -u 'xemacs-21.5.21/src/event-stream.c' 'xemacs-21.5.22/src/event-stream.c' Index: ./src/event-stream.c --- ./src/event-stream.c Sat Apr 9 08:11:23 2005 +++ ./src/event-stream.c Mon Jul 18 05:08:48 2005 @@ -128,6 +128,9 @@ /* Modifier keys are sticky for this many milliseconds. */ Lisp_Object Vmodifier_keys_sticky_time; +/* If true, "Russian C-x processing" is enabled. */ +int try_alternate_layouts_for_commands; + /* Here FSF Emacs 20.7 defines Vpost_command_idle_hook, post_command_idle_delay, Vdeferred_action_list, and Vdeferred_action_function, but we don't because that stuff is crap, @@ -215,11 +218,6 @@ Lisp_Object Vretry_undefined_key_binding_unshifted; Lisp_Object Qretry_undefined_key_binding_unshifted; -#ifdef MULE -/* If composed input is undefined, use self-insert-char */ -Lisp_Object Vcomposed_character_default_binding; -#endif - /* Console that corresponds to our controlling terminal */ Lisp_Object Vcontrolling_terminal; @@ -3169,7 +3167,7 @@ if (EQ (Fhash_table_count (Vkeyboard_translate_table), Qzero)) return; - c = event_to_character (event, 0, 0, 0); + c = event_to_character (event, 0, 0); if (c != -1) { Lisp_Object traduit = Fgethash (make_char (c), Vkeyboard_translate_table, @@ -3315,12 +3313,14 @@ return Qnil; } -/* Same as command_builder_find_leaf() below but no Russian C-x - processing and no defaulting to self-insert-command. - */ +/* Same as command_builder_find_leaf() below, but without offering the + platform-specific event code the opportunity to give a default binding of + an unseen keysym to self-insert-command, and without the fallback to + other keymaps for lookups that allows someone with a Cyrillic keyboard + to pretend it's Qwerty for C-x C-f, for example. */ static Lisp_Object -command_builder_find_leaf_no_mule_processing (struct command_builder *builder, +command_builder_find_leaf_no_jit_binding (struct command_builder *builder, int allow_misc_user_events_p, int *did_munge) { @@ -3397,7 +3397,7 @@ GCPRO1 (neubauten); downshift_event (event_chain_tail (neub->current_events)); result = - command_builder_find_leaf_no_mule_processing + command_builder_find_leaf_no_jit_binding (neub, allow_misc_user_events_p, did_munge); if (!NILP (result)) @@ -3442,7 +3442,42 @@ DID_MUNGE must be initialized before calling this function. If munging happened, DID_MUNGE will be non-zero; otherwise, it will be left alone. - */ + + (The above was Ben, I think.) + + It might be nice to have lookup-key call this function, directly or + indirectly. Though it is arguably the right thing if lookup-key fails on + a keysym that the X11 event code hasn't seen. There's no way to know if + that keysym is generatable by the keyboard until it's generated, + therefore there's no reasonable expectation that it be bound before it's + generated--all the other default bindings depend on our knowing the + keyboard layout and relying on it. And describe-key works without it, so + I think we're fine. + + Some weirdness with this code--try this on a keyboard where X11 will + produce ediaeresis with dead-diaeresis and e, but it's not produced by + any other combination of keys on the keyboard; + + (defun ding-command () + (interactive) + (ding)) + + (define-key global-map 'ediaeresis 'ding-command) + + Now, pressing dead-diaeresis and then e will ding. Next; + + (define-key global-map 'ediaeresis 'self-insert-command) + + and press dead-diaeresis and then e. It'll give you "Invalid argument: + typed key has no ASCII equivalent" Then; + + (define-key global-map 'ediaeresis nil) + + and press the combination again; it'll self-insert. The moral of the + story is, if you want to suppress all bindings to a non-ASCII X11 key, + bind it to a trivial no-op command, because the automatic mapping to + self-insert-command will happen if there's no existing binding for the + symbol. I can't see a way around this. -- Aidan Kehoe, 2005-05-14 */ static Lisp_Object command_builder_find_leaf (struct command_builder *builder, @@ -3450,24 +3485,145 @@ int *did_munge) { Lisp_Object result = - command_builder_find_leaf_no_mule_processing + command_builder_find_leaf_no_jit_binding (builder, allow_misc_user_events_p, did_munge); + Lisp_Object event, console, channel, lookup_res; + int redolookup = 0, i; if (!NILP (result)) return result; -#ifdef MULE - /* #### Do Russian C-x processing here */ + /* If some of the events are keyboard events, and this is the first time + the platform event code has seen their keysyms--which will be the case + the first time we see a composed keysym on X11, for example--offer it + the chance to define them as a self-insert-command, and do the lookup + again. + + This isn't Mule-specific; in a world where x-iso8859-1.el is gone, it's + needed for non-Mule too. + + Probably this can just be limited to the checking the last + keypress. */ + + EVENT_CHAIN_LOOP (event, builder->current_events) + { + /* We can ignore key release events because the preceding presses will + have initiated the mapping. */ + if (key_press_event != XEVENT_TYPE (event)) + continue; - /* If keysym is a non-ASCII char, bind it to self-insert-char by default. */ - if (XEVENT_TYPE (builder->most_current_event) == key_press_event - && !NILP (Vcomposed_character_default_binding)) + channel = XEVENT_CHANNEL (event); + if (object_dead_p (channel)) + continue; + + console = CDFW_CONSOLE (channel); + if (NILP (console)) + console = Vselected_console; + + if (CONSOLE_LIVE_P(XCONSOLE(console))) + { + lookup_res = MAYBE_LISP_CONMETH(XCONSOLE(console), + perhaps_init_unseen_key_defaults, + (XCONSOLE(console), + XEVENT_KEY_KEYSYM(event))); + if (EQ(lookup_res, Qt)) + { + redolookup += 1; + } + } + } + + if (redolookup) { - Lisp_Object keysym = XEVENT_KEY_KEYSYM (builder->most_current_event); - if (CHARP (keysym) && !ichar_ascii_p (XCHAR (keysym))) - return Vcomposed_character_default_binding; + result = command_builder_find_leaf_no_jit_binding + (builder, allow_misc_user_events_p, did_munge); + if (!NILP (result)) + { + return result; + } + } + + /* The old composed-character-default-binding handling that used to be + here was wrong--if a user wants to bind a given key to something other + than self-insert-command, then they should go ahead and do it, we won't + override it, and the sane thing to do with any key that has a known + character correspondence is _always_ to default it to + self-insert-command, nothing else. + + I'm adding the variable to control whether "Russian C-x processing" is + used because I have a feeling that it's not always the most appropriate + thing to do--in cases where people are using a non-Qwerty + Roman-alphabet layout, do they really want C-x with some random letter + to call `switch-to-buffer'? I can imagine that being very confusing, + certainly for new users, and it might be that defaulting the value for + `try-alternate-layouts-for-commands' as part of the language + environment is the right thing to do, only defaulting to `t' for those + languages that don't use the Roman alphabet. + + Much of that reasoning is tentative on my part, and feel free to change + this code if you have more experience with the problem and an intuition + that differs from mine. (Aidan Kehoe, 2005-05-29)*/ + + if (!try_alternate_layouts_for_commands) + { + return Qnil; + } + + if (key_press_event == XEVENT_TYPE (builder->most_current_event)) + { + Lisp_Object ev = builder->most_current_event, newbuilder; + Ichar this_alternative; + + struct command_builder *newb; + struct gcpro gcpro1; + + /* Ignore the value for CURRENT_LANGENV, because we've checked it + already, above. */ + for (i = KEYCHAR_CURRENT_LANGENV, ++i; i < KEYCHAR_LAST; ++i) + { + this_alternative = XEVENT_KEY_ALT_KEYCHARS(ev, i); + + if (0 == this_alternative) + continue; + + newbuilder = copy_command_builder(builder, 0); + GCPRO1(newbuilder); + + newb = XCOMMAND_BUILDER(newbuilder); + + XSET_EVENT_KEY_KEYSYM(event_chain_tail + (XCOMMAND_BUILDER(newbuilder)->current_events), + make_char(this_alternative)); + + result = command_builder_find_leaf_no_jit_binding + (newb, allow_misc_user_events_p, did_munge); + + if (!NILP (result)) + { + copy_command_builder (newb, builder); + *did_munge = 1; + } + else if (event_upshifted_p + (XCOMMAND_BUILDER(newbuilder)->most_current_event) && + !NILP (Vretry_undefined_key_binding_unshifted) + && isascii(this_alternative)) + { + downshift_event (event_chain_tail + (XCOMMAND_BUILDER(newbuilder)->current_events)); + XSET_EVENT_KEY_KEYSYM(event_chain_tail + (newb->current_events), + make_char(tolower(this_alternative))); + result = command_builder_find_leaf_no_jit_binding + (newb, allow_misc_user_events_p, did_munge); + } + + free_command_builder (newb); + UNGCPRO; + + if (!NILP (result)) + return result; + } } -#endif return Qnil; } @@ -5062,17 +5218,6 @@ */ ); Vmodifier_keys_sticky_time = make_int (500); -#ifdef MULE - DEFVAR_LISP ("composed-character-default-binding", - &Vcomposed_character_default_binding /* -The default keybinding to use for key events from composed input. -Window systems frequently have ways to allow the user to compose -single characters in a language using multiple keystrokes. -XEmacs sees these as single character keypress events. -*/ ); - Vcomposed_character_default_binding = Qself_insert_command; -#endif - Vcontrolling_terminal = Qnil; staticpro (&Vcontrolling_terminal); @@ -5118,13 +5263,32 @@ debug_emacs_events = 0; #endif - DEFVAR_BOOL ("inhibit-input-event-recording", &inhibit_input_event_recording /* + DEFVAR_BOOL ("inhibit-input-event-recording", + &inhibit_input_event_recording /* Non-nil inhibits recording of input-events to recent-keys ring. */ ); inhibit_input_event_recording = 0; Vkeyboard_translate_table = make_lisp_hash_table (100, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); + + DEFVAR_BOOL ("try-alternate-layouts-for-commands", + &try_alternate_layouts_for_commands /* +Non-nil means that if looking up a command from a sequence of keys typed by +the user would otherwise fail, try it again with some other keyboard +layout. On X11, the only alternative to the default mapping is American +QWERTY; on Windows, other mappings may be available, depending on things +like the default language environment for the current user, for the system, +&c. + +With a Russian keyboard layout on X11, for example, this means that +C-Cyrillic_che C-Cyrillic_a, if you haven't given that sequence a binding +yourself, will invoke `find-file.' This is because `Cyrillic_che' is +physically where `x' is, and `Cyrillic_a' is where `f' is, on an American +Qwerty layout, and, of course, C-x C-f is a default emacs binding for that +command. +*/ ); + try_alternate_layouts_for_commands = 1; } void diff --text -u 'xemacs-21.5.21/src/event-xlike-inc.c' 'xemacs-21.5.22/src/event-xlike-inc.c' Index: ./src/event-xlike-inc.c --- ./src/event-xlike-inc.c Fri Feb 7 20:50:53 2003 +++ ./src/event-xlike-inc.c Mon Jun 27 03:05:04 2005 @@ -27,6 +27,8 @@ included here, not in event-xlike.c. However, event-xlike.c is always X-specific, whereas the following code isn't, in the GTK case. */ +EXFUN (Funicode_to_char, 2); /* In unicode.c. */ + static int #ifdef THIS_IS_GTK emacs_gtk_event_pending_p (int how_many) @@ -159,3 +161,473 @@ return 0; } + +#if defined(THIS_IS_X) || !defined(__GDK_KEYS_H__) + +/* Use an appropriate map to Unicode within x_keysym_to_character. Arguments + are evaluated multiple times. + + Breaks if an X11 keysym maps to zero in Unicode. */ + +#define USE_UNICODE_MAP(keysym, map) \ + if (keysym >= FIRST_KNOWN_##map \ + && (keysym < (FIRST_KNOWN_##map + countof(map))) \ + && map[keysym - FIRST_KNOWN_##map ]) do \ + { \ + keysym -= FIRST_KNOWN_##map ; \ + return Funicode_to_char(make_int(map[keysym]), Qnil); \ + } while (0) + +/* Maps to Unicode for X11 KeySyms, where we don't have a direct internal + mapping based on a Mule character set, or whatever. Taken from Markus + Kuhn's X11.keysyms--if you're ever comparing with that file, note the + sequences of KeySyms often leave out entries, so you'll have to fill them + in. Doesn't include support for Hangul, which it should, if the X11 + Hangul keysyms have ever been used anywhere. + + I'm not #ifdef'ing this based on wheter MULE is defined, because it's a + matter of 324 bytes in a stripped executable, and I want the + testing. :-P */ + +static UINT_16_BIT const TECHNICAL[] = + { + 0x23B7, /* #x08A1 LEFT RADICAL Technical */ + +#define FIRST_KNOWN_TECHNICAL 0x8A1 + + 0x0, /* #x08A2 TOP LEFT RADICAL Technical */ + 0x0, /* #x08A3 HORIZONTAL CONNECTOR Technical */ + 0x2320, /* #x08A4 TOP INTEGRAL Technical */ + 0x2321, /* #x08A5 BOTTOM INTEGRAL Technical */ + 0x0, /* #x08A6 VERTICAL CONNECTOR Technical */ + 0x23A1, /* #x08A7 TOP LEFT SQUARE BRACKET Technical */ + 0x23A3, /* #x08A8 BOTTOM LEFT SQUARE BRACKET Technical */ + 0x23A4, /* #x08A9 TOP RIGHT SQUARE BRACKET Technical */ + 0x23A6, /* #x08AA BOTTOM RIGHT SQUARE BRACKET Technical */ + 0x239B, /* #x08AB TOP LEFT PARENTHESIS Technical */ + 0x239D, /* #x08AC BOTTOM LEFT PARENTHESIS Technical */ + 0x239E, /* #x08AD TOP RIGHT PARENTHESIS Technical */ + 0x23A0, /* #x08AE BOTTOM RIGHT PARENTHESIS Technical */ + 0x23A8, /* #x08AF LEFT MIDDLE CURLY BRACE Technical */ + 0x23AC, /* #x08B0 RIGHT MIDDLE CURLY BRACE Technical */ + 0x0, /* #x08B1 TOP LEFT SUMMATION Technical */ + 0x0, /* #x08B2 BOTTOM LEFT SUMMATION Technical */ + 0x0, /* #x08B3 TOP VERTICAL SUMMATION CONNECTOR Technical */ + 0x0, /* #x08B4 BOTTOM VERTICAL SUMMATION CONNECTOR Technical */ + 0x0, /* #x08B5 TOP RIGHT SUMMATION Technical */ + 0x0, /* #x08B6 BOTTOM RIGHT SUMMATION Technical */ + 0x0, /* #x08B7 RIGHT MIDDLE SUMMATION Technical */ + 0x0, /* #x08B8 */ + 0x0, /* #x08B9 */ + 0x0, /* #x08BA */ + 0x0, /* #x08BB */ + 0x2264, /* #x08BC LESS THAN OR EQUAL SIGN Technical */ + 0x2260, /* #x08BD NOT EQUAL SIGN Technical */ + 0x2265, /* #x08BE GREATER THAN OR EQUAL SIGN Technical */ + 0x222B, /* #x08BF INTEGRAL Technical */ + 0x2234, /* #x08C0 THEREFORE Technical */ + 0x221D, /* #x08C1 VARIATION, PROPORTIONAL TO Technical */ + 0x221E, /* #x08C2 INFINITY Technical */ + 0x0, /* #x08C3 */ + 0x0, /* #x08C4 */ + 0x2207, /* #x08C5 NABLA, DEL Technical */ + 0x0, /* #x08C6 */ + 0x0, /* #x08C7 */ + 0x223C, /* #x08C8 IS APPROXIMATE TO Technical */ + 0x2243, /* #x08C9 SIMILAR OR EQUAL TO Technical */ + 0x0, /* #x08CA */ + 0x0, /* #x08CB */ + 0x0, /* #x08CC */ + 0x21D4, /* #x08CD IF AND ONLY IF Technical */ + 0x21D2, /* #x08CE IMPLIES Technical */ + 0x2261, /* #x08CF IDENTICAL TO Technical */ + 0x0, /* #x08D0 */ + 0x0, /* #x08D1 */ + 0x0, /* #x08D2 */ + 0x0, /* #x08D3 */ + 0x0, /* #x08D4 */ + 0x0, /* #x08D5 */ + 0x221A, /* #x08D6 RADICAL Technical */ + 0x0, /* #x08D7 */ + 0x0, /* #x08D8 */ + 0x0, /* #x08D9 */ + 0x2282, /* #x08DA IS INCLUDED IN Technical */ + 0x2283, /* #x08DB INCLUDES Technical */ + 0x2229, /* #x08DC INTERSECTION Technical */ + 0x222A, /* #x08DD UNION Technical */ + 0x2227, /* #x08DE LOGICAL AND Technical */ + 0x2228, /* #x08DF LOGICAL OR Technical */ + 0x0, /* #x08E0 */ + 0x0, /* #x08E1 */ + 0x0, /* #x08E2 */ + 0x0, /* #x08E3 */ + 0x0, /* #x08E4 */ + 0x0, /* #x08E5 */ + 0x0, /* #x08E6 */ + 0x0, /* #x08E7 */ + 0x0, /* #x08E8 */ + 0x0, /* #x08E9 */ + 0x0, /* #x08Ea */ + 0x0, /* #x08Eb */ + 0x0, /* #x08Ec */ + 0x0, /* #x08Ed */ + 0x0, /* #x08Ee */ + 0x2202, /* #x08EF PARTIAL DERIVATIVE Technical */ + 0x0, /* #x08F0 */ + 0x0, /* #x08F1 */ + 0x0, /* #x08F2 */ + 0x0, /* #x08F3 */ + 0x0, /* #x08F4 */ + 0x0, /* #x08F5 */ + 0x0192, /* #x08F6 FUNCTION Technical */ + 0x0, /* #x08F7 */ + 0x0, /* #x08F8 */ + 0x0, /* #x08F9 */ + 0x0, /* #x08FA */ + 0x2190, /* #x08FB LEFT ARROW Technical */ + 0x2191, /* #x08FC UPWARD ARROW Technical */ + 0x2192, /* #x08FD RIGHT ARROW Technical */ + 0x2193, /* #x08FE DOWNWARD ARROW Technical */ + }; + +static UINT_16_BIT const SPECIAL[] = + { + 0x25C6, /* #x09E0 SOLID DIAMOND Special */ + +#define FIRST_KNOWN_SPECIAL 0x9E0 + + 0x2592, /* #x09E1 CHECKERBOARD Special */ + 0x2409, /* #x09E2 ``HT'' Special */ + 0x240C, /* #x09E3 ``FF'' Special */ + 0x240D, /* #x09E4 ``CR'' Special */ + 0x240A, /* #x09E5 ``LF'' Special */ + 0x0, /* #x09E6 */ + 0x0, /* #x09E7 */ + 0x2424, /* #x09E8 ``NL'' Special */ + 0x240B, /* #x09E9 ``VT'' Special */ + 0x2518, /* #x09EA LOWER-RIGHT CORNER Special */ + 0x2510, /* #x09EB UPPER-RIGHT CORNER Special */ + 0x250C, /* #x09EC UPPER-LEFT CORNER Special */ + 0x2514, /* #x09ED LOWER-LEFT CORNER Special */ + 0x253C, /* #x09EE CROSSING-LINES Special */ + 0x23BA, /* #x09EF HORIZONTAL LINE, SCAN 1 Special */ + 0x23BB, /* #x09F0 HORIZONTAL LINE, SCAN 3 Special */ + 0x2500, /* #x09F1 HORIZONTAL LINE, SCAN 5 Special */ + 0x23BC, /* #x09F2 HORIZONTAL LINE, SCAN 7 Special */ + 0x23BD, /* #x09F3 HORIZONTAL LINE, SCAN 9 Special */ + 0x251C, /* #x09F4 LEFT ``T'' Special */ + 0x2524, /* #x09F5 RIGHT ``T'' Special */ + 0x2534, /* #x09F6 BOTTOM ``T'' Special */ + 0x252C, /* #x09F7 TOP ``T'' Special */ + 0x2502 /* #x09F8 VERTICAL BAR Special */ + }; + +static UINT_16_BIT const PUBLISHING[] = + { + 0x2003, /* #x0AA1 EM SPACE Publish */ + +#define FIRST_KNOWN_PUBLISHING 0xAA1 + + 0x2002, /* #x0AA2 EN SPACE Publish */ + 0x2004, /* #x0AA3 3/EM SPACE Publish */ + 0x2005, /* #x0AA4 4/EM SPACE Publish */ + 0x2007, /* #x0AA5 DIGIT SPACE Publish */ + 0x2008, /* #x0AA6 PUNCTUATION SPACE Publish */ + 0x2009, /* #x0AA7 THIN SPACE Publish */ + 0x200A, /* #x0AA8 HAIR SPACE Publish */ + 0x2014, /* #x0AA9 EM DASH Publish */ + 0x2013, /* #x0AAA EN DASH Publish */ + 0x0, /* #x0AAB */ + 0x0, /* #x0AAC SIGNIFICANT BLANK SYMBOL Publish */ + 0x0, /* #x0AAD */ + 0x2026, /* #x0AAE ELLIPSIS Publish */ + 0x2025, /* #x0AAF DOUBLE BASELINE DOT Publish */ + 0x2153, /* #x0AB0 VULGAR FRACTION ONE THIRD Publish */ + 0x2154, /* #x0AB1 VULGAR FRACTION TWO THIRDS Publish */ + 0x2155, /* #x0AB2 VULGAR FRACTION ONE FIFTH Publish */ + 0x2156, /* #x0AB3 VULGAR FRACTION TWO FIFTHS Publish */ + 0x2157, /* #x0AB4 VULGAR FRACTION THREE FIFTHS Publish */ + 0x2158, /* #x0AB5 VULGAR FRACTION FOUR FIFTHS Publish */ + 0x2159, /* #x0AB6 VULGAR FRACTION ONE SIXTH Publish */ + 0x215A, /* #x0AB7 VULGAR FRACTION FIVE SIXTHS Publish */ + 0x2105, /* #x0AB8 CARE OF Publish */ + 0x0, /* #x0AB9 */ + 0x0, /* #x0ABA */ + 0x2012, /* #x0ABB FIGURE DASH Publish */ + 0x0, /* #x0ABC LEFT ANGLE BRACKET Publish */ + 0x0, /* #x0ABD DECIMAL POINT Publish */ + 0x0, /* #x0ABE RIGHT ANGLE BRACKET Publish */ + 0x0, /* #x0ABF MARKER Publish */ + 0x0, /* #x0AC0 */ + 0x0, /* #x0AC1 */ + 0x0, /* #x0AC2 */ + 0x215B, /* #x0AC3 VULGAR FRACTION ONE EIGHTH Publish */ + 0x215C, /* #x0AC4 VULGAR FRACTION THREE EIGHTHS Publish */ + 0x215D, /* #x0AC5 VULGAR FRACTION FIVE EIGHTHS Publish */ + 0x215E, /* #x0AC6 VULGAR FRACTION SEVEN EIGHTHS Publish */ + 0x0, /* #x0AC7 */ + 0x0, /* #x0AC8 */ + 0x2122, /* #x0AC9 TRADEMARK SIGN Publish */ + 0x0, /* #x0ACA SIGNATURE MARK Publish */ + 0x0, /* #x0ACB TRADEMARK SIGN IN CIRCLE Publish */ + 0x0, /* #x0ACC LEFT OPEN TRIANGLE Publish */ + 0x0, /* #x0ACD RIGHT OPEN TRIANGLE Publish */ + 0x0, /* #x0ACE EM OPEN CIRCLE Publish */ + 0x0, /* #x0ACF EM OPEN RECTANGLE Publish */ + 0x2018, /* #x0AD0 LEFT SINGLE QUOTATION MARK Publish */ + 0x2019, /* #x0AD1 RIGHT SINGLE QUOTATION MARK Publish */ + 0x201C, /* #x0AD2 LEFT DOUBLE QUOTATION MARK Publish */ + 0x201D, /* #x0AD3 RIGHT DOUBLE QUOTATION MARK Publish */ + 0x211E, /* #x0AD4 PRESCRIPTION, TAKE, RECIPE Publish */ + 0x0, /* #x0AD5 */ + 0x2032, /* #x0AD6 MINUTES Publish */ + 0x2033, /* #x0AD7 SECONDS Publish */ + 0x0, /* #x0AD8 */ + 0x271D, /* #x0AD9 LATIN CROSS Publish */ + 0x0, /* #x0ADA HEXAGRAM Publish */ + 0x0, /* #x0ADB FILLED RECTANGLE BULLET Publish */ + 0x0, /* #x0ADC FILLED LEFT TRIANGLE BULLET Publish */ + 0x0, /* #x0ADD FILLED RIGHT TRIANGLE BULLET Publish */ + 0x0, /* #x0ADE EM FILLED CIRCLE Publish */ + 0x0, /* #x0ADF EM FILLED RECTANGLE Publish */ + 0x0, /* #x0AE0 EN OPEN CIRCLE BULLET Publish */ + 0x0, /* #x0AE1 EN OPEN SQUARE BULLET Publish */ + 0x0, /* #x0AE2 OPEN RECTANGULAR BULLET Publish */ + 0x0, /* #x0AE3 OPEN TRIANGULAR BULLET UP Publish */ + 0x0, /* #x0AE4 OPEN TRIANGULAR BULLET DOWN Publish */ + 0x0, /* #x0AE5 OPEN STAR Publish */ + 0x0, /* #x0AE6 EN FILLED CIRCLE BULLET Publish */ + 0x0, /* #x0AE7 EN FILLED SQUARE BULLET Publish */ + 0x0, /* #x0AE8 FILLED TRIANGULAR BULLET UP Publish */ + 0x0, /* #x0AE9 FILLED TRIANGULAR BULLET DOWN Publish */ + 0x0, /* #x0AEA LEFT POINTER Publish */ + 0x0, /* #x0AEB RIGHT POINTER Publish */ + 0x2663, /* #x0AEC CLUB Publish */ + 0x2666, /* #x0AED DIAMOND Publish */ + 0x2665, /* #x0AEE HEART Publish */ + 0x0, /* #x0AEF */ + 0x2720, /* #x0AF0 MALTESE CROSS Publish */ + 0x2020, /* #x0AF1 DAGGER Publish */ + 0x2021, /* #x0AF2 DOUBLE DAGGER Publish */ + 0x2713, /* #x0AF3 CHECK MARK, TICK Publish */ + 0x2717, /* #x0AF4 BALLOT CROSS Publish */ + 0x266F, /* #x0AF5 MUSICAL SHARP Publish */ + 0x266D, /* #x0AF6 MUSICAL FLAT Publish */ + 0x2642, /* #x0AF7 MALE SYMBOL Publish */ + 0x2640, /* #x0AF8 FEMALE SYMBOL Publish */ + 0x260E, /* #x0AF9 TELEPHONE SYMBOL Publish */ + 0x2315, /* #x0AFA TELEPHONE RECORDER SYMBOL Publish */ + 0x2117, /* #x0AFB PHONOGRAPH COPYRIGHT SIGN Publish */ + 0x2038, /* #x0AFC CARET Publish */ + 0x201A, /* #x0AFD SINGLE LOW QUOTATION MARK Publish */ + 0x201E, /* #x0AFE DOUBLE LOW QUOTATION MARK Publish */ + }; + +static UINT_16_BIT const APL[] = + { + 0x22A5, /* #x0BC2 DOWN TACK APL */ +#define FIRST_KNOWN_APL 0xBC2 + 0x0, /* #x0BC3 UP SHOE (CAP) APL */ + 0x230A, /* #x0BC4 DOWN STILE APL */ + 0x0, /* #x0BC5 */ + 0x0, /* #x0BC6 UNDERBAR APL */ + 0x0, /* #x0BC7 */ + 0x0, /* #x0BC8 */ + 0x0, /* #x0BC9 */ + 0x2218, /* #x0BCA JOT APL */ + 0x0, /* #x0BCB */ + 0x2395, /* #x0BCC QUAD APL */ + 0x0, /* #x0BCD */ + 0x22A4, /* #x0BCE UP TACK APL */ + 0x25CB, /* #x0BCF CIRCLE APL */ + 0x0, /* #x0BD0 */ + 0x0, /* #x0BD1 */ + 0x0, /* #x0BD2 */ + 0x2308, /* #x0BD3 UP STILE APL */ + 0x0, /* #x0BD4 */ + 0x0, /* #x0BD5 */ + 0x0, /* #x0BD6 DOWN SHOE (CUP) APL */ + 0x0, /* #x0BD7 */ + 0x0, /* #x0BD8 RIGHT SHOE APL */ + 0x0, /* #x0BD9 */ + 0x0, /* #x0BDA LEFT SHOE APL */ + 0x0, /* #x0BDB */ + 0x0, /* #x0BDC */ + 0x22A2, /* #x0BDC LEFT TACK APL */ + 0x0, /* #x0BDE */ + 0x0, /* #x0BDF */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 0x0BB0--0x0BBB */ + 0x0, 0x0, 0x0, 0x0, + 0x22A3, /* #x0BFC RIGHT TACK APL */ + }; + +/* For every key on the keyboard that has a known character correspondence, + we define the character-of-keysym property of its XEmacs keysym, and make + the default binding for the key be self-insert-command. + + The following magic is based on intimate knowledge of some of + X11/keysymdef.h. The keysym mappings defined by X11 are based on the + iso8859 standards, except for Cyrillic and Greek. + + In a non-Mule world, a user can still have a multi-lingual editor, by + doing (set-face-font "...-iso8859-2" (current-buffer)) for all their + Latin-2 buffers, etc. and the X11 keysyms corresponding to characters in + those character sets will still do the right thing (because of the + make_char (code + 0x80) non-Mule case below.) Of course, X11 keysyms in + other character sets will not do the right thing, because XEmacs won't + support the right thing. + + This code is also called when a command lookup is about to fail, and the + X11 platform code has worked out that it previously wasn't aware the + keysym of that command could be generated by the user's keyboard; in that + case, we bind its XEmacs keysym to self-insert-command if it has a + character correspondence we know about, and tell the general event code + that we've done so, so it can try the lookup again. + + Called from the GTK code because GTK 1 has no defined way of doing the + same thing, and this works for it on X11. It should be moved back into + event-Xt.c when and if the GTK port moves to GTK 2. */ + +#ifndef THIS_IS_GTK +static Lisp_Object +x_keysym_to_character(KeySym keysym) +#else +Lisp_Object +gtk_keysym_to_character(guint keysym) +#endif +{ + Lisp_Object charset = Qzero; + int code = 0; + + /* Markus Kuhn's spec says keysyms in the range #x01000100 to #x0110FFFF + and only those should correspond directly to Unicode code points, in + the range #x100-#x10FFFF; actual implementations can have the Latin 1 + code points do the same thing with keysyms + #x010000A0-#x01000100. */ + + if (keysym >= 0x010000A0 && keysym <= 0x0110FFFF) + return Funicode_to_char (make_int(keysym & 0xffffff), Qnil); + + if ((keysym & 0xff) < 0xa0) + return Qnil; + + switch (keysym >> 8) + { + +#define USE_CHARSET(var,cs) \ + ((var) = charset_by_leading_byte (LEADING_BYTE_##cs)) + + case 0: /* ASCII + Latin1 */ + USE_CHARSET (charset, LATIN_ISO8859_1); + code = keysym & 0x7f; + break; + case 1: /* Latin2 */ + USE_CHARSET (charset, LATIN_ISO8859_2); + code = keysym & 0x7f; + break; + case 2: /* Latin3 */ + USE_CHARSET (charset, LATIN_ISO8859_3); + code = keysym & 0x7f; + break; + case 3: /* Latin4 */ + USE_CHARSET (charset, LATIN_ISO8859_4); + code = keysym & 0x7f; + break; + case 4: /* Katakana */ + USE_CHARSET (charset, KATAKANA_JISX0201); + if ((keysym & 0xff) > 0xa0) + code = keysym & 0x7f; + break; + case 5: /* Arabic */ + USE_CHARSET (charset, ARABIC_ISO8859_6); + code = keysym & 0x7f; + break; + case 6: /* Cyrillic */ + { + static UExtbyte const cyrillic[] = /* 0x20 - 0x7f */ + {0x00, 0x72, 0x73, 0x71, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x00, 0x7e, 0x7f, + 0x70, 0x22, 0x23, 0x21, 0x24, 0x25, 0x26, 0x27, + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x00, 0x2e, 0x2f, + 0x6e, 0x50, 0x51, 0x66, 0x54, 0x55, 0x64, 0x53, + 0x65, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, + 0x5f, 0x6f, 0x60, 0x61, 0x62, 0x63, 0x56, 0x52, + 0x6c, 0x6b, 0x57, 0x68, 0x6d, 0x69, 0x67, 0x6a, + 0x4e, 0x30, 0x31, 0x46, 0x34, 0x35, 0x44, 0x33, + 0x45, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, + 0x3f, 0x4f, 0x40, 0x41, 0x42, 0x43, 0x36, 0x32, + 0x4c, 0x4b, 0x37, 0x48, 0x4d, 0x49, 0x47, 0x4a}; + USE_CHARSET (charset, CYRILLIC_ISO8859_5); + code = cyrillic[(keysym & 0x7f) - 0x20]; + break; + } + case 7: /* Greek */ + { + static UExtbyte const greek[] = /* 0x20 - 0x7f */ + {0x00, 0x36, 0x38, 0x39, 0x3a, 0x5a, 0x00, 0x3c, + 0x3e, 0x5b, 0x00, 0x3f, 0x00, 0x00, 0x35, 0x2f, + 0x00, 0x5c, 0x5d, 0x5e, 0x5f, 0x7a, 0x40, 0x7c, + 0x7d, 0x7b, 0x60, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, + 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, + 0x50, 0x51, 0x53, 0x00, 0x54, 0x55, 0x56, 0x57, + 0x58, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, + 0x70, 0x71, 0x73, 0x72, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + USE_CHARSET (charset, GREEK_ISO8859_7); + code = greek[(keysym & 0x7f) - 0x20]; + break; + } + case 8: + USE_UNICODE_MAP(keysym, TECHNICAL); + break; + case 9: + USE_UNICODE_MAP(keysym, SPECIAL); + break; + case 10: + USE_UNICODE_MAP(keysym, PUBLISHING); + break; + case 11: + USE_UNICODE_MAP(keysym, APL); + break; + case 12: /* Hebrew */ + USE_CHARSET (charset, HEBREW_ISO8859_8); + code = keysym & 0x7f; + break; + case 13: /* Thai */ + /* #### This needs to deal with character composition. + Are you sure we can't leave it to the X server? */ + USE_CHARSET (charset, THAI_TIS620); + code = keysym & 0x7f; + break; + case 14: /* Korean Hangul. Would like some information on whether this + is worth doing--there don't appear to be any Korean keyboard + layouts in the XKB data files. */ + break; + + case 19: /* Latin 9 - ISO8859-15. */ + USE_CHARSET (charset, LATIN_ISO8859_15); + code = keysym & 0x7f; + break; + case 32: /* Currency. The lower sixteen bits of these keysyms happily + correspond exactly to the Unicode code points of the + associated characters */ + return Funicode_to_char(make_int(keysym & 0xffff), Qnil); + break; + default: + break; + } + + if (code == 0) + return Qnil; + +#ifdef MULE + return make_char (make_ichar (charset, code, 0)); +#else + return make_char (code + 0x80); +#endif +} + +#endif /* defined(THIS_IS_X) || !defined(__GDK_KEYS_H__) */ diff --text -u 'xemacs-21.5.21/src/events.c' 'xemacs-21.5.22/src/events.c' Index: ./src/events.c --- ./src/events.c Fri Feb 4 01:14:05 2005 +++ ./src/events.c Mon Jul 18 05:08:48 2005 @@ -67,7 +67,7 @@ Lisp_Object Qprocess_event_p; Lisp_Object Qkey_press, Qbutton_press, Qbutton_release, Qmisc_user; -Lisp_Object Qascii_character; +Lisp_Object Qcharacter_of_keysym, Qascii_character; /************************************************************************/ @@ -1196,7 +1196,6 @@ define-key, which must be able to handle all consoles. #### What about in other circumstances? #### Should the user have access to this flag? - #### We need to go through and review all the flags in character_to_event() and event_to_character() and figure out exactly under what circumstances they should or should not be set, then go @@ -1208,17 +1207,34 @@ #### Some of this garbage, and some of the flags, could go away if we implemented the suggestion, originally from event-Xt.c: - #### The way that keysym correspondence to characters should work: + [[ The way that keysym correspondence to characters should work: - a Lisp_Event should contain a keysym AND a character slot. - keybindings are tried with the keysym. If no binding can be found, - and there is a corresponding character, call self-insert-command. - - #### Nuke x-iso8859-1.el. - #### Nuke the Qascii_character property. - #### Nuke Vcharacter_set_property. + and there is a corresponding character, call self-insert-command. ]] - This would apparently solve a lot of different problems. -*/ + That's an X-specific way of thinking. All the other platforms--even + the TTY, make sure you've done (set-input-mode t nil 1) and set your + console coding system appropriately when checking--just use + characters as emacs keysyms, and, together with defaulting to + self-insert-command if an unbound key with a character correspondence + is typed, that works fine for them. (Yes, this ignores GTK.) + + [[ [... snipping other suggestions which I've implemented.] + Nuke the Qascii_character property. ]] + + Well, we've renamed it anyway--it was badly named. + Qcharacter_of_keysym, here we go. It's really only with X11 that how + to map between adiaeresis and (int-to-char #xE4), or ellipsis and + whatever, becomes an issue, and IMO the property approach to this is + fine. Aidan Kehoe, 2005-05-15. + + [[ This would apparently solve a lot of different problems. ]] + + I'd be interested to know what's left. Removing the allow-meta + argument from event-to-character would be a Good Thing, IMO, but + beyond that, I'm not sure what else there is to do wrt. key + mappings. Of course, feedback from users of the Russian C-x facility + is still needed. */ void character_to_event (Ichar c, Lisp_Event *event, struct console *con, @@ -1294,21 +1310,10 @@ SET_EVENT_KEY_MODIFIERS (event, m); } -/* This variable controls what character name -> character code mapping - we are using. Window-system-specific code sets this to some symbol, - and we use that symbol as the plist key to convert keysyms into 8-bit - codes. In this way one can have several character sets predefined and - switch them by changing this. - - #### This is utterly bogus and should be removed. - */ -Lisp_Object Vcharacter_set_property; - Ichar event_to_character (Lisp_Object event, int allow_extra_modifiers, - int allow_meta, - int map_device_key_names) + int allow_meta) { Ichar c = 0; Lisp_Object code; @@ -1319,25 +1324,40 @@ return -1; } if (!allow_extra_modifiers && - XEVENT_KEY_MODIFIERS (event) & (XEMACS_MOD_SUPER|XEMACS_MOD_HYPER|XEMACS_MOD_ALT)) + XEVENT_KEY_MODIFIERS (event) & + (XEMACS_MOD_SUPER|XEMACS_MOD_HYPER|XEMACS_MOD_ALT)) return -1; if (CHAR_OR_CHAR_INTP (XEVENT_KEY_KEYSYM (event))) c = XCHAR_OR_CHAR_INT (XEVENT_KEY_KEYSYM (event)); else if (!SYMBOLP (XEVENT_KEY_KEYSYM (event))) ABORT (); - else if (map_device_key_names && !NILP (Vcharacter_set_property) - /* Allow window-system-specific extensibility of - keysym->code mapping */ - && CHAR_OR_CHAR_INTP (code = Fget (XEVENT_KEY_KEYSYM (event), - Vcharacter_set_property, - Qnil))) - c = XCHAR_OR_CHAR_INT (code); else if (CHAR_OR_CHAR_INTP (code = Fget (XEVENT_KEY_KEYSYM (event), - Qascii_character, Qnil))) + Qcharacter_of_keysym, Qnil))) c = XCHAR_OR_CHAR_INT (code); else - return -1; + { + Lisp_Object thekeysym = XEVENT_KEY_KEYSYM (event); + if (CHAR_OR_CHAR_INTP (code = Fget (thekeysym, Qascii_character, Qnil))) + { + c = XCHAR_OR_CHAR_INT (code); + warn_when_safe(Qkey_mapping, Qwarning, + "Obsolete key binding technique.\n" + +"Some code you're using bound %s to `self-insert-command' and messed around\n" +"with its `ascii-character' property. Doing this is deprecated, and the code\n" +"should be updated to use the `set-character-of-keysym' interface.\n" +"If you're the one updating the code, first check if there's still a need\n" +"for it; we support many more X11 keysyms out of the box now than we did\n" +"in the past. ", XSTRING_DATA(XSYMBOL_NAME(thekeysym))); + /* Only show the warning once for each keysym. */ + Fput(thekeysym, Qcharacter_of_keysym, code); + } + else + { + return -1; + } + } if (XEVENT_KEY_MODIFIERS (event) & XEMACS_MOD_CONTROL) { if (c >= 'a' && c <= 'z') @@ -1366,7 +1386,7 @@ } DEFUN ("event-to-character", Fevent_to_character, 1, 4, 0, /* -Return the closest ASCII approximation to the given event object. +Return the closest character approximation to the given event object. If the event isn't a keypress, this returns nil. If the ALLOW-EXTRA-MODIFIERS argument is non-nil, then this is lenient in its translation; it will ignore modifier keys other than control and meta, @@ -1376,24 +1396,17 @@ If the ALLOW-META argument is non-nil, then the Meta modifier will be represented by turning on the high bit of the byte returned; otherwise, nil will be returned for events containing the Meta modifier. -If the MAP-DEVICE-KEY-NAMES argument is non-nil, then named keysyms that - represent printable characters will be converted to that character. This - means, for example, that under X, where a circumflexed lowercase o returns - a key with the name `ocircumflex' rather than the actual character, this - name will be converted to the appropriate character. See - `character-set-property' for some sense of how this works. #### This - should not be exposed and may be removed at some point. Note that ALLOW-META may cause ambiguity between meta characters and Latin-1 characters. +ALLOW-NON-ASCII is unused, and retained for compatibility. */ - (event, allow_extra_modifiers, allow_meta, map_device_key_names)) + (event, allow_extra_modifiers, allow_meta, UNUSED(allow_non_ascii))) { Ichar c; CHECK_LIVE_EVENT (event); c = event_to_character (event, !NILP (allow_extra_modifiers), - !NILP (allow_meta), - !NILP (map_device_key_names)); + !NILP (allow_meta)); return c < 0 ? Qnil : make_char (c); } @@ -2613,6 +2626,7 @@ DEFSYMBOL (Qbutton_press); DEFSYMBOL (Qbutton_release); DEFSYMBOL (Qmisc_user); + DEFSYMBOL (Qcharacter_of_keysym); DEFSYMBOL (Qascii_character); defsymbol (&QKbackspace, "backspace"); @@ -2634,16 +2648,4 @@ void vars_of_events (void) { - DEFVAR_LISP ("character-set-property", &Vcharacter_set_property /* -This is used to map e.g. `ocircumflex' to the appropriate character under X. -This value of this variable (a symbol, normally `x-iso8859-1' if not nil) -if used to look up a property on the keysym in question, which should -correspond to a character. - -#### This is way bogus and will be removed soon. - -The conversion between X keysyms and characters is now handled more or less -automatically using XDisplayKeycodes(). -*/ ); - Vcharacter_set_property = Qnil; } diff --text -u 'xemacs-21.5.21/src/events.h' 'xemacs-21.5.22/src/events.h' Index: ./src/events.h --- ./src/events.h Sat Apr 9 08:11:24 2005 +++ ./src/events.h Mon Jun 27 03:05:05 2005 @@ -108,8 +108,6 @@ #define first_event_type empty_event #define last_event_type dead_event -#ifdef MULE - enum alternative_key_chars { KEYCHAR_CURRENT_LANGENV, @@ -122,8 +120,6 @@ KEYCHAR_LAST }; -#endif /* MULE */ - struct Lisp_Key_Data { #ifdef EVENT_DATA_AS_OBJECTS @@ -135,7 +131,6 @@ Also includes buttons. For many keys, Shift is not a bit; that is implicit in the keyboard layout. */ int modifiers; -#ifdef MULE /* Alternate character interpretations for this key in different keyboard layouts. This deals with the problem of pressing C-x in the Russian layout (the so-called "Russian C-x problem"), for @@ -149,12 +144,38 @@ (AZERTY layout) who temporarily switches to Russian: The virtual keys underlying Russian are US-ASCII, so what the French speaker things of as C-a (the key just to the right of TAB) appears as - C-q. (#### We should probably ignore the current char and look + C-q. + + I've just implemented this in event-stream.c, and I really want to + see feedback from actual Russians about it, and whether it needs to + be much more complete than what I've done. E.g, the mapping back to + US Qwerty is hardcoded on the X11 side of things, and only deals + with the alphabetic characters. + + Also, I think it's downright confusing for people with Roman + letters on their keyboard to have random other letters than are + described as calling some command, call that command. So I want to + consider enabling it by language environment. + + [[ (#### We should probably ignore the current char and look *ONLY* in alt_keychars for all control keys. What about the English speaker who temporarily switches to the French layout and - finds C-q mapped to C-a?) */ + finds C-q mapped to C-a?) ]] + + No, we shouldn't. People who use the French layout expect that + pressing control with the key to the right of tab passes C-a to + emacs; English speakers (more exactly, Qwerty users) who + temporarily switch to the French layout encounter that issue in + every other app too, and they normally remap the keyboard in + software as soon as they can, or learn to live with Azerty. That + applies for all the Roman-alphabet keyboard layouts. Aidan Kehoe, + 2005-05-15 + + I've taken out the dependency on MULE for this feature because it's + also useful in a non-Mule XEmacs where the user has set their font + to something ending in iso8859-5. How many of those users there + are, is another question. */ Ichar alt_keychars[KEYCHAR_LAST]; -#endif /* MULE */ }; typedef struct Lisp_Key_Data Lisp_Key_Data; @@ -949,7 +970,7 @@ (keyboard press, menu, scrollbar, mouse button) */ int command_event_p (Lisp_Object event); void define_self_inserting_symbol (Lisp_Object, Lisp_Object); -Ichar event_to_character (Lisp_Object, int, int, int); +Ichar event_to_character (Lisp_Object, int, int); struct console *event_console_or_selected (Lisp_Object event); void upshift_event (Lisp_Object event); void downshift_event (Lisp_Object event); diff --text -u 'xemacs-21.5.21/src/extents.c' 'xemacs-21.5.22/src/extents.c' Index: ./src/extents.c --- ./src/extents.c Wed May 11 02:21:54 2005 +++ ./src/extents.c Tue Aug 2 01:28:21 2005 @@ -1046,9 +1046,9 @@ }; static const struct memory_description lispobj_gap_array_description_1[] = { - { XD_INT, offsetof (Gap_Array, gap) }, - { XD_INT, offsetof (Gap_Array, offset_past_gap) }, - { XD_INT, offsetof (Gap_Array, els_past_gap) }, + { XD_ELEMCOUNT, offsetof (Gap_Array, gap) }, + { XD_BYTECOUNT, offsetof (Gap_Array, offset_past_gap) }, + { XD_ELEMCOUNT, offsetof (Gap_Array, els_past_gap) }, { XD_BLOCK_PTR, offsetof (Gap_Array, markers), 1, { &gap_array_marker_description }, XD_FLAG_NO_KKCC }, { XD_BLOCK_ARRAY, offsetof (Gap_Array, array), XD_INDIRECT (0, 0), diff --text -u 'xemacs-21.5.21/src/faces.c' 'xemacs-21.5.22/src/faces.c' Index: ./src/faces.c --- ./src/faces.c Sat Apr 9 08:11:24 2005 +++ ./src/faces.c Wed Jul 20 16:36:41 2005 @@ -60,6 +60,8 @@ /* Qdefault, Qhighlight, Qleft_margin, Qright_margin defined in general.c */ Lisp_Object Qmodeline, Qgui_element, Qtext_cursor, Qvertical_divider; +Lisp_Object Qface_alias, Qcyclic_face_alias; + /* In the old implementation Vface_list was a list of the face names, not the faces themselves. We now distinguish between permanent and temporary faces. Permanent faces are kept in a regular hash table, @@ -629,18 +631,43 @@ (face_or_name)) { Lisp_Object retval; + Lisp_Object face_name; + Lisp_Object face_alias; + int i; if (FACEP (face_or_name)) return face_or_name; - CHECK_SYMBOL (face_or_name); + + face_name = face_or_name; + CHECK_SYMBOL (face_name); + +# define FACE_ALIAS_MAX_DEPTH 32 + + i = 0; + while (! NILP ((face_alias = Fget (face_name, Qface_alias, Qnil))) + && i < FACE_ALIAS_MAX_DEPTH) + { + face_name = face_alias; + CHECK_SYMBOL (face_alias); + i += 1; + } + + /* #### This test actually makes the aliasing max depth to 30, which is more + #### than enough IMO. -- dvl */ + if (i == FACE_ALIAS_MAX_DEPTH) + signal_error (Qcyclic_face_alias, + "Max face aliasing depth reached", + face_name); + +# undef FACE_ALIAS_MAX_DEPTH /* Check if the name represents a permanent face. */ - retval = Fgethash (face_or_name, Vpermanent_faces_cache, Qnil); + retval = Fgethash (face_name, Vpermanent_faces_cache, Qnil); if (!NILP (retval)) return retval; /* Check if the name represents a temporary face. */ - return Fgethash (face_or_name, Vtemporary_faces_cache, Qnil); + return Fgethash (face_name, Vtemporary_faces_cache, Qnil); } DEFUN ("get-face", Fget_face, 1, 1, 0, /* @@ -1864,6 +1891,9 @@ DEFSYMBOL (Qdim); DEFSYMBOL (Qblinking); + DEFSYMBOL (Qface_alias); + DEFERROR_STANDARD (Qcyclic_face_alias, Qinvalid_state); + DEFSYMBOL (Qinit_face_from_resources); DEFSYMBOL (Qinit_global_faces); DEFSYMBOL (Qinit_device_faces); @@ -1977,7 +2007,7 @@ Lisp_Object inst_list = Qnil; #if defined (HAVE_X_WINDOWS) || defined (HAVE_GTK) - + const Ascbyte *fonts[] = { /************** ISO-8859 fonts *************/ @@ -2016,7 +2046,7 @@ "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0", "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0", "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0", - + /* Other Japanese fonts */ "-*-fixed-medium-r-*--*-jisx0201.1976-*", "-*-fixed-medium-r-*--*-jisx0208.1983-*", @@ -2029,7 +2059,7 @@ "-*-*-medium-r-*--*-gb2312.1980-*", "-*-fixed-medium-r-*--*-cns11643*-*", - + "-*-fixed-medium-r-*--*-big5*-*," "-*-fixed-medium-r-*--*-sisheng_cwnn-0", @@ -2042,7 +2072,7 @@ "-*-fixed-medium-r-*--*-tis620.2529-1", /************* Other fonts (nonstandard) *************/ - + "-*-fixed-medium-r-*--*-viscii1.1-1", "-*-fixed-medium-r-*--*-mulearabic-*", "-*-fixed-medium-r-*--*-muleipa-*", @@ -2137,23 +2167,23 @@ ":Regular:10::" }; const Ascbyte **mswfontptr; - + for (mswfontptr = mswfonts + countof (mswfonts) - 1; mswfontptr >= mswfonts; mswfontptr--) { /* display device */ - inst_list = Fcons (Fcons (list1 (Qmswindows), + inst_list = Fcons (Fcons (list1 (Qmswindows), build_string (*mswfontptr)), inst_list); /* printer device */ - inst_list = Fcons (Fcons (list1 (Qmsprinter), + inst_list = Fcons (Fcons (list1 (Qmsprinter), build_string (*mswfontptr)), inst_list); } /* Use Lucida Console rather than Courier New if it exists -- the line spacing is much less, so many more lines fit with the same size font. (And it's specifically designed for screens.) */ - inst_list = Fcons (Fcons (list1 (Qmswindows), + inst_list = Fcons (Fcons (list1 (Qmswindows), build_string ("Lucida Console:Regular:10::")), inst_list); } diff --text -u 'xemacs-21.5.21/src/file-coding.c' 'xemacs-21.5.22/src/file-coding.c' Index: ./src/file-coding.c --- ./src/file-coding.c Sat Apr 9 08:11:25 2005 +++ ./src/file-coding.c Mon Jun 20 06:08:30 2005 @@ -1080,7 +1080,7 @@ Compound Text (the encoding used in X11). You can specify more specific information about the conversion with the PROPS argument. 'big5 - Big5 (the encoding commonly used for Taiwanese). + Big5 (the encoding commonly used for Mandarin Chinese in Taiwan). 'ccl The conversion is performed using a user-written pseudo-code program. CCL (Code Conversion Language) is the name of this @@ -2799,13 +2799,13 @@ /************************************************************************/ /* This is used to handle end-of-line (EOL) differences. It is -character-to-character, and works (when encoding) *BEFORE* sending -data to the main encoding routine -- thus, that routine must handle -different EOL types itself if it does line-oriented type processing. -This is unavoidable because we don't know whether the output of the -main encoding routine is ASCII compatible (Unicode is definitely not, -for example). [[ sjt sez this is bogus. There should be _no_ EOL -processing (or processing of any kind) after conversion to external. ]] +character-to-character, and works (when encoding) *BEFORE* sending data to +the main encoding routine -- thus, that routine must handle different EOL +types itself if it does line-oriented type processing. This is unavoidable +because we don't know whether the output of the main encoding routine is +ASCII compatible (UTF-16 is definitely not, for example). [[ sjt sez this +is bogus. There should be _no_ EOL processing (or processing of any kind) +after conversion to external. ]] There is one parameter: `subtype', either `cr', `lf', `crlf', or nil. */ diff --text -u 'xemacs-21.5.21/src/frame-msw.c' 'xemacs-21.5.22/src/frame-msw.c' Index: ./src/frame-msw.c --- ./src/frame-msw.c Fri Nov 5 08:06:30 2004 +++ ./src/frame-msw.c Mon Jul 25 02:53:23 2005 @@ -353,7 +353,7 @@ GetMenu (FRAME_MSWINDOWS_HANDLE (f)) != NULL, qxeGetWindowLong (FRAME_MSWINDOWS_HANDLE (f), GWL_EXSTYLE)); - if (IsIconic (FRAME_MSWINDOWS_HANDLE (f)) || IsZoomed (FRAME_MSWINDOWS_HANDLE (f))) + if (IsIconic (FRAME_MSWINDOWS_HANDLE (f))) ShowWindow (FRAME_MSWINDOWS_HANDLE (f), SW_RESTORE); SetWindowPos (FRAME_MSWINDOWS_HANDLE (f), NULL, diff --text -u 'xemacs-21.5.21/src/general-slots.h' 'xemacs-21.5.22/src/general-slots.h' Index: ./src/general-slots.h --- ./src/general-slots.h Tue Apr 6 07:49:54 2004 +++ ./src/general-slots.h Mon Jul 4 06:48:01 2005 @@ -169,6 +169,7 @@ SYMBOL_KEYWORD (Q_horizontally_justify); SYMBOL (Qkey); SYMBOL (Qkey_assoc); +SYMBOL (Qkey_mapping); SYMBOL_KEYWORD (Q_key_sequence); SYMBOL (Qkeyboard); SYMBOL (Qkeymap); diff --text -u 'xemacs-21.5.21/src/gpmevent.c' 'xemacs-21.5.22/src/gpmevent.c' Index: ./src/gpmevent.c --- ./src/gpmevent.c Sat Apr 9 08:11:27 2005 +++ ./src/gpmevent.c Tue Jun 28 20:32:14 2005 @@ -59,10 +59,6 @@ static Lisp_Object gpm_event_queue; static Lisp_Object gpm_event_queue_tail; -#ifdef MC_ALLOC -static Lisp_Object MC_ALLOC_Freceive_gpm_event; -#endif /* MC_ALLOC */ - struct __gpm_state { int gpm_tried; @@ -597,11 +593,7 @@ { rval = 0; Fprocess_kill_without_query (gpm_process, Qnil); -#ifdef MC_ALLOC - gpm_filter = MC_ALLOC_Freceive_gpm_event; -#else /* not MC_ALLOC */ - gpm_filter = wrap_subr (&SFreceive_gpm_event); -#endif /* not MC_ALLOC */ + gpm_filter = GET_DEFUN_LISP_OBJECT (Freceive_gpm_event); set_process_filter (gpm_process, gpm_filter, 1, 0); /* Keep track of the device for later */ @@ -629,17 +621,7 @@ void syms_of_gpmevent (void) { -#ifdef MC_ALLOC -#define DEFSUBR_receive_gpm_event(Fname) \ -do { \ - DEFSUBR_MC_ALLOC (Fname); \ - defsubr (S##Fname); \ - MC_ALLOC_Freceive_gpm_event = wrap_subr (S##Fname); \ -} while (0) - DEFSUBR_receive_gpm_event (Freceive_gpm_event); -#else /* not MC_ALLOC */ DEFSUBR (Freceive_gpm_event); -#endif /* not MC_ALLOC */ DEFSUBR (Fgpm_enable); DEFSUBR (Fgpm_enabled_p); } diff --text -u 'xemacs-21.5.21/src/keymap.c' 'xemacs-21.5.22/src/keymap.c' Index: ./src/keymap.c --- ./src/keymap.c Sat Apr 9 08:11:27 2005 +++ ./src/keymap.c Mon Jul 18 05:08:48 2005 @@ -1586,7 +1586,7 @@ Fcharacter_to_event() will only match 'escape'. */ if (CHAR_OR_CHAR_INTP (key_specifier)) return (XCHAR_OR_CHAR_INT (key_specifier) - == event_to_character (event, 0, 0, 0)); + == event_to_character (event, 0, 0)); /* Otherwise, we cannot call event_to_character() because we may be dealing with non-ASCII keystrokes. In any case, if I ask @@ -1609,8 +1609,8 @@ { int ch1, ch2; - ch1 = event_to_character (event, 0, 0, 0); - ch2 = event_to_character (event2, 0, 0, 0); + ch1 = event_to_character (event, 0, 0); + ch2 = event_to_character (event2, 0, 0); retval = (ch1 >= 0 && ch2 >= 0 && ch1 == ch2); } else if (EQ (XEVENT_KEY_KEYSYM (event), XEVENT_KEY_KEYSYM (event2)) && @@ -1810,10 +1810,10 @@ on the keys on your keyboard. A keysym may be represented by a symbol, or (if and only if it is equivalent -to an ASCII character in the range 32 - 255) by a character or its equivalent -ASCII code. The `A' key may be represented by the symbol `A', the character -`?A', or by the number 65. The `break' key may be represented only by the -symbol `break'. +to a character with a code in the range 32 - 255) by a character or its +equivalent code. The `A' key may be represented by the symbol `A', the +character `?A', or by the number 65. The `break' key may be represented +only by the symbol `break'. A keystroke may be represented by a list: the last element of the list is the key (a symbol, character, or number, as above) and the @@ -2912,6 +2912,8 @@ int bit1, bit2; int sym1_p = 0; int sym2_p = 0; + extern Lisp_Object Qcharacter_of_keysym; + obj1 = XCAR (obj1); obj2 = XCAR (obj2); @@ -2920,12 +2922,12 @@ bit1 = MODIFIER_HASH_KEY_BITS (obj1); bit2 = MODIFIER_HASH_KEY_BITS (obj2); - /* If either is a symbol with a character-set-property, then sort it by + /* If either is a symbol with a Qcharacter_of_keysym property, then sort it by that code instead of alphabetically. */ if (! bit1 && SYMBOLP (obj1)) { - Lisp_Object code = Fget (obj1, Vcharacter_set_property, Qnil); + Lisp_Object code = Fget (obj1, Qcharacter_of_keysym, Qnil); if (CHAR_OR_CHAR_INTP (code)) { obj1 = code; @@ -2935,7 +2937,7 @@ } if (! bit2 && SYMBOLP (obj2)) { - Lisp_Object code = Fget (obj2, Vcharacter_set_property, Qnil); + Lisp_Object code = Fget (obj2, Qcharacter_of_keysym, Qnil); if (CHAR_OR_CHAR_INTP (code)) { obj2 = code; @@ -3397,12 +3399,13 @@ if (EVENTP (chr)) { - Lisp_Object ch = Fevent_to_character (chr, Qnil, Qnil, Qt); + Lisp_Object ch = Fevent_to_character (chr, Qnil, Qnil, Qnil); if (NILP (ch)) return signal_continuable_error (Qinvalid_argument, - "character has no ASCII equivalent", Fcopy_event (chr, Qnil)); + "key has no character equivalent (that we know of)", + Fcopy_event (chr, Qnil)); chr = ch; } @@ -4124,6 +4127,7 @@ elide_next_two_p (Lisp_Object list) { Lisp_Object s1, s2; + extern Lisp_Object Qcharacter_of_keysym; if (NILP (XCDR (list))) return 0; @@ -4143,7 +4147,7 @@ if (SYMBOLP (s1)) { - Lisp_Object code = Fget (s1, Vcharacter_set_property, Qnil); + Lisp_Object code = Fget (s1, Qcharacter_of_keysym, Qnil); if (CHAR_OR_CHAR_INTP (code)) { s1 = code; @@ -4153,7 +4157,7 @@ } if (SYMBOLP (s2)) { - Lisp_Object code = Fget (s2, Vcharacter_set_property, Qnil); + Lisp_Object code = Fget (s2, Qcharacter_of_keysym, Qnil); if (CHAR_OR_CHAR_INTP (code)) { s2 = code; @@ -4204,6 +4208,7 @@ ? 256 : 160)); int elided = 0; struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; + extern Lisp_Object Qcharacter_of_keysym; keymap = get_keymap (keymap, 1, 1); describe_map_closure.partial = (partial ? Qsuppress_keymap : Qnil); @@ -4244,7 +4249,7 @@ buffer_insert_c_string (buf, "Sh-"); if (SYMBOLP (keysym)) { - Lisp_Object code = Fget (keysym, Vcharacter_set_property, Qnil); + Lisp_Object code = Fget (keysym, Qcharacter_of_keysym, Qnil); Ichar c = (CHAR_OR_CHAR_INTP (code) ? XCHAR_OR_CHAR_INT (code) : (Ichar) -1); /* Calling Fsingle_key_description() would cons more */ diff --text -u 'xemacs-21.5.21/src/lisp.h' 'xemacs-21.5.22/src/lisp.h' Index: ./src/lisp.h --- ./src/lisp.h Sat Apr 9 08:11:28 2005 +++ ./src/lisp.h Mon Jul 18 05:08:48 2005 @@ -2994,6 +2994,7 @@ lname, \ (lisp_fn_t) Fname \ }; \ + static struct Lisp_Subr *S##Fname; \ Lisp_Object Fname (DEFUN_##max_args arglist) #define DEFUN_NORETURN(lname, Fname, min_args, max_args, prompt, arglist) \ @@ -3013,7 +3014,10 @@ lname, \ (lisp_fn_t) Fname \ }; \ + static struct Lisp_Subr *S##Fname; \ DOESNT_RETURN_TYPE (Lisp_Object) Fname (DEFUN_##max_args arglist) +#define GET_DEFUN_LISP_OBJECT(Fname) \ + wrap_subr (S##Fname); #else /* not MC_ALLOC */ #define DEFUN(lname, Fname, min_args, max_args, prompt, arglist) \ Lisp_Object Fname (EXFUN_##max_args); \ @@ -3054,6 +3058,8 @@ (lisp_fn_t) Fname \ }; \ DOESNT_RETURN_TYPE (Lisp_Object) Fname (DEFUN_##max_args arglist) +#define GET_DEFUN_LISP_OBJECT(Fname) \ + wrap_subr (&S##Fname); #endif /* not MC_ALLOC */ /* Heavy ANSI C preprocessor hackery to get DEFUN to declare a diff --text -u 'xemacs-21.5.21/src/lread.c' 'xemacs-21.5.22/src/lread.c' Index: ./src/lread.c --- ./src/lread.c Fri Feb 4 20:57:29 2005 +++ ./src/lread.c Wed Jul 13 08:26:49 2005 @@ -3247,7 +3247,7 @@ *Whether `load' should always display loading messages. If this is true, every file loaded will be shown, regardless of the setting of the NOMESSAGE parameter, and even when files are loaded indirectly, e.g. -due to `requre'. +due to `require'. */ ); load_always_display_messages = 0; diff --text -u 'xemacs-21.5.21/src/mule-ccl.c' 'xemacs-21.5.22/src/mule-ccl.c' Index: ./src/mule-ccl.c --- ./src/mule-ccl.c Wed Apr 6 02:42:59 2005 +++ ./src/mule-ccl.c Mon Jun 27 04:05:07 2005 @@ -826,6 +826,9 @@ } \ } while (0) +#define POSSIBLE_LEADING_BYTE_P(leading_byte) \ + ((leading_byte > MIN_LEADING_BYTE) && \ + (leading_byte - MIN_LEADING_BYTE) < NUM_LEADING_BYTES) /* Set C to the character code made from CHARSET and CODE. This is like make_ichar but check the validity of CHARSET and CODE. If they @@ -1295,19 +1298,22 @@ reg[rrr] = i; reg[RRR] = LEADING_BYTE_ASCII; } - else if (i <= MAX_LEADING_BYTE_OFFICIAL_1) + /* Previously, these next two elses were reversed in order, + which should have worked fine, but is more fragile than + this order. */ + else if (LEADING_BYTE_CONTROL_1 == i) { if (src >= src_end) goto ccl_read_multibyte_character_suspend; reg[RRR] = i; - reg[rrr] = (*src++ & 0x7F); + reg[rrr] = (*src++ - 0xA0); } - else if (LEADING_BYTE_CONTROL_1 == i) + else if (i <= MAX_LEADING_BYTE_OFFICIAL_1) { if (src >= src_end) goto ccl_read_multibyte_character_suspend; reg[RRR] = i; - reg[rrr] = (*src++ - 0xA0); + reg[rrr] = (*src++ & 0x7F); } else if (i <= MAX_LEADING_BYTE_OFFICIAL_2) { @@ -1356,15 +1362,29 @@ case CCL_WriteMultibyteChar2: i = reg[RRR]; /* charset */ - if (i == LEADING_BYTE_ASCII || i == LEADING_BYTE_CONTROL_1) + if (i == LEADING_BYTE_ASCII) i = reg[rrr] & 0xFF; - else if (XCHARSET_DIMENSION (charset_by_leading_byte (i)) == 1) - i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7) - | (reg[rrr] & 0x7F)); - else if (i < MAX_LEADING_BYTE_OFFICIAL_2) - i = ((i - FIELD1_TO_OFFICIAL_LEADING_BYTE) << 14) | reg[rrr]; - else - i = ((i - FIELD1_TO_PRIVATE_LEADING_BYTE) << 14) | reg[rrr]; + else if (LEADING_BYTE_CONTROL_1 == i) + i = ((reg[rrr] & 0xFF) - 0xA0); + else if (POSSIBLE_LEADING_BYTE_P(i) && + !NILP(charset_by_leading_byte(i))) + { + if (XCHARSET_DIMENSION (charset_by_leading_byte (i)) == 1) + i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7) + | (reg[rrr] & 0x7F)); + else if (i < MAX_LEADING_BYTE_OFFICIAL_2) + i = ((i - FIELD1_TO_OFFICIAL_LEADING_BYTE) << 14) + | reg[rrr]; + else + i = ((i - FIELD1_TO_PRIVATE_LEADING_BYTE) << 14) | reg[rrr]; + } + else + { + /* No charset we know about; use U+3012 GETA MARK */ + i = make_ichar + (charset_by_leading_byte(LEADING_BYTE_JAPANESE_JISX0208), + 34, 46); + } CCL_WRITE_CHAR (i); @@ -1423,7 +1443,6 @@ for (;i < j;i++) { - size = XVECTOR (Vcode_conversion_map_vector)->size; point = XINT (ccl_prog[ic++]); if (point >= size) continue; diff --text -u 'xemacs-21.5.21/src/mule-coding.c' 'xemacs-21.5.22/src/mule-coding.c' Index: ./src/mule-coding.c --- ./src/mule-coding.c Fri Feb 4 01:14:07 2005 +++ ./src/mule-coding.c Mon Jun 20 06:08:31 2005 @@ -324,7 +324,7 @@ /* Big5 methods */ /************************************************************************/ -/* BIG5 (used for Taiwanese). */ +/* BIG5 (used for Mandarin in Taiwan). */ DEFINE_CODING_SYSTEM_TYPE (big5); /* BIG5 is a coding system encoding two character sets: ASCII and diff --text -u 'xemacs-21.5.21/src/ralloc.c' 'xemacs-21.5.22/src/ralloc.c' Index: ./src/ralloc.c --- ./src/ralloc.c Tue Jan 25 08:34:06 2005 +++ ./src/ralloc.c Wed Jun 1 19:51:36 2005 @@ -61,7 +61,9 @@ #include "getpagesize.h" #include +#ifndef MC_ALLOC void refill_memory_reserve (void); +#endif /* not MC_ALLOC */ #else /* Not emacs. */ @@ -984,7 +986,9 @@ *ptr = 0; #ifdef emacs +#ifndef MC_ALLOC refill_memory_reserve (); +#endif /* not MC_ALLOC */ #endif } diff --text -u 'xemacs-21.5.21/src/symeval.h' 'xemacs-21.5.22/src/symeval.h' Index: ./src/symeval.h --- ./src/symeval.h Sat Apr 9 08:11:33 2005 +++ ./src/symeval.h Fri Jun 17 04:59:35 2005 @@ -284,8 +284,7 @@ #ifdef MC_ALLOC MODULE_API void defsubr (Lisp_Subr *); #define DEFSUBR_MC_ALLOC(Fname) \ - struct Lisp_Subr *S##Fname= (struct Lisp_Subr *) \ - mc_alloc (sizeof (struct Lisp_Subr)); \ + S##Fname= (struct Lisp_Subr *) mc_alloc (sizeof (struct Lisp_Subr)); \ set_lheader_implementation (&S##Fname->lheader, &lrecord_subr); \ \ S##Fname->min_args = MC_ALLOC_S##Fname.min_args; \ diff --text -u 'xemacs-21.5.21/src/sysdep.c' 'xemacs-21.5.22/src/sysdep.c' Index: ./src/sysdep.c --- ./src/sysdep.c Sun May 8 20:37:42 2005 +++ ./src/sysdep.c Mon Jun 27 03:05:05 2005 @@ -1602,7 +1602,7 @@ if (CONSOLE_TTY_DATA (con)->controlling_terminal) { tty.main.c_cc[VINTR] = /* C-g (usually) gives SIGINT */ - event_to_character (CONSOLE_QUIT_EVENT (con), 0, 1, 0); + event_to_character (CONSOLE_QUIT_EVENT (con), 0, 1); /* Set up C-g for both SIGQUIT and SIGINT. We don't know which we will get, but we handle both alike so which one it really gives us does not matter. */ @@ -1696,7 +1696,7 @@ /* Note: if not using CBREAK mode, it makes no difference how we set this */ tty.tchars = new_tchars; - tty.tchars.t_intrc = event_to_character (CONSOLE_QUIT_EVENT (con), 0, 1, 0); + tty.tchars.t_intrc = event_to_character (CONSOLE_QUIT_EVENT (con), 0, 1); if (TTY_FLAGS (con).flow_control) { tty.tchars.t_startc = '\021'; diff --text -u 'xemacs-21.5.21/src/sysdll.c' 'xemacs-21.5.22/src/sysdll.c' Index: ./src/sysdll.c --- ./src/sysdll.c Sat May 15 00:34:40 2004 +++ ./src/sysdll.c Tue Jul 12 21:22:13 2005 @@ -228,9 +228,15 @@ NSModule out; NSObjectFileImageReturnCode ret; + /* + * MacOS X dll support is for bundles, not the current executable, so return + * NULL is this case. However, dll_function() uses a special hack where a + * NULL handle can be used to find executable symbols. This satisfies the + * needs of ui-gtk.c but is not a general solution. + */ if (NILP (fname)) { - soname = NULL; + return NULL; } else { diff --text -u 'xemacs-21.5.21/src/tooltalk.c' 'xemacs-21.5.22/src/tooltalk.c' Index: ./src/tooltalk.c --- ./src/tooltalk.c Sat Apr 9 08:11:34 2005 +++ ./src/tooltalk.c Tue Jun 28 20:32:15 2005 @@ -1289,7 +1289,7 @@ { /* Don't ask the user for confirmation when exiting Emacs */ Fprocess_kill_without_query (lp, Qnil); - fil = wrap_subr (&SFreceive_tooltalk_message); + fil = GET_DEFUN_LISP_OBJECT (Freceive_tooltalk_message); set_process_filter (lp, fil, 1, 0); } else diff --text -u 'xemacs-21.5.21/src/unexelf.c' 'xemacs-21.5.22/src/unexelf.c' Index: ./src/unexelf.c --- ./src/unexelf.c Sat Mar 26 01:35:00 2005 +++ ./src/unexelf.c Mon Jul 4 22:11:27 2005 @@ -413,7 +413,8 @@ #define fatal(a, b, c) fprintf (stderr, a, b, c), exit (1) #else #include -extern void fatal (const char *, ...); +#include "lisp.h" +extern DOESNT_RETURN fatal (const CIbyte *, ...); #endif #include @@ -563,10 +564,8 @@ * .data section, and inserting an empty .bss immediately afterwards. * */ -void unexec (char *new_name, char *old_name, unsigned int data_start, - unsigned int bss_start, unsigned int entry_address); -void -unexec (char *new_name, char *old_name, unsigned int UNUSED (data_start), +int +unexec (Extbyte *new_name, Extbyte *old_name, unsigned int UNUSED (data_start), unsigned int UNUSED (bss_start), unsigned int UNUSED (entry_address)) { int new_file, old_file, new_file_size; @@ -637,7 +636,7 @@ break; } if (old_bss_index == old_file_h->e_shnum) - fatal ("Can't find .bss in %s.\n", old_name, 0); + fatal ("Can't find .bss in %s.\n", old_name); for (old_sbss_index = 1; old_sbss_index < (int) old_file_h->e_shnum; old_sbss_index++) @@ -714,7 +713,7 @@ #endif if ((unsigned) new_bss_addr < (unsigned) old_bss_addr + old_bss_size) - fatal (".bss shrank when undumping???\n", 0, 0); + fatal (".bss shrank when undumping???\n"); /* Set the output file to the right size and mmap it. Set * pointers to various interesting objects. stat_buf still has @@ -797,7 +796,7 @@ > (old_sbss_index == -1 ? old_bss_addr : round_up (old_bss_addr, alignment))) - fatal ("Program segment above .bss in %s\n", old_name, 0); + fatal ("Program segment above .bss in %s\n", old_name); if (NEW_PROGRAM_H (n).p_type == PT_LOAD && (round_up ((NEW_PROGRAM_H (n)).p_vaddr @@ -807,7 +806,7 @@ break; } if (n < 0) - fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); + fatal ("Couldn't find segment next to .bss in %s\n", old_name); /* Make sure that the size includes any padding before the old .bss section. */ @@ -838,7 +837,7 @@ ".data")) break; if (old_data_index == old_file_h->e_shnum) - fatal ("Can't find .data in %s.\n", old_name, 0); + fatal ("Can't find .data in %s.\n", old_name); /* Walk through all section headers, insert the new data2 section right before the new bss section. */ @@ -1180,4 +1179,5 @@ stat_buf.st_mode |= 0111 & ~n; if (chmod (new_name, stat_buf.st_mode) == -1) fatal ("Can't chmod (%s): errno %d\n", new_name, errno); + return 0; } diff --text -u 'xemacs-21.5.21/tests/ChangeLog' 'xemacs-21.5.22/tests/ChangeLog' Index: ./tests/ChangeLog --- ./tests/ChangeLog Sat May 28 15:10:16 2005 +++ ./tests/ChangeLog Wed Sep 14 14:28:53 2005 @@ -1,3 +1,7 @@ +2005-09-14 Stephen J. Turnbull + + * XEmacs 21.5.22 "cucumber" is released. + 2005-05-28 Stephen J. Turnbull * XEmacs 21.5.21 "corn" is released. diff --text -u 'xemacs-21.5.21/version.sh' 'xemacs-21.5.22/version.sh' Index: ./version.sh --- ./version.sh Sat May 28 15:10:16 2005 +++ ./version.sh Wed Sep 14 14:28:53 2005 @@ -2,11 +2,11 @@ emacs_is_beta=t emacs_major_version=21 emacs_minor_version=5 -emacs_beta_version=21 -xemacs_codename="corn" +emacs_beta_version=22 +xemacs_codename="cucumber" emacs_kit_version= infodock_major_version=4 infodock_minor_version=0 infodock_build_version=8 -xemacs_extra_name="(+CVS-20050527)" +xemacs_extra_name="(+CVS-20050913)" xemacs_release_date="2005-02-18" #### End of Patch data #### #### ApplyPatch data follows #### # Data version : 1.0 # Date generated : Wed Sep 14 14:28:58 2005 # Generated by : makepatch 2.00_12* # Recurse directories : Yes # Excluded files : (\A|/).*\~\Z # (\A|/).*\.a\Z # (\A|/).*\.bak\Z # (\A|/).*\.BAK\Z # (\A|/).*\.elc\Z # (\A|/).*\.exe\Z # (\A|/).*\.gz\Z # (\A|/).*\.ln\Z # (\A|/).*\.o\Z # (\A|/).*\.obj\Z # (\A|/).*\.olb\Z # (\A|/).*\.old\Z # (\A|/).*\.orig\Z # (\A|/).*\.rej\Z # (\A|/).*\.so\Z # (\A|/).*\.Z\Z # (\A|/)\.del\-.*\Z # (\A|/)\.make\.state\Z # (\A|/)\.nse_depinfo\Z # (\A|/)core\Z # (\A|/)tags\Z # (\A|/)TAGS\Z # (\A|/).*\~\Z # (\A|/)\.cvsignore\Z # (\A|/)CVS\Z # (\A|/)MANIFEST\Z # (\A|/)\.precious\Z # (\A|/)TAGS\Z # (\A|/)xemacs\-packages\Z # (\A|/)mule\-packages\Z # (\A|/).*\.gz\Z # (\A|/)display\Z # (\A|/)TUTORIAL\.ru\Z # (\A|/)TUTORIAL\.th\Z # (\A|/).*\.png\Z # (\A|/).*\.bmp\Z # (\A|/).*\.ico\Z # (\A|/).*\.elc\Z # (\A|/).*\.info.*\Z # r './modules/postgresql/Makefile.in' 3996 0 # r './modules/postgresql/GNUmakefile' 1710 0 # p './CHANGES-beta' 80985 1126673893 0100644 # p './ChangeLog' 167309 1126675733 0100644 # p './autom4te.cache/requests' 5185 1126675733 0100644 # p './etc/ChangeLog' 47130 1126675733 0100644 # p './etc/NEWS' 59252 1121630920 0100644 # p './lib-src/ChangeLog' 52531 1126675733 0100644 # p './lisp/ChangeLog' 796718 1126675733 0100644 # p './lisp/cmdloop.el' 27672 1119809089 0100644 # p './lisp/dumped-lisp.el' 10369 1119809089 0100644 # p './lisp/events.el' 5642 1119809090 0100644 # p './lisp/gtk-compose.el' 70 1119809090 0100644 # p './lisp/isearch-mode.el' 76751 1119809090 0100644 # p './lisp/keymap.el' 21503 1119809090 0100644 # p './lisp/package-get.el' 55638 1118011616 0100644 # p './lisp/window-xemacs.el' 37888 1123321319 0100644 # p './lisp/x-compose.el' 25599 1119809090 0100644 # p './lisp/x-init.el' 15631 1119809090 0100644 # p './lwlib/ChangeLog' 27754 1126675733 0100644 # p './man/ChangeLog' 186405 1126675733 0100644 # p './man/internals/internals.texi' 1263588 1119809096 0100644 # p './man/lispref/building.texi' 21250 1119214187 0100644 # p './man/lispref/commands.texi' 91051 1121630925 0100644 # p './man/lispref/faces.texi' 32462 1121845004 0100644 # p './man/lispref/keymaps.texi' 59588 1119809099 0100644 # p './man/lispref/lispref.texi' 55068 1119214187 0100644 # p './man/lispref/mule.texi' 147163 1119214187 0100644 # p './modules/ChangeLog' 10582 1126675733 0100644 # c './modules/postgresql/configure' 0 1037602353 0100644 # p './netinstall/ChangeLog' 13198 1126675733 0100644 # p './nt/ChangeLog' 66772 1126675733 0100644 # p './nt/installer/Wise/ChangeLog' 2210 1126675733 0100644 # p './src/ChangeLog' 1505797 1126675733 0100644 # p './src/cmds.c' 16470 1121630927 0100644 # p './src/console-gtk.c' 3266 1119809102 0100644 # p './src/console-impl.h' 23670 1119809103 0100644 # p './src/console-msw.c' 19152 1120811254 0100644 # p './src/console-tty.c' 11834 1120811254 0100644 # p './src/console-x.c' 8380 1120038455 0100644 # p './src/depend' 42167 1120513868 0100644 # p './src/device-gtk.c' 21683 1119809103 0100644 # p './src/device-x.c' 65640 1119809103 0100644 # p './src/dumper.c' 77162 1119527327 0100644 # p './src/editfns.c' 79729 1121630927 0100644 # p './src/event-Xt.c' 108039 1120427280 0100644 # p './src/event-gtk.c' 60979 1120427280 0100644 # p './src/event-msw.c' 148644 1119809104 0100644 # p './src/event-stream.c' 169046 1121630928 0100644 # p './src/event-xlike-inc.c' 5927 1119809104 0100644 # p './src/events.c' 78182 1121630928 0100644 # p './src/events.h' 44475 1119809105 0100644 # p './src/extents.c' 239237 1122913701 0100644 # p './src/faces.c' 70517 1121845001 0100644 # p './src/file-coding.c' 151561 1119215310 0100644 # p './src/frame-msw.c' 38211 1122227603 0100644 # p './src/general-slots.h' 6842 1120427281 0100644 # p './src/gpmevent.c' 17384 1119958334 0100644 # p './src/keymap.c' 140614 1121630928 0100644 # p './src/lisp.h' 202876 1121630928 0100644 # p './src/lread.c' 93319 1121210809 0100644 # p './src/mule-ccl.c' 63709 1119812707 0100644 # p './src/mule-coding.c' 95782 1119215311 0100644 # p './src/ralloc.c' 58586 1117623096 0100644 # p './src/symeval.h' 20313 1118951975 0100644 # p './src/sysdep.c' 117790 1119809105 0100644 # p './src/sysdll.c' 10584 1121170933 0100644 # p './src/tooltalk.c' 42913 1119958335 0100644 # p './src/unexelf.c' 41142 1120482687 0100644 # p './tests/ChangeLog' 22811 1126675733 0100644 # p './version.sh' 279 1126675733 0100644 #### End of ApplyPatch data #### #### End of Patch kit [created: Wed Sep 14 14:28:58 2005] #### #### Patch checksum: 11960 443681 34208 #### #### Checksum: 11992 444882 5007 ####