# This is a patch for xemacs-21.4.8 to update it to xemacs-21.4.9 # # 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 # 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: # touch './lib-src/winclient.c' chmod 0644 './lib-src/winclient.c' touch './netinstall/desktop.h' chmod 0644 './netinstall/desktop.h' # # This command terminates the shell and need not be executed manually. exit # #### End of Preamble #### #### Patch data follows #### diff --text -u 'xemacs-21.4.8/CHANGES-msw' 'xemacs-21.4.9/CHANGES-msw' Index: ././CHANGES-msw --- ././CHANGES-msw Wed May 1 01:03:42 2002 +++ ././CHANGES-msw Tue Aug 20 20:32:30 2002 @@ -10,6 +10,56 @@ See the file 'CHANGES-release' for a full list of mainline changes. +to XEmacs 21.4.8 "Honest Recruiter (Windows)" + + - All changes from 21.4.6 and 21.4.7. + - Make sure revert temporaries are not visiting files. Suggested by + Mike Alexander. + - File renaming fix from Mathias Grimmberger. + - Fix printer metrics on windows 95 from Jonathan Harris. + - Fix layout of widgets so that the search dialog works. + - Fix focus capture of widgets under X. + - Buffers tab doc fixes from John Palmieri. + - Sync with FSF custom :set-after behavior. + - Virtual window manager freeze fix from Rick Rankin. + - Fix various printing problems. + - Enable windows printing on cygwin. + +to XEmacs 21.4.7 "Economic Science (Windows)" + + - All changes from 21.4.6. + - Fix problems with auto-revert with noconfirm. + - Undo autoconf 2.5x changes. + - Undo 21.4.7 process change. + +to XEmacs 21.4.6 "Common Lisp (Windows)" + + - Made native registry entries match the installer. + - Fixed mousewheel lockups. + - Frame iconifcation fix from Adrian Aichner. + - Fixed some printing problems. + - Netinstaller updated to support kit revisions. + - Fixed customize popup menus. + - Fixed problems with too many dialog popups. + - Netinstaller fixed to correctly upgrade shortcuts when upgrading + core XEmacs. + - Fix for virtual window managers from Adrian Aichner. + - Installer registers all C++ file types. + - Short-filename fix from Peter Arius. + - Fix for GC assertions from Adrian Aichner. + - Winclient DDE client from Alastair Houghton. + - Fix event assert from Mike Alexander. + - Warning removal noticed by Ben Wing. + - Redisplay glyph height fix from Ben Wing. + - Printer margin fix from Jonathan Harris. + - Error dialog fix suggested by Thomas Vogler. + - Fixed revert-buffer to not revert in the case that there is + nothing to be done. + - Glyph-baseline fix from Nix. + - Fixed clipping of wide glyphs in non-zero-length extents. + - Windows build fixes. + - Fixed :initial-focus so that it works. + to XEmacs 21.4.5 "Civil Service (Windows)" - Fixed a scrollbar problem when selecting the frame with focus. diff --text -u 'xemacs-21.4.8/CHANGES-release' 'xemacs-21.4.9/CHANGES-release' Index: ././CHANGES-release --- ././CHANGES-release Thu May 9 20:15:01 2002 +++ ././CHANGES-release Thu Aug 22 20:01:06 2002 @@ -22,6 +22,69 @@ For more details, including developers involved and dates, see the ChangeLogs, or use CVS diff to view the patches. +to 21.4.9 "Informed Management" + +-- (**) (MS Windows) new winclient -- Andy Piper, others +-- (**) Mule auto-decompresses in find-library -- Steve Youngs +-- (**) PUI displays author and package versions, balloon-help -- Steve Youngs +-- (**) autoload and bind `replace-rectangle -- Didier Verna +-- Crash fix: (HP/UX) in Motif on updating non-labels -- Darryl Okahata, + Andy Piper +-- Crash fix: (MS Windows) on bogus time -- Nick Pakoulin, Stephen Turnbull +-- Crash fix: in handling of dead consoles -- Ben Wing +-- Crash fix: in process handling (several) -- Mike Sperber +-- Crash fix: in skip-chars -- Ben Wing, Stephen Turnbull +-- Crash fix: on finding non-existent XML file -- Stephen Turnbull, Ben Wing, + Michael Sperber +-- Fix: URL handling (Cygwin) -- Andy Piper +-- Fix: bogus arguments in custom-theme-set-variables -- Andy Piper +-- Fix: bogus reinitialization breaking ru-keys.el -- Dmitry Astapov +-- Fix: call-process-region deletes region after use -- Mike Alexander +-- Fix: case (in)sensitivity in replace-in-string -- Didier Verna +-- Fix: completion refers to correct history -- Christoph Wedler +-- Fix: don't use RTLD_GLOBAL in DSOs -- Jerry James +-- Fix: failures to redisplay (MS Windows) -- Mike Alexander, Andy Piper, + Adrian Aichner +-- Fix: file renaming (MS Windows) -- Mathias Grimmberger +-- Fix: find architecture directory correctly -- Jerry James +-- Fix: freeze on virtual desktop switch (MS Windows) -- Rick Rankin +-- Fix: glyph handling, especially baselines -- Andy Piper, Nix +-- Fix: handle popup dialogs correlcty (MS Windows) -- Andy Piper +-- Fix: mousewheel handling (MS Windows) -- Andy Piper +-- Fix: short file name handling (MS Windows) -- Andy Piper, Peter Arius +-- Fix: shrink to fit windows work -- Jerry James +-- Fix: toolbar doesn't update if gutters move bug -- Andy Piper +-- Fix: uneven horizontal window splits -- Jerry James +-- Improve: GNU synchs in Lisp API: join-line, :set-after, add-to-list, + custom-local-buffer, font-lock-doc-face, font-lock-builtin-face, + font-lock-constant-face, custom-set-default + -- Ville Skyttä, John Paul Wallington, Andy Piper +-- Improve: revert-buffer omits expensive operations if no change -- Andy Piper +-- Improve: change registry key to XEmacs (MS Windows) -- Andy Piper +-- Improve: 2d arg of split-string-by-char is required -- Brian A Palmer +-- Improve: printer handling on MS (native and Cygwin) -- Andy Piper +-- Fix: (Build) allow disabling Internet sockets in gnuserv -- Gregory Steuck +-- Fix: (Build) unsigned-signed compare warnings -- Stephen Turnbull +-- Fix: (Build/Cygwin) X + Windows build gets widgets -- Andy Piper +-- Fix: (Build/Unix) configure --usage -- Jerry James +-- Fix: (Build/Unix) protect linker args for PPC -- Malcolm Purvis +-- Improve: (Build) make-autoload supports define-derived-mode + -- Stephen Turnbull and Didier Verna +-- Improve: (Build/MS Windows) Maintainer build process -- Andy Piper +-- Improve: (Build/MS Windows) default to pdump -- Jonathan Harris +-- Improve: (Build/MS Windows) update documentation -- Jonathan Harris +-- Improve: (Build/Unix) 64-bit ELF support -- Gregory Steuck +-- Improve: (Build/Unix) OpenBSD support -- Gregory Steuck +-- Docs: "vanity" updates -- Andy Piper +-- Docs: Info minor updates -- Simon Josefsson, Ville Skyttä, Adrian Aichner, + Steve Youngs, Jerry James +-- Docs: Info new nodes: Regression Testing XEmacs -- Stephen Turnbull +-- Docs: Info typo fixes -- Adrian Aichner (many!) +-- Docs: docstring typo fixes -- John Paul Wallington, Stephen Turnbull, + Ville Skyttä, Andy Piper, Jerry James, Adrian Aichner +-- Docs: new FAQs: Killing is slow, Q2.0.15 -- Stephen Turnbull, Adrian Aichner +-- Docs: new PROBLEMS -- Stephen Turnbull + to XEmacs 21.4.8 "Honest Recruiter" -- Fix: "yank-pop twice" bug -- Jerry James, Stephen J. Turnbull diff --text -u 'xemacs-21.4.8/ChangeLog' 'xemacs-21.4.9/ChangeLog' Index: ././ChangeLog --- ././ChangeLog Thu May 9 20:27:23 2002 +++ ././ChangeLog Fri Aug 23 19:42:18 2002 @@ -1,3 +1,67 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-05-22 Andy Piper + + * build-msw-release.sh (TMPINSTALL): install to a tmpdir so that + xemacs can be running while we build a dist. + +2002-04-26 Andy Piper + + * configure.in: make sure that a combined X and windows build gets + widgets. + +2002-08-10 Stephen J. Turnbull + + * etc/package-index.LATEST.pgp: Update. + +2002-08-10 Stephen J. Turnbull + + * PROBLEMS (General advice): Define runtime and build problems. + +2002-07-24 Stephen J. Turnbull + + * PROBLEMS (Running, Linux): Rewrite "Hannibal Lecter" ld stuff. + +2002-07-12 Stephen J. Turnbull + + * etc/BETA (Large contributions): Typo fix per JPW. + +2002-07-12 Stephen J. Turnbull + + * etc/BETA (Large contributions): New section. Reorganize file. + +2002-06-04 Jerry James + + * configure.usage: Identify --with-modules as autodetecting. + +2002-07-04 Stephen J. Turnbull + + * PROBLEMS: Add two basic configuration questions. + +2002-05-17 Stephen J. Turnbull + + * PROBLEMS: Describe "Hannibal Lecter" crash on Linux. Reorder + Linux runtime issues section. + * INSTALL: Improve description of mail locking. + +2002-05-10 Stephen J. Turnbull + + * etc/OXYMORONS (21.4.15): New. Not a reference to Vin. + + * build-msw-release.sh: Synch to Andy. + +2002-03-18 Gregory Steuck + + * configure.in: Improve OpenBSD support: correct check for + socklen_t, check for libtermcap is libncurses. + +2002-02-28 Malcolm Purvis + + * configure.in: Protect nocomboreloc linker arguments to avoid + problem on the ppc. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/INSTALL' 'xemacs-21.4.9/INSTALL' Index: ././INSTALL --- ././INSTALL Fri Apr 13 03:20:31 2001 +++ ././INSTALL Tue Aug 20 20:32:34 2002 @@ -373,11 +373,16 @@ MAIL LOCKING ============ -Find out what the preferred method for locking mail spool files is in -your environment. Presently, XEmacs supports lockf, flock, and dot -locking. Specify the locking method via the --mail-locking=METHOD -option to configure. Valid values for METHOD are --mail-locking are -`lockf', `flock', and `dot'. +For most platforms, configure or the src/s file have the preferred +method for locking mail spool files preconfigured. Otherwise you must +find out for youself. Do not choose a locking protocol "on the +objective merits." XEmacs must use the same method as other mail +utilities on your system, or you will lose mail. + +Presently, XEmacs supports lockf, flock, and dot locking. Specify the +locking method via the --mail-locking=METHOD option to configure. +Valid values for METHOD are --mail-locking are `lockf', `flock', and +`dot'. RUNNING CONFIGURE ================= diff --text -u 'xemacs-21.4.8/PROBLEMS' 'xemacs-21.4.9/PROBLEMS' Index: ././PROBLEMS --- ././PROBLEMS Sat May 4 17:35:31 2002 +++ ././PROBLEMS Tue Aug 20 20:32:36 2002 @@ -17,19 +17,48 @@ `C-c C-b' to move to previous equal level. `C-h m' will give more info about the Outline mode. -Also, Try finding the things you need using one of the search commands +Also, try finding the things you need using one of the search commands XEmacs provides (e.g. `C-s'). General advice: + WATCH OUT for your init file! (~/.xemacs/init.el or ~/.emacs) If you observe strange problems, invoke XEmacs with the `-vanilla' option and see if you can repeat the problem. + Note that most of the problems described here manifest at RUN + time, even those described as BUILD problems. It is quite unusual + for a released XEmacs to fail to build. So a "build problem" + requires you to tweak the build environment, then rebuild XEmacs. + A "runtime problem" is one that can be fixed by proper + configuration of the existing build. Compatibility problems and + Mule issues are generally runtime problems, but are treated + separately for convenience. + * Problems with building XEmacs =============================== ** General + Much general information is in INSTALL. If it's covered in + INSTALL, we don't repeat it here. + +*** How does I configure to get the buffer tabs/progress bars? + +These features depend on support for "native widgets". Use the +--with-widgets option to configure. Configuration of widgets is +automatic for "modern" toolkits (MS Windows, GTK, and Motif), but if +you are using Xt and the Athena widgets, you will probably want to +specify a "3d" widget set. See configure --usage, and don't forget to +install the corresponding development libraries. + +*** I know I have libfoo installed, but configure doesn't find it. + +Typical of Linux systems with package managers. To link with a shared +library, you only need the shared library. To compile objects that +link with it, you need the headers---and distros don't provide them with +the libraries. You need the additional "development" package, too. + *** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures without also using `-fno-schedule-insns'. @@ -1362,6 +1391,34 @@ ** Linux +*** XEmacs crashes on startup, in make-frame. + +Typically the Lisp backtrace includes + + make-frame(nil #) + +somewhere near the top. One problem is due to an improvement in GNU +ld that sorts the ELF reloc sections in the executable, giving +dramatic speedups in startup for large executables. It also confuses +the traditional unexec code in XEmacs, leading to the core dump. The +solution is to use either the `--ldflags="-z nocombreloc" or the +"--pdump" option to configure. "--pdump" is recommended. + +Recent 21.4 and 21.5 versions of XEmacs autodetect this feature of ld +in configure. Unfortunately, Red Hat and SuSE (at least) distributed +prerelease versions of ld (numbered around 2.11.90.x.y, nicknamed +"Hannibal Lecter" at XEmacs.ORG) where autodetection fails but the +feature is enabled by default. The recommended procedure is to +upgrade to binutils >= 2.12 and rerun configure. Otherwise you must +apply the flags by hand. + +Andrew Jaffe reported a problem on Red Hat 7.3 with identical +symptoms, except that ld was already being invoked with -z +nocombreloc. Switching dialogs and widgets from Motif to Athena +eliminated the problem. Both LessTif and OpenMotif were installed, +and a bad interaction is suspected. This problem has not yet been +fully analyzed. + *** Debian **** XEmacs warns "Symbol `toggleClassRec' has different size in shared object, consider re-linking / Symbol `labelClassRec' has different @@ -1456,30 +1513,6 @@ This is written for the mainline GNU Emacs but the author has made efforts to adapt it to XEmacs. YMMV. -*** You get crashes in a non-C locale with Linux GNU Libc 2.0. - -Internationalization was not the top priority for GNU Libc 2.0. -As of this writing (1998-12-28) you may get crashes while running -XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes -while `LC_ALL=C xemacs' runs fine. This happens for example with GNU -libc 2.0.7. Installing libintl.a and libintl.h built from gettext -0.10.35 and re-building XEmacs solves the crashes. Presumably soon -everyone will upgrade to GNU Libc 2.1 and this problem will go away. - -*** `C-z', or `M-x suspend-emacs' hangs instead of suspending. - -If you build with `gpm' support on Linux, you cannot suspend XEmacs -because gpm installs a buggy SIGTSTP handler. Either compile with -`--with-gpm=no', or don't suspend XEmacs on the Linux console until -this bug is fixed. - -*** With certain fonts, when the cursor appears on a character, the -character doesn't appear--you get a solid box instead. - -One user on a Linux system reported that this problem went away with -installation of a new X server. The failing server was XFree86 3.1.1. -XFree86 3.1.2 works. - *** Slow startup on Linux. People using systems based on the Linux kernel sometimes report that @@ -1561,6 +1594,30 @@ The solution is either to build XEmacs with -sound=native,noesd or to make sure that esd is in fact running. +*** You get crashes in a non-C locale with Linux GNU Libc 2.0. + +Internationalization was not the top priority for GNU Libc 2.0. +As of this writing (1998-12-28) you may get crashes while running +XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes +while `LC_ALL=C xemacs' runs fine. This happens for example with GNU +libc 2.0.7. Installing libintl.a and libintl.h built from gettext +0.10.35 and re-building XEmacs solves the crashes. Presumably soon +everyone will upgrade to GNU Libc 2.1 and this problem will go away. + +*** `C-z', or `M-x suspend-emacs' hangs instead of suspending. + +If you build with `gpm' support on Linux, you cannot suspend XEmacs +because gpm installs a buggy SIGTSTP handler. Either compile with +`--with-gpm=no', or don't suspend XEmacs on the Linux console until +this bug is fixed. + +*** With certain fonts, when the cursor appears on a character, the +character doesn't appear--you get a solid box instead. + +One user on a Linux system reported that this problem went away with +installation of a new X server. The failing server was XFree86 3.1.1. +XFree86 3.1.2 works. + ** IRIX *** On Irix, I don't see the toolbar icons and I'm getting lots of entries in the warnings buffer. diff --text -u 'xemacs-21.4.8/build-msw-release.sh' 'xemacs-21.4.9/build-msw-release.sh' Index: ././build-msw-release.sh --- ././build-msw-release.sh Wed May 1 01:03:44 2002 +++ ././build-msw-release.sh Tue Aug 20 20:32:38 2002 @@ -7,6 +7,7 @@ # configuration NATIVE_ZLIB_DIR=/usr/local/mingw/lib PROGRAM_FILES='c:/Program Files/XEmacs' +TMPINSTALL=/tmp/local # no configuration past this point INSTALL= @@ -29,13 +30,9 @@ # decide on names emacs_ver=${emacs_major_version}.${emacs_minor_version}.${emacs_beta_version} -cygwin_tarball=xemacs-i686-pc-cygwin-${emacs_ver}.tar.gz -win32_tarball=xemacs-i586-pc-win32-${emacs_ver}.tar.gz +cygwin_tarball=xemacs-i686-pc-cygwin-${emacs_ver}${emacs_kit_version}.tar.gz +win32_tarball=xemacs-i586-pc-win32-${emacs_ver}${emacs_kit_version}.tar.gz -# create a dist directory -mkdir -p windows/cygwin32 -mkdir -p windows/win32 -mkdir -p /usr/local DISTDIR=`pwd`/windows # check to see if we should build @@ -49,8 +46,18 @@ make distclean fi +# nuke the dist dir. +rm -rf windows + +# create a dist directory +mkdir -p windows/cygwin32 +mkdir -p windows/win32 +mkdir -p /usr/local +mkdir -p ${TMPINSTALL} + # first build win32 (cd nt; + nmake -f xemacs.mak clean; nmake -f xemacs.mak) (cd "${PROGRAM_FILES}"; rm -rf ./XEmacs-${emacs_ver}) @@ -79,8 +86,8 @@ ./XEmacs-${emacs_ver}) # make the tarball -make install -(cd /usr/local; +make prefix=${TMPINSTALL} bindir=${TMPINSTALL}/bin/i686-pc-cygwin install +(cd ${TMPINSTALL}; tar czvf ${DISTDIR}/cygwin32/${cygwin_tarball} \ ./bin/i686-pc-cygwin \ ./lib/xemacs-${emacs_ver} \ @@ -91,7 +98,8 @@ ./man/man1/gnuclient.1 \ ./man/man1/gnudoit.1 \ ./man/man1/gnuserv.1 \ - ./man/man1/xemacs.1) + ./man/man1/xemacs.1; + rm -rf bin lib man) # figure out the ini file. cygwin_tarball_size=`ls -l windows/cygwin32/${cygwin_tarball} | awk '{ print $5; }'` @@ -99,7 +107,8 @@ (cd netinstall; make CYGWIN_SIZE=${cygwin_tarball_size} \ - WIN32_SIZE=${win32_tarball_size} setup-bin.ini ) + WIN32_SIZE=${win32_tarball_size} \ + KIT_VERSION=${emacs_kit_version} setup-bin.ini ) cp netinstall/setup-bin.ini windows # tidy up diff --text -u 'xemacs-21.4.8/configure' 'xemacs-21.4.9/configure' Index: ././configure --- ././configure Thu May 9 20:27:06 2002 +++ ././configure Fri Aug 23 19:42:18 2002 @@ -2845,6 +2845,17 @@ echo "$ac_t""no" 1>&6 fi +if test "$pdump" != "yes"; then + echo $ac_n "checking for \"-z nocombreloc\" linker flag""... $ac_c" 1>&6 +echo "configure:2851: checking for \"-z nocombreloc\" linker flag" >&5 + case "`ld --help 2>&1`" in + *-z\ nocombreloc* ) echo "$ac_t""yes" 1>&6 + ld_switch_site="-z nocombreloc $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z nocombreloc\" to \$ld_switch_site"; fi ;; + *) echo "$ac_t""no" 1>&6 ;; + esac +fi + + if test "$GCC" = "yes"; then set x $ld_switch_system; shift; ld_switch_system="" @@ -2873,6 +2884,19 @@ fi if test "$GCC" = "yes"; then + set x $ld_switch_site; shift; ld_switch_site="" + while test -n "$1"; do + case $1 in + -L | -l | -u ) ld_switch_site="$ld_switch_site $1 $2"; shift ;; + -L* | -l* | -u* | -Wl* | -pg ) ld_switch_site="$ld_switch_site $1" ;; + -Xlinker* ) ;; + * ) ld_switch_site="$ld_switch_site -Xlinker $1" ;; + esac + shift + done +fi + +if test "$GCC" = "yes"; then set x $LDFLAGS; shift; LDFLAGS="" while test -n "$1"; do case $1 in @@ -2912,7 +2936,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2916: checking for dynodump" >&5 +echo "configure:2940: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2950,12 +2974,12 @@ done echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6 -echo "configure:2954: checking for terminateAndUnload in -lC" >&5 +echo "configure:2978: checking for terminateAndUnload in -lC" >&5 ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'` xe_check_libs=" -lC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3074,7 +3098,7 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:3078: checking "for runtime libraries flag"" >&5 +echo "configure:3102: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; decosf* | linux* | irix*) dash_r="-rpath " ;; @@ -3096,14 +3120,14 @@ done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* dash_r="$try_dash_r" else @@ -3204,10 +3228,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:3208: checking for malloc_set_state" >&5 +echo "configure:3232: checking for malloc_set_state" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_malloc_set_state=yes" else @@ -3250,16 +3274,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:3254: checking whether __after_morecore_hook exists" >&5 +echo "configure:3278: checking whether __after_morecore_hook exists" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -3315,7 +3339,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3319: checking for $ac_word" >&5 +echo "configure:3343: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -3370,7 +3394,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:3374: checking for a BSD compatible install" >&5 +echo "configure:3398: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" @@ -3424,7 +3448,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3428: checking for $ac_word" >&5 +echo "configure:3452: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -3456,15 +3480,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3460: checking for $ac_hdr" >&5 +echo "configure:3484: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3468: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3494,10 +3518,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:3498: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:3522: checking for sys/wait.h that is POSIX.1 compatible" >&5 cat > conftest.$ac_ext < #include @@ -3513,7 +3537,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3537,10 +3561,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3541: checking for ANSI C header files" >&5 +echo "configure:3565: checking for ANSI C header files" >&5 cat > conftest.$ac_ext < #include @@ -3548,7 +3572,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3565,7 +3589,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3583,7 +3607,7 @@ 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 < EOF @@ -3601,7 +3625,7 @@ if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3612,7 +3636,7 @@ exit (0); } EOF -if { (eval echo configure:3616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:3640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -3638,10 +3662,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3642: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3666: checking whether time.h and sys/time.h may both be included" >&5 cat > conftest.$ac_ext < #include @@ -3650,7 +3674,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3674,10 +3698,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3678: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:3702: checking for sys_siglist declaration in signal.h or unistd.h" >&5 cat > conftest.$ac_ext < #include @@ -3689,7 +3713,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3715,9 +3739,9 @@ echo $ac_n "checking for utime""... $ac_c" 1>&6 -echo "configure:3719: checking for utime" >&5 +echo "configure:3743: checking for utime" >&5 cat > conftest.$ac_ext < #include @@ -3725,7 +3749,7 @@ struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x); ; return 0; } EOF -if { (eval echo configure:3729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -3744,10 +3768,10 @@ for ac_func in utimes do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3748: checking for $ac_func" >&5 +echo "configure:3772: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3802,10 +3826,10 @@ echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3806: checking return type of signal handlers" >&5 +echo "configure:3830: checking return type of signal handlers" >&5 cat > conftest.$ac_ext < #include @@ -3822,7 +3846,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3850: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3844,10 +3868,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3848: checking for size_t" >&5 +echo "configure:3872: checking for size_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3878,10 +3902,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3882: checking for pid_t" >&5 +echo "configure:3906: checking for pid_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3912,10 +3936,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3916: checking for uid_t in sys/types.h" >&5 +echo "configure:3940: checking for uid_t in sys/types.h" >&5 cat > conftest.$ac_ext < EOF @@ -3951,10 +3975,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3955: checking for mode_t" >&5 +echo "configure:3979: checking for mode_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3985,10 +4009,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3989: checking for off_t" >&5 +echo "configure:4013: checking for off_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4019,10 +4043,10 @@ fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:4023: checking for ssize_t" >&5 +echo "configure:4047: checking for ssize_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4054,10 +4078,11 @@ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:4058: checking for socklen_t" >&5 +echo "configure:4082: checking for socklen_t" >&5 cat > conftest.$ac_ext < #include socklen_t x; @@ -4065,7 +4090,7 @@ ; return 0; } EOF -if { (eval echo configure:4069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -4074,8 +4099,9 @@ rm -rf conftest* cat > conftest.$ac_ext < #include int accept (int, struct sockaddr *, size_t *); @@ -4083,7 +4109,7 @@ ; return 0; } EOF -if { (eval echo configure:4087: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""size_t" 1>&6 @@ -4115,9 +4141,9 @@ rm -f conftest* echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:4119: checking for struct timeval" >&5 +echo "configure:4145: checking for struct timeval" >&5 cat > conftest.$ac_ext < @@ -4133,7 +4159,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:4137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -4155,10 +4181,10 @@ rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:4159: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:4185: checking whether struct tm is in sys/time.h or time.h" >&5 cat > conftest.$ac_ext < #include @@ -4166,7 +4192,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:4170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -4190,10 +4216,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:4194: checking for tm_zone in struct tm" >&5 +echo "configure:4220: checking for tm_zone in struct tm" >&5 cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> @@ -4201,7 +4227,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:4205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -4224,10 +4250,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:4228: checking for tzname" >&5 +echo "configure:4254: checking for tzname" >&5 cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ @@ -4237,7 +4263,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:4241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -4263,10 +4289,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4267: checking for working const" >&5 +echo "configure:4293: checking for working const" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4340,7 +4366,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:4344: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:4370: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -4365,12 +4391,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:4369: checking whether byte ordering is bigendian" >&5 +echo "configure:4395: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -4381,11 +4407,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:4385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4411: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -4396,7 +4422,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:4400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4413,7 +4439,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_bigendian=no else @@ -4453,10 +4479,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4457: checking size of short" >&5 +echo "configure:4483: checking size of short" >&5 cat > conftest.$ac_ext < #include @@ -4468,7 +4494,7 @@ exit(0); } EOF -if { (eval echo configure:4472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -4496,10 +4522,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4500: checking size of int" >&5 +echo "configure:4526: checking size of int" >&5 cat > conftest.$ac_ext < #include @@ -4511,7 +4537,7 @@ exit(0); } EOF -if { (eval echo configure:4515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -4533,10 +4559,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4537: checking size of long" >&5 +echo "configure:4563: checking size of long" >&5 cat > conftest.$ac_ext < #include @@ -4548,7 +4574,7 @@ exit(0); } EOF -if { (eval echo configure:4552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -4570,10 +4596,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4574: checking size of long long" >&5 +echo "configure:4600: checking size of long long" >&5 cat > conftest.$ac_ext < #include @@ -4585,7 +4611,7 @@ exit(0); } EOF -if { (eval echo configure:4589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long_long=`cat conftestval` else @@ -4607,10 +4633,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4611: checking size of void *" >&5 +echo "configure:4637: checking size of void *" >&5 cat > conftest.$ac_ext < #include @@ -4622,7 +4648,7 @@ exit(0); } EOF -if { (eval echo configure:4626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_void_p=`cat conftestval` else @@ -4645,7 +4671,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4649: checking for long file names" >&5 +echo "configure:4675: checking for long file names" >&5 ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: @@ -4691,10 +4717,10 @@ echo $ac_n "checking for sin""... $ac_c" 1>&6 -echo "configure:4695: checking for sin" >&5 +echo "configure:4721: checking for sin" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_sin=yes" else @@ -4735,12 +4761,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4739: checking for sin in -lm" >&5 +echo "configure:4765: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4795,14 +4821,14 @@ cat > conftest.$ac_ext < int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_INVERSE_HYPERBOLIC @@ -4819,14 +4845,14 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4823: checking type of mail spool file locking" >&5 +echo "configure:4849: checking type of mail spool file locking" >&5 for ac_func in lockf flock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4827: checking for $ac_func" >&5 +echo "configure:4853: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4931,12 +4957,12 @@ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4935: checking for cma_open in -lpthreads" >&5 +echo "configure:4961: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4984,7 +5010,7 @@ echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4988: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:5014: checking whether the -xildoff compiler flag is required" >&5 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then echo "$ac_t""no" 1>&6; @@ -4996,7 +5022,7 @@ if test "$opsys" = "sol2"; then if test "$os_release" -ge 56; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:5000: checking for \"-z ignore\" linker flag" >&5 +echo "configure:5026: checking for \"-z ignore\" linker flag" >&5 case "`ld -h 2>&1`" in *-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6 ld_switch_site="-z ignore $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z ignore\" to \$ld_switch_site"; fi ;; @@ -5005,19 +5031,9 @@ fi fi -if test "$pdump" != "yes"; then - echo $ac_n "checking for \"-z nocombreloc\" linker flag""... $ac_c" 1>&6 -echo "configure:5011: checking for \"-z nocombreloc\" linker flag" >&5 - case "`ld --help 2>&1`" in - *-z\ nocombreloc* ) echo "$ac_t""yes" 1>&6 - ld_switch_site="-z nocombreloc $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z nocombreloc\" to \$ld_switch_site"; fi ;; - *) echo "$ac_t""no" 1>&6 ;; - esac -fi - echo "checking "for specified window system"" 1>&6 -echo "configure:5021: checking "for specified window system"" >&5 +echo "configure:5037: checking "for specified window system"" >&5 GNOME_CONFIG=no @@ -5025,7 +5041,7 @@ if test "$with_gnome" != "no"; then echo $ac_n "checking for GNOME configuration script""... $ac_c" 1>&6 -echo "configure:5029: checking for GNOME configuration script" >&5 +echo "configure:5045: checking for GNOME configuration script" >&5 for possible in gnome-config do possible_version=`${possible} --version 2> /dev/null` @@ -5056,7 +5072,7 @@ if test "$with_gtk" != "no";then echo $ac_n "checking for GTK configuration script""... $ac_c" 1>&6 -echo "configure:5060: checking for GTK configuration script" >&5 +echo "configure:5076: checking for GTK configuration script" >&5 for possible in gtk12-config gtk14-config gtk-config do possible_version=`${possible} --version 2> /dev/null` @@ -5078,18 +5094,18 @@ if test "${GTK_CONFIG}" != "no"; then echo $ac_n "checking gtk version""... $ac_c" 1>&6 -echo "configure:5082: checking gtk version" >&5 +echo "configure:5098: checking gtk version" >&5 GTK_VERSION=`${GTK_CONFIG} --version` echo "$ac_t""${GTK_VERSION}" 1>&6 echo $ac_n "checking gtk libs""... $ac_c" 1>&6 -echo "configure:5087: checking gtk libs" >&5 +echo "configure:5103: checking gtk libs" >&5 GTK_LIBS=`${GTK_CONFIG} --libs` libs_gtk="$libs_gtk ${GTK_LIBS}" && if test "$extra_verbose" = "yes"; then echo " Appending \"${GTK_LIBS}\" to \$libs_gtk"; fi echo "$ac_t""${GTK_LIBS}" 1>&6 echo $ac_n "checking gtk cflags""... $ac_c" 1>&6 -echo "configure:5093: checking gtk cflags" >&5 +echo "configure:5109: checking gtk cflags" >&5 GTK_CFLAGS=`${GTK_CONFIG} --cflags` if test "$GCC" = "yes"; then GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" @@ -5099,19 +5115,19 @@ echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6 -echo "configure:5103: checking for main in -lgdk_imlib" >&5 +echo "configure:5119: checking for main in -lgdk_imlib" >&5 ac_lib_var=`echo gdk_imlib'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdk_imlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5133,12 +5149,12 @@ echo $ac_n "checking for Imlib_init in -lImlib""... $ac_c" 1>&6 -echo "configure:5137: checking for Imlib_init in -lImlib" >&5 +echo "configure:5153: checking for Imlib_init in -lImlib" >&5 ac_lib_var=`echo Imlib'_'Imlib_init | sed 'y%./+-%__p_%'` xe_check_libs=" -lImlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5172,10 +5188,10 @@ for ac_func in gdk_imlib_init do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5176: checking for $ac_func" >&5 +echo "configure:5192: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5277,15 +5293,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5281: checking for $ac_hdr" >&5 +echo "configure:5297: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5305: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5316,19 +5332,19 @@ echo $ac_n "checking for main in -lxml""... $ac_c" 1>&6 -echo "configure:5320: checking for main in -lxml" >&5 +echo "configure:5336: checking for main in -lxml" >&5 ac_lib_var=`echo xml'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lxml " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5350,19 +5366,19 @@ echo $ac_n "checking for main in -lglade""... $ac_c" 1>&6 -echo "configure:5354: checking for main in -lglade" >&5 +echo "configure:5370: checking for main in -lglade" >&5 ac_lib_var=`echo glade'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5384,19 +5400,19 @@ echo $ac_n "checking for main in -lglade-gnome""... $ac_c" 1>&6 -echo "configure:5388: checking for main in -lglade-gnome" >&5 +echo "configure:5404: checking for main in -lglade-gnome" >&5 ac_lib_var=`echo glade-gnome'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade-gnome " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5417,7 +5433,7 @@ cat > conftest.$ac_ext < EOF @@ -5476,7 +5492,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:5480: checking for X" >&5 +echo "configure:5496: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -5536,12 +5552,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5561: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5610,14 +5626,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -5726,17 +5742,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:5730: checking whether -R must be followed by a space" >&5 +echo "configure:5746: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -5752,14 +5768,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -5795,12 +5811,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:5799: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:5815: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5835,12 +5851,12 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:5839: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:5855: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5880,10 +5896,10 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:5884: checking for gethostbyname" >&5 +echo "configure:5900: checking for gethostbyname" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -5927,12 +5943,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:5931: checking for gethostbyname in -lnsl" >&5 +echo "configure:5947: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5973,10 +5989,10 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:5977: checking for connect" >&5 +echo "configure:5993: checking for connect" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -6022,12 +6038,12 @@ xe_msg_checking="for connect in -lsocket" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6026: checking "$xe_msg_checking"" >&5 +echo "configure:6042: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6062,10 +6078,10 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:6066: checking for remove" >&5 +echo "configure:6082: checking for remove" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -6109,12 +6125,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:6113: checking for remove in -lposix" >&5 +echo "configure:6129: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6149,10 +6165,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:6153: checking for shmat" >&5 +echo "configure:6169: checking for shmat" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -6196,12 +6212,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:6200: checking for shmat in -lipc" >&5 +echo "configure:6216: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6248,12 +6264,12 @@ xe_msg_checking="for IceConnectionNumber in -lICE" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6252: checking "$xe_msg_checking"" >&5 +echo "configure:6268: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` xe_check_libs=" -lICE $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6431,7 +6447,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:6435: checking for X defines extracted by xmkmf" >&5 +echo "configure:6451: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -6480,15 +6496,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:6484: checking for X11/Intrinsic.h" >&5 +echo "configure:6500: checking for X11/Intrinsic.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6508: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6512,12 +6528,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:6516: checking for XOpenDisplay in -lX11" >&5 +echo "configure:6532: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6553,12 +6569,12 @@ xe_msg_checking="for XGetFontProperty in -lX11" test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6557: checking "$xe_msg_checking"" >&5 +echo "configure:6573: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6596,12 +6612,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:6600: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:6616: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6635,12 +6651,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:6639: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:6655: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6674,14 +6690,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:6678: checking the version of X11 being used" >&5 +echo "configure:6694: checking the version of X11 being used" >&5 cat > conftest.$ac_ext < int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:6685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest foobar; x11_release=$? else @@ -6712,10 +6728,10 @@ for ac_func in XConvertCase do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6716: checking for $ac_func" >&5 +echo "configure:6732: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6770,15 +6786,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6774: checking for $ac_hdr" >&5 +echo "configure:6790: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6811,10 +6827,10 @@ for ac_func in XRegisterIMInstantiateCallback do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6815: checking for $ac_func" >&5 +echo "configure:6831: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6865,9 +6881,9 @@ done echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6 -echo "configure:6869: checking for standard XRegisterIMInstantiateCallback prototype" >&5 +echo "configure:6885: checking for standard XRegisterIMInstantiateCallback prototype" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -6900,12 +6916,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:6904: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:6920: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6955,19 +6971,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:6959: checking for main in -lXbsd" >&5 +echo "configure:6975: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7004,22 +7020,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:7008: checking for MS-Windows" >&5 +echo "configure:7024: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:7011: checking for main in -lgdi32" >&5 +echo "configure:7027: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7092,12 +7108,12 @@ fi fi cat > conftest.$ac_ext < int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:7101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then need_event_unixoid=yes; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MSG_SELECT @@ -7161,15 +7177,15 @@ if test "$with_x11" = "yes"; then ac_safe=`echo "X11/extensions/shape.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/shape.h""... $ac_c" 1>&6 -echo "configure:7165: checking for X11/extensions/shape.h" >&5 +echo "configure:7181: checking for X11/extensions/shape.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7221,7 +7237,7 @@ esac echo "checking for WM_COMMAND option" 1>&6 -echo "configure:7225: checking for WM_COMMAND option" >&5; +echo "configure:7241: checking for WM_COMMAND option" >&5; if test "$with_wmcommand" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_WMCOMMAND @@ -7236,15 +7252,15 @@ test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6 -echo "configure:7240: checking for X11/Xauth.h" >&5 +echo "configure:7256: checking for X11/Xauth.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7267,12 +7283,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:7271: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:7287: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7328,15 +7344,15 @@ for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:7332: checking for ${dir}tt_c.h" >&5 +echo "configure:7348: checking for ${dir}tt_c.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7372,12 +7388,12 @@ xe_msg_checking="for tt_message_create in -ltt" test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7376: checking "$xe_msg_checking"" >&5 +echo "configure:7392: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7445,15 +7461,15 @@ test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6 -echo "configure:7449: checking for Dt/Dt.h" >&5 +echo "configure:7465: checking for Dt/Dt.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7457: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7476,12 +7492,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:7480: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:7496: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7565,7 +7581,7 @@ if test "$with_dragndrop" != "no" ; then echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:7569: checking if drag and drop API is needed" >&5 +echo "configure:7585: checking if drag and drop API is needed" >&5 if test -n "$dragndrop_proto" ; then with_dragndrop=yes echo "$ac_t""yes (${dragndrop_proto} )" 1>&6 @@ -7585,18 +7601,18 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:7589: checking for LDAP" >&5 +echo "configure:7605: checking for LDAP" >&5 test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ldap.h""... $ac_c" 1>&6 -echo "configure:7592: checking for ldap.h" >&5 +echo "configure:7608: checking for ldap.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7616: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7619,15 +7635,15 @@ } test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for lber.h""... $ac_c" 1>&6 -echo "configure:7623: checking for lber.h" >&5 +echo "configure:7639: checking for lber.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7651,12 +7667,12 @@ if test "$with_ldap" != "no"; then echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6 -echo "configure:7655: checking for ldap_search in -lldap" >&5 +echo "configure:7671: checking for ldap_search in -lldap" >&5 ac_lib_var=`echo ldap'_'ldap_search | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7692,12 +7708,12 @@ xe_msg_checking="for ldap_open in -lldap" test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7696: checking "$xe_msg_checking"" >&5 +echo "configure:7712: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7733,12 +7749,12 @@ xe_msg_checking="for ldap_open in -lldap" test -n "-llber -lkrb" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7737: checking "$xe_msg_checking"" >&5 +echo "configure:7753: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber -lkrb" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7774,12 +7790,12 @@ xe_msg_checking="for ldap_open in -lldap" test -n "-llber -lkrb -ldes" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb -ldes" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7778: checking "$xe_msg_checking"" >&5 +echo "configure:7794: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber -lkrb -ldes" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7841,10 +7857,10 @@ for ac_func in ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7845: checking for $ac_func" >&5 +echo "configure:7861: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7898,20 +7914,20 @@ if test "$with_postgresql" != "no"; then echo "checking for PostgreSQL" 1>&6 -echo "configure:7902: checking for PostgreSQL" >&5 +echo "configure:7918: checking for PostgreSQL" >&5 for header_dir in "" "pgsql/" "postgresql/"; do ac_safe=`echo "${header_dir}libpq-fe.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${header_dir}libpq-fe.h""... $ac_c" 1>&6 -echo "configure:7907: checking for ${header_dir}libpq-fe.h" >&5 +echo "configure:7923: checking for ${header_dir}libpq-fe.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7935,12 +7951,12 @@ test -n "$libpq_fe_h_file" && { echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6 -echo "configure:7939: checking for PQconnectdb in -lpq" >&5 +echo "configure:7955: checking for PQconnectdb in -lpq" >&5 ac_lib_var=`echo pq'_'PQconnectdb | sed 'y%./+-%__p_%'` xe_check_libs=" -lpq " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7984,12 +8000,12 @@ echo $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6 -echo "configure:7988: checking for PQconnectStart in -lpq" >&5 +echo "configure:8004: checking for PQconnectStart in -lpq" >&5 ac_lib_var=`echo pq'_'PQconnectStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lpq " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8048,7 +8064,7 @@ if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:8052: checking for graphics libraries" >&5 +echo "configure:8068: checking for graphics libraries" >&5 libpath_xpm= incpath_xpm= @@ -8074,10 +8090,10 @@ CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi LDFLAGS=""$libpath_xpm" $LDFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$libpath_xpm"\" to \$LDFLAGS"; fi echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:8078: checking for Xpm - no older than 3.4f" >&5 +echo "configure:8094: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext < @@ -8086,7 +8102,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:8090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$xpm_status" = "0"; then @@ -8130,17 +8146,17 @@ libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:8134: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:8150: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* xpm_for_msw=no else @@ -8166,15 +8182,15 @@ test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:8170: checking for compface.h" >&5 +echo "configure:8186: checking for compface.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8197,12 +8213,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:8201: checking for UnGenFace in -lcompface" >&5 +echo "configure:8217: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8265,12 +8281,12 @@ if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:8269: checking for inflate in -lc" >&5 +echo "configure:8285: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8300,12 +8316,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:8304: checking for inflate in -lz" >&5 +echo "configure:8320: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8335,12 +8351,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:8339: checking for inflate in -lgz" >&5 +echo "configure:8355: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8381,15 +8397,15 @@ test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6 -echo "configure:8385: checking for jpeglib.h" >&5 +echo "configure:8401: checking for jpeglib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8412,12 +8428,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:8416: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:8432: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8464,10 +8480,10 @@ png_problem="" test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:8468: checking for pow" >&5 +echo "configure:8484: checking for pow" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -8511,15 +8527,15 @@ } test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for png.h""... $ac_c" 1>&6 -echo "configure:8515: checking for png.h" >&5 +echo "configure:8531: checking for png.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8542,12 +8558,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:8546: checking for png_read_image in -lpng" >&5 +echo "configure:8562: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8581,10 +8597,10 @@ } if test -z "$with_png"; then echo $ac_n "checking for workable png version information""... $ac_c" 1>&6 -echo "configure:8585: checking for workable png version information" >&5 +echo "configure:8601: checking for workable png version information" >&5 xe_check_libs="-lpng -lz" cat > conftest.$ac_ext < int main(int c, char **v) { @@ -8592,7 +8608,7 @@ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;} EOF -if { (eval echo configure:8596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; png_status=$?; if test "$png_status" = "0"; then @@ -8635,15 +8651,15 @@ test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:8639: checking for tiffio.h" >&5 +echo "configure:8655: checking for tiffio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8666,12 +8682,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:8670: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:8686: checking for TIFFClientOpen in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8721,15 +8737,15 @@ if test "$with_gtk" = "yes"; then test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:8725: checking for compface.h" >&5 +echo "configure:8741: checking for compface.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8752,12 +8768,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:8756: checking for UnGenFace in -lcompface" >&5 +echo "configure:8772: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8807,7 +8823,7 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:8811: checking for X11 graphics libraries" >&5 +echo "configure:8827: checking for X11 graphics libraries" >&5 fi case "$with_widgets" in @@ -8817,7 +8833,7 @@ if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then echo "checking for the Athena widgets" 1>&6 -echo "configure:8821: checking for the Athena widgets" >&5 +echo "configure:8837: checking for the Athena widgets" >&5 case "$with_athena" in "xaw" | "") athena_variant=Xaw athena_3d=no ;; @@ -8831,12 +8847,12 @@ if test "$athena_3d" = "no"; then echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:8835: checking for XawScrollbarSetThumb in -l$athena_variant" >&5 +echo "configure:8851: checking for XawScrollbarSetThumb in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8863,12 +8879,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:8867: checking for threeDClassRec in -l$athena_variant" >&5 +echo "configure:8883: checking for threeDClassRec in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8910,12 +8926,12 @@ else echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:8914: checking for threeDClassRec in -l$athena_variant" >&5 +echo "configure:8930: checking for threeDClassRec in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8944,12 +8960,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for threeDClassRec in -lXaw""... $ac_c" 1>&6 -echo "configure:8948: checking for threeDClassRec in -lXaw" >&5 +echo "configure:8964: checking for threeDClassRec in -lXaw" >&5 ac_lib_var=`echo Xaw'_'threeDClassRec | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8991,15 +9007,15 @@ if test "$athena_3d" = "no"; then ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6 -echo "configure:8995: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:9011: checking for X11/Xaw/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9019: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9019,15 +9035,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "X11/Xaw/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/XawInit.h""... $ac_c" 1>&6 -echo "configure:9023: checking for X11/Xaw/XawInit.h" >&5 +echo "configure:9039: checking for X11/Xaw/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9047: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9053,15 +9069,15 @@ else ac_safe=`echo "X11/$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/$athena_variant/XawInit.h""... $ac_c" 1>&6 -echo "configure:9057: checking for X11/$athena_variant/XawInit.h" >&5 +echo "configure:9073: checking for X11/$athena_variant/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9065: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9078,15 +9094,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "X11/$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/$athena_variant/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9082: checking for X11/$athena_variant/ThreeD.h" >&5 +echo "configure:9098: checking for X11/$athena_variant/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9114,15 +9130,15 @@ if test -z "$athena_h_path"; then ac_safe=`echo "$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $athena_variant/XawInit.h""... $ac_c" 1>&6 -echo "configure:9118: checking for $athena_variant/XawInit.h" >&5 +echo "configure:9134: checking for $athena_variant/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9139,15 +9155,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $athena_variant/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9143: checking for $athena_variant/ThreeD.h" >&5 +echo "configure:9159: checking for $athena_variant/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9151: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9167: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9176,15 +9192,15 @@ if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then ac_safe=`echo "X11/Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw3d/XawInit.h""... $ac_c" 1>&6 -echo "configure:9180: checking for X11/Xaw3d/XawInit.h" >&5 +echo "configure:9196: checking for X11/Xaw3d/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9201,15 +9217,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "X11/Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw3d/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9205: checking for X11/Xaw3d/ThreeD.h" >&5 +echo "configure:9221: checking for X11/Xaw3d/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9213: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9241,15 +9257,15 @@ if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then ac_safe=`echo "Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xaw3d/XawInit.h""... $ac_c" 1>&6 -echo "configure:9245: checking for Xaw3d/XawInit.h" >&5 +echo "configure:9261: checking for Xaw3d/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9266,15 +9282,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xaw3d/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9270: checking for Xaw3d/ThreeD.h" >&5 +echo "configure:9286: checking for Xaw3d/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9306,15 +9322,15 @@ if test -z "$athena_h_path"; then ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9310: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:9326: checking for X11/Xaw/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9353,15 +9369,15 @@ if test "$with_x11" = "yes"; then ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:9357: checking for Xm/Xm.h" >&5 +echo "configure:9373: checking for Xm/Xm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9365: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9381: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9378,12 +9394,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:9382: checking for XmStringFree in -lXm" >&5 +echo "configure:9398: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9423,9 +9439,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:9427: checking for Lesstif" >&5 +echo "configure:9443: checking for Lesstif" >&5 cat > conftest.$ac_ext < #ifdef LESSTIF_VERSION @@ -9849,7 +9865,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:9853: checking for Mule-related features" >&5 +echo "configure:9869: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -9874,15 +9890,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:9878: checking for $ac_hdr" >&5 +echo "configure:9894: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9886: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9902: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9913,12 +9929,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:9917: checking for strerror in -lintl" >&5 +echo "configure:9933: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9962,18 +9978,18 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:9966: checking for Mule input methods" >&5 +echo "configure:9982: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:9969: checking for XIM" >&5 +echo "configure:9985: checking for XIM" >&5 echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6 -echo "configure:9972: checking for XOpenIM in -lX11" >&5 +echo "configure:9988: checking for XOpenIM in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10008,12 +10024,12 @@ if test "$have_motif $have_lesstif" = "yes no"; then echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:10012: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:10028: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10089,15 +10105,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:10093: checking for XFontSet" >&5 +echo "configure:10109: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:10096: checking for XmbDrawString in -lX11" >&5 +echo "configure:10112: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10148,15 +10164,15 @@ test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6 -echo "configure:10152: checking for wnn/jllib.h" >&5 +echo "configure:10168: checking for wnn/jllib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10179,15 +10195,15 @@ } test -z "$with_wnn" && { ac_safe=`echo "wnn/commonhd.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/commonhd.h""... $ac_c" 1>&6 -echo "configure:10183: checking for wnn/commonhd.h" >&5 +echo "configure:10199: checking for wnn/commonhd.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10212,10 +10228,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10216: checking for $ac_func" >&5 +echo "configure:10232: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10267,12 +10283,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:10271: checking for crypt in -lcrypt" >&5 +echo "configure:10287: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10318,12 +10334,12 @@ if test -z "$with_wnn" -o "$with_wnn" = "yes"; then echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:10322: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:10338: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10352,12 +10368,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6 -echo "configure:10356: checking for jl_dic_list_e in -lwnn4" >&5 +echo "configure:10372: checking for jl_dic_list_e in -lwnn4" >&5 ac_lib_var=`echo wnn4'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn4 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10386,12 +10402,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6 -echo "configure:10390: checking for jl_dic_list_e in -lwnn6" >&5 +echo "configure:10406: checking for jl_dic_list_e in -lwnn6" >&5 ac_lib_var=`echo wnn6'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10420,12 +10436,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6 -echo "configure:10424: checking for dic_list_e in -lwnn6_fromsrc" >&5 +echo "configure:10440: checking for dic_list_e in -lwnn6_fromsrc" >&5 ac_lib_var=`echo wnn6_fromsrc'_'dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6_fromsrc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10484,12 +10500,12 @@ if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6 -echo "configure:10488: checking for jl_fi_dic_list in -l$libwnn" >&5 +echo "configure:10504: checking for jl_fi_dic_list in -l$libwnn" >&5 ac_lib_var=`echo $libwnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -l$libwnn " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10535,15 +10551,15 @@ if test "$with_canna" != "no"; then ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:10539: checking for canna/jrkanji.h" >&5 +echo "configure:10555: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10570,15 +10586,15 @@ c_switch_site="$c_switch_site -I/usr/local/canna/include" ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:10574: checking for canna/jrkanji.h" >&5 +echo "configure:10590: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10598: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10606,15 +10622,15 @@ test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:10610: checking for canna/RK.h" >&5 +echo "configure:10626: checking for canna/RK.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10637,12 +10653,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:10641: checking for RkBgnBun in -lRKC" >&5 +echo "configure:10657: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10676,12 +10692,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:10680: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:10696: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10741,12 +10757,12 @@ libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6 -echo "configure:10745: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:10761: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10843,10 +10859,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10847: checking for $ac_func" >&5 +echo "configure:10863: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10901,10 +10917,10 @@ for ac_func in getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10905: checking for $ac_func" >&5 +echo "configure:10921: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10956,10 +10972,10 @@ echo $ac_n "checking for openpty""... $ac_c" 1>&6 -echo "configure:10960: checking for openpty" >&5 +echo "configure:10976: checking for openpty" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_openpty=yes" else @@ -11001,12 +11017,12 @@ echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6 -echo "configure:11005: checking for openpty in -lutil" >&5 +echo "configure:11021: checking for openpty in -lutil" >&5 ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'` xe_check_libs=" -lutil " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11052,15 +11068,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11056: checking for $ac_hdr" >&5 +echo "configure:11072: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11080: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11096,15 +11112,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11100: checking for $ac_hdr" >&5 +echo "configure:11116: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11137,10 +11153,10 @@ for ac_func in isastream do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11141: checking for $ac_func" >&5 +echo "configure:11157: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11194,15 +11210,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11198: checking for $ac_hdr" >&5 +echo "configure:11214: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11222: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11239,10 +11255,10 @@ for ac_func in getloadavg do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11243: checking for $ac_func" >&5 +echo "configure:11259: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11298,15 +11314,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11302: checking for $ac_hdr" >&5 +echo "configure:11318: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11342,12 +11358,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:11346: checking for kstat_open in -lkstat" >&5 +echo "configure:11362: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11393,15 +11409,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11397: checking for $ac_hdr" >&5 +echo "configure:11413: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11433,12 +11449,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:11437: checking for kvm_read in -lkvm" >&5 +echo "configure:11453: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11483,16 +11499,16 @@ fi echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:11487: checking whether netdb declares h_errno" >&5 +echo "configure:11503: checking whether netdb declares h_errno" >&5 cat > conftest.$ac_ext < int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:11496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -11512,16 +11528,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:11516: checking for sigsetjmp" >&5 +echo "configure:11532: checking for sigsetjmp" >&5 cat > conftest.$ac_ext < int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:11525: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -11541,11 +11557,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:11545: checking whether localtime caches TZ" >&5 +echo "configure:11561: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext < #if STDC_HEADERS @@ -11580,7 +11596,7 @@ exit (0); } EOF -if { (eval echo configure:11584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:11600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -11610,9 +11626,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:11614: checking whether gettimeofday accepts one or two arguments" >&5 +echo "configure:11630: checking whether gettimeofday accepts one or two arguments" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -11655,19 +11671,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:11659: checking for inline" >&5 +echo "configure:11675: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11687: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -11708,17 +11724,17 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:11712: checking for working alloca.h" >&5 +echo "configure:11728: checking for working alloca.h" >&5 cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:11722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -11742,10 +11758,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:11746: checking for alloca" >&5 +echo "configure:11762: checking for alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -11812,10 +11828,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:11816: checking whether alloca needs Cray hooks" >&5 +echo "configure:11832: checking whether alloca needs Cray hooks" >&5 cat > conftest.$ac_ext <&6 -echo "configure:11843: checking for $ac_func" >&5 +echo "configure:11859: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11895,10 +11911,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:11899: checking stack direction for C alloca" >&5 +echo "configure:11915: checking stack direction for C alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:11937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -11947,15 +11963,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:11951: checking for vfork.h" >&5 +echo "configure:11967: checking for vfork.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11975: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11983,10 +11999,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:11987: checking for working vfork" >&5 +echo "configure:12003: checking for working vfork" >&5 cat > conftest.$ac_ext < @@ -12081,7 +12097,7 @@ } } EOF -if { (eval echo configure:12085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_vfork_works=yes else @@ -12107,10 +12123,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:12111: checking for working strcoll" >&5 +echo "configure:12127: checking for working strcoll" >&5 cat > conftest.$ac_ext < main () @@ -12120,7 +12136,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:12124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -12148,10 +12164,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12152: checking for $ac_func" >&5 +echo "configure:12168: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12202,10 +12218,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:12206: checking whether getpgrp takes no argument" >&5 +echo "configure:12222: checking whether getpgrp takes no argument" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -12287,10 +12303,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:12291: checking for working mmap" >&5 +echo "configure:12307: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext < #include @@ -12323,7 +12339,7 @@ return 1; } EOF -if { (eval echo configure:12327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -12352,9 +12368,9 @@ if test "$rel_alloc $have_mmap" = "default yes"; then if test "$doug_lea_malloc" = "yes"; then echo $ac_n "checking for M_MMAP_THRESHOLD""... $ac_c" 1>&6 -echo "configure:12356: checking for M_MMAP_THRESHOLD" >&5 +echo "configure:12372: checking for M_MMAP_THRESHOLD" >&5 cat > conftest.$ac_ext < int main() { @@ -12366,7 +12382,7 @@ ; return 0; } EOF -if { (eval echo configure:12370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* rel_alloc=no; echo "$ac_t""yes" 1>&6; else @@ -12391,15 +12407,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:12395: checking for termios.h" >&5 +echo "configure:12411: checking for termios.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12442,15 +12458,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termio.h""... $ac_c" 1>&6 -echo "configure:12446: checking for termio.h" >&5 +echo "configure:12462: checking for termio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12482,10 +12498,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:12486: checking for socket" >&5 +echo "configure:12502: checking for socket" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -12523,15 +12539,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6 -echo "configure:12527: checking for netinet/in.h" >&5 +echo "configure:12543: checking for netinet/in.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12548,15 +12564,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6 -echo "configure:12552: checking for arpa/inet.h" >&5 +echo "configure:12568: checking for arpa/inet.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12560: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12581,9 +12597,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:12585: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:12601: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext < @@ -12594,7 +12610,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:12598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -12612,9 +12628,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:12616: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:12632: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext < @@ -12624,7 +12640,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:12628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -12655,10 +12671,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:12659: checking for msgget" >&5 +echo "configure:12675: checking for msgget" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -12696,15 +12712,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:12700: checking for sys/ipc.h" >&5 +echo "configure:12716: checking for sys/ipc.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12708: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12724: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12721,15 +12737,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6 -echo "configure:12725: checking for sys/msg.h" >&5 +echo "configure:12741: checking for sys/msg.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12767,15 +12783,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:12771: checking for dirent.h" >&5 +echo "configure:12787: checking for dirent.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12795: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12802,15 +12818,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6 -echo "configure:12806: checking for sys/dir.h" >&5 +echo "configure:12822: checking for sys/dir.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12830: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12843,15 +12859,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:12847: checking for nlist.h" >&5 +echo "configure:12863: checking for nlist.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12871: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12881,22 +12897,22 @@ echo "checking "for sound support"" 1>&6 -echo "configure:12885: checking "for sound support"" >&5 +echo "configure:12901: checking "for sound support"" >&5 test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes if test "$with_native_sound" != "no"; then if test -n "$native_sound_lib"; then ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6 -echo "configure:12892: checking for multimedia/audio_device.h" >&5 +echo "configure:12908: checking for multimedia/audio_device.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12944,12 +12960,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:12948: checking for ALopenport in -laudio" >&5 +echo "configure:12964: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -12991,12 +13007,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:12995: checking for AOpenAudio in -lAlib" >&5 +echo "configure:13011: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13052,15 +13068,15 @@ for dir in "machine" "sys" "linux"; do ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6 -echo "configure:13056: checking for ${dir}/soundcard.h" >&5 +echo "configure:13072: checking for ${dir}/soundcard.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13080: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13114,15 +13130,15 @@ if test "$with_nas_sound" != "no"; then ac_safe=`echo "audio/audiolib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for audio/audiolib.h""... $ac_c" 1>&6 -echo "configure:13118: checking for audio/audiolib.h" >&5 +echo "configure:13134: checking for audio/audiolib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13140,12 +13156,12 @@ echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6 -echo "configure:13144: checking for AuOpenServer in -laudio" >&5 +echo "configure:13160: checking for AuOpenServer in -laudio" >&5 ac_lib_var=`echo audio'_'AuOpenServer | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13195,7 +13211,7 @@ fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext < EOF @@ -13226,7 +13242,7 @@ # Extract the first word of "esd-config", so it can be a program name with args. set dummy esd-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:13230: checking for $ac_word" >&5 +echo "configure:13246: checking for $ac_word" >&5 if test -n "$have_esd_config"; then ac_cv_prog_have_esd_config="$have_esd_config" # Let the user override the test. @@ -13255,10 +13271,10 @@ c_switch_site="$c_switch_site `esd-config --cflags`" && if test "$extra_verbose" = "yes"; then echo " Appending \"`esd-config --cflags`\" to \$c_switch_site"; fi LIBS="`esd-config --libs` $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"`esd-config --libs`\" to \$LIBS"; fi echo $ac_n "checking for esd_play_stream""... $ac_c" 1>&6 -echo "configure:13259: checking for esd_play_stream" >&5 +echo "configure:13275: checking for esd_play_stream" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_esd_play_stream=yes" else @@ -13332,7 +13348,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:13336: checking for TTY-related features" >&5 +echo "configure:13352: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -13348,12 +13364,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:13352: checking for tgetent in -lncurses" >&5 +echo "configure:13368: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13397,15 +13413,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:13401: checking for ncurses/curses.h" >&5 +echo "configure:13417: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13427,15 +13443,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:13431: checking for ncurses/term.h" >&5 +echo "configure:13447: checking for ncurses/term.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13465,15 +13481,15 @@ c_switch_site="$c_switch_site -I/usr/include/ncurses" ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:13469: checking for ncurses/curses.h" >&5 +echo "configure:13485: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13508,12 +13524,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:13512: checking for tgetent in -l$lib" >&5 +echo "configure:13528: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13546,21 +13562,76 @@ done fi - else extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then + else if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then + +echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 +echo "configure:13569: checking for tgoto in -ltermcap" >&5 +ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'` + +xe_check_libs=" -ltermcap " +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +xe_check_libs="" + +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + { test "$extra_verbose" = "yes" && cat << EOF + Defining $ac_tr_lib +EOF +cat >> confdefs.h <&6 +extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"tparam.o\"" fi +fi + + + else + extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then + echo " xemacs will be linked with \"tparam.o\"" + fi + fi case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac if test -n "$libs_termcap"; then LIBS="$libs_termcap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"$libs_termcap\" to \$LIBS"; fi else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:13559: checking for tgetent in -lcurses" >&5 +echo "configure:13630: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13589,12 +13660,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:13593: checking for tgetent in -ltermcap" >&5 +echo "configure:13664: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13653,15 +13724,15 @@ test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gpm.h""... $ac_c" 1>&6 -echo "configure:13657: checking for gpm.h" >&5 +echo "configure:13728: checking for gpm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13684,12 +13755,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:13688: checking for Gpm_Open in -lgpm" >&5 +echo "configure:13759: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13750,20 +13821,20 @@ test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ != "no no no" && echo "checking for database support" 1>&6 -echo "configure:13754: checking for database support" >&5 +echo "configure:13825: checking for database support" >&5 if test "$with_database_gdbm $with_database_dbm" != "no no"; then ac_safe=`echo "ndbm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ndbm.h""... $ac_c" 1>&6 -echo "configure:13759: checking for ndbm.h" >&5 +echo "configure:13830: checking for ndbm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13767: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13793,12 +13864,12 @@ if test "$with_database_gdbm" != "no"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:13797: checking for dbm_open in -lgdbm" >&5 +echo "configure:13868: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13837,10 +13908,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:13841: checking for dbm_open" >&5 +echo "configure:13912: checking for dbm_open" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -13882,12 +13953,12 @@ echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:13886: checking for dbm_open in -ldbm" >&5 +echo "configure:13957: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13939,10 +14010,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:13943: checking for Berkeley db.h" >&5 +echo "configure:14014: checking for Berkeley db.h" >&5 for header in "db/db.h" "db.h"; do cat > conftest.$ac_ext < @@ -13964,7 +14035,7 @@ ; return 0; } EOF -if { (eval echo configure:13968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_file="$header"; break else @@ -13980,9 +14051,9 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:13984: checking for Berkeley DB version" >&5 +echo "configure:14055: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 1 @@ -13994,7 +14065,7 @@ egrep "yes" >/dev/null 2>&1; then rm -rf conftest* cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 2 @@ -14021,10 +14092,10 @@ rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:14025: checking for $dbfunc" >&5 +echo "configure:14096: checking for $dbfunc" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$dbfunc=yes" else @@ -14066,12 +14137,12 @@ echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:14070: checking for $dbfunc in -ldb" >&5 +echo "configure:14141: checking for $dbfunc in -ldb" >&5 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14146,12 +14217,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:14150: checking for SOCKSinit in -lsocks" >&5 +echo "configure:14221: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14217,22 +14288,22 @@ if test "$with_modules" != "no"; then echo "checking for module support" 1>&6 -echo "configure:14221: checking for module support" >&5 +echo "configure:14292: checking for module support" >&5 if test "$with_msw" = "yes"; then have_dl=yes; else ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 -echo "configure:14228: checking for dlfcn.h" >&5 +echo "configure:14299: checking for dlfcn.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:14236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -14249,16 +14320,16 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:14253: checking for dlopen in -lc" >&5 +echo "configure:14324: checking for dlopen in -lc" >&5 cat > conftest.$ac_ext < int main() { dlopen ("", 0); ; return 0; } EOF -if { (eval echo configure:14262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -14267,18 +14338,18 @@ rm -rf conftest* echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:14271: checking for dlopen in -ldl" >&5 +echo "configure:14342: checking for dlopen in -ldl" >&5 ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext < int main() { dlopen ("", 0); ; return 0; } EOF -if { (eval echo configure:14282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -14307,12 +14378,12 @@ else echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:14311: checking for shl_load in -ldld" >&5 +echo "configure:14382: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14350,12 +14421,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:14354: checking for dld_init in -ldld" >&5 +echo "configure:14425: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14411,7 +14482,7 @@ xealias=$internal_configuration echo "checking how to build dynamic libraries for ${xehost}" 1>&6 -echo "configure:14415: checking how to build dynamic libraries for ${xehost}" >&5 +echo "configure:14486: checking how to build dynamic libraries for ${xehost}" >&5 # Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. case "$xehost" in *-*-linux-gnu*) ;; @@ -14439,9 +14510,9 @@ XEGCC=yes else echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:14443: checking checking whether we are using GNU C" >&5 +echo "configure:14514: checking checking whether we are using GNU C" >&5 cat > conftest.$ac_ext <&6 -echo "configure:14467: checking how to produce PIC code" >&5 +echo "configure:14538: checking how to produce PIC code" >&5 wl= can_build_shared=yes @@ -14564,18 +14635,18 @@ # Check to make sure the dll_cflags actually works. echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6 -echo "configure:14568: checking if PIC flag ${dll_cflags} really works" >&5 +echo "configure:14639: checking if PIC flag ${dll_cflags} really works" >&5 save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $dll_cflags -DPIC" cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also @@ -14606,7 +14677,7 @@ xldf= xcldf= echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6 -echo "configure:14610: checking if C compiler can produce shared libraries" >&5 +echo "configure:14681: checking if C compiler can produce shared libraries" >&5 if test "$XEGCC" = yes; then xcldf="-shared" xldf="-shared" @@ -14657,14 +14728,14 @@ xe_libs= ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cc_produces_so=yes else @@ -14689,7 +14760,7 @@ if test "$XEGCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:14693: checking for ld used by GCC" >&5 +echo "configure:14764: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -14715,7 +14786,7 @@ esac else echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:14719: checking for GNU ld" >&5 +echo "configure:14790: checking for GNU ld" >&5 fi if test -z "$LTLD"; then @@ -14753,7 +14824,7 @@ # Check to see if it really is or isn't GNU ld. echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6 -echo "configure:14757: checking if the linker is GNU ld" >&5 +echo "configure:14828: checking if the linker is GNU ld" >&5 # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LTLD -v 2>&1 &5; then xe_gnu_ld=yes @@ -14781,7 +14852,7 @@ # OK - only NOW do we futz about with ld. # See if the linker supports building shared libraries. echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6 -echo "configure:14785: checking whether the linker supports shared libraries" >&5 +echo "configure:14856: checking whether the linker supports shared libraries" >&5 dll_ld=$CC dll_ldflags=$LDFLAGS ld_shlibs=yes @@ -14992,10 +15063,10 @@ for ac_func in dlerror _dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14996: checking for $ac_func" >&5 +echo "configure:15067: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15057,11 +15128,11 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:15136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else diff --text -u 'xemacs-21.4.8/configure.in' 'xemacs-21.4.9/configure.in' Index: ././configure.in --- ././configure.in Wed May 1 01:05:05 2002 +++ ././configure.in Tue Aug 20 20:34:01 2002 @@ -2002,6 +2002,21 @@ AC_MSG_RESULT(no) fi +dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump. +dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf +dnl a usage message, that's often good enough. Please report it, though. +dnl #### Should make this Solaris-friendly. +dnl Link with -z nocombreloc for now. +if test "$pdump" != "yes"; then + AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag) + case "`ld --help 2>&1`" in + *-z\ nocombreloc* ) AC_MSG_RESULT(yes) + XE_PREPEND(-z nocombreloc, ld_switch_site) ;; + *) AC_MSG_RESULT(no) ;; + esac +fi + + dnl Inform compiler that certain flags are meant for the linker dnl XE_PROTECT_LINKER_FLAGS(shell_var) define([XE_PROTECT_LINKER_FLAGS], [ @@ -2019,6 +2034,7 @@ fi])dnl XE_PROTECT_LINKER_FLAGS(ld_switch_system) XE_PROTECT_LINKER_FLAGS(ld_switch_machine) +XE_PROTECT_LINKER_FLAGS(ld_switch_site) XE_PROTECT_LINKER_FLAGS(LDFLAGS) XE_PROTECT_LINKER_FLAGS(ld_call_shared) @@ -2403,10 +2419,12 @@ dnl check for Unix98 socklen_t AC_MSG_CHECKING(for socklen_t) -AC_TRY_COMPILE([#include +AC_TRY_COMPILE([#include +#include socklen_t x; ],[],[AC_MSG_RESULT(yes)],[ -AC_TRY_COMPILE([#include +AC_TRY_COMPILE([#include +#include int accept (int, struct sockaddr *, size_t *); ],[],[ AC_MSG_RESULT(size_t) @@ -2529,20 +2547,6 @@ fi fi -dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump. -dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf -dnl a usage message, that's often good enough. Please report it, though. -dnl #### Should make this Solaris-friendly. -dnl Link with -z nocombreloc for now. -if test "$pdump" != "yes"; then - AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag) - case "`ld --help 2>&1`" in - *-z\ nocombreloc* ) AC_MSG_RESULT(yes) - XE_PREPEND(-z nocombreloc, ld_switch_site) ;; - *) AC_MSG_RESULT(no) ;; - esac -fi - dnl ---------------------- dnl Choose a window system dnl ---------------------- @@ -4250,7 +4254,14 @@ done fi else dnl "$have_terminfo" = "no" && "with_ncurses" = "no" - XE_ADD_OBJS(tparam.o) + if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then + dnl We need to check if tgoto does not exist in termcap yet + dnl because on OpenBSD libtermcap is another name for libcurses + dnl which provides the same tgoto as ncurses + AC_CHECK_LIB(termcap, tgoto, , XE_ADD_OBJS(tparam.o)) + else + XE_ADD_OBJS(tparam.o) + fi dnl The HP-UX curses library seems to have a badly broken version of select(2) dnl that makes "poll: interrupted system call" messages to appear and dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */ diff --text -u 'xemacs-21.4.8/configure.usage' 'xemacs-21.4.9/configure.usage' Index: ././configure.usage --- ././configure.usage Mon Dec 17 15:27:05 2001 +++ ././configure.usage Tue Aug 20 20:34:05 2002 @@ -169,7 +169,7 @@ development environment. --with-socks Compile with support for SOCKS (an Internet proxy). --with-dnet (*) Compile with support for DECnet. ---with-modules Compile in experimental support for dynamically +--with-modules (*) Compile in experimental support for dynamically loaded libraries (Dynamic Shared Objects). --with-netinstall Compile in support for installation over the internet. Only functional on the MS Windows platforms. diff --text -u 'xemacs-21.4.8/etc/BETA' 'xemacs-21.4.9/etc/BETA' Index: ././etc/BETA --- ././etc/BETA Wed May 1 01:05:14 2002 +++ ././etc/BETA Tue Aug 20 20:34:08 2002 @@ -151,7 +151,7 @@ is rebuilt. ** Building XEmacs from a full distribution -============================================== +=========================================== Locate a convenient place where you have at least 100MB of free space and issue the command @@ -266,7 +266,97 @@ of the developers. -* Patching XEmacs +* Packages +========== + +[Note: these instructions have been partly updated, but not carefully +reviewed in some time. Caveat tester.] + +Starting with XEmacs 21.1, much of the functionality of XEmacs has +been unbundled into "the packages." For more information about the +package system, see the Info nodes on Packages (in the XEmacs User +Manual) and on Packaging (in the Lisp Reference). + +When bootstrapping XEmacs, you may need to manually install some +packages (at least xemacs-base and efs). These packages are available +by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/. + +** Binary package installation +============================== + +Prerequisite: XEmacs 21.0-b1. + +Binary packages are complete entities that can be untarred at the top +level of an XEmacs package hierarchy and work at runtime. To install files +in this directory, run the command `M-x package-admin-add-binary-package' +and fill in appropriate values to the prompts. + +** Manual procedures for package management +=========================================== + +Prerequisite: XEmacs 21.0 + +When adding and deleting files from a lisp directory the +auto-autoloads.el (global symbols) and custom-load.el (Customization +groups) must be kept in synch. Assuming one is manipulating a +directory called `lisp-utils', the command to rebuild the +auto-autoloads.el file is: + +xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils + +The command to rebuild the custom-load.el file is: + +xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils + +To bytecompile both of these files the command is: + +xemacs -vanilla -batch -f batch-byte-compile \ + lisp-utils/auto-autoloads.el lisp-utils/custom-load.el + +** Building XEmacs and XEmacs packages from scratch +=================================================== + +To build everything completely from scratch (not a high priority as a +design goal), the following procedure should work. (I don't recommend +building this way). + +*** Phase 1 -- Get a minimal XEmacs binary with mule to build the package + lisp with. + +**** Grab a mule-base tarball and install it into a newly created package + directory. + +**** Configure XEmacs with mule and a package-path including the + directory created above. + +**** Do a `make dist' to build an XEmacs binary. + +*** Phase 2 -- Build and install the package lisp. + +**** Modify XEmacs.rules for local paths and the XEmacs binary created in + Phase 1. + +**** Do a make from the top level package lisp source directory.[1] + +**** Do `make bindist's on all the packages you wish to install and + remove the byproduct .tar.gz's. + +*** Phase 3 -- If necessary, redump XEmacs + with the packages that require dump-time support and install it. + +**** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and + rebuild XEmacs. + +- or - + +**** rm lib-src/DOC src/xemacs; make + +**** Install or run in-place. + +Note that this is in essence what `make all-elc' has always done. + + +* Improving XEmacs ================= ** Creating patches for submission @@ -386,91 +476,93 @@ CVS. Members of the Review Board will also post short notices of administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches. -* Packages -==================================== - -[Note: these instructions have been partly updated, but not carefully -reviewed in some time. Caveat tester.] - -Starting with XEmacs 21.1, much of the functionality of XEmacs has -been unbundled into "the packages." For more information about the -package system, see the Info nodes on Packages (in the XEmacs User -Manual) and on Packaging (in the Lisp Reference). - -When bootstrapping XEmacs, you may need to manually install some -packages (at least xemacs-base and efs). These packages are available -by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/. - -** Binary package installation -================================================ - -Prerequisite: XEmacs 21.0-b1. - -Binary packages are complete entities that can be untarred at the top -level of an XEmacs package hierarchy and work at runtime. To install files -in this directory, run the command `M-x package-admin-add-binary-package' -and fill in appropriate values to the prompts. - -** Manual procedures for package management -=========================================== - -Prerequisite: XEmacs 21.0 - -When adding and deleting files from a lisp directory the -auto-autoloads.el (global symbols) and custom-load.el (Customization -groups) must be kept in synch. Assuming one is manipulating a -directory called `lisp-utils', the command to rebuild the -auto-autoloads.el file is: - -xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils - -The command to rebuild the custom-load.el file is: - -xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils - -To bytecompile both of these files the command is: - -xemacs -vanilla -batch -f batch-byte-compile \ - lisp-utils/auto-autoloads.el lisp-utils/custom-load.el - -** Building XEmacs and XEmacs packages from scratch -=================================================== - -To build everything completely from scratch (not a high priority as a -design goal), the following procedure should work. (I don't recommend -building this way). - -*** Phase 1 -- Get a minimal XEmacs binary with mule to build the package - lisp with. - -**** Grab a mule-base tarball and install it into a newly created package - directory. +** Large contributions +====================== -**** Configure XEmacs with mule and a package-path including the - directory created above. - -**** Do a `make dist' to build an XEmacs binary. - -*** Phase 2 -- Build and install the package lisp. +Perhaps you have a whole new mode, or a major synchronization with +upstream for a neglected package, or a synchronization with GNU Emacs +you would like to contribute. We welcome such contributions, but they +are likely to be relatively controversial, generate more comments and +requests for revision, and take longer to integrate. Please be +patient with the process. + +*** Updates to existing packages +-------------------------------- + +If a package has gotten a bit out of date, or even started to bitrot, +we welcome patches to synchronize it with upstream/GNU Emacs versions. +Most packages end up varying somewhat from their GNU origins. See +"Syncing with GNU Emacs" for hints. Note that if you do a reasonably +large amount of syncing with GNU Emacs, you should log this in the +file itself as well as in the ChangeLog. + +If the package is important to you, please consider becoming the +maintainer. (See "New packages", below.) + +*** New packages +---------------- + +If you have a new mode or other large addition that does not require +changes to the core, please consider submitting it as a package, and +becoming the maintainer. You get direct commit privileges to the +repository for your package, "approval" privileges for your own +patches as well as third party patches to your package, and some +degree of veto power over patches you don't like. In return, you are +expected to maintain friendly liaison with the upstream developer (if +you aren't the upstream developer), keep watch on the XEmacs Patches +list for relevant patches, and be available by email to other +developers for discussion of changes that impact your package. It's +also a pretty standard route to the "core" development group, where we +have plenty of extra work waiting for volunteers. + +You don't have to become the maintainer, but it virtually ensures +rapid acceptance of the package. + +For help in creating new packages, see the (rather sparse) discussions +in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs +Package Release Engineer (Ville Skyttä is +currently serving with Peter Brown +assisting; Steve Youngs and Stephen Turnbull + also can help) is the most likely source of advice. + +*** Syncing with GNU Emacs +-------------------------- + +Syncing with GNU Emacs is an important activity. Although each +version has its advantages and areas of concentration, it is very +desirable that common functionality share specifications and APIs. +When porting GNU code to XEmacs, the following points should be given +special attention: + + o Recent GNU Emacsen cannot be built without Mule, but XEmacs can. + Make sure your changes do not assume the presence of Mule. + + o GNU Emacs nomenclature often differs from that of XEmacs. + Sometimes syncing the names is desirable, other times not. + + o GNU Emacs functionality often differs from that of XEmacs. + Syncing functionality is often controversial. + +It is important that you let other developers know that +synchronization has taken place, to what degree, and when. For this +purpose, we use comments of the form + +/* Synched up with: FSF 21.3 by Stephen Turnbull */ + +in the source file itself, as the last element of the prefatory +material (copyright notice and commentary). Obviously the comment +marker needs to be changed to leading semicolons for Lisp, but +otherwise the format is the same. + +Of course you should note syncing as the purpose in the ChangeLog, +too. But entries get buried deep in the ChangeLog file, and may even +get moved to a separate ChangeLog.OLD file for rarely synched files. + +Rather than dates we use the version of GNU Emacs to sync to. If the +synchronization is partial, add a new comment describing what has +actually been synched, leaving the description of the last full sync +in place. At each full sync, remove all previous synchronization +comments. -**** Modify XEmacs.rules for local paths and the XEmacs binary created in - Phase 1. - -**** Do a make from the top level package lisp source directory.[1] - -**** Do `make bindist's on all the packages you wish to install and - remove the byproduct .tar.gz's. - -*** Phase 3 -- If necessary, redump XEmacs - with the packages that require dump-time support and install it. - -**** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and - rebuild XEmacs. - -- or - - -**** rm lib-src/DOC src/xemacs; make - -**** Install or run in-place. - -Note that this is in essence what `make all-elc' has always done. +This applies to Lisp that we have broken out into packages, but +remains in the GNU Emacs core, as well to core Lisp in XEmacs. diff --text -u 'xemacs-21.4.8/etc/OXYMORONS' 'xemacs-21.4.9/etc/OXYMORONS' Index: ././etc/OXYMORONS --- ././etc/OXYMORONS Tue Oct 23 17:35:16 2001 +++ ././etc/OXYMORONS Tue Aug 20 20:34:09 2002 @@ -35,9 +35,10 @@ 21.4.12: Rational FORTRAN 21.4.13: Reasonable Discussion 21.4.14: Security Through Obscurity -21.4.15: Standard C -21.4.16: Successful IPO -21.4.17: Sufficiently Smart Compiler +21.4.15: Stable Release Maintainer +21.4.16: Standard C +21.4.17: Successful IPO +21.4.18: Sufficiently Smart Compiler N.B. Only incredibly redeeming suggestions can be accepted now. diff --text -u 'xemacs-21.4.8/etc/package-index.LATEST.pgp' 'xemacs-21.4.9/etc/package-index.LATEST.pgp' Index: ././etc/package-index.LATEST.pgp --- ././etc/package-index.LATEST.pgp Wed May 1 01:05:17 2002 +++ ././etc/package-index.LATEST.pgp Tue Aug 20 20:34:10 2002 @@ -1,6 +1,50 @@ ;; Package Index file -- Do not edit manually. ;;;@@@ (package-get-update-base-entry (quote +(ess + (standards-version 1.1 + version "1.02" + author-version "5.1.21" + date "2002-06-04" + build-date "2002-06-04" + maintainer "A.J. Rossini " + distribution xemacs + priority medium + category "standard" + dump nil + description "ESS: Emacs Speaks Statistics." + filename "ess-1.02-pkg.tar.gz" + md5sum "3eff981706623221b5af048dc8a00f17" + size 469304 + provides (ess-batch ess-comp ess-cust ess-dump ess-emcs ess-font-lock ess-help ess-inf ess-iw32 ess-latex-mode ess-menu ess-mode ess-mous ess-noweb ess-site ess-sysdp ess-utils ess-vars ess essa-r essa-sas essd-arc essd-els essd-r essd-omg essd-r essd-s3 essd-s4 essd-sas essd-sp3 essd-sp4 essd-sp5 essd-sp6 essd-sta essd-vst essd-xls essddr essdsp6w essl-bug essl-lsp essl-omg essl-py essl-s essl-sas essl-sta make-regexp mouseme msdos noweb-font-lock-mode noweb-mode) + requires (xemacs-base mail-lib fsf-compat edit-utils) + type regular +)) +)) +;;;@@@ +(package-get-update-base-entry (quote +(haskell-mode + (standards-version 1.1 + version "1.03" + author-version "1.43" + date "2002-05-07" + build-date "2002-05-07" + maintainer "Ville Skyttä " + distribution xemacs + priority low + category "standard" + dump nil + description "Haskell editing support." + filename "haskell-mode-1.03-pkg.tar.gz" + md5sum "c734831433d7330094064fe3959d94f1" + size 91983 + provides (haskell-decl-scan haskell-doc haskell-font-lock haskell-indent haskell-mode haskell-simple-indent) + requires (dired mail-lib xemacs-base edit-utils) + type regular +)) +)) +;;;@@@ +(package-get-update-base-entry (quote (xslide (standards-version 1.1 version "1.01" @@ -25,19 +69,19 @@ (package-get-update-base-entry (quote (liece (standards-version 1.1 - version "1.02" + version "1.07" author-version "1.4.7" - date "2002-03-27" - build-date "2002-03-27" + date "2002-07-14" + build-date "2002-07-14" maintainer "Daiki Ueno " distribution xemacs priority high category "standard" dump nil description "IRC (Internet Relay Chat) client for Emacs." - filename "liece-1.02-pkg.tar.gz" - md5sum "7c899f30aa09060a654293ea34cc69a2" - size 197898 + filename "liece-1.07-pkg.tar.gz" + md5sum "10a70f816b57757a6dc58b29f342881f" + size 197755 provides (liece-xemacs gettext liece-clfns liece-handler liece-compat liece-version liece-vars liece-globals liece-inlines liece-filter liece-coding liece-dcc liece-menu liece-000 liece-200 liece-300 liece-400 liece-500 liece-nick liece-channel liece-commands liece-ctcp liece-q-el liece-message liece-handle liece-hilit liece-intl liece-mail liece-minibuf liece-misc liece-tcp liece-url liece-x-face liece-window liece) requires (apel mail-lib fsf-compat xemacs-base) type regular @@ -47,19 +91,19 @@ (package-get-update-base-entry (quote (latin-unity (standards-version 1.1 - version "1.02" - author-version "1.02" - date "2002-03-27" - build-date "2002-03-27" + version "1.05" + author-version "1.05" + date "2002-05-07" + build-date "2002-05-07" maintainer "Stephen J. Turnbull " distribution mule priority high category "mule" dump nil description "MULE: find single ISO 8859 character set to encode a buffer." - filename "latin-unity-1.02-pkg.tar.gz" - md5sum "a805ae51271723aa4bf50b43e24d197f" - size 84953 + filename "latin-unity-1.05-pkg.tar.gz" + md5sum "fc968dc2682d52ab37634e22028d8598" + size 86755 provides (latin-unity latin-unity-tables latin-unity-utils) requires (mule-base mule-ucs leim fsf-compat) type regular @@ -91,19 +135,19 @@ (package-get-update-base-entry (quote (ibuffer (standards-version 1.1 - version "1.04" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.08" + author-version "21.5b6" + date "2002-07-14" + build-date "2002-07-14" maintainer "John Paul Wallington " distribution xemacs priority medium category "standard" dump nil description "Advanced replacement for buffer-menu" - filename "ibuffer-1.04-pkg.tar.gz" - md5sum "318cb38fcc9f27227ae147327e924d73" - size 78461 + filename "ibuffer-1.08-pkg.tar.gz" + md5sum "e7203eeeca98a89c2bfe051d81c729de" + size 87113 provides (ibuf-ext ibuf-macs ibuffer) requires (ibuffer xemacs-base) type regular @@ -113,19 +157,19 @@ (package-get-update-base-entry (quote (xemacs-base (standards-version 1.1 - version "1.61" - author-version "21.5b5" - date "2002-03-27" - build-date "2002-03-27" + version "1.66" + author-version "21.5b6" + date "2002-07-14" + build-date "2002-07-14" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "Fundamental XEmacs support, you almost certainly need this." - filename "xemacs-base-1.61-pkg.tar.gz" - md5sum "f6e0bb7401bfce2d5a670c352b2376bb" - size 457628 + filename "xemacs-base-1.66-pkg.tar.gz" + md5sum "108cb98a37dd6270618b942e0fe97b48" + size 464634 provides (add-log advice-preload advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline passwd pp regexp-opt regi ring shell skeleton sort thing time-stamp timezone tq xbm-button xpm-button) requires () type regular @@ -135,19 +179,19 @@ (package-get-update-base-entry (quote (tramp (standards-version 1.1 - version "1.04" + version "1.05" author-version "2002-02-18" - date "2002-03-25" - build-date "2002-03-26" + date "2002-04-24" + build-date "2002-04-24" maintainer "Kai Großjohann " distribution xemacs priority low category "standard" dump nil description "Remote shell-based file editing." - filename "tramp-1.04-pkg.tar.gz" - md5sum "76d676178f448ba174e74a964d1dbfaf" - size 135053 + filename "tramp-1.05-pkg.tar.gz" + md5sum "a0c020f425b6344ea0c133dc26e7f689" + size 136196 provides (tramp tramp-util tramp-vc trampcache) requires (tramp xemacs-base vc fsf-compat efs dired mail-lib gnus) type regular @@ -157,20 +201,20 @@ (package-get-update-base-entry (quote (text-modes (standards-version 1.1 - version "1.40" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.48" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "Miscellaneous support for editing text files." - filename "text-modes-1.40-pkg.tar.gz" - md5sum "add592d9c4166ae6d46f0f49d1934f85" - size 271468 - provides (ansi-color autoinsert crontab-edit filladapt flyspell folding fold-isearch hexl htmlize image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed rtf-support swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode) + filename "text-modes-1.48-pkg.tar.gz" + md5sum "f2df17af03a7f47e3b2e7b970d0b9f0b" + size 345796 + provides (ansi-color autoinsert crontab-edit filladapt flyspell folding fold-isearch hexl htmlize image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed rtf-support swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode apache-mode po-mode css-mode) requires (ispell fsf-compat xemacs-base) type regular )) @@ -179,19 +223,19 @@ (package-get-update-base-entry (quote (pcl-cvs (standards-version 1.1 - version "1.60" + version "1.63" author-version "R-2_9_9" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-04" + build-date "2002-06-04" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "CVS frontend." - filename "pcl-cvs-1.60-pkg.tar.gz" - md5sum "d9927da2c1602b6e1797ca64b9974164" - size 163055 + filename "pcl-cvs-1.63-pkg.tar.gz" + md5sum "87b7a9ebd1aa6d24ee4c3c0ff914daad" + size 161146 provides (cvs-compat cvs-edit cvs-log cvs-status easy-mmode pcl-cvs-defs pcl-cvs-info pcl-cvs-parse pcl-cvs-util pcl-cvs) requires (xemacs-base elib vc dired edebug ediff edit-utils mail-lib prog-modes) type regular @@ -201,21 +245,21 @@ (package-get-update-base-entry (quote (mail-lib (standards-version 1.1 - version "1.44" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.47" + author-version "21.5b6" + date "2002-07-14" + build-date "2002-07-14" maintainer "Simon Josefsson " distribution xemacs priority medium category "standard" dump nil description "Fundamental lisp files for providing email support." - filename "mail-lib-1.44-pkg.tar.gz" - md5sum "8b45218d6c18a7bebcfce5c82ef47356" - size 183119 - provides (base64 browse-url-xemacs browse-url highlight-headers mail-abbrevs mail-extr mail-utils mailheader pop3 reporter rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls) - requires (eterm xemacs-base) + filename "mail-lib-1.47-pkg.tar.gz" + md5sum "3cba556078ece30b7538ade56e138041" + size 186598 + provides (base64 browse-url-xemacs browse-url highlight-headers mail-abbrevs mail-extr mail-utils mailheader netrc pop3 reporter rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls) + requires (eterm xemacs-base fsf-compat sh-script) type regular )) )) @@ -223,21 +267,21 @@ (package-get-update-base-entry (quote (jde (standards-version 1.1 - version "1.34" + version "1.35" author-version "2.2.8" - date "2002-03-28" - build-date "2002-03-28" + date "2002-05-09" + build-date "2002-05-10" maintainer "Paul Kinnucan " distribution xemacs priority medium category "standard" dump nil description "Java language and development support." - filename "jde-1.34-pkg.tar.gz" - md5sum "b72427bec9bd028931e4893a0a91dbdb" - size 1635561 + filename "jde-1.35-pkg.tar.gz" + md5sum "b0289c057ce2a0d95c417409f5f17ba4" + size 1635420 provides (jde) - requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel eieio elib sh-script) + requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel eieio elib sh-script fsf-compat) type regular )) )) @@ -267,19 +311,19 @@ (package-get-update-base-entry (quote (edit-utils (standards-version 1.1 - version "1.82" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.89" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "Miscellaneous editor extensions, you probably need this." - filename "edit-utils-1.82-pkg.tar.gz" - md5sum "0d37ebd1f1841c864809c7486d1dc47b" - size 649444 + filename "edit-utils-1.89-pkg.tar.gz" + md5sum "b7d94a10cda4795bbb759e0ee88ae86e" + size 650996 provides (abbrevlist after-save-commands atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon makesum man mic-paren paren mode-motion+ outl-mouse outln-18 page-ext blink-paren paren permanent-buffers popper power-macros recent-files redo reportmail resume rsz-minibuf saveconf savehist saveplace scroll-in-place setnu shell-font tempo toolbar-utils tree-menu uniquify vertical-mode where-was-i-db winring) requires (xemacs-base fsf-compat dired mail-lib) type single @@ -289,19 +333,19 @@ (package-get-update-base-entry (quote (skk (standards-version 1.1 - version "1.21" + version "1.22" author-version "10.62a" - date "2002-01-26" - build-date "2002-01-27" + date "2002-04-30" + build-date "2002-04-30" maintainer "XEmacs Development Team " distribution mule priority medium category "mule" dump nil description "MULE: Japanese Language Input Method." - filename "skk-1.21-pkg.tar.gz" - md5sum "9552a22b8f1cb3c4fb79c7a182f46e2b" - size 1504736 + filename "skk-1.22-pkg.tar.gz" + md5sum "05457e10b156dbcc2e0f735d46d934a1" + size 1461781 provides (skk-auto skk-comp skk-cursor skk-develop skk-foreword skk-gadget skk-isearch skk-kakasi skk-kcode skk-leim skk-look skk-num skk-obsolete skk-server skk-tut skk-vars skk-viper skk vip) requires (viper mule-base elib xemacs-base apel) type regular @@ -311,19 +355,19 @@ (package-get-update-base-entry (quote (ps-print (standards-version 1.1 - version "1.03" + version "1.04" author-version "6.5.6" - date "2002-02-01" - build-date "2002-02-13" + date "2002-04-24" + build-date "2002-04-24" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "Printing functions and utilities" - filename "ps-print-1.03-pkg.tar.gz" - md5sum "b2d8db1073568d4301eb1c3a0935fa4e" - size 153654 + filename "ps-print-1.04-pkg.tar.gz" + md5sum "e4c3f93b960454cf6dc559a0704fb084" + size 154281 provides (lpr ps-bdf ps-mule ps-print) requires (text-modes) type regular @@ -333,19 +377,19 @@ (package-get-update-base-entry (quote (sieve (standards-version 1.1 - version "1.02" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.07" + author-version "21.5b6" + date "2002-06-04" + build-date "2002-06-04" maintainer "Simon Josefsson " distribution xemacs priority low category "standard" dump nil description "Manage Sieve email filtering scripts." - filename "sieve-1.02-pkg.tar.gz" - md5sum "146231a5fe41f68ed0387ffe1846843c" - size 23338 + filename "sieve-1.07-pkg.tar.gz" + md5sum "d86e60ea1b6c552be2b6db7cca60e151" + size 23498 provides (sieve sieve-mode sieve-manage) requires (xemacs-base mail-lib cc-mode) type regular @@ -377,19 +421,19 @@ (package-get-update-base-entry (quote (clearcase (standards-version 1.0 - version "1.03" - author-version "21.5b4" - date "2002-02-12" - build-date "2002-02-13" + version "1.04" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "Michael Diers " distribution xemacs priority low category "standard" dump nil description "New Clearcase Version Control for XEmacs (UNIX, Windows)." - filename "clearcase-1.03-pkg.tar.gz" - md5sum "f77f179bbb57b496a5ca9a8199858e29" - size 89096 + filename "clearcase-1.04-pkg.tar.gz" + md5sum "c60546db0605910ec57af7151a7fc9a7" + size 89274 provides (clearcase) requires (dired fsf-compat mail-lib xemacs-base) type regular @@ -399,19 +443,19 @@ (package-get-update-base-entry (quote (dictionary (standards-version 1.1 - version "1.08" - author-version "1.7" - date "2002-03-25" - build-date "2002-03-25" + version "1.11" + author-version "1.8" + date "2002-05-20" + build-date "2002-05-20" maintainer "Torsten Hilbrich " distribution xemacs priority low category "standard" dump nil description "Interface to RFC2229 dictionary servers." - filename "dictionary-1.08-pkg.tar.gz" - md5sum "908bf76c8f0e5d5463ff1282ae66f9b8" - size 38956 + filename "dictionary-1.11-pkg.tar.gz" + md5sum "6bead861baac049fb1807dd2e03a1475" + size 39886 provides (dictionary connection link) requires (xemacs-base) type regular @@ -421,19 +465,19 @@ (package-get-update-base-entry (quote (build (standards-version 1.0 - version "1.05" - author-version "21.5b4" - date "2002-01-07" - build-date "2002-01-14" + version "1.06" + author-version "2.00" + date "2002-07-20" + build-date "2002-07-20" maintainer "Adrian Aichner " distribution stable priority low category "standard" dump nil description "Build XEmacs from within (UNIX, Windows)." - filename "build-1.05-pkg.tar.gz" - md5sum "3d6158756a1990e92ff2ed77d6e39425" - size 31606 + filename "build-1.06-pkg.tar.gz" + md5sum "2d0fb08caf67bb89759be4ac54b6a0fb" + size 39500 provides (build) requires (xemacs-base pcl-cvs dired w3 prog-modes) type regular @@ -443,21 +487,21 @@ (package-get-update-base-entry (quote (xslt-process (standards-version 1.0 - version "1.06" + version "1.10" author-version "1.2.1" - date "2002-01-15" - build-date "2002-01-15" + date "2002-07-14" + build-date "2002-07-14" maintainer "Ovidiu Predescu " distribution xemacs priority medium category "standard" dump nil description "XSLT processing support." - filename "xslt-process-1.06-pkg.tar.gz" - md5sum "29c91cf906a685b3197bc4ab13d27735" - size 200263 + filename "xslt-process-1.10-pkg.tar.gz" + md5sum "b6fedc8eb356d6e4277ff505324a2abe" + size 199744 provides (xslt-process) - requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script) + requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script fsf-compat) type regular )) )) @@ -531,19 +575,19 @@ (package-get-update-base-entry (quote (lookup (standards-version 1.1 - version "1.10" + version "1.12" author-version "1.0" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution mule priority high category "mule" dump nil description "MULE: Dictionary support" - filename "lookup-1.10-pkg.tar.gz" - md5sum "e3938ad866de0a22df8cc1042ddb62f3" - size 214515 + filename "lookup-1.12-pkg.tar.gz" + md5sum "f07a3791e49f75c7f1504edb077a5560" + size 190864 provides (evi-mule evi lookup-content lookup-defs lookup-entry lookup-select lookup-package lookup-select lookup-types lookup-utils lookup-vars lookup-vse lookup ndcookie ndeb ndic ndict ndkks ndmisc ndnmz ndspell ndsrd ndtp sdicf stem) requires (mule-base cookie lookup) type regular @@ -553,19 +597,19 @@ (package-get-update-base-entry (quote (leim (standards-version 1.1 - version "1.17" - author-version "21.1" - date "2000-11-08" - build-date "2001-01-15" + version "1.18" + author-version "21.5b5" + date "2002-04-24" + build-date "2002-04-24" maintainer "XEmacs Development Team " distribution mule priority medium category "mule" dump nil description "MULE: Quail. All non-English and non-Japanese language support." - filename "leim-1.17-pkg.tar.gz" - md5sum "61d39ee096e39219651b01648a37ef2e" - size 1708067 + filename "leim-1.18-pkg.tar.gz" + md5sum "b0467e2a3a93b46590bd2fe9bbf9675e" + size 1708615 provides () requires (mule-base fsf-compat xemacs-base) type regular @@ -597,19 +641,19 @@ (package-get-update-base-entry (quote (mule-base (standards-version 1.1 - version "1.39" - author-version "21.5b1" - date "2001-05-23" - build-date "2001-06-14" + version "1.42" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution mule priority high category "mule" dump nil description "MULE: Basic Mule support, required for building with Mule." - filename "mule-base-1.39-pkg.tar.gz" - md5sum "5686febbb08c950ead2b4d0b1707c09e" - size 443543 + filename "mule-base-1.42-pkg.tar.gz" + md5sum "d521ca4256a8333db5dc686b9d719232" + size 443826 provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) requires (fsf-compat xemacs-base apel) type regular @@ -707,19 +751,19 @@ (package-get-update-base-entry (quote (psgml (standards-version 1.1 - version "1.27" + version "1.28" author-version "1.22" - date "2002-02-15" - build-date "2002-02-23" + date "2002-05-09" + build-date "2002-05-10" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "Validated HTML/SGML editing." - filename "psgml-1.27-pkg.tar.gz" - md5sum "e2ee0ca808175b7904e03865fb5e9f2f" - size 652565 + filename "psgml-1.28-pkg.tar.gz" + md5sum "e559c5b88300e414654550806eab8c7a" + size 651867 provides (iso-sgml psgml-api psgml-charent psgml-debug psgml-dtd psgml-edit psgml-fs psgml-html psgml-info psgml-parse psgml-xemacs psgml sgml-mode) requires (xemacs-base edit-utils edebug xemacs-devel mail-lib) type regular @@ -729,19 +773,19 @@ (package-get-update-base-entry (quote (pc (standards-version 1.1 - version "1.21" - author-version "21.5b4" - date "2002-01-10" - build-date "2002-01-14" + version "1.25" + author-version "21.5b6" + date "2002-06-04" + build-date "2002-06-04" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "PC style interface emulation." - filename "pc-1.21-pkg.tar.gz" - md5sum "5e4818857e3132288c7c1d069f2aa75e" - size 17095 + filename "pc-1.25-pkg.tar.gz" + md5sum "03b7fcc55e1ce79a6017cdfa7fd49f3d" + size 17429 provides (delbs fusion pc-select pending-del s-region) requires (xemacs-base) type regular @@ -861,21 +905,21 @@ (package-get-update-base-entry (quote (calc (standards-version 1.1 - version "1.19" + version "1.23" author-version "2.02fX3" - date "2002-03-25" - build-date "2002-03-25" + date "2002-05-09" + build-date "2002-05-10" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Emacs calculator" - filename "calc-1.19-pkg.tar.gz" - md5sum "50adc786650be5b3c07f752a0e9481d3" - size 1614659 + filename "calc-1.23-pkg.tar.gz" + md5sum "e66651dacc67325f6e6d033f80f2e989" + size 1615158 provides (calc-ext calc-macs calc) - requires () + requires (xemacs-base) type regular )) )) @@ -971,19 +1015,19 @@ (package-get-update-base-entry (quote (os-utils (standards-version 1.1 - version "1.26" - author-version "21.5b4" - date "2002-01-13" - build-date "2002-01-14" + version "1.28" + author-version "21.5b6" + date "2002-05-10" + build-date "2002-05-10" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "Miscellaneous O/S utilities." - filename "os-utils-1.26-pkg.tar.gz" - md5sum "f347b3ea62543a6e637eaf73e6772c0a" - size 198764 + filename "os-utils-1.28-pkg.tar.gz" + md5sum "57d2aa4e6f7d1ad321e1d1d84b2c458c" + size 200020 provides (archive-mode background crypt++ crypt ftelnet inf-lisp jka-compr mchat rlogin ssh tar-mode telnet terminal uncompress) requires (xemacs-base) type single @@ -993,19 +1037,19 @@ (package-get-update-base-entry (quote (ilisp (standards-version 1.1 - version "1.20" - author-version "5.11.1" - date "2002-01-13" - build-date "2002-01-14" + version "1.27" + author-version "5.12.0" + date "2002-06-27" + build-date "2002-06-27" maintainer "ilisp Maintainers " distribution xemacs priority low category "standard" dump nil description "Front-end for Inferior Lisp." - filename "ilisp-1.20-pkg.tar.gz" - md5sum "0ee4440213bb4cb3144af60300c3dbc9" - size 335386 + filename "ilisp-1.27-pkg.tar.gz" + md5sum "a95a698b28301250971e8076d7ce89fd" + size 335702 provides (bridge comint-ipc comint completer ilcompat compat-fsf18 compat-fsf-19 compat-fsf-20 ilisp-chs ilisp-cl-easy-menu ilisp-ext ilisp-lw ilisp-key ilisp-menu ilisp-mnb ilisp-scheme-easy-menu ilisp il-luc19 il-luc19) requires (xemacs-base mail-lib fsf-compat eterm) type regular @@ -1059,19 +1103,19 @@ (package-get-update-base-entry (quote (viper (standards-version 1.1 - version "1.33" + version "1.34" author-version "3.09" - date "2002-03-25" - build-date "2002-03-26" + date "2002-04-24" + build-date "2002-04-24" maintainer "Michael Kifer " distribution xemacs priority low category "standard" dump nil description "VI emulation support." - filename "viper-1.33-pkg.tar.gz" - md5sum "68a659e67f5f9c533f76229ad3a9a1b5" - size 328311 + filename "viper-1.34-pkg.tar.gz" + md5sum "c438c8c42dbedd5634c773623db5a4ff" + size 329580 provides (viper-cmd viper-ex viper-init viper-keym viper-macs viper-mous viper-util viper) requires (xemacs-base) type regular @@ -1213,19 +1257,19 @@ (package-get-update-base-entry (quote (auctex (standards-version 1.1 - version "1.30" + version "1.32" author-version "10.0g" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "Basic TeX/LaTeX support." - filename "auctex-1.30-pkg.tar.gz" - md5sum "52459679ad7e9fa4eb558c59d19e51c4" - size 385528 + filename "auctex-1.32-pkg.tar.gz" + md5sum "7d532a5a3d673f89f01c9dd3ed75ac80" + size 385505 provides (auc-old auc-tex bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-mik tex-site tex texmathp) requires (xemacs-base) type regular @@ -1257,20 +1301,20 @@ (package-get-update-base-entry (quote (vc (standards-version 1.1 - version "1.30" - author-version "21.5b3" - date "2001-12-17" - build-date "2001-12-17" + version "1.33" + author-version "21.5b6" + date "2002-06-04" + build-date "2002-06-04" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Version Control for Free systems." - filename "vc-1.30-pkg.tar.gz" - md5sum "f62e070f0f5e04c8b9ee4ec7badaa787" - size 91668 - provides (vc) + filename "vc-1.33-pkg.tar.gz" + md5sum "f3b8db930389eb6288af946398286ab6" + size 91716 + provides (vc vc-hooks) requires (dired xemacs-base vc mail-lib ediff) type regular )) @@ -1279,20 +1323,20 @@ (package-get-update-base-entry (quote (vc-cc (standards-version 1.1 - version "1.18" - author-version "21.5b3" - date "2001-12-10" - build-date "2001-12-10" + version "1.21" + author-version "21.5b6" + date "2002-06-04" + build-date "2002-06-04" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Version Control for ClearCase (UnFree) systems." - filename "vc-cc-1.18-pkg.tar.gz" - md5sum "6885bb091d1fd108a7ec4353a96016ec" - size 94520 - provides (vc) + filename "vc-cc-1.21-pkg.tar.gz" + md5sum "eb7ad3f9407b32509fa95fa272476b7d" + size 94556 + provides (vc-cc vc-cc-hooks) requires (dired xemacs-base) type regular )) @@ -1301,19 +1345,19 @@ (package-get-update-base-entry (quote (sh-script (standards-version 1.1 - version "1.14" + version "1.15" author-version "2.0e" - date "2002-03-02" - build-date "2002-03-06" + date "2002-04-24" + build-date "2002-04-24" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Support for editing shell scripts." - filename "sh-script-1.14-pkg.tar.gz" - md5sum "c8b3614f5fc4696e552d7d76806ce032" - size 35380 + filename "sh-script-1.15-pkg.tar.gz" + md5sum "72214e735ea0fda9147c051fbc3b6965" + size 36163 provides (sh-script executable) requires (xemacs-base) type regular @@ -1345,21 +1389,21 @@ (package-get-update-base-entry (quote (prog-modes (standards-version 1.1 - version "1.53" - author-version "21.5b5" - date "2002-03-25" - build-date "2002-03-25" + version "1.60" + author-version "21.5b6" + date "2002-07-14" + build-date "2002-07-14" maintainer "Ville Skyttä " distribution xemacs priority medium category "standard" dump nil description "Support for various programming languages." - filename "prog-modes-1.53-pkg.tar.gz" - md5sum "aed44c778da85591f3c267af073f928a" - size 944335 - provides (autoconf-mode awk-mode c-mode cperl-mode cvs diff-mode eiffel3 f90 fortran inf-ruby javascript-mode ksh-mode m4-mode makefile mode-compile mode-compile-kill modula2 p4 perl-mode php-mode postscript pydoc python-mode rexx-mode ruby-mode simula-mode sql tcl teco verilog-mode) - requires (mail-lib xemacs-devel xemacs-base cc-mode ps-print fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp) + filename "prog-modes-1.60-pkg.tar.gz" + md5sum "74909e13093afae889e3f43a1879e51c" + size 985711 + provides (autoconf-mode awk-mode c-mode cperl-mode cvs diff-mode eiffel-mode f90 fortran icon inf-ruby javascript-mode ksh-mode m4-mode makefile mode-compile mode-compile-kill modula2 p4 perl-mode php-mode postscript pydoc python-mode rexx-mode rpm-spec-mode ruby-mode simula-mode sql tcl teco verilog-mode) + requires (mail-lib xemacs-devel xemacs-base cc-mode ps-print fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp sh-script) type regular )) )) @@ -1411,19 +1455,19 @@ (package-get-update-base-entry (quote (ediff (standards-version 1.1 - version "1.39" + version "1.41" author-version "2.75" - date "2002-03-25" - build-date "2002-03-25" + date "2002-04-30" + build-date "2002-04-30" maintainer "Michael Kifer " distribution xemacs priority medium category "standard" dump nil description "Interface over GNU patch." - filename "ediff-1.39-pkg.tar.gz" - md5sum "d679f8d1a43dda8f51d6e6ba3cf24a35" - size 301259 + filename "ediff-1.41-pkg.tar.gz" + md5sum "4a4b9435a99e5d1cb0ac2fc0843d92fa" + size 303663 provides (ediff-diff ediff-help ediff-hook ediff-init ediff-merg ediff-mult ediff-ptch ediff-tbar ediff-util ediff-vers ediff-wind ediff) requires (pcl-cvs elib dired xemacs-base edebug prog-modes) type regular @@ -1433,20 +1477,20 @@ (package-get-update-base-entry (quote (debug (standards-version 1.1 - version "1.14" - author-version "21.2b42" - date "2000-11-07" - build-date "2001-01-27" + version "1.15" + author-version "21.5b6" + date "2002-05-01" + build-date "2002-05-01" maintainer "XEmacs Development Team " distribution xemacs priority low - category "prog" + category "standard" dump nil description "GUD, gdb, dbx debugging support." - filename "debug-1.14-pkg.tar.gz" - md5sum "20312f80900f1c99f3eeecddf75026ca" - size 103296 - provides (dbx gdb-highlight gdb gdbsrc gud history) + filename "debug-1.15-pkg.tar.gz" + md5sum "2b44d4c660f4cda44d4a159b40a6f457" + size 107347 + provides (dbx debug-toolbar gdb-highlight gdb gdbsrc gud history) requires (xemacs-base) type regular )) @@ -1499,19 +1543,19 @@ (package-get-update-base-entry (quote (cc-mode (standards-version 1.1 - version "1.27" + version "1.28" author-version "5.28" - date "2002-01-13" - build-date "2002-01-14" + date "2002-05-09" + build-date "2002-05-10" maintainer "Martin Stjernholm " distribution xemacs priority medium category "standard" dump nil description "C, C++ and Java language support." - filename "cc-mode-1.27-pkg.tar.gz" - md5sum "40d0d6638b94ec0fe40f1b29df6d4efd" - size 262878 + filename "cc-mode-1.28-pkg.tar.gz" + md5sum "d2c87709e503e11755c480f2aa50ea8c" + size 262921 provides (cc-bytecomp cc-align cc-cmds cc-compat cc-defs cc-engine cc-guess cc-langs cc-lobotomy cc-menus cc-mode-19 cc-mode cc-styles cc-vars) requires (xemacs-base mail-lib) type regular @@ -1631,19 +1675,19 @@ (package-get-update-base-entry (quote (bbdb (standards-version 1.1 - version "1.20" + version "1.21" author-version "2.34" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-27" + build-date "2002-06-27" maintainer "Ronan Waide " distribution xemacs priority medium category "standard" dump nil description "The Big Brother Data Base" - filename "bbdb-1.20-pkg.tar.gz" - md5sum "f5f772c6e77a6d97f53a60acb5203bf7" - size 373721 + filename "bbdb-1.21-pkg.tar.gz" + md5sum "8b1d6fe03d444a4977a358a431f1430e" + size 373823 provides (bbdb-com bbdb-ftp bbdb-gnus bbdb-gui bbdb-hooks bbdb-merge bbdb-mhe bbdb-migrate bbdb-print bbdb-reportmail bbdb-rmail bbdb-sc bbdb-snarf bbdb-srv bbdb-vm bbdb-w3 bbdb-whois bbdb-xemacs bbdb) requires (bbdb edit-utils gnus mh-e rmail supercite vm tm apel mail-lib xemacs-base w3) type regular @@ -1697,19 +1741,19 @@ (package-get-update-base-entry (quote (tm (standards-version 1.1 - version "1.32" - author-version "21.5b5" - date "2002-03-27" - build-date "2002-03-27" + version "1.34" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Emacs MIME support. Not needed for gnus >= 5.8.0" - filename "tm-1.32-pkg.tar.gz" - md5sum "f4b825c093897e785ef3dc06c9e263a2" - size 189142 + filename "tm-1.34-pkg.tar.gz" + md5sum "80c9bf5cf48f9ba61b1b6395751c44e4" + size 189067 provides (char-util cless gnus-art-mime gnus-charset gnus-mime gnus-sum-mime latex-math-symbol mel-b mel-g mel-q mel-u mel message-mime mime-setup mu-bbdb mu-cite range sc-setup signature texi-util tl-atype tl-list tl-misc tl-num tl-seq tl-str tm-bbdb tm-def tm-edit-mc tm-edit tm-ew-d tm-ew-e tm-file tm-ftp tm-html tm-image tm-latex tm-mail tm-mh-e tm-parse tm-partial tm-pgp tm-play tm-rmail tm-setup tm-tar tm-text tm-view tm-vm tmh-comp) requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base fsf-compat) type regular @@ -1719,19 +1763,19 @@ (package-get-update-base-entry (quote (gnus (standards-version 1.1 - version "1.59" + version "1.62" author-version "5.8.8" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "The Gnus Newsreader and Mailreader." - filename "gnus-1.59-pkg.tar.gz" - md5sum "3dfb92934e1723f88a6cab69f2c97be1" - size 2350665 + filename "gnus-1.62-pkg.tar.gz" + md5sum "b84bb02eab349e7c36b84d5f6bd5f194" + size 2356932 provides (binhex drums earcon flow-fill format-spec gnus-agent gnus-art gnus-async gnus-audio gnus-bcklg gnus-cache gnus-cite gnus-cus gnus-demon gnus-draft gnus-dup gnus-eform gnus-ems gnus-gl gnus-group gnus-int gnus-kill gnus-load gnus-logic gnus-mh gnus-ml gnus-mlspl gnus-move gnus-msg gnus-nocem gnus-picon gnus-range gnus-salt gnus-score gnus-setup gnus-soup gnus-spec gnus-srvr gnus-start gnus-sum gnus-topic gnus-undo gnus-util gnus-uu gnus-vm gnus-win gnus-xmas gnus ietf-drums imap lpath mail-parse mail-prsvr mail-source mailcap md5 message messagexmas messcompat mm-bodies mm-decode mm-encode mm-util mm-uu mm-view mml-smime mml nnagent nnbabyl nndb nndir nndoc nndraft nneething nnfolder nngateway nnheader nnheaderxm nnimap nnkiboze nnlistserv nnmail nnmbox nnmh nnml nnoo nnslashdot nnsoup nnspool nntp nnultimate nnvirtual nnwarchive nnweb nnwfm parse-time qp rfc1843 rfc2015 rfc2045 rfc2047 rfc2231 score-mode smiley smiley smime time-date utf7 uudecode vcard webmail) requires (gnus w3 mh-e mailcrypt rmail eterm mail-lib xemacs-base fsf-compat) type regular @@ -1829,19 +1873,19 @@ (package-get-update-base-entry (quote (gnats (standards-version 1.1 - version "1.14" + version "1.15" author-version "3.101" - date "2002-03-25" - build-date "2002-03-25" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "XEmacs bug reports." - filename "gnats-1.14-pkg.tar.gz" - md5sum "f5bcbcdb6ec241c9f22a29105b1debc9" - size 189561 + filename "gnats-1.15-pkg.tar.gz" + md5sum "9503a79e2e396eb13151aec7eadf561b" + size 189524 provides (gnats gnats-admin send-pr) requires (mail-lib xemacs-base) type regular @@ -1851,19 +1895,19 @@ (package-get-update-base-entry (quote (footnote (standards-version 1.1 - version "1.14" + version "1.15" author-version "0.18x" - date "2002-02-12" - build-date "2002-02-13" + date "2002-04-24" + build-date "2002-04-24" maintainer "SL Baur " distribution xemacs priority low category "standard" dump nil description "Footnoting in mail message editing modes." - filename "footnote-1.14-pkg.tar.gz" - md5sum "0052618f7875e79c20f2024e985d39fb" - size 21817 + filename "footnote-1.15-pkg.tar.gz" + md5sum "1cbe1e587881611006d9a8fc82be3be1" + size 21917 provides (footnote-cyrillic footnote-greek footnote-han footnote-hebrew footnote-kana footnote) requires (mail-lib xemacs-base) type regular @@ -1895,19 +1939,19 @@ (package-get-update-base-entry (quote (net-utils (standards-version 1.1 - version "1.24" - author-version "21.5b4" - date "2002-02-23" - build-date "2002-02-23" + version "1.27" + author-version "21.5b6" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority low category "standard" dump nil description "Miscellaneous Networking Utilities." - filename "net-utils-1.24-pkg.tar.gz" - md5sum "316b8f852ea625d89535b75028de1c1c" - size 119981 + filename "net-utils-1.27-pkg.tar.gz" + md5sum "45563ca39defd1328c9dabd933d9a0f5" + size 120333 provides (ilisp-browse-cltl2 xemacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www) requires (w3 efs mail-lib xemacs-base) type single @@ -1917,19 +1961,19 @@ (package-get-update-base-entry (quote (w3 (standards-version 1.1 - version "1.22" + version "1.25" author-version "4.0pre46" - date "2002-03-25" - build-date "2002-03-26" + date "2002-06-27" + build-date "2002-06-27" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "A Web browser." - filename "w3-1.22-pkg.tar.gz" - md5sum "1ac52ca40fd12b250e5a639f6549f652" - size 689366 + filename "w3-1.25-pkg.tar.gz" + md5sum "5eef9e6136c651a922d5cc341c8c7b56" + size 689340 provides (css devices w3-auto dsssl-flow dsssl font images md5 mm mule-sysdp socks ssl urlauth url-cache url-cookie url-file url-gopher url-gw url-http url-ldap url-mail url-misc url-news url-ns url-parse url-vars url w3-about w3-auto w3-cfg w3-cus w3-display w3-emacs19 w3-e19 w3-e20 w3-elisp w3-emulate w3-forms w3-hot w3-hotindex w3-imap w3-java w3-jscript w3-keyword w3-latex w3-menu w3-mouse w3-parse w3-print w3-props w3-script w3-structure w3-speak w3-style w3-sysdp w3-toolbar w3-vars w3-widget w3-xemacs w3-xemac w3) requires (w3 mail-lib xemacs-base) type regular @@ -1939,19 +1983,19 @@ (package-get-update-base-entry (quote (vm (standards-version 1.1 - version "7.03" - author-version "7.03" - date "2002-03-25" - build-date "2002-03-26" + version "7.07" + author-version "7.07" + date "2002-06-08" + build-date "2002-06-08" maintainer "Kyle Jones " distribution xemacs priority medium category "standard" dump nil description "An Emacs mailer." - filename "vm-7.03-pkg.tar.gz" - md5sum "ad490c8dacf885a28f897d93382d250b" - size 714118 + filename "vm-7.07-pkg.tar.gz" + md5sum "ab2c67c7cda2fe8739a1fef49cfc0fc5" + size 718569 provides (tapestry vm-byteopts vm-delete vm-digest vm-easymenu vm-edit vm-folder vm-imap vm-license vm-macro vm-mark vm-menu vm-message vm-mime vm-minibuf vm-misc vm-motion vm-mouse vm-page vm-pop vm-reply vm-save vm-search vm-sort vm-startup vm-summary vm-thread vm-toolbar vm-undo vm-user vm-vars vm vm-version vm-virtual vm-window) requires (mail-lib xemacs-base) type regular @@ -2005,19 +2049,19 @@ (package-get-update-base-entry (quote (xemacs-devel (standards-version 1.1 - version "1.43" - author-version "21.5b4" - date "2002-03-04" - build-date "2002-03-06" + version "1.47" + author-version "21.5b6" + date "2002-07-14" + build-date "2002-07-14" maintainer "XEmacs Development Team " distribution xemacs priority medium category "standard" dump nil description "Emacs Lisp developer support." - filename "xemacs-devel-1.43-pkg.tar.gz" - md5sum "ddbfe9135401490d5f3c2d8fd4f5ff24" - size 179426 + filename "xemacs-devel-1.47-pkg.tar.gz" + md5sum "0386b19a469f684dd97e67fe5ce15a99" + size 228197 provides (checkdoc docref eldoc elp eval-expr find-func hide-copyleft ielm patcher pp trace patch-keywords) requires (xemacs-base ispell mail-lib gnus) type single @@ -2115,19 +2159,19 @@ (package-get-update-base-entry (quote (apel (standards-version 1.1 - version "1.21" + version "1.25" author-version "10.2" - date "2002-03-25" - build-date "2002-03-25" + date "2002-07-30" + build-date "2002-07-30" maintainer "XEmacs Development Team " distribution xemacs priority high category "standard" dump nil description "A Portable Emacs Library. Used by XEmacs MIME support." - filename "apel-1.21-pkg.tar.gz" - md5sum "cf0e8f72176963be1a0c0a55d70dae82" - size 107681 + filename "apel-1.25-pkg.tar.gz" + md5sum "532f6290f85b87e78eeb059eb8a3f673" + size 108216 provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich) requires (fsf-compat xemacs-base) type regular @@ -2137,20 +2181,20 @@ (package-get-update-base-entry (quote (efs (standards-version 1.0 - version "1.28" - author-version "1.20pre2" - date "2002-03-25" - build-date "2002-03-25" + version "1.29" + author-version "1.20" + date "2002-04-24" + build-date "2002-04-24" maintainer "Mike Sperber " distribution stable priority medium category "standard" dump nil description "Treat files on remote systems the same as local files." - filename "efs-1.28-pkg.tar.gz" - md5sum "7622650d9c754337d7fd97c61ea8942b" - size 370073 - provides (default-dir efs-auto efs-cms-knet efs-cms efs-coke efs-cp-p efs-cu efs-defun efs-dired efs-unix:dl efs-dos-distinct efs-dump efs-fnh efs-guardian efs-gwp efs-hell efs-ka9q efs-kerberos efs-mpe efs-ms-unix efs-mts efs-mvs efs-netrc efs-netware efs-nos-ve efs-ovwrt efs-pc efs-plan9 efs-report efs-ti-explorer efs-ti-twenex efs-tops-20 efs-vms efs-vos efs-x19\.15 efs) + filename "efs-1.29-pkg.tar.gz" + md5sum "8c2c6c00cfbdc5f8d64ad54ddfb731df" + size 371905 + provides (efs) requires (xemacs-base dired) type regular )) @@ -2159,19 +2203,19 @@ (package-get-update-base-entry (quote (dired (standards-version 1.0 - version "1.11" + version "1.12" author-version "7.10" - date "2001-06-03" - build-date "2001-06-14" + date "2002-04-24" + build-date "2002-04-24" maintainer "Mike Sperber " distribution stable priority medium category "standard" dump nil description "Manage file systems." - filename "dired-1.11-pkg.tar.gz" - md5sum "0b44f0635a1d08189db83e8558cfe8e0" - size 193695 + filename "dired-1.12-pkg.tar.gz" + md5sum "be9971fc8b39136a495a1a06110bc964" + size 195581 provides (diff dired) requires (xemacs-base prog-modes) type regular diff --text -u 'xemacs-21.4.8/lib-src/ChangeLog' 'xemacs-21.4.9/lib-src/ChangeLog' Index: ././lib-src/ChangeLog --- ././lib-src/ChangeLog Thu May 9 20:27:23 2002 +++ ././lib-src/ChangeLog Fri Aug 23 19:42:18 2002 @@ -1,3 +1,29 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-07-17 Stephen J. Turnbull + + * mmencode.c (fromqp): + * yow.c (yow): + * movemail.c (main): + * make-docfile.c (scan_c_file): + * gnuserv.c (permitted): + * ootags.c (erlang_func): + (prolog_pred): + * etags.c (C_entries): + Fix warnings. + +2002-05-29 Greg Steuck + + * gnuclient.c: Makes it possible again to #undef + INTERNET_DOMAIN_SOCKETS in lib-src/gnuserv.h and get a functional + gnuserv which is only accessible through UNIX_DOMAIN_SOCKETS. + +2002-05-10 Stephen J. Turnbull + + * Makefile.in.in: Add winclient targets (Andy synch). + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/lib-src/Makefile.in.in' 'xemacs-21.4.9/lib-src/Makefile.in.in' Index: ././lib-src/Makefile.in.in --- ././lib-src/Makefile.in.in Fri Apr 13 03:20:59 2001 +++ ././lib-src/Makefile.in.in Tue Aug 20 20:34:16 2002 @@ -88,6 +88,9 @@ #ifdef HAVE_SHLIB ellcc\ #endif +#ifdef HAVE_MS_WINDOWS + winclient\ +#endif etags ctags b2m ootags PUBLIC_INSTALLABLE_SCRIPTS=\ @@ -357,6 +360,9 @@ minitar: ${srcdir}/../nt/minitar.c $(CC) $(cflags) ${srcdir}/../nt/minitar.c $(ldflags) -lz -o $@ +winclient: ${srcdir}/winclient.c + $(CC) $(cflags) ${srcdir}/winclient.c $(ldflags) -o $@ + hexl: ${srcdir}/hexl.c $(CC) $(cflags) ${srcdir}/hexl.c $(ldflags) -o $@ diff --text -u 'xemacs-21.4.8/lib-src/etags.c' 'xemacs-21.4.9/lib-src/etags.c' Index: ././lib-src/etags.c --- ././lib-src/etags.c Fri Apr 13 03:21:00 2001 +++ ././lib-src/etags.c Tue Aug 20 20:34:17 2002 @@ -2805,6 +2805,7 @@ midtoken = inquote = inchar = incomm = quotednl = FALSE; token.valid = savetoken.valid = FALSE; cblev = 0; + typdefcblev = 0; parlev = 0; cplpl = (c_ext & C_PLPL) == C_PLPL; cjava = (c_ext & C_JAVA) == C_JAVA; diff --text -u 'xemacs-21.4.8/lib-src/gnuclient.c' 'xemacs-21.4.9/lib-src/gnuclient.c' Index: ././lib-src/gnuclient.c --- ././lib-src/gnuclient.c Fri Apr 13 03:21:01 2001 +++ ././lib-src/gnuclient.c Tue Aug 20 20:34:19 2002 @@ -329,11 +329,11 @@ char *remotearg; char thishost[HOSTNAMSZ]; /* this hostname */ char remotepath[MAXPATHLEN+1]; /* remote pathname */ - char *path; int rflg = 0; /* pathname given on cmdline */ char *portarg; unsigned short port = 0; /* port to server */ #endif /* INTERNET_DOMAIN_SOCKETS */ + char *path; /* used indiscriminately */ #ifdef SYSV_IPC struct msgbuf *msgp; /* message */ #endif /* SYSV_IPC */ @@ -470,13 +470,14 @@ progname); exit (1); } +#if defined(INTERNET_DOMAIN_SOCKETS) if (suppress_windows_system && hostarg) { fprintf (stderr, "%s: Remote editing is available only on X\n", progname); exit (1); } - +#endif *result = '\0'; if (eval_function || eval_form || load_library) { @@ -568,7 +569,7 @@ } /* Don't do disconnect_from_server because we have already read data, and disconnect doesn't do anything else. */ -#ifndef INTERNET_DOMAIN_SOCKETS +#ifdef SYSV_IPC if (connect_type == (int) CONN_IPC) disconnect_from_ipc_server (s, msgp, FALSE); #endif /* !SYSV_IPC */ diff --text -u 'xemacs-21.4.8/lib-src/gnuserv.c' 'xemacs-21.4.9/lib-src/gnuserv.c' Index: ././lib-src/gnuserv.c --- ././lib-src/gnuserv.c Wed Jul 25 16:47:25 2001 +++ ././lib-src/gnuserv.c Tue Aug 20 20:34:20 2002 @@ -490,7 +490,7 @@ auth_data_len = atoi(buf); - if (auth_data_len <= 0 || auth_data_len > sizeof(buf)) + if (auth_data_len <= 0 || auth_data_len > (int) sizeof(buf)) { return FALSE; } diff --text -u 'xemacs-21.4.8/lib-src/make-docfile.c' 'xemacs-21.4.9/lib-src/make-docfile.c' Index: ././lib-src/make-docfile.c --- ././lib-src/make-docfile.c Fri Apr 13 03:21:02 2001 +++ ././lib-src/make-docfile.c Tue Aug 20 20:34:21 2002 @@ -509,7 +509,7 @@ register int defvarperbufferflag = 0; register int defvarflag; int minargs, maxargs; - int l = strlen (filename); + size_t l = strlen (filename); char f[MAXPATHLEN]; if (l > sizeof (f)) diff --text -u 'xemacs-21.4.8/lib-src/mmencode.c' 'xemacs-21.4.9/lib-src/mmencode.c' Index: ././lib-src/mmencode.c --- ././lib-src/mmencode.c Fri Apr 13 03:21:03 2001 +++ ././lib-src/mmencode.c Tue Aug 20 20:34:22 2002 @@ -349,7 +349,7 @@ static void fromqp(FILE *infile, FILE *outfile, char **boundaries, int *boundaryct) { - unsigned int c1, c2; + int c1, c2; int sawnewline = 1, neednewline = 0; /* The neednewline hack is necessary because the newline leading into a multipart boundary is part of the boundary, not the data */ diff --text -u 'xemacs-21.4.8/lib-src/movemail.c' 'xemacs-21.4.9/lib-src/movemail.c' Index: ././lib-src/movemail.c --- ././lib-src/movemail.c Fri Apr 13 03:21:03 2001 +++ ././lib-src/movemail.c Tue Aug 20 20:34:22 2002 @@ -440,7 +440,7 @@ errno = saved_errno; pfatal_with_name (outname); } - if (nread < sizeof buf) + if (nread < (int) sizeof buf) break; } } diff --text -u 'xemacs-21.4.8/lib-src/ootags.c' 'xemacs-21.4.9/lib-src/ootags.c' Index: ././lib-src/ootags.c --- ././lib-src/ootags.c Fri Apr 13 03:21:04 2001 +++ ././lib-src/ootags.c Tue Aug 20 20:34:23 2002 @@ -4411,7 +4411,7 @@ /* Save only the first clause. */ if (last == NULL - || len != strlen (last) + || len != (int) strlen (last) || !strneq (s, last, len)) { pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE, @@ -4565,7 +4565,7 @@ /* Save only the first clause. */ if (s[pos++] == '(' && (last == NULL - || len != strlen (last) + || len != (int) strlen (last) || !strneq (s, last, len))) { pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE, diff --text -u /dev/null 'xemacs-21.4.9/lib-src/winclient.c' Index: ././lib-src/winclient.c --- ././lib-src/winclient.c Thu Jan 1 09:00:00 1970 +++ ././lib-src/winclient.c Tue Aug 20 20:34:25 2002 @@ -0,0 +1,490 @@ +/* DDE client for XEmacs. + Copyright (C) 2002 Alastair J. Houghton + + 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. */ + +/* Synched up with: Not in FSF. */ + +/* -- Pre-Include Defines --------------------------------------------------- */ + +#define STRICT + +/* -- Includes -------------------------------------------------------------- */ + +#include +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include +#include +#include + +static void error (const char* s1, const char* s2); +static void fatal (const char *s1, const char *s2); +static void * xmalloc (size_t size); +static char * getNextArg (const char **ptr, unsigned *len); + +/* -- Post-Include Defines -------------------------------------------------- */ + +/* Timeouts & delays */ +#define CONNECT_DELAY 500 /* ms */ +#define TRANSACTION_TIMEOUT 5000 /* ms */ +#define MAX_INPUT_IDLE_WAIT INFINITE /* ms */ + +/* DDE Strings */ +#define SERVICE_NAME "XEmacs" +#define TOPIC_NAME "System" +#define COMMAND_FORMAT "[open(\"%s%s\")]" + +/* XEmacs program name */ +#define PROGRAM_TO_RUN "xemacs.exe" + +/* -- Constants ------------------------------------------------------------- */ + +/* -- Global Variables ------------------------------------------------------ */ + +HINSTANCE hInstance; +DWORD idInst = 0; + +/* -- Function Declarations ------------------------------------------------- */ + +HDDEDATA CALLBACK ddeCallback (UINT uType, UINT uFmt, HCONV hconv, + HSZ hsz1, HSZ hsz2, HDDEDATA hdata, + DWORD dwData1, DWORD dwData2); + +int WINAPI WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int nCmdShow); + +static HCONV openConversation (void); +static void closeConversation (HCONV hConv); +static int doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2); +static int parseCommandLine (HCONV hConv, LPSTR lpszCommandLine); + +/* -- Function Definitions -------------------------------------------------- */ + +/* + * Name : ddeCallback + * Function: Gets called by DDEML. + * + */ + +HDDEDATA CALLBACK +ddeCallback (UINT uType, UINT uFmt, HCONV hconv, + HSZ hsz1, HSZ hsz2, HDDEDATA hdata, + DWORD dwData1, DWORD dwData2) +{ + return (HDDEDATA) NULL; +} + +/* + * Name : WinMain + * Function: The program's entry point function. + * + */ + +int WINAPI +WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int nCmdShow) +{ + HCONV hConv; + int ret = 0; + UINT uiRet; + + /* Initialise the DDEML library */ + uiRet = DdeInitialize (&idInst, + (PFNCALLBACK) ddeCallback, + APPCMD_CLIENTONLY + |CBF_FAIL_ALLSVRXACTIONS, + 0); + + if (uiRet != DMLERR_NO_ERROR) + { + MessageBox (NULL, "Could not initialise DDE management library.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + return 1; + } + + /* Open a conversation */ + hConv = openConversation (); + + if (hConv) + { + /* OK. Next, we need to parse the command line. */ + ret = parseCommandLine (hConv, lpCmdLine); + + /* Close the conversation */ + closeConversation (hConv); + } + + DdeUninitialize (idInst); + + return ret; +} + +/* + * Name : openConversation + * Function: Start a conversation. + * + */ + +static HCONV +openConversation (void) +{ + HSZ hszService = NULL, hszTopic = NULL; + HCONV hConv = NULL; + + /* Get the application (service) name */ + hszService = DdeCreateStringHandle (idInst, + SERVICE_NAME, + CP_WINANSI); + + if (!hszService) + { + MessageBox (NULL, "Could not create string handle for service.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Get the topic name */ + hszTopic = DdeCreateStringHandle (idInst, + TOPIC_NAME, + CP_WINANSI); + + if (!hszTopic) + { + MessageBox (NULL, "Could not create string handle for topic.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Try to connect */ + hConv = DdeConnect (idInst, hszService, hszTopic, NULL); + + if (!hConv) + { + STARTUPINFO sti; + PROCESS_INFORMATION pi; + int n; + + /* Try to start the program */ + ZeroMemory (&sti, sizeof (sti)); + sti.cb = sizeof (sti); + if (!CreateProcess (NULL, PROGRAM_TO_RUN, NULL, NULL, FALSE, 0, + NULL, NULL, &sti, &pi)) + { + MessageBox (NULL, "Could not start process.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Wait for the process to enter an idle state */ + WaitForInputIdle (pi.hProcess, MAX_INPUT_IDLE_WAIT); + + /* Close the handles */ + CloseHandle (pi.hThread); + CloseHandle (pi.hProcess); + + /* Try to connect */ + for (n = 0; n < 5; n++) + { + Sleep (CONNECT_DELAY); + + hConv = DdeConnect (idInst, hszService, hszTopic, NULL); + + if (hConv) + break; + } + + if (!hConv) + { + /* Still couldn't connect. */ + MessageBox (NULL, "Could not connect to DDE server.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + } + + /* Release the string handles */ + DdeFreeStringHandle (idInst, hszService); + DdeFreeStringHandle (idInst, hszTopic); + + return hConv; + + error: + if (hConv) + DdeDisconnect (hConv); + if (hszService) + DdeFreeStringHandle (idInst, hszService); + if (hszTopic) + DdeFreeStringHandle (idInst, hszTopic); + + return NULL; +} + +/* + * Name : closeConversation + * Function: Close a conversation. + * + */ + +static void +closeConversation (HCONV hConv) +{ + /* Shut down */ + DdeDisconnect (hConv); +} + +/* + * Name : doFile + * Function: Process a file. + * + */ + +int +doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2) +{ + char *buf = NULL; + unsigned len; + + /* Calculate the buffer length */ + len = strlen (lpszFileName1) + strlen (lpszFileName2) + + strlen (COMMAND_FORMAT); + + /* Allocate a buffer */ + buf = (char *) xmalloc (len); + + if (!buf) + { + MessageBox (NULL, "Not enough memory.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + return 1; + } + + /* Build the command */ + len = wsprintf (buf, COMMAND_FORMAT, lpszFileName1, lpszFileName2); + + len++; + + /* OK. We're connected. Send the message. */ + DdeClientTransaction (buf, len, hConv, NULL, + 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL); + + free (buf); + + return 0; +} + +/* + * Name : getNextArg + * Function: Retrieve the next command line argument. + * + */ + +static char * +getNextArg (const char **ptr, unsigned *len) +{ + int in_quotes = 0, quit = 0, all_in_quotes = 0; + const char *p = *ptr, *start; + char *buf = NULL; + unsigned length = 0; + + /* Skip whitespace */ + while (*p && isspace (*p)) + p++; + + /* If this is the end, return NULL */ + if (!*p) + return NULL; + + /* Remember where we are */ + start = p; + + /* Find the next whitespace character outside quotes */ + if (*p == '"') + all_in_quotes = 1; + + while (*p && !quit) + { + switch (*p) + { + case '"': + in_quotes = 1 - in_quotes; + p++; + break; + + case '\\': + if (!in_quotes) + all_in_quotes = 0; + + p++; + + if (!*p) + break; + + p++; + break; + + default: + if (isspace (*p) && !in_quotes) + quit = 1; + else if (!in_quotes) + all_in_quotes = 0; + + if (!quit) + p++; + } + } + + /* Work out the length */ + length = p - start; + + /* Strip quotes if the argument is completely quoted */ + if (all_in_quotes) + { + start++; + length -= 2; + } + + /* Copy */ + buf = (char *) xmalloc (length + 1); + + if (!buf) + return NULL; + + strncpy (buf, start, length); + buf[length] = '\0'; + + /* Return the pointer and length */ + *ptr = p; + *len = length; + + return buf; +} + +/* + * Name : parseCommandLine + * Function: Process the command line. This program accepts a list of strings + * : (which may contain wildcards) representing filenames. + * + */ + +int +parseCommandLine (HCONV hConv, LPSTR lpszCommandLine) +{ + char *fullpath, *filepart; + char *arg; + unsigned len, pathlen; + int ret = 0; + HANDLE hFindFile = NULL; + WIN32_FIND_DATA wfd; + + /* Retrieve arguments */ + while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL) + { + /* First find the canonical path name */ + fullpath = filepart = NULL; + pathlen = GetFullPathName (arg, 0, fullpath, &filepart); + + fullpath = (char *) xmalloc (pathlen); + + if (!fullpath) + { + MessageBox (NULL, "Not enough memory.", "winclient", + MB_ICONEXCLAMATION | MB_OK); + + ret = 1; + free (arg); + + break; + } + + GetFullPathName (arg, pathlen, fullpath, &filepart); + + /* Find the first matching file */ + hFindFile = FindFirstFile (arg, &wfd); + + if (hFindFile == INVALID_HANDLE_VALUE) + ret = doFile (hConv, fullpath, ""); + else + { + /* Chop off the file part from the full path name */ + if (filepart) + *filepart = '\0'; + + /* For each matching file */ + do + { + /* Process it */ + ret = doFile (hConv, fullpath, wfd.cFileName); + + if (ret) + break; + } + while (FindNextFile (hFindFile, &wfd)); + + FindClose (hFindFile); + } + + /* Release the path name buffers */ + free (fullpath); + free (arg); + + if (ret) + break; + } + + return ret; +} + +static void +fatal (const char *s1, const char *s2) +{ + error (s1, s2); + exit (1); +} + +/* Print error message. `s1' is printf control string, `s2' is arg for it. */ +static void +error (const char* s1, const char* s2) +{ + fprintf (stderr, "winclient: "); + fprintf (stderr, s1, s2); + fprintf (stderr, "\n"); +} + +/* Like malloc but get fatal error if memory is exhausted. */ + +static void * +xmalloc (size_t size) +{ + void *result = malloc (size); + if (result == NULL) + fatal ("virtual memory exhausted", (char *) 0); + return result; +} diff --text -u 'xemacs-21.4.8/lib-src/yow.c' 'xemacs-21.4.9/lib-src/yow.c' Index: ././lib-src/yow.c --- ././lib-src/yow.c Fri Apr 13 03:21:05 2001 +++ ././lib-src/yow.c Tue Aug 20 20:34:25 2002 @@ -124,7 +124,7 @@ long offset; int c, i = 0; char *buf; - unsigned int bufsize; + int bufsize; offset = rand() % len + header_len; if (fseek(fp, offset, 0) == -1) { diff --text -u 'xemacs-21.4.8/lisp/ChangeLog' 'xemacs-21.4.9/lisp/ChangeLog' Index: ././lisp/ChangeLog --- ././lisp/ChangeLog Thu May 9 20:27:23 2002 +++ ././lisp/ChangeLog Fri Aug 23 19:42:18 2002 @@ -1,3 +1,230 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-06-22 Ville Skyttä + + * subr.el (add-to-list): Sync with GNU Emacs 21.2, adding the + "&optional append" argument. + +2002-07-16 Didier Verna + + * subr.el (replace-in-string): fix case fold bug introduced by + "2000-07-30 Ben Wing ": honor the value of + case-fold-search in temporary buffers. + +2002-08-03 Steve Youngs + + * lib-complete.el (find-library): Remove check for mule because + decompression DOES work on Mule. + +2002-08-11 John Paul Wallington + + * simple.el (join-line): New alias for `delete-indentation'. + +2002-08-02 Ville Skyttä + + * font-lock.el: Some faces and doc typo fixes from GNU Emacs. + (font-lock-doc-face): New alias to font-lock-doc-string-face. + (font-lock-builtin-face): New. + (font-lock-constant-face): New. + (font-lock-face-list): Add builtin and constant faces. + +2002-08-16 Stephen J. Turnbull + + * autoload.el (make-autoload): Support define-derived-mode. + Collected puts of doc-string-elt property. Based on a patch by + Didier Verna . + +2002-08-15 Stephen J. Turnbull + + * wid-edit.el (widget-field-activate): Fix docstring typo. + +2002-07-23 Andy Piper + + * about.el (about-personal-info): update me. + +2002-07-12 Andy Piper + + * custom.el (custom-theme-set-variables): remove bogus + arguments. Use custom-set-default to set defaults. + (custom-set-variables): update doc. + (custom-local-buffer): new, synced from FSF. + (custom-set-default): ditto. + (defcustom): update doc. + +2002-06-16 Andy Piper + + * menubar-items.el (default-menubar): enable windows printing on + cygwin as well as native. + +2002-06-12 Andy Piper + + * printer.el (generic-print-buffer): catch all errors so that the + print device can be cleared in all scenarios. + (Printer-clear-device): make sure clearing the printer allows it + to be used again immediately. + (generic-print-region): make sure the default printer face is + black-on-white. + +2002-04-23 Jerry James + + * window-xemacs.el (display-buffer-function): Change doc to + reflect new arg. + * window-xemacs.el (pre-display-buffer-function): Ditto. + * window-xemacs.el (display-buffer): New arg, shrink-to-fit. If + non-nil, make the new window just big enough for its contents. + * frame.el (get-frame-for-buffer): Accept new arg, due to above. + * frame.el (show-temp-buffer-in-current-frame): Remove broken + temp-buffer-shrink-to-fit code. Tell display-buffer instead. + +2002-06-06 Andy Piper + + * custom.el (custom-theme-set-variables): sync :set-after from FSF. + (defcustom): ditto. + (custom-handle-keyword): ditto. + +2002-07-12 Stephen J. Turnbull + + * gutter-items.el (buffers-tab-selection-function): Improve doc. + Make obsolete. Default to nil. + (buffers-tab-filter-functions): Improve doc. Use literal default. + Inspired by a patch by John Palmieri. + +2002-07-01 Mike Alexander + + * process.el (shell-command-on-region): Don't delete the region + before giving it to call-process-region + +2002-06-04 Jerry James + + * find-paths.el (paths-find-architecture-directory): Search in + `system-configuration'/`base', not `base'`system-configuration'. + +2002-06-23 Ville Skyttä + + * info.el (Info-index): Add missing \ in [ t]. + +2002-06-11 Stephen J. Turnbull + + * gutter-items.el (gutter-buffers-tab-visible-p, + buffers-tab-omit-function, buffers-tab-selection-function, + buffers-tab-filter-functions): + Doc improvements. + +2002-06-09 Stephen J. Turnbull + + * toolbar.el (toolbar-icon-directory): Document trailing separator. + + * toolbar-items.el (toolbar-news): Fix typo in message string. + +2002-06-08 Stephen J. Turnbull + + * dialog.el (yes-or-no-p-dialog-box): + * cmdloop.el (y-or-n-p-minibuf): + (yes-or-no-p-minibuf): + (yes-or-no-p): + (y-or-n-p): + Specify negative answers in docstrings. + +2002-05-25 Steve Youngs + + * package-ui.el (pui-help-echo): Display both installed and author + version. Use a balloon-help window to display extra info like + package requires. + +2002-05-30 Andy Piper + + * files.el (revert-buffer-internal): don't visit + revert-buffer. Kill buffer when not used. Suggested by Mike + Alexander + +2002-05-20 Stephen J. Turnbull + + * files.el (revert-buffer): More docstring fiddling. + +2002-05-19 Stephen J. Turnbull + + * files.el (revert-buffer): + (revert-buffer-internal): + (revert-buffer-insert-file-contents-function): + Improve docstrings and comments. + +2002-05-08 Andy Piper + + * files.el (revert-buffer): observe noconfirm behavior. + +2002-04-09 Andy Piper + + * files.el (revert-buffer): use revert-buffer-internal if it looks + like doing so will not result in any user-visible changes. + (revert-buffer-internal): new function. Do the actual process of + reversion and then see whether the result is any different to what + we have already. If it is not then do nothing. + +2001-12-11 Andy Piper + + * menubar.el (get-popup-menu-response): re-order so that it works + on more sane/facist window systems. + +2001-12-03 Andy Piper + + * faces.el (frob-face-property): don't infloop in face frobbing + from Jan Vroonhof . + +2001-11-30 Jan Vroonhof + + * faces.el (frob-face-property): Follow face fall-back hierarchy + properly for face properties without an instance. Only do manual + copy form 'default in last resort. This handles in particular + the case where 'default itself has only a fall-back (which is + the case by default on windows). + +2001-11-24 Andy Piper + + * printer.el (generic-print-region): set default-frame-plist to + nil while creating the printer frame so that sizes reflect the + printed page. + + * faces.el (face-complain-about-font): Don't complain on printers. + +2002-05-10 Stephen J. Turnbull + + * package-net.el: Andy synch. + +2001-12-16 Andy Piper + + * package-get.el (package-get-update-all): Make sure installed.db + gets updated after updating packages. + +2002-03-28 Ben Wing + + * msw-glyphs.el: Set glyph-contrib-p to nil on hscroll, + continuation, truncation so that we don't get line jumpiness from + them being larger than the line height. + + * msw-font-menu.el (mswindows-font-menu-font-data): Fix bug. + +2001-11-30 Jan Vroonhof + + * font.el (font-window-system-mappings): Add mapping for Gtk + (assume identical to X) + +2002-02-04 Andy Piper + + * files.el (convert-standard-filename): Fix for short filename + Peter Arius + +2001-12-10 Christoph Wedler + + * list-mode.el (default-choose-completion): completion-base-size + should refer to local value in the completion list buffer. + +2001-12-03 Didier Verna + + * rect.el: autoload `replace-rectangle'. + * keydefs.el (global-map): bind it to `C-x r p'. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/lisp/about.el' 'xemacs-21.4.9/lisp/about.el' Index: ././lisp/about.el --- ././lisp/about.el Wed Jul 25 16:44:21 2001 +++ ././lisp/about.el Tue Aug 20 20:34:33 2002 @@ -210,7 +210,7 @@ (marcpa . "http://www.positron911.com/products/power.htm") (ograf . "http://www.fga.de/~ograf/") (pez . "http://cbs.sportsline.com/") - (piper . "http://www.xemacs.freeserve.co.uk/") + (piper . "http://www.andypiper.com/") (rossini . "http://faculty.washington.edu/rossini/") (stigb . "http://www.tihlde.hist.no/~stigb/") (vin . "http://www.upa.org/") @@ -1244,8 +1244,10 @@ My home page is here:\n") (about-url-link 'piper nil "Visit andy's home page") (widget-insert "\n -Andy has recently rejoined the XEmacs team to help port XEmacs to -MS Windows operating systems.\n")) + Andy has been active in the XEmacs team for a number of years, +helping port XEmacs to MS Windows operating systems. He is also the +current MS Windows release manager and maintains the MS Windows +netinstaller.\n")) (pittman (widget-insert "\ diff --text -u 'xemacs-21.4.8/lisp/autoload.el' 'xemacs-21.4.9/lisp/autoload.el' Index: ././lisp/autoload.el --- ././lisp/autoload.el Tue Oct 23 17:35:20 2001 +++ ././lisp/autoload.el Tue Aug 20 20:34:34 2002 @@ -40,30 +40,33 @@ ;;; Code: (defun make-autoload (form file) - "Turn FORM, a defun or defmacro, into an autoload for source file FILE. -Returns nil if FORM is not a defun, define-skeleton or defmacro." + "Turn a definition generator FORM into an autoload for source file FILE. +Returns nil if FORM is not a defun, define-skeleton, define-derived-mode, +or defmacro." (let ((car (car-safe form))) - (if (memq car '(defun define-skeleton defmacro)) + (if (memq car '(defun define-skeleton defmacro define-derived-mode)) (let ((macrop (eq car 'defmacro)) name doc) (setq form (cdr form) name (car form) ;; Ignore the arguments. - form (cdr (if (eq car 'define-skeleton) - form - (cdr form))) + form (cdr (cond ((eq car 'define-skeleton) + form) + ((eq car 'define-derived-mode) + (cddr form)) + (t + (cdr form)))) doc (car form)) (if (stringp doc) (setq form (cdr form)) (setq doc nil)) (list 'autoload (list 'quote name) file doc (or (eq car 'define-skeleton) + (eq car 'define-derived-mode) (eq (car-safe (car form)) 'interactive)) (if macrop (list 'quote 'macro) nil))) nil))) -(put 'define-skeleton 'doc-string-elt 3) - (defvar generate-autoload-cookie ";;;###autoload" "Magic comment indicating the following form should be autoloaded. Used by `update-file-autoloads'. This string should be @@ -112,6 +115,8 @@ (put 'defvar 'doc-string-elt 3) (put 'defconst 'doc-string-elt 3) (put 'defmacro 'doc-string-elt 3) +(put 'define-skeleton 'doc-string-elt 3) +(put 'define-derived-mode 'doc-string-elt 4) (defun autoload-trim-file-name (file) "Returns a relative pathname of FILE including the last directory." diff --text -u 'xemacs-21.4.8/lisp/cmdloop.el' 'xemacs-21.4.9/lisp/cmdloop.el' Index: ././lisp/cmdloop.el --- ././lisp/cmdloop.el Fri Apr 13 03:21:13 2001 +++ ././lisp/cmdloop.el Tue Aug 20 20:34:35 2002 @@ -391,7 +391,7 @@ ; (call-interactively _command _record-flag))))) (defun y-or-n-p-minibuf (prompt) - "Ask user a \"y or n\" question. Return t if answer is \"y\". + "Ask user a \"y or n\" question. Return t if answer is \"y\", nil if \"n\". Takes one argument, which is the string to display to ask the question. It should end in a space; `y-or-n-p' adds `(y or n) ' to it. No confirmation of the answer is requested; a single character is enough. @@ -474,7 +474,7 @@ (yes-or-no-p-minibuf prompt))) (defun y-or-n-p (prompt) - "Ask user a \"y or n\" question. Return t if answer is \"y\". + "Ask user a \"y or n\" question. Return t if answer is \"y\", nil if \"n\". Takes one argument, which is the string to display to ask the question. The question is asked with a dialog box or the minibuffer, as appropriate. It should end in a space; `y-or-n-p' adds `(y or n) ' to it. diff --text -u 'xemacs-21.4.8/lisp/custom.el' 'xemacs-21.4.9/lisp/custom.el' Index: ././lisp/custom.el --- ././lisp/custom.el Fri Apr 13 03:21:16 2001 +++ ././lisp/custom.el Tue Aug 20 20:34:36 2002 @@ -179,7 +179,7 @@ `custom-initialize-set' :set VALUE should be a function to set the value of the symbol. It takes two arguments, the symbol to set and the value to - give it. The default is `set-default'. + give it. The default is `custom-set-default'. :get VALUE should be a function to extract the value of symbol. The function takes one argument, a symbol, and should return the current value for that symbol. The default is @@ -187,6 +187,11 @@ :require VALUE should be a feature symbol. Each feature will be required after initialization, of the user have saved this option. +:version VALUE should be a string specifying that the variable was + first introduced, or its default value was changed, in Emacs + version VERSION. +:set-after VARIABLE specifies that SYMBOL should be set after VARIABLE when + both have been customized. Read the section about customization in the Emacs Lisp manual for more information." @@ -323,17 +328,38 @@ "For customization option SYMBOL, handle KEYWORD with VALUE. Fourth argument TYPE is the custom option type." (cond ((eq keyword :group) - (custom-add-to-group value symbol type)) - ((eq keyword :version) - (custom-add-version symbol value)) - ((eq keyword :link) - (custom-add-link symbol value)) - ((eq keyword :load) - (custom-add-load symbol value)) - ((eq keyword :tag) - (put symbol 'custom-tag value)) - (t - (signal 'error (list "Unknown keyword" keyword))))) + (custom-add-to-group value symbol type)) + ((eq keyword :version) + (custom-add-version symbol value)) + ((eq keyword :link) + (custom-add-link symbol value)) + ((eq keyword :load) + (custom-add-load symbol value)) + ((eq keyword :tag) + (put symbol 'custom-tag value)) + ((eq keyword :set-after) + (custom-add-dependencies symbol value)) + (t + (signal 'error (list "Unknown keyword" keyword))))) + +(defun custom-add-dependencies (symbol value) + "To the custom option SYMBOL, add dependencies specified by VALUE. +VALUE should be a list of symbols. For each symbol in that list, +this specifies that SYMBOL should be set after the specified symbol, if +both appear in constructs like `custom-set-variables'." + (unless (listp value) + (error "Invalid custom dependency `%s'" value)) + (let* ((deps (get symbol 'custom-dependencies)) + (new-deps deps)) + (while value + (let ((dep (car value))) + (unless (symbolp dep) + (error "Invalid custom dependency `%s'" dep)) + (unless (memq dep new-deps) + (setq new-deps (cons dep new-deps))) + (setq value (cdr value)))) + (unless (eq deps new-deps) + (put symbol 'custom-dependencies new-deps)))) (defun custom-add-option (symbol option) "To the variable SYMBOL add OPTION. @@ -439,10 +465,18 @@ (setq old (cdr old))) (put symbol prop (cons (list theme mode value) old)))) +(defvar custom-local-buffer nil + "Non-nil, in a Customization buffer, means customize a specific buffer. +If this variable is non-nil, it should be a buffer, +and it means customize the local bindings of that buffer. +This variable is a permanent local, and it normally has a local binding +in every Customization buffer.") +(put 'custom-local-buffer 'permanent-local t) + (defun custom-set-variables (&rest args) "Initialize variables according to user preferences. The settings are registered as theme `user'. -The arguments should be a list where each entry has the form: +Each argument should be a list of the form: (SYMBOL VALUE [NOW [REQUEST [COMMENT]]]) @@ -459,8 +493,29 @@ See `custom-set-variables' for a description of the arguments ARGS." (custom-check-theme theme) + (setq args + (sort args + (lambda (a1 a2) + (let* ((sym1 (car a1)) + (sym2 (car a2)) + (1-then-2 (memq sym1 (get sym2 'custom-dependencies))) + (2-then-1 (memq sym2 (get sym1 'custom-dependencies)))) + (cond ((and 1-then-2 2-then-1) + (error "Circular custom dependency between `%s' and `%s'" + sym1 sym2)) + (1-then-2 t) + (2-then-1 nil) + ;; Put symbols with :require last. The macro + ;; define-minor-mode generates a defcustom + ;; with a :require and a :set, where the + ;; setter function calls the mode function. + ;; Putting symbols with :require last ensures + ;; that the mode function will see other + ;; customized values rather than default + ;; values. + (t (nth 3 a2))))))) (let ((immediate (get theme 'theme-immediate))) - (while args * etc/custom/example-themes/example-theme.el: + (while args (let ((entry (car args))) (if (listp entry) (let* ((symbol (nth 0 entry)) @@ -468,10 +523,13 @@ (now (nth 2 entry)) (requests (nth 3 entry)) (comment (nth 4 entry)) - (set (or (get symbol 'custom-set) 'set-default))) + (set (or (get symbol 'custom-set) 'custom-set-default))) (put symbol 'saved-value (list value)) (custom-push-theme 'theme-value symbol theme 'set value) (put symbol 'saved-variable-comment comment) + ;; Allow for errors in the case where the setter has + ;; changed between versions, say, but let the user know. + (condition-case data (cond ((or now immediate) ;; Rogue variable, set it now. (put symbol 'force-value (if now 'rogue 'immediate)) @@ -479,6 +537,8 @@ ((default-boundp symbol) ;; Something already set this, overwrite it. (funcall set symbol (eval value)))) + (error + (message "Error setting %s: %s" symbol data))) (and (or now (default-boundp symbol)) (put symbol 'variable-comment comment)) (when requests @@ -634,6 +694,15 @@ The ARGS are as in `custom-theme-reset-variables'." (apply #'custom-theme-reset-variables 'user args)) +(defun custom-set-default (variable value) + "Default :set function for a customizable variable. +Normally, this sets the default value of VARIABLE to VALUE, +but if `custom-local-buffer' is non-nil, +this sets the local binding in that buffer instead." + (if custom-local-buffer + (with-current-buffer custom-local-buffer + (set variable value)) + (set-default variable value))) ;;; The End. diff --text -u 'xemacs-21.4.8/lisp/dialog.el' 'xemacs-21.4.9/lisp/dialog.el' Index: ././lisp/dialog.el --- ././lisp/dialog.el Mon Dec 17 14:49:09 2001 +++ ././lisp/dialog.el Tue Aug 20 20:34:36 2002 @@ -40,8 +40,8 @@ ;;; Code: (defun yes-or-no-p-dialog-box (prompt) "Ask user a yes-or-no question with a popup dialog box. -Return t if the answer is \"yes\". -Takes one argument, which is the string to display to ask the question." +Return t if the answer is \"yes\", nil if \"no\". Takes one argument, +the question string to display." (save-selected-frame (make-dialog-box 'question :question prompt diff --text -u 'xemacs-21.4.8/lisp/faces.el' 'xemacs-21.4.9/lisp/faces.el' Index: ././lisp/faces.el --- ././lisp/faces.el Mon Dec 17 14:49:09 2001 +++ ././lisp/faces.el Tue Aug 20 20:34:37 2002 @@ -847,10 +847,21 @@ (setq temp-sp (copy-specifier sp)) - (if (and (or (eq locale 'global) (eq locale 'all) (not locale)) - (not (face-property face property 'global))) - (copy-specifier (face-property 'default property) - temp-sp 'global)) + (if (or (eq locale 'global) (eq locale 'all) (not locale)) + (when (not (specifier-specs temp-sp 'global)) + ;; Try fallback via the official ways and then do it "by hand" + (let* ((fallback (specifier-fallback sp)) + (fallback-sp + (cond ((specifierp fallback) fallback) + ;; just an inst list + (fallback + (make-specifier-and-init (specifier-type sp) + fallback)) + ((eq (get-face face) (get-face 'default)) + (error "Unable to find global specification")) + ;; If no fallback we snoop from default + (t (face-property 'default property))))) + (copy-specifier fallback-sp temp-sp 'global)))) (if (and (valid-specifier-locale-p locale) (not (specifier-specs temp-sp locale))) (error "Property must have a specification in locale %S" locale)) @@ -1603,10 +1614,12 @@ (defun face-complain-about-font (face device) (if (symbolp face) (setq face (symbol-name face))) ;; (if (not inhibit-font-complaints) - (display-warning - 'font - (let ((default-name (face-font-name 'default device))) - (format "%s: couldn't deduce %s %s version of the font + ;; complaining for printers is generally annoying. + (unless (device-printer-p device) + (display-warning + 'font + (let ((default-name (face-font-name 'default device))) + (format "%s: couldn't deduce %s %s version of the font %S. Please specify X resources to make the %s face @@ -1616,14 +1629,14 @@ Emacs.%s.attributeFont: -dt-*-medium-i-* or Emacs.%s.attributeForeground: hotpink\n" - invocation-name - (if (string-match "\\`[aeiouAEIOU]" face) "an" "a") - face - default-name - face - face - face - )))) + invocation-name + (if (string-match "\\`[aeiouAEIOU]" face) "an" "a") + face + default-name + face + face + face + ))))) ;; #### This is quite a mess. We should use the custom mechanism for diff --text -u 'xemacs-21.4.8/lisp/files.el' 'xemacs-21.4.9/lisp/files.el' Index: ././lisp/files.el --- ././lisp/files.el Wed May 1 01:05:37 2002 +++ ././lisp/files.el Tue Aug 20 20:34:39 2002 @@ -376,7 +376,8 @@ (let ((name (copy-sequence filename)) (start 0)) ;; leave ':' if part of drive specifier - (if (eq (aref name 1) ?:) + (if (and (> (length name) 1) + (eq (aref name 1) ?:)) (setq start 2)) ;; destructively replace invalid filename characters with ! (while (string-match "[?*:<>|\"\000-\037]" name start) @@ -2641,7 +2642,9 @@ (defvar revert-buffer-insert-file-contents-function nil "Function to use to insert contents when reverting this buffer. Gets two args, first the nominal file name to use, -and second, t if reading the auto-save file.") +and second, t if reading the auto-save file. +If the current buffer contents are to be discarded, the function must do +so itself.") (defvar before-revert-hook nil "Normal hook for `revert-buffer' to run before reverting. @@ -2666,10 +2669,10 @@ With a prefix argument, offer to revert from latest auto-save file, if that is more recent than the visited file. -This command also works for special buffers that contain text which -doesn't come from a file, but reflects some other data base instead: -for example, Dired buffers and buffer-list buffers. In these cases, -it reconstructs the buffer contents from the appropriate data base. +This command also refreshes certain special buffers that contain text +which doesn't come from a file, but reflects some other data base +instead: for example, Dired buffers and buffer-list buffers. This is +implemented by having the modes set `revert-buffer-function'. When called from Lisp, the first argument is IGNORE-AUTO; only offer to revert from the auto-save file when this is nil. Note that the @@ -2681,13 +2684,17 @@ all. Optional third argument PRESERVE-MODES non-nil means don't alter -the files modes. Normally we reinitialize them using `normal-mode'. +the buffer's modes. Otherwise, reinitialize them using `normal-mode'. If the value of `revert-buffer-function' is non-nil, it is called to do all the work for this command. Otherwise, the hooks `before-revert-hook' and `after-revert-hook' are run at the beginning and the end, and if `revert-buffer-insert-file-contents-function' is -non-nil, it is called instead of rereading visited file contents." +non-nil, it is called instead of rereading visited file contents. + +If the buffer-modified flag is nil, and we are not reverting from an +auto-save file, then compare the contents of the buffer and the file. +Revert only if they differ." ;; I admit it's odd to reverse the sense of the prefix argument, but ;; there is a lot of code out there which assumes that the first @@ -2699,6 +2706,8 @@ (if revert-buffer-function (funcall revert-buffer-function ignore-auto noconfirm) (let* ((opoint (point)) + (newbuf nil) + (delay-prompt nil) (auto-save-p (and (not ignore-auto) (recent-auto-save-p) buffer-auto-save-file-name @@ -2716,58 +2725,111 @@ (dolist (rx revert-without-query found) (when (string-match rx file-name) (setq found t))))) + ;; If we will call revert-buffer-internal, delay prompting + (and (not auto-save-p) + (not (buffer-modified-p)) + (setq delay-prompt t)) (yes-or-no-p (format "Revert buffer from file %s? " file-name))) (run-hooks 'before-revert-hook) - ;; If file was backed up but has changed since, - ;; we should make another backup. - (and (not auto-save-p) - (not (verify-visited-file-modtime (current-buffer))) - (setq buffer-backed-up nil)) - ;; Get rid of all undo records for this buffer. - (or (eq buffer-undo-list t) - (setq buffer-undo-list nil)) - ;; Effectively copy the after-revert-hook status, - ;; since after-find-file will clobber it. - (let ((global-hook (default-value 'after-revert-hook)) - (local-hook-p (local-variable-p 'after-revert-hook - (current-buffer))) - (local-hook (and (local-variable-p 'after-revert-hook - (current-buffer)) - after-revert-hook))) - (let (buffer-read-only - ;; Don't make undo records for the reversion. - (buffer-undo-list t)) - (if revert-buffer-insert-file-contents-function - (funcall revert-buffer-insert-file-contents-function - file-name auto-save-p) - (if (not (file-exists-p file-name)) - (error "File %s no longer exists!" file-name)) - ;; Bind buffer-file-name to nil - ;; so that we don't try to lock the file. - (let ((buffer-file-name nil)) - (or auto-save-p - (unlock-buffer))) - (widen) - (insert-file-contents file-name (not auto-save-p) - nil nil t))) - (goto-char (min opoint (point-max))) - ;; Recompute the truename in case changes in symlinks - ;; have changed the truename. - ;XEmacs: already done by insert-file-contents - ;;(setq buffer-file-truename - ;;(abbreviate-file-name (file-truename buffer-file-name))) - (after-find-file nil nil t t preserve-modes) - ;; Run after-revert-hook as it was before we reverted. - (setq-default revert-buffer-internal-hook global-hook) - (if local-hook-p - (progn - (make-local-variable 'revert-buffer-internal-hook) - (setq revert-buffer-internal-hook local-hook)) - (kill-local-variable 'revert-buffer-internal-hook)) - (run-hooks 'revert-buffer-internal-hook)) + (cond ((or auto-save-p + (buffer-modified-p) + ;; Do we need to do expensive reversion? Compare ... + (and (setq newbuf (revert-buffer-internal + file-name)) + ;; ... and if different, prompt + (or noconfirm + (and delay-prompt + (yes-or-no-p + (format "Revert buffer from file %s? " + file-name)))))) + ;; If file was backed up but has changed since, + ;; we should make another backup. + (and (not auto-save-p) + (not (verify-visited-file-modtime (current-buffer))) + (setq buffer-backed-up nil)) + ;; Get rid of all undo records for this buffer. + (or (eq buffer-undo-list t) + (setq buffer-undo-list nil)) + ;; Effectively copy the after-revert-hook status, + ;; since after-find-file will clobber it. + (let ((global-hook (default-value 'after-revert-hook)) + (local-hook-p (local-variable-p 'after-revert-hook + (current-buffer))) + (local-hook (and (local-variable-p 'after-revert-hook + (current-buffer)) + after-revert-hook))) + (let (buffer-read-only + ;; Don't make undo records for the reversion. + (buffer-undo-list t)) + (if revert-buffer-insert-file-contents-function + (funcall revert-buffer-insert-file-contents-function + file-name auto-save-p) + (if (not (file-exists-p file-name)) + (error "File %s no longer exists!" file-name)) + ;; Bind buffer-file-name to nil + ;; so that we don't try to lock the file. + (let ((buffer-file-name nil)) + (or auto-save-p + (unlock-buffer))) + (widen) + (insert-file-contents file-name (not auto-save-p) + nil nil t))) + (goto-char (min opoint (point-max))) + ;; Recompute the truename in case changes in symlinks + ;; have changed the truename. + ;;XEmacs: already done by insert-file-contents + ;;(setq buffer-file-truename + ;;(abbreviate-file-name (file-truename buffer-file-name))) + (after-find-file nil nil t t preserve-modes) + ;; Run after-revert-hook as it was before we reverted. + (setq-default revert-buffer-internal-hook global-hook) + (if local-hook-p + (progn + (make-local-variable 'revert-buffer-internal-hook) + (setq revert-buffer-internal-hook local-hook)) + (kill-local-variable 'revert-buffer-internal-hook)) + (run-hooks 'revert-buffer-internal-hook))) + ((null newbuf) + ;; The resultant buffer is identical, alter + ;; modtime, update mods and exit + (set-visited-file-modtime) + (after-find-file nil nil t t t)) + (t t)) t))))) +;; #### something like `revert-buffer-compare-with-file' is a better name +;; #### why is the argument optional? +(defun revert-buffer-internal (&optional file-name) + "Read contents of FILE-NAME into a buffer, and compare to current buffer. +Return nil if identical, and the new buffer if different." + + (let* ((newbuf (get-buffer-create " *revert*")) + bmin bmax) + (save-excursion + (set-buffer newbuf) + (let (buffer-read-only + (buffer-undo-list t) + after-change-function + after-change-functions + before-change-function + before-change-functions) + (if revert-buffer-insert-file-contents-function + (funcall revert-buffer-insert-file-contents-function + file-name nil) + (if (not (file-exists-p file-name)) + (error "File %s no longer exists!" file-name)) + (widen) + (insert-file-contents file-name nil nil nil t) + (setq bmin (point-min) + bmax (point-max))))) + (if (not (and (eq bmin (point-min)) + (eq bmax (point-max)) + (eq (compare-buffer-substrings + newbuf bmin bmax (current-buffer) bmin bmax) 0))) + newbuf + (and (kill-buffer newbuf) nil)))) + (defun recover-file (file) "Visit file FILE, but get contents from its last auto-save file." ;; Actually putting the file name in the minibuffer should be used diff --text -u 'xemacs-21.4.8/lisp/find-paths.el' 'xemacs-21.4.9/lisp/find-paths.el' Index: ././lisp/find-paths.el --- ././lisp/find-paths.el Wed Jul 25 16:44:25 2001 +++ ././lisp/find-paths.el Tue Aug 20 20:34:41 2002 @@ -236,7 +236,8 @@ (or ;; from more to less specific (paths-find-version-directory roots - (concat base system-configuration) + (paths-construct-path + (list system-configuration base)) envvar default) (paths-find-version-directory roots base diff --text -u 'xemacs-21.4.8/lisp/font-lock.el' 'xemacs-21.4.9/lisp/font-lock.el' Index: ././lisp/font-lock.el --- ././lisp/font-lock.el Tue Oct 23 17:35:21 2001 +++ ././lisp/font-lock.el Tue Aug 20 20:34:42 2002 @@ -282,7 +282,7 @@ (symbol :tag "name")) (radio :tag "Decoration" (const :tag "default" nil) - (const :tag "maximum" t) + (const :tag "maximum" t) (integer :tag "level" 1))))) :group 'font-lock) @@ -626,7 +626,7 @@ ;; #### barf gag retch. Horrid FSF lossage that we need to ;; keep around for compatibility with font-lock-keywords that ;; forget to properly quote their faces. I tried just let-binding -;; them when we eval the face expression, but that failes because +;; them when we eval the face expression, but that fails because ;; some files actually use the variables directly in their init code ;; without quoting them. --ben (defvar font-lock-comment-face 'font-lock-comment-face @@ -639,6 +639,9 @@ It is present only for horrid FSF compatibility reasons. The corresponding face should be set using `edit-faces' or the `set-face-*' functions.") +;; GNU compatibility +(define-compatible-variable-alias + 'font-lock-doc-face 'font-lock-doc-string-face) (defvar font-lock-string-face 'font-lock-string-face "This variable should not be set. It is present only for horrid FSF compatibility reasons. @@ -649,6 +652,11 @@ It is present only for horrid FSF compatibility reasons. The corresponding face should be set using `edit-faces' or the `set-face-*' functions.") +(defvar font-lock-builtin-face 'font-lock-builtin-face + "This variable should not be set. +It is present only for horrid FSF compatibility reasons. +The corresponding face should be set using `edit-faces' or the +`set-face-*' functions.") (defvar font-lock-function-name-face 'font-lock-function-name-face "This variable should not be set. It is present only for horrid FSF compatibility reasons. @@ -664,6 +672,11 @@ It is present only for horrid FSF compatibility reasons. The corresponding face should be set using `edit-faces' or the `set-face-*' functions.") +(defvar font-lock-constant-face 'font-lock-constant-face + "This variable should not be set. +It is present only for horrid FSF compatibility reasons. +The corresponding face should be set using `edit-faces' or the +`set-face-*' functions.") (defvar font-lock-reference-face 'font-lock-reference-face "This variable should not be set. It is present only for horrid FSF compatibility reasons. @@ -680,9 +693,11 @@ font-lock-string-face font-lock-doc-string-face font-lock-keyword-face + font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face + font-lock-constant-face font-lock-reference-face font-lock-preprocessor-face font-lock-warning-face)) @@ -731,6 +746,15 @@ "Font Lock mode face used to highlight keywords." :group 'font-lock-faces) +(defface font-lock-builtin-face + '((((class color) (background light)) (:foreground "Purple")) + (((class color) (background dark)) (:foreground "Cyan")) + (((class grayscale) (background light)) (:foreground "LightGray" :bold t)) + (((class grayscale) (background dark)) (:foreground "DimGray" :bold t)) + (t (:bold t))) + "Font Lock mode face used to highlight builtins." +:group 'font-lock-faces) + (defface font-lock-function-name-face '((((class color) (background dark)) (:foreground "aquamarine")) ;; brown4 is hardly different from black on windows. @@ -763,6 +787,17 @@ "Font Lock mode face used to highlight types." :group 'font-lock-faces) +(defface font-lock-constant-face + '((((class color) (background light)) (:foreground "CadetBlue")) + (((class color) (background dark)) (:foreground "Aquamarine")) + (((class grayscale) (background light)) + (:foreground "LightGray" :bold t :underline t)) + (((class grayscale) (background dark)) + (:foreground "Gray50" :bold t :underline t)) + (t (:bold t :underline t))) + "Font Lock mode face used to highlight constants and labels." +:group 'font-lock-faces) + (defface font-lock-reference-face '((((class color) (background dark)) (:foreground "cadetblue2")) (((class color) (background light)) (:foreground "red3")) @@ -773,8 +808,6 @@ "Font Lock mode face used to highlight references." :group 'font-lock-faces) -;; #### FSF has font-lock-builtin-face. - (defface font-lock-preprocessor-face '((((class color) (background dark)) (:foreground "steelblue1")) (((class color) (background light)) (:foreground "blue3")) @@ -782,7 +815,6 @@ "Font Lock Mode face used to highlight preprocessor conditionals." :group 'font-lock-faces) -;; #### Currently unused (defface font-lock-warning-face '((((class color) (background light)) (:foreground "Red" :bold t)) (((class color) (background dark)) (:foreground "Pink" :bold t)) @@ -1453,8 +1485,8 @@ (defun font-lock-apply-syntactic-highlight (highlight) "Apply HIGHLIGHT following a match. - HIGHLIGHT should be of the form MATCH-HIGHLIGHT, - see `font-lock-syntactic-keywords'." +HIGHLIGHT should be of the form MATCH-HIGHLIGHT, +see `font-lock-syntactic-keywords'." (let* ((match (nth 0 highlight)) (start (match-beginning match)) (end (match-end match)) (value (nth 1 highlight)) @@ -1532,8 +1564,7 @@ (font-lock-apply-syntactic-highlight (car highlights)) (font-lock-fontify-syntactic-anchored-keywords (car highlights) end)) - (setq highlights (cdr highlights))) - ) + (setq highlights (cdr highlights)))) (setq keywords (cdr keywords))))) ;;; Regexp fontification functions. @@ -1677,8 +1708,9 @@ ;; Various functions. (defun font-lock-compile-keywords (&optional keywords) - ;; Compile `font-lock-keywords' into the form (t KEYWORD ...) where KEYWORD - ;; is the (MATCHER HIGHLIGHT ...) shown in the variable's doc string. + "Compile KEYWORDS into the form (t KEYWORD ...). +Here KEYWORD is of the form (MATCHER HIGHLIGHT ...) as shown in the +`font-lock-keywords' doc string." (let ((keywords (or keywords font-lock-keywords))) (setq font-lock-keywords (if (eq (car-safe keywords) t) @@ -1700,7 +1732,7 @@ keyword))) (defun font-lock-eval-keywords (keywords) - ;; Evalulate KEYWORDS if a function (funcall) or variable (eval) name. + "Evaluate KEYWORDS if a function (funcall) or variable (eval) name." (if (listp keywords) keywords (font-lock-eval-keywords (if (fboundp keywords) diff --text -u 'xemacs-21.4.8/lisp/font.el' 'xemacs-21.4.9/lisp/font.el' Index: ././lisp/font.el --- ././lisp/font.el Mon Dec 17 14:49:09 2001 +++ ././lisp/font.el Tue Aug 20 20:34:44 2002 @@ -99,6 +99,7 @@ (defconst font-window-system-mappings '((x . (x-font-create-name x-font-create-object)) + (gtk . (x-font-create-name x-font-create-object)) (ns . (ns-font-create-name ns-font-create-object)) (mswindows . (mswindows-font-create-name mswindows-font-create-object)) (pm . (x-font-create-name x-font-create-object)) ; Change? FIXME diff --text -u 'xemacs-21.4.8/lisp/frame.el' 'xemacs-21.4.9/lisp/frame.el' Index: ././lisp/frame.el --- ././lisp/frame.el Fri Apr 13 03:21:20 2001 +++ ././lisp/frame.el Tue Aug 20 20:34:45 2002 @@ -1031,7 +1031,8 @@ ;; The pre-display-buffer-function is called for effect, so this needs to ;; actually select the frame it wants. Fdisplay_buffer() takes notice of ;; changes to the selected frame. -(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame) +(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame + shrink-to-fit) "Select and return a frame in which to display BUFFER. Normally, the buffer will simply be displayed in the selected frame. But if the symbol naming the major-mode of the buffer has a 'frame-name @@ -1110,20 +1111,13 @@ that would otherwise be introduced by the `pre-display-buffer-function', which is normally set to `get-frame-for-buffer' (which see)." (let ((pre-display-buffer-function nil)) ; turn it off, whatever it is - (let ((window (display-buffer buffer))) + (let ((window (display-buffer buffer nil nil temp-buffer-shrink-to-fit))) (if (not (eq (last-nonminibuf-frame) (window-frame window))) ;; only the pre-display-buffer-function should ever do this. (error "display-buffer switched frames on its own!!")) (setq minibuffer-scroll-window window) (set-window-start window 1) ; obeys narrowing (set-window-point window 1) - (when temp-buffer-shrink-to-fit - (let* ((temp-window-size (round (* temp-buffer-max-height - (frame-height (window-frame window))))) - (size (window-displayed-height window))) - (when (< size temp-window-size) - (enlarge-window (- temp-window-size size) nil window))) - (shrink-window-if-larger-than-buffer window)) nil))) (setq pre-display-buffer-function 'get-frame-for-buffer) diff --text -u 'xemacs-21.4.8/lisp/gutter-items.el' 'xemacs-21.4.9/lisp/gutter-items.el' Index: ././lisp/gutter-items.el --- ././lisp/gutter-items.el Tue Oct 23 17:35:21 2001 +++ ././lisp/gutter-items.el Tue Aug 20 20:34:46 2002 @@ -39,7 +39,8 @@ (defcustom gutter-buffers-tab-visible-p (gutter-element-visible-p default-gutter-visible-p 'buffers-tab) "Whether the buffers tab is globally visible. -This option should be set through the options menu." + +There are side-effects, so don't setq it; use Customize or the options menu." :group 'buffers-tab :type 'boolean :set #'(lambda (var val) @@ -75,7 +76,7 @@ :group 'buffers-tab) (defcustom buffers-tab-omit-function 'buffers-menu-omit-invisible-buffers - "*If non-nil, a function specifying the buffers to omit from the buffers tab. + "*A function specifying the buffers to omit from the buffers tab, or nil. This is passed a buffer and should return non-nil if the buffer should be omitted. The default value `buffers-menu-omit-invisible-buffers' omits buffers that are normally considered \"invisible\" (those whose name @@ -84,27 +85,27 @@ function) :group 'buffers-tab) -(defcustom buffers-tab-selection-function 'select-buffers-tab-buffers-by-mode - "*If non-nil, a function specifying the buffers to select from the -buffers tab. This is passed two buffers and should return non-nil if -the second buffer should be selected. The default value -`select-buffers-tab-buffers-by-mode' groups buffers by major mode and -by `buffers-tab-grouping-regexp'." - - :type '(choice (const :tag "None" nil) - function) +(make-obsolete-variable 'buffers-tab-selection-function + 'buffers-tab-filter-functions) +(defcustom buffers-tab-selection-function nil + "*A function specifying buffers to display in the buffers tab, or nil. +Don't use this---it is never consulted. Use `buffers-tab-filter-functions' +instead. + +The function must take arguments (BUF1 BUF2). BUF1 is a candidate for +display in the buffers tab control. BUF2 is current (first in the buffers +list). Return non-nil if BUF1 should be added to the tab control." + :type '(choice function (const :tag "None" nil)) :group 'buffers-tab) -(defcustom buffers-tab-filter-functions (list buffers-tab-selection-function) - "*If non-nil, a list of functions specifying the buffers to select -from the buffers tab. -Each function in the list is passed two buffers, the buffer to -potentially select and the context buffer, and should return non-nil -if the first buffer should be selected. The default value groups -buffers by major mode and by `buffers-tab-grouping-regexp'." - - :type '(choice (const :tag "None" nil) - sexp) +(defcustom buffers-tab-filter-functions '(select-buffers-tab-buffers-by-mode) + "*A list of functions specifying buffers to display in the buffers tab. +May be empty. Each function in the list must take arguments (BUF1 BUF2). +BUF1 is the candidate, and BUF2 is the current buffer (first in the buffers +list). Return non-nil if BUF1 should be added to the buffers tab. The +default adds BUF1 if BUF1 and BUF2 have the same major mode, or if both +match `buffers-tab-grouping-regexp'." + :type '(repeat function) :group 'buffers-tab) (defcustom buffers-tab-sort-function nil diff --text -u 'xemacs-21.4.8/lisp/info.el' 'xemacs-21.4.9/lisp/info.el' Index: ././lisp/info.el --- ././lisp/info.el Wed May 1 01:05:42 2002 +++ ././lisp/info.el Tue Aug 20 20:34:47 2002 @@ -2268,7 +2268,7 @@ (interactive "sIndex topic: ") (let ((pattern (format "\n\\* \\([^\n:]*%s[^\n:]*\\):[ \t]*%s" (regexp-quote topic) - "\\(.*\\)\\.[ t]*\\([0-9]*\\)$")) + "\\(.*\\)\\.[ \t]*\\([0-9]*\\)$")) node) (message "Searching index for `%s'..." topic) (Info-goto-node "Top") diff --text -u 'xemacs-21.4.8/lisp/keydefs.el' 'xemacs-21.4.9/lisp/keydefs.el' Index: ././lisp/keydefs.el --- ././lisp/keydefs.el Wed Jul 25 16:44:27 2001 +++ ././lisp/keydefs.el Tue Aug 20 20:34:49 2002 @@ -340,6 +340,7 @@ (define-key global-map "\C-xry" 'yank-rectangle) (define-key global-map "\C-xro" 'open-rectangle) (define-key global-map "\C-xrt" 'string-rectangle) +(define-key global-map "\C-xrp" 'replace-rectangle) (define-key global-map "\C-xrw" 'window-configuration-to-register) ;(define-key global-map "\C-xrf" 'frame-configuration-to-register) diff --text -u 'xemacs-21.4.8/lisp/lib-complete.el' 'xemacs-21.4.9/lisp/lib-complete.el' Index: ././lisp/lib-complete.el --- ././lisp/lib-complete.el Fri Apr 13 03:21:29 2001 +++ ././lisp/lib-complete.el Tue Aug 20 20:34:50 2002 @@ -306,10 +306,7 @@ (let ((path (if (or (null library) (equal library "")) nil (locate-file library load-path - ;; decompression doesn't work with Mule -slb - (if (featurep 'mule) - ":.el:.elc" - ":.el:.el.gz:.el.Z:.elc"))))) + ":.el:.el.gz:.el.Z:.elc")))) (if path (funcall (if (fboundp display-function) display-function 'find-file) path codesys) diff --text -u 'xemacs-21.4.8/lisp/list-mode.el' 'xemacs-21.4.9/lisp/list-mode.el' Index: ././lisp/list-mode.el --- ././lisp/list-mode.el Fri Apr 13 03:21:29 2001 +++ ././lisp/list-mode.el Tue Aug 20 20:34:50 2002 @@ -571,23 +571,25 @@ (and (button-event-p event) ;; Give temporary modes such as isearch a chance to turn off. (run-hooks 'mouse-leave-buffer-hook)) - (or buffer (setq buffer (symbol-value-in-buffer - 'completion-reference-buffer - (or (and (button-event-p event) - (event-buffer event)) - (current-buffer))))) - (save-selected-window - (and (button-event-p event) - (select-window (event-window event))) - (if (and (one-window-p t 'selected-frame) - (window-dedicated-p (selected-window))) - ;; This is a special buffer's frame - (iconify-frame (selected-frame)) - (or (window-dedicated-p (selected-window)) - (bury-buffer)))) - (choose-completion-string (extent-string extent) - buffer - completion-base-size)) + (let ((list-buffer (or (and (button-event-p event) + (event-buffer event)) + (current-buffer)))) + (or buffer (setq buffer (symbol-value-in-buffer + 'completion-reference-buffer + list-buffer))) + (save-selected-window + (and (button-event-p event) + (select-window (event-window event))) + (if (and (one-window-p t 'selected-frame) + (window-dedicated-p (selected-window))) + ;; This is a special buffer's frame + (iconify-frame (selected-frame)) + (or (window-dedicated-p (selected-window)) + (bury-buffer)))) + (choose-completion-string (extent-string extent) + buffer + (symbol-value-in-buffer 'completion-base-size + list-buffer)))) ;; Delete the longest partial match for STRING ;; that can be found before POINT. diff --text -u 'xemacs-21.4.8/lisp/menubar-items.el' 'xemacs-21.4.9/lisp/menubar-items.el' Index: ././lisp/menubar-items.el --- ././lisp/menubar-items.el Wed May 1 01:05:44 2002 +++ ././lisp/menubar-items.el Tue Aug 20 20:34:51 2002 @@ -147,7 +147,7 @@ ["Save %_As..." write-file] ["Save So%_me Buffers" save-some-buffers] "-----" - ,@(if (eq system-type 'windows-nt) + ,@(if (valid-specifier-tag-p 'msprinter) '(["Page Set%_up..." generic-page-setup])) ["%_Print" generic-print-buffer :active (or (valid-specifier-tag-p 'msprinter) @@ -156,7 +156,7 @@ :suffix (if (region-active-p) "Selection..." (if put-buffer-names-in-file-menu (concat (buffer-name) "...") "..."))] - ,@(unless (eq system-type 'windows-nt) + ,@(unless (valid-specifier-tag-p 'msprinter) '(["Prett%_y-Print" ps-print-buffer-with-faces :active (fboundp 'ps-print-buffer-with-faces) :suffix (if put-buffer-names-in-file-menu (buffer-name) "")])) diff --text -u 'xemacs-21.4.8/lisp/menubar.el' 'xemacs-21.4.9/lisp/menubar.el' Index: ././lisp/menubar.el --- ././lisp/menubar.el Wed Jul 25 16:44:29 2001 +++ ././lisp/menubar.el Tue Aug 20 20:34:53 2002 @@ -671,6 +671,10 @@ MENU-DESC and EVENT are as in the call to `popup-menu'." ;; partially stolen from w3 + + ;; This function is way gross and assumes to much about menu + ;; processing that is X specific. Under mswindows popup menus behave + ;; in reasonable ways that you can't obstruct. (let ((echo-keystrokes 0) new-event) (popup-menu menu-desc event) @@ -679,14 +683,22 @@ (setq new-event (next-command-event new-event)) (cond ((misc-user-event-p new-event) (throw 'popup-done new-event)) - ((not (popup-up-p)) - (setq unread-command-events (cons new-event - unread-command-events)) - (throw 'popup-done nil)) ((button-release-event-p new-event);; don't beep twice nil) - ((event-matches-key-specifier-p (quit-char)) + ;; It shows how bogus this function is that the event + ;; arg could be missing and no-one noticed ... + ((event-matches-key-specifier-p new-event (quit-char)) (signal 'quit nil)) + ;; mswindows has no pop-down processing (selection is + ;; atomic) so doing anything more makes no sense. Since + ;; popup-up-p is always false under mswindows, this + ;; function has been ordered to do essentially X-specifc + ;; processing after this check. + ((not (popup-up-p)) + (setq unread-command-events (cons new-event + unread-command-events)) + (throw 'popup-done nil)) + ;; mswindows never gets here (t (beep) (message "please make a choice from the menu."))))))) diff --text -u 'xemacs-21.4.8/lisp/msw-font-menu.el' 'xemacs-21.4.9/lisp/msw-font-menu.el' Index: ././lisp/msw-font-menu.el --- ././lisp/msw-font-menu.el Fri Apr 13 03:21:32 2001 +++ ././lisp/msw-font-menu.el Tue Aug 20 20:34:54 2002 @@ -176,13 +176,13 @@ (when (string-match mswindows-font-regexp name) (setq weight (match-string 2 name)) - (setq size (string-to-int (match-string 4 name)))) + (setq size (string-to-int (or (match-string 4 name) "0")))) (when (string-match mswindows-font-regexp truename) (when (not (member weight (aref entry 1))) (setq weight (match-string 2 truename))) (when (not (member size (aref entry 2))) - (setq size (string-to-int (match-string 4 truename)))) + (setq size (string-to-int (or (match-string 4 truename) "0")))) (setq slant (match-string 5 truename))) (vector entry family size weight slant))) diff --text -u 'xemacs-21.4.8/lisp/msw-glyphs.el' 'xemacs-21.4.9/lisp/msw-glyphs.el' Index: ././lisp/msw-glyphs.el --- ././lisp/msw-glyphs.el Fri Apr 13 03:21:32 2001 +++ ././lisp/msw-glyphs.el Tue Aug 20 20:34:54 2002 @@ -1,6 +1,7 @@ ;;; msw-glyphs.el --- Support for glyphs in ms windows ;; Copyright (C) 1994, 1997 Free Software Foundation, Inc. +;; Copyright (C) 2002 Ben Wing. ;; Author: Kirill M. Katsnelson ;; Maintainer: XEmacs Development Team @@ -80,6 +81,9 @@ (set-glyph-image continuation-glyph "\xC3" 'global 'msgdi) (set-glyph-image truncation-glyph "\xF0" 'global 'msgdi) (set-glyph-image hscroll-glyph "\xEF" 'global 'msgdi) + (set-glyph-contrib-p continuation-glyph nil) + (set-glyph-contrib-p truncation-glyph nil) + (set-glyph-contrib-p hscroll-glyph nil) (set-glyph-image octal-escape-glyph "\\") (set-glyph-image control-arrow-glyph "^") diff --text -u 'xemacs-21.4.8/lisp/package-get.el' 'xemacs-21.4.9/lisp/package-get.el' Index: ././lisp/package-get.el --- ././lisp/package-get.el Mon Dec 17 14:49:10 2001 +++ ././lisp/package-get.el Tue Aug 20 20:34:56 2002 @@ -567,7 +567,8 @@ (if (not (package-get (car pkg) nil 'never)) (throw 'exit nil) ;; Bail out if error detected )) - packages-package-list))) + packages-package-list)) + (package-net-update-installed-db)) ;;;###autoload (defun package-get-all (package version &optional fetched-packages install-dir) diff --text -u 'xemacs-21.4.8/lisp/package-net.el' 'xemacs-21.4.9/lisp/package-net.el' Index: ././lisp/package-net.el --- ././lisp/package-net.el Mon Dec 17 14:49:10 2001 +++ ././lisp/package-net.el Tue Aug 20 20:34:58 2002 @@ -82,6 +82,9 @@ (defvar package-net-win32-binary-size 0 "The size in bytes of the win32 binary distribution.") +(defvar package-net-kit-version "" + "XEmacs kitting revision, usually empty.") + (defvar package-net-setup-version "1.0" "The version string of setup.") @@ -90,67 +93,6 @@ (file-truename (concat data-directory "../../" (if (eq system-type 'cygwin32) "xemacs/setup/" "setup/")))) -(defun package-net-convert-index-to-ini (&optional destdir remote version) - "Convert the package index to ini file format in DESTDIR. -DESTDIR defaults to the value of `data-directory'." - (package-get-require-base remote) - - (setq destdir (file-name-as-directory (or destdir data-directory))) - (let ((buf (get-buffer-create "*setup.ini*"))) - (unwind-protect - (save-excursion - (set-buffer buf) - (erase-buffer buf) - (goto-char (point-min)) - (let ((entries package-get-base) entry plist) - (insert "# This file is automatically generated. If you edit it, your\n") - (insert "# edits will be discarded next time the file is generated.\n") - (insert "#\n\n") - (insert (format "setup-timestamp: %d\n" - (+ (* (car (current-time)) 65536) (car (cdr (current-time)))))) - (insert (format "setup-version: %s\n\n" (or version "1.0"))) - ;; Native version - (insert (format "@ %s\n" "xemacs-i386-pc-win32")) - (insert (format "version: %s\n" emacs-program-version)) - (insert "type: native\n") - (insert (format "install: win32/%s %d\n\n" - (concat emacs-program-name - "-i386-pc-win32-" - emacs-program-version ".tar.gz") - package-net-win32-binary-size)) - ;; Cygwin version - (insert (format "@ %s\n" "xemacs-i686-pc-cygwin32")) - (insert (format "version: %s\n" emacs-program-version)) - (insert "type: cygwin\n") - (insert (format "install: cygwin32/%s %d\n\n" - (concat emacs-program-name - "-i686-pc-cygwin32-" - emacs-program-version ".tar.gz") - package-net-cygwin32-binary-size)) - ;; Standard packages - (while entries - (setq entry (car entries)) - (setq plist (car (cdr entry))) - ;; ignore mule packages - (unless (or (memq 'mule-base (plist-get plist 'requires)) - (eq 'mule-base (car entry))) - (insert (format "@ %s\n" (symbol-name (car entry)))) - (insert (format "version: %s\n" (plist-get plist 'version))) - (insert (format "install: packages/%s %s\n" (plist-get plist 'filename) - (plist-get plist 'size))) - ;; These are not supported as yet - ;; - ;; (insert (format "source: %s\n" (plist-get plist 'source))) - ;; (insert "[prev]\n") - ;; (insert (format "version: %s\n" (plist-get plist 'version))) - ;; (insert (format "install: %s\n" (plist-get plist 'filename))) - ;; (insert (format "source: %s\n" (plist-get plist 'source))) - (insert "\n")) - (setq entries (cdr entries)))) - (insert "# setup.ini file ends here\n") - (write-region (point-min) (point-max) (concat destdir "setup.ini"))) - (kill-buffer buf)))) - (defun package-net-generate-bin-ini (&optional version) "Convert the package index to ini file format in the current directory." (let ((buf (get-buffer-create "*setup-bin.ini*"))) @@ -167,21 +109,25 @@ (insert (format "setup-version: %s\n\n" (or version "1.0"))) ;; Native version (insert (format "@ %s\n" "xemacs-i586-pc-win32")) - (insert (format "version: %s\n" emacs-program-version)) + (insert (format "version: %s%s\n" emacs-program-version + package-net-kit-version)) (insert "type: native\n") (insert (format "install: win32/%s %d\n\n" (concat emacs-program-name "-i586-pc-win32-" - emacs-program-version ".tar.gz") + emacs-program-version package-net-kit-version + ".tar.gz") package-net-win32-binary-size)) ;; Cygwin version (insert (format "@ %s\n" "xemacs-i686-pc-cygwin")) - (insert (format "version: %s\n" emacs-program-version)) + (insert (format "version: %s%s\n" emacs-program-version + package-net-kit-version)) (insert "type: cygwin\n") (insert (format "install: cygwin32/%s %d\n\n" (concat emacs-program-name "-i686-pc-cygwin-" - emacs-program-version ".tar.gz") + emacs-program-version package-net-kit-version + ".tar.gz") package-net-cygwin32-binary-size)) (insert "# setup.ini file ends here\n") (write-region (point-min) (point-max) "setup-bin.ini"))) diff --text -u 'xemacs-21.4.8/lisp/package-ui.el' 'xemacs-21.4.9/lisp/package-ui.el' Index: ././lisp/package-ui.el --- ././lisp/package-ui.el Wed Jul 25 16:44:31 2001 +++ ././lisp/package-ui.el Tue Aug 20 20:34:59 2002 @@ -488,7 +488,7 @@ "Display additional package info in the modeline. EXTENT determines the package to display (the package information is attached to the extent as properties)." - (let (pkg-sym info inst-ver auth-ver date maintainer) + (let (pkg-sym info inst-ver auth-ver date maintainer balloon req) (if (or force-update (not (current-message)) (string-match ".*: .*: " (current-message)) ) @@ -498,14 +498,29 @@ inst-ver (package-get-key pkg-sym :version) auth-ver (package-get-info-prop info 'author-version) date (package-get-info-prop info 'date) - maintainer (package-get-info-prop info 'maintainer)) + maintainer (package-get-info-prop info 'maintainer) + req (package-get-info-prop info 'requires)) (if (not inst-ver) - (setq inst-ver "")) + (setq inst-ver 0)) + (if (featurep 'balloon-help) + (progn + (setq balloon (format " +Package Information: [For package: \"%s\"] +================ +Installed Version : %.2f +Author Version : %s +Maintainer: %s +Released: %s +Required Packages : %s\n\n" + pkg-sym inst-ver auth-ver maintainer + date req)) + (set-extent-property extent 'balloon-help balloon))) (if pui-list-verbose - (format "Author version: %-8s %11s: %s" - auth-ver date maintainer) - (format "%-6s: %-8s %11s: %s" - inst-ver auth-ver date maintainer)) + (format + "Inst V: %.2f Auth V: %s Maint: %s" + inst-ver auth-ver maintainer) + (format "%.2f : %s : %s" + inst-ver auth-ver maintainer)) )) )) diff --text -u 'xemacs-21.4.8/lisp/printer.el' 'xemacs-21.4.9/lisp/printer.el' Index: ././lisp/printer.el --- ././lisp/printer.el Wed May 1 01:05:48 2002 +++ ././lisp/printer.el Tue Aug 20 20:35:01 2002 @@ -76,6 +76,9 @@ (make-device 'msprinter printer-name)))) (defun Printer-clear-device () + ;; relying on GC to delete the device is too error-prone since there + ;; only can be one anyway. + (and printer-current-device (delete-device printer-current-device)) (setq printer-current-device nil)) (defcustom printer-page-header '((face bold date) nil (face bold buffer-name)) @@ -253,29 +256,30 @@ If BUFFER is nil or omitted, the current buffer is used." (interactive (list nil (not current-prefix-arg))) - (let* ((print-region (and (interactive-p) (region-active-p))) - (start (if print-region (region-beginning) (point-min buffer))) - (end (if print-region (region-end) (point-max buffer)))) - (if (or (not (valid-specifier-tag-p 'msprinter)) - (not display-print-dialog)) - (generic-print-region start end buffer) - (let* ((d (Printer-get-device)) - (props (condition-case err - (make-dialog-box 'print :device d + (condition-case err + (let* ((print-region (and (interactive-p) (region-active-p))) + (start (if print-region (region-beginning) (point-min buffer))) + (end (if print-region (region-end) (point-max buffer)))) + (if (or (not (valid-specifier-tag-p 'msprinter)) + (not display-print-dialog)) + (generic-print-region start end buffer) + (let* ((d (Printer-get-device)) + (props (make-dialog-box 'print :device d :allow-selection print-region :selected-page-button - (if print-region 'selection 'all)) - (error - (Printer-clear-device) - (signal (car err) (cdr err)))))) - (and props - (let ((really-print-region - (eq (plist-get props 'selected-page-button) 'selection))) - (generic-print-region (if really-print-region start - (point-min buffer)) - (if really-print-region end - (point-max buffer)) - buffer d props))))))) + (if print-region 'selection 'all)))) + (and props + (let ((really-print-region + (eq (plist-get props 'selected-page-button) 'selection))) + (generic-print-region (if really-print-region start + (point-min buffer)) + (if really-print-region end + (point-max buffer)) + buffer d props)))))) + (error + ;; Make sure we catch all errors thrown from the native code. + (Printer-clear-device) + (signal (car err) (cdr err))))) (defun generic-print-region (start end &optional buffer print-device props) "Print region using a printing method appropriate to the O.S. being run. @@ -310,7 +314,10 @@ ;; re-create the frame each time so that we eject the piece ;; of paper at the end even if we're printing more than one ;; page per sheet of paper. - (let ((copies (plist-get props 'copies 1))) + (let ((copies (plist-get props 'copies 1)) + ;; This is not relevant to printing and can mess up + ;; msprinter frame sizing + default-frame-plist) (while (> copies 0) (let (d f header-buffer footer-buffer) (setq buffer (decode-buffer buffer)) @@ -332,7 +339,9 @@ minibuffer none modeline-shadow-thickness 0 vertical-scrollbar-visible-p nil - horizontal-scrollbar-visible-p nil)) + horizontal-scrollbar-visible-p nil + [default foreground] "black" + [default background] "white")) d)) (let* ((w (frame-root-window f)) (vertdpi diff --text -u 'xemacs-21.4.8/lisp/process.el' 'xemacs-21.4.9/lisp/process.el' Index: ././lisp/process.el --- ././lisp/process.el Tue Oct 23 17:35:22 2001 +++ ././lisp/process.el Tue Aug 20 20:35:02 2002 @@ -350,7 +350,7 @@ ;; then replace that region with the output. (progn (setq buffer-read-only nil) (delete-region (max start end) (point-max)) - (delete-region (point-min) (max start end)) + (delete-region (point-min) (min start end)) (setq exit-status (call-process-region (point-min) (point-max) shell-file-name t t nil diff --text -u 'xemacs-21.4.8/lisp/rect.el' 'xemacs-21.4.9/lisp/rect.el' Index: ././lisp/rect.el --- ././lisp/rect.el Fri Apr 13 03:21:34 2001 +++ ././lisp/rect.el Tue Aug 20 20:35:03 2002 @@ -310,6 +310,7 @@ (apply-on-rectangle 'string-rectangle-line start end string (and (boundp 'pending-delete-mode) pending-delete-mode))) +;;;###autoload (defun replace-rectangle (start end string) "Like `string-rectangle', but unconditionally replace the original region, as if `pending-delete-mode' were active." diff --text -u 'xemacs-21.4.8/lisp/select.el' 'xemacs-21.4.9/lisp/select.el' Index: ././lisp/select.el --- ././lisp/select.el Thu May 9 17:47:40 2002 +++ ././lisp/select.el Tue Aug 20 20:35:04 2002 @@ -210,8 +210,9 @@ (own-selection string 'CLIPBOARD)) (defun disown-selection (&optional secondary-p) - "Assuming we own the selection, disown it. With an argument, discard the -secondary selection instead of the primary selection." + "Assuming we own the selection, disown it. +With an argument, discard the secondary selection instead of the +primary selection." (disown-selection-internal (if secondary-p 'SECONDARY 'PRIMARY)) (when (and selection-sets-clipboard (or (not secondary-p) diff --text -u 'xemacs-21.4.8/lisp/simple.el' 'xemacs-21.4.9/lisp/simple.el' Index: ././lisp/simple.el --- ././lisp/simple.el Thu May 9 17:47:40 2002 +++ ././lisp/simple.el Tue Aug 20 20:35:05 2002 @@ -298,6 +298,8 @@ (delete-region (point) (+ (point) (length fill-prefix)))) (fixup-whitespace)))) +(defalias 'join-line 'delete-indentation) + (defun fixup-whitespace () "Fixup white space between objects around point. Leave one space or none, according to the context." diff --text -u 'xemacs-21.4.8/lisp/subr.el' 'xemacs-21.4.9/lisp/subr.el' Index: ././lisp/subr.el --- ././lisp/subr.el Wed May 9 18:53:53 2001 +++ ././lisp/subr.el Tue Aug 20 20:35:08 2002 @@ -301,16 +301,24 @@ (make-local-hook hook) (add-one-shot-hook hook function append t)) -(defun add-to-list (list-var element) +(defun add-to-list (list-var element &optional append) "Add to the value of LIST-VAR the element ELEMENT if it isn't there yet. The test for presence of ELEMENT is done with `equal'. +If ELEMENT is added, it is added at the beginning of the list, +unless the optional argument APPEND is non-nil, in which case +ELEMENT is added at the end. + If you want to use `add-to-list' on a variable that is not defined until a certain package is loaded, you should put the call to `add-to-list' into a hook function that will be run only after loading the package. `eval-after-load' provides one way to do this. In some cases other hooks, such as major mode hooks, can do the job." - (or (member element (symbol-value list-var)) - (set list-var (cons element (symbol-value list-var))))) + (if (member element (symbol-value list-var)) + (symbol-value list-var) + (set list-var + (if append + (append (symbol-value list-var) (list element)) + (cons element (symbol-value list-var)))))) ;; XEmacs additions ;; called by Fkill_buffer() @@ -380,12 +388,14 @@ (check-argument-type 'stringp str) (check-argument-type 'stringp newtext) (if (> (length str) 50) - (with-temp-buffer - (insert str) - (goto-char 1) + (let ((cfs case-fold-search)) + (with-temp-buffer + (setq case-fold-search cfs) + (insert str) + (goto-char 1) (while (re-search-forward regexp nil t) (replace-match newtext t literal)) - (buffer-string)) + (buffer-string))) (let ((start 0) newstr) (while (string-match regexp str start) (setq newstr (replace-match newtext t literal str) diff --text -u 'xemacs-21.4.8/lisp/toolbar-items.el' 'xemacs-21.4.9/lisp/toolbar-items.el' Index: ././lisp/toolbar-items.el --- ././lisp/toolbar-items.el Mon Dec 17 14:49:10 2001 +++ ././lisp/toolbar-items.el Tue Aug 20 20:35:09 2002 @@ -400,7 +400,7 @@ (let ((command (cdr-safe (assq toolbar-news-reader toolbar-news-commands-alist)))) (or command - (error "Unkown news reader %s" toolbar-news-reader)) + (error "Unknown news reader %s" toolbar-news-reader)) (if (symbolp command) (call-interactively command) (eval command)))) diff --text -u 'xemacs-21.4.8/lisp/toolbar.el' 'xemacs-21.4.9/lisp/toolbar.el' Index: ././lisp/toolbar.el --- ././lisp/toolbar.el Tue Oct 23 17:35:22 2001 +++ ././lisp/toolbar.el Tue Aug 20 20:35:10 2002 @@ -71,7 +71,7 @@ "If non-nil help is echoed for toolbar buttons.") (defvar toolbar-icon-directory nil - "Location of standard toolbar icon bitmaps.") + "Location of standard toolbar icon bitmaps, with trailing path separator.") (defun toolbar-make-button-list (up &optional down disabled cap-up cap-down cap-disabled) "Call make-glyph on each arg and return a list of the results." diff --text -u 'xemacs-21.4.8/lisp/wid-edit.el' 'xemacs-21.4.9/lisp/wid-edit.el' Index: ././lisp/wid-edit.el --- ././lisp/wid-edit.el Fri Apr 13 03:21:38 2001 +++ ././lisp/wid-edit.el Tue Aug 20 20:35:10 2002 @@ -1054,7 +1054,7 @@ (defun widget-field-activate (pos &optional event) - "Invoke the ediable field at point." + "Invoke the editable field at point." (interactive "@d") (let ((field (widget-field-find pos))) (if field diff --text -u 'xemacs-21.4.8/lisp/window-xemacs.el' 'xemacs-21.4.9/lisp/window-xemacs.el' Index: ././lisp/window-xemacs.el --- ././lisp/window-xemacs.el Fri Apr 13 03:21:39 2001 +++ ././lisp/window-xemacs.el Tue Aug 20 20:35:12 2002 @@ -216,11 +216,11 @@ (defvar display-buffer-function nil "If non-nil, function to call to handle `display-buffer'. -It will receive three args: the same as those to `display-buffer'.") +It will receive four args: the same as those to `display-buffer'.") (defvar pre-display-buffer-function nil "If non-nil, function that will be called from `display-buffer' -as the first action. It will receive three args: the same as those +as the first action. It will receive four args: the same as those to `display-buffer'. This function may be used to select an appropriate frame for the buffer, for example. See also the variable `display-buffer-function', which may @@ -352,7 +352,8 @@ ;; Can you believe that all of this crap was formerly in C? ;; Praise Jesus that it's not there any more. -(defun display-buffer (buffer &optional not-this-window-p override-frame) +(defun display-buffer (buffer &optional not-this-window-p override-frame + shrink-to-fit) "Make BUFFER appear in some window on the current frame, but don't select it. BUFFER can be a buffer or a buffer name. If BUFFER is shown already in some window in the current frame, @@ -365,6 +366,9 @@ If OVERRIDE-FRAME is non-nil, display on that frame instead of the current frame (or the dedicated frame). +If SHRINK-TO-FIT is non-nil and splitting the window is appropriate, give +the new buffer less than half the space if it is small enough to fit. + If `pop-up-windows' is non-nil, always use the current frame and create a new window regardless of whether the buffer has a dedicated frame, and regardless of whether @@ -390,7 +394,8 @@ (if pre-display-buffer-function (funcall pre-display-buffer-function buffer not-this-window-p - override-frame))) + override-frame + shrink-to-fit))) ;; Give the user the ability to completely reimplement ;; this function via the `display-buffer-function'. @@ -398,7 +403,8 @@ (throw 'done (funcall display-buffer-function buffer not-this-window-p - override-frame))) + override-frame + shrink-to-fit))) ;; If the buffer has a dedicated frame, that takes ;; precedence over the current frame, and over what the @@ -615,7 +621,9 @@ (window-height window)) 2) (window-height upper)) - nil upper))))) + nil upper)) + (if shrink-to-fit + (shrink-window-if-larger-than-buffer window))))) (setq window (get-lru-window target-frame))) diff --text -u 'xemacs-21.4.8/lwlib/ChangeLog' 'xemacs-21.4.9/lwlib/ChangeLog' Index: ././lwlib/ChangeLog --- ././lwlib/ChangeLog Thu May 9 20:27:23 2002 +++ ././lwlib/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,3 +1,30 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-06-07 Andy Piper + + * lwlib-Xm.c: (xm_safe_update_label): new function. Call + xm_update_label if the class is appropriate. + (make_menu_in_widget): use it. + (update_one_menu_entry): ditto. + (xm_update_one_widget): ditto. + +2002-08-14 Stephen J. Turnbull + + * lwlib-Xm.c: revert Darryl's patch in favor of Andy's. + +2002-07-17 Stephen J. Turnbull + + * lwlib-utils.c (XtApplyUntilToWidgets): + * xlwmenu.c (close_to_reference_time): + Fix warnings. + +2002-05-14 Darryl Okahata + + * lwlib-Xm.c: prevent non-label widgets from being treated as + labels and having their "labels" updated. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/lwlib/lwlib-Xm.c' 'xemacs-21.4.9/lwlib/lwlib-Xm.c' Index: ././lwlib/lwlib-Xm.c --- ././lwlib/lwlib-Xm.c Wed May 1 01:05:59 2002 +++ ././lwlib/lwlib-Xm.c Tue Aug 20 20:35:16 2002 @@ -301,6 +301,14 @@ XmStringFree (val_string); } +static void +xm_safe_update_label (widget_instance* instance, Widget widget, widget_value* val) +{ + /* Don't clobber non-labels. */ + if (XtIsSubclass (widget, xmLabelWidgetClass)) + xm_update_label (instance, widget, val); +} + #endif /* defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_MENUBARS_MOTIF) */ /* update of list */ @@ -540,7 +548,7 @@ XtSetArg (al [ac], XmNsubMenuId, menu); ac++; button = XmCreateCascadeButton (widget, cur->name, al, ac); - xm_update_label (instance, button, cur); + xm_safe_update_label (instance, button, cur); XtAddCallback (button, XmNcascadingCallback, xm_pull_down_callback, (XtPointer)instance); @@ -561,7 +569,7 @@ else button = XmCreatePushButtonGadget (widget, cur->name, al, ac); - xm_update_label (instance, button, cur); + xm_safe_update_label (instance, button, cur); /* don't add a callback to a simple label */ if (cur->type == TOGGLE_TYPE || cur->type == RADIO_TYPE) @@ -615,7 +623,8 @@ /* update the menu button as a label. */ if (val->change >= VISIBLE_CHANGE) { - xm_update_label (instance, widget, val); + xm_safe_update_label (instance, widget, val); + if (XtClass (widget) == xmToggleButtonWidgetClass || XtClass (widget) == xmToggleButtonGadgetClass) { @@ -829,8 +838,7 @@ #if defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_WIDGETS_MOTIF) /* Common to all label like widgets */ - if (XtIsSubclass (widget, xmLabelWidgetClass)) - xm_update_label (instance, widget, val); + xm_safe_update_label (instance, widget, val); #endif class = XtClass (widget); /* Class specific things */ diff --text -u 'xemacs-21.4.8/lwlib/lwlib-utils.c' 'xemacs-21.4.9/lwlib/lwlib-utils.c' Index: ././lwlib/lwlib-utils.c --- ././lwlib/lwlib-utils.c Wed May 9 18:53:55 2001 +++ ././lwlib/lwlib-utils.c Tue Aug 20 20:35:18 2002 @@ -118,7 +118,7 @@ if (XtIsComposite (w)) { CompositeWidget cw = (CompositeWidget)w; - int i; + unsigned int i; for (i = 0; i < cw->composite.num_children; i++) if (XtIsWidget (cw->composite.children [i])){ result = proc (cw->composite.children [i], arg); diff --text -u 'xemacs-21.4.8/lwlib/xlwmenu.c' 'xemacs-21.4.9/lwlib/xlwmenu.c' Index: ././lwlib/xlwmenu.c --- ././lwlib/xlwmenu.c Fri Apr 13 03:21:54 2001 +++ ././lwlib/xlwmenu.c Tue Aug 20 20:35:18 2002 @@ -348,7 +348,8 @@ { return reference_time && - (ev->xbutton.time - reference_time < XtGetMultiClickTime (XtDisplay (w))); + (ev->xbutton.time - reference_time + < (Time) XtGetMultiClickTime (XtDisplay (w))); } /* Size code */ diff --text -u 'xemacs-21.4.8/man/ChangeLog' 'xemacs-21.4.9/man/ChangeLog' Index: ././man/ChangeLog --- ././man/ChangeLog Thu May 9 20:27:23 2002 +++ ././man/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,3 +1,122 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-08-20 Simon Josefsson + + * lispref/building.texi (Pure Storage): Deprecate purecopy. + +2002-08-16 Stephen J. Turnbull + + * internals/internals.texi (Regression Testing XEmacs): Fix typo. + +2002-08-15 Stephen J. Turnbull + + * internals/internals.texi (GCPROing): Add comment on GCPRO. + (Regression Testing XEmacs): New node. + (Modules for Regression Testing): New node. + +2002-08-14 Stephen J. Turnbull + + * xemacs/packages.texi (Installing Packages): Revert EFS patch. + +2002-07-13 Adrian Aichner + + * xemacs/packages.texi (Installing Packages): Fix reference to + EFS. + +2002-08-09 Stephen J. Turnbull + + * packages.texi: Replace with rev 1.16 (from 21.5 current). + Includes changes by Ville Skyttä, Adrian Aichner, Simon + Josefsson, and Steve Youngs. + +2002-07-24 Ville Skyttä + + * term.texi (Input to the inferior): Fix term line/char mode + switch keybindings. Kudos to Jacob P. Burckhardt. + + * xemacs/misc.texi (Term Mode): Ditto. + +2002-07-06 Adrian Aichner + + * new-users-guide/custom1.texi (Customizing key Bindings): Fix + improper use of indef. art. "a". + +2002-07-06 Adrian Aichner + + * lispref/commands.texi (Peeking and Discarding): Ditto. + * lispref/customize.texi (Type Keywords): Ditto. + * lispref/dragndrop.texi (Drop Interface): Ditto. + +2002-07-06 Adrian Aichner + + * termcap.texi (Clearing): Ditto. + * widget.texi (User Interface): Ditto. + * widget.texi (Basic Types): Ditto. + * widget.texi (group): Ditto. + +2002-07-05 Adrian Aichner + + * xemacs/menus.texi (Edit Menu): Typo fixes for incorrect use of + indef. art. "an". + +2002-07-05 Adrian Aichner + + * lispref/control.texi (Processing of Errors): Ditto. + * lispref/mule.texi (ISO 2022): Ditto. + * lispref/packaging.texi (Package Terminology): Ditto. + * lispref/text.texi (Transformations): Ditto. + +2002-07-05 Adrian Aichner + + * termcap.texi (Naming): Ditto. + * texinfo.texi (itemize): Ditto. + * texinfo.texi (Tips): Ditto. + * widget.texi (Introduction): Ditto. + * widget.texi (group): Ditto. + +2002-07-02 Stephen J. Turnbull + + * xemacs-faq.texi (Top, Customization, Q3.10.5, Q3.10.6): + New "killing is slow" FAQ and link updates.. + +2002-06-17 Jerry James + + * emodules.texi (Loading other Modules): Describe why we do not + use RTLD_GLOBAL. + +2002-06-11 Adrian Aichner + + * xemacs-faq.texi (Q1.3.7): Update broken link to russian.el + (found by linklint) with Google's help. + +2002-05-25 Adrian Aichner + + * xemacs/custom.texi (Syntax Entry): Deprecate ` ' in favor of `-'. + +2002-06-11 Stephen J. Turnbull + + * xemacs/mule.texi (Mule Intro): Better title, explanation. + +2002-05-23 Stephen J. Turnbull + + * lispref/packaging.texi (package-info.in Fields): Typo fix. + +2002-05-20 Stephen J. Turnbull + + * xemacs/files.texi (Reverting): Mention use of prefix argument + and mode recalculation. + +2002-05-11 Adrian Aichner + + * xemacs-faq.texi (Top): Add Q2.0.15 under "Installation and + Trouble Shooting". + * xemacs-faq.texi (Installation): Add Q2.0.15 to Installation + menu. + * xemacs-faq.texi (Q2.0.14): Fix unnumberedsubsec argument. + * xemacs-faq.texi (Q2.0.15): New. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/man/emodules.texi' 'xemacs-21.4.9/man/emodules.texi' Index: ././man/emodules.texi --- ././man/emodules.texi Wed Jul 25 16:46:06 2001 +++ ././man/emodules.texi Tue Aug 20 20:35:22 2002 @@ -478,6 +478,20 @@ then their parents will also fail to load. This does not include previous successful calls to @code{emodules_load} at the top level. +@strong{Warning:} Modules are @emph{not} loaded with the +@code{RTLD_GLOBAL} flag. The practical upshot is that individual +modules do not have access to each other's C symbols. One module cannot +make a C function call to a function defined in another module, nor can +it read or set a C variable in another module. All interaction between +modules must, therefore, take place at the Lisp level. This is by +design. Other projects have attempted to use @code{RTLD_GLOBAL}, only +to find that spurious symbol name clashes were the result. Helper +functions often have simple names, increasing the probability of such a +clash. If you really need to share symbols between modules, create a +shared library containing those symbols, and link your modules with +that library. Otherwise, interactions between modules must take place +via Lisp function calls and Lisp variables accesses. + @node Using ellcc, Defining Functions, Anatomy of a Module, Top @chapter Using @code{ellcc} @cindex @code{ellcc} diff --text -u 'xemacs-21.4.8/man/internals/internals.texi' 'xemacs-21.4.9/man/internals/internals.texi' Index: ././man/internals/internals.texi --- ././man/internals/internals.texi Wed Jul 25 16:46:11 2001 +++ ././man/internals/internals.texi Tue Aug 20 20:35:39 2002 @@ -117,6 +117,7 @@ * The XEmacs Object System (Abstractly Speaking):: * How Lisp Objects Are Represented in C:: * Rules When Writing New C Code:: +* Regression Testing XEmacs:: * A Summary of the Various XEmacs Modules:: * Allocation of Objects in XEmacs Lisp:: * Dumping:: @@ -166,6 +167,8 @@ * General Guidelines for Writing Mule-Aware Code:: * An Example of Mule-Aware Code:: +Regression Testing XEmacs + A Summary of the Various XEmacs Modules * Low-Level Modules:: @@ -180,6 +183,7 @@ * Modules for Interfacing with the Operating System:: * Modules for Interfacing with X Windows:: * Modules for Internationalization:: +* Modules for Regression Testing:: Allocation of Objects in XEmacs Lisp @@ -1893,7 +1897,7 @@ nothing unless the corresponding configure error checking flag was specified. -@node Rules When Writing New C Code, A Summary of the Various XEmacs Modules, How Lisp Objects Are Represented in C, Top +@node Rules When Writing New C Code, Regression Testing XEmacs, How Lisp Objects Are Represented in C, Top @chapter Rules When Writing New C Code @cindex writing new C code, rules when @cindex C code, rules when writing new @@ -3150,7 +3154,75 @@ add an INIT_LRECORD_IMPLEMENTATION call to @code{syms_of_@var{foo}.c} @end enumerate -@node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Rules When Writing New C Code, Top + +@node Regression Testing XEmacs, A Summary of the Various XEmacs Modules, Rules When Writing New C Code, Top +@chapter Regression Testing XEmacs +@cindex testing, regression + +The source directory @file{tests/automated} contains XEmacs' automated +test suite. The usual way of running all the tests is running +@code{make check} from the top-level source directory. + +The test suite is unfinished and it's still lacking some essential +features. It is nevertheless recommended that you run the tests to +confirm that XEmacs behaves correctly. + +If you want to run a specific test case, you can do it from the +command-line like this: + +@example +$ xemacs -batch -l test-harness.elc -f batch-test-emacs TEST-FILE +@end example + +If something goes wrong, you can run the test suite interactively by +loading @file{test-harness.el} into a running XEmacs and typing +@kbd{M-x test-emacs-test-file RET RET}. You will see a log of +passed and failed tests, which should allow you to investigate the +source of the error and ultimately fix the bug. + +Adding a new test file is trivial: just create a new file here and it +will be run. There is no need to byte-compile any of the files in +this directory---the test-harness will take care of any necessary +byte-compilation. + +Look at the existing test cases for the examples of coding test cases. +It all boils down to your imagination and judicious use of the macros +@code{Assert}, @code{Check-Error}, @code{Check-Error-Message}, and +@code{Check-Message}. + +Here's a simple example checking case-sensitive and case-insensitive +comparisons from @file{case-tests.el}. + +@example +(with-temp-buffer + (insert "Test Buffer") + (let ((case-fold-search t)) + (goto-char (point-min)) + (Assert (eq (search-forward "test buffer" nil t) 12)) + (goto-char (point-min)) + (Assert (eq (search-forward "Test buffer" nil t) 12)) + (goto-char (point-min)) + (Assert (eq (search-forward "Test Buffer" nil t) 12)) + + (setq case-fold-search nil) + (goto-char (point-min)) + (Assert (not (search-forward "test buffer" nil t))) + (goto-char (point-min)) + (Assert (not (search-forward "Test buffer" nil t))) + (goto-char (point-min)) + (Assert (eq (search-forward "Test Buffer" nil t) 12)))) +@end example + +This example could be inserted in a file in @file{tests/automated}, and +it would be a complete test, automatically executed when you run +@kbd{make check} after building XEmacs. More complex tests may require +substantial temporary scaffolding to create the environment that elicits +the bugs, but the top-level Makefile and @file{test-harness.el} handle +the running and collection of results from the @code{Assert}, +@code{Check-Error}, @code{Check-Error-Message}, and @code{Check-Message} +macros. + +@node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Regression Testing XEmacs, Top @chapter A Summary of the Various XEmacs Modules @cindex modules, a summary of the various XEmacs @@ -3169,6 +3241,7 @@ * Modules for Interfacing with the Operating System:: * Modules for Interfacing with X Windows:: * Modules for Internationalization:: +* Modules for Regression Testing:: @end menu @node Low-Level Modules @@ -4833,6 +4906,36 @@ +@node Modules for Regression Testing +@section Modules for Regression Testing +@cindex modules for regression testing +@cindex regression testing, modules for + +@example +test-harness.el +base64-tests.el +byte-compiler-tests.el +case-tests.el +ccl-tests.el +c-tests.el +database-tests.el +extent-tests.el +hash-table-tests.el +lisp-tests.el +md5-tests.el +mule-tests.el +regexp-tests.el +symbol-tests.el +syntax-tests.el +@end example + +@file{test-harness.el} defines the macros @code{Assert}, +@code{Check-Error}, @code{Check-Error-Message}, and +@code{Check-Message}. The other files are test files, testing various +XEmacs modules. + + + @node Allocation of Objects in XEmacs Lisp, Dumping, A Summary of the Various XEmacs Modules, Top @chapter Allocation of Objects in XEmacs Lisp @cindex allocation of objects in XEmacs Lisp @@ -5100,6 +5203,10 @@ different section of code. @end enumerate +If you don't understand whether to @code{GCPRO} in a particular +instance, ask on the mailing lists. A general hint is that @code{prog1} +is the canonical example + @cindex garbage collection, conservative @cindex conservative garbage collection Given the extremely error-prone nature of the @code{GCPRO} scheme, and diff --text -u 'xemacs-21.4.8/man/lispref/building.texi' 'xemacs-21.4.9/man/lispref/building.texi' Index: ././man/lispref/building.texi --- ././man/lispref/building.texi Fri Apr 13 03:22:11 2001 +++ ././man/lispref/building.texi Tue Aug 20 20:35:44 2002 @@ -209,10 +209,7 @@ as symbols, but just returns them unchanged. It signals an error if asked to copy markers. -This function is a no-op except while XEmacs is being built and dumped; -it is usually called only in the file -@file{xemacs/lisp/prim/loaddefs.el}, but a few packages call it just in -case you decide to preload them. +This function is a no-op in XEmacs, and its use in new code is deprecated. @end defun @defvar pure-bytes-used diff --text -u 'xemacs-21.4.8/man/lispref/commands.texi' 'xemacs-21.4.9/man/lispref/commands.texi' Index: ././man/lispref/commands.texi --- ././man/lispref/commands.texi Fri Apr 13 03:22:11 2001 +++ ././man/lispref/commands.texi Tue Aug 20 20:35:45 2002 @@ -1755,7 +1755,7 @@ input. The events are used in the order they appear in the list, and removed one by one as they are used. -The variable is needed because in some cases a function reads a event +The variable is needed because in some cases a function reads an event and then decides not to use it. Storing the event in this variable causes it to be processed normally, by the command loop or by the functions to read command input. diff --text -u 'xemacs-21.4.8/man/lispref/control.texi' 'xemacs-21.4.9/man/lispref/control.texi' Index: ././man/lispref/control.texi --- ././man/lispref/control.texi Fri Apr 13 03:22:11 2001 +++ ././man/lispref/control.texi Tue Aug 20 20:35:46 2002 @@ -922,7 +922,7 @@ This function displays @var{error-object} on @var{stream}. @var{error-object} is a cons of error type, a symbol, and error arguments, a list. If the error type symbol of one of its error -condition superclasses has an @code{display-error} property, that +condition superclasses has a @code{display-error} property, that function is invoked for printing the actual error message. Otherwise, the error is printed as @samp{Error: arg1, arg2, ...}. @end defun diff --text -u 'xemacs-21.4.8/man/lispref/customize.texi' 'xemacs-21.4.9/man/lispref/customize.texi' Index: ././man/lispref/customize.texi --- ././man/lispref/customize.texi Fri Apr 13 03:22:12 2001 +++ ././man/lispref/customize.texi Tue Aug 20 20:35:48 2002 @@ -739,7 +739,7 @@ @item :parent The parent of a nested widget (e.g. a @code{menu-choice} item or an -element of a @code{editable-list} widget). +element of an @code{editable-list} widget). @item :sibling-args This keyword is only used for members of a @code{radio-button-choice} or diff --text -u 'xemacs-21.4.8/man/lispref/dragndrop.texi' 'xemacs-21.4.9/man/lispref/dragndrop.texi' Index: ././man/lispref/dragndrop.texi --- ././man/lispref/dragndrop.texi Fri Apr 13 03:22:12 2001 +++ ././man/lispref/dragndrop.texi Tue Aug 20 20:35:48 2002 @@ -100,7 +100,7 @@ @cindex drop @cindex Drop API -For each activated low-level protocol, a internal routine will catch +For each activated low-level protocol, an internal routine will catch incoming drops and convert them to a dragdrop-drop type misc-user-event. diff --text -u 'xemacs-21.4.8/man/lispref/mule.texi' 'xemacs-21.4.9/man/lispref/mule.texi' Index: ././man/lispref/mule.texi --- ././man/lispref/mule.texi Wed Jul 25 16:46:15 2001 +++ ././man/lispref/mule.texi Tue Aug 20 20:35:49 2002 @@ -805,7 +805,7 @@ the data stream) or locking (effective until the next designation or locking) control sequences. An encoding conformant to ISO 2022 is typically defined by designating the initial contents of the G0-G3 -registers, specifying an 7 or 8 bit environment, and specifying whether +registers, specifying a 7 or 8 bit environment, and specifying whether further designations will be recognized. Some examples of character sets and the registered final characters diff --text -u 'xemacs-21.4.8/man/lispref/packaging.texi' 'xemacs-21.4.9/man/lispref/packaging.texi' Index: ././man/lispref/packaging.texi --- ././man/lispref/packaging.texi Mon Dec 17 14:49:15 2001 +++ ././man/lispref/packaging.texi Tue Aug 20 20:35:50 2002 @@ -461,7 +461,7 @@ @item Single-File Packages @cindex single-file package -A single-file package is an collection of thematically related but +A single-file package is a collection of thematically related but otherwise independent Lisp libraries. These libraries are bundled together for convenience of the maintainers. Usually individual libraries may be deleted at will without any loss of functionality of @@ -905,7 +905,7 @@ The @file{package-info.in} literals provided by the maintainer generally should not change over the life of the package. (The exception is the @samp{provides} field, which should be generated, but isn't yet.) -Values described as ``literal'' below are unquoted literal test. These +Values described as ``literal'' below are unquoted literal text. These are normally interpreted as symbols by the package build process. The maintainer literals are diff --text -u 'xemacs-21.4.8/man/lispref/text.texi' 'xemacs-21.4.9/man/lispref/text.texi' Index: ././man/lispref/text.texi --- ././man/lispref/text.texi Fri Apr 13 03:22:21 2001 +++ ././man/lispref/text.texi Tue Aug 20 20:35:51 2002 @@ -2761,7 +2761,7 @@ Examples of algorithms thus provided are MD5 and base64 support. MD5 is an algorithm for calculating message digests, as described in -rfc1321. Given a message of arbitrary length, MD5 produces an 128-bit +rfc1321. Given a message of arbitrary length, MD5 produces a 128-bit ``fingerprint'' (``message digest'') corresponding to that message. It is considered computationally infeasible to produce two messages having the same MD5 digest, or to produce a message having a prespecified diff --text -u 'xemacs-21.4.8/man/new-users-guide/custom1.texi' 'xemacs-21.4.9/man/new-users-guide/custom1.texi' Index: ././man/new-users-guide/custom1.texi --- ././man/new-users-guide/custom1.texi Fri Apr 13 03:22:24 2001 +++ ././man/new-users-guide/custom1.texi Tue Aug 20 20:35:53 2002 @@ -78,7 +78,7 @@ @noindent You might want to have this statement in your @file{init.el} file because its easy to hit this command by mistake and it could be annoying to exit -Emacs unintentionally. There is a @b{Exit Emacs} option in the @b{File +Emacs unintentionally. There is an @b{Exit Emacs} option in the @b{File menu} which you might want to use instead. To make a particular key undefined you can also use: diff --text -u 'xemacs-21.4.8/man/term.texi' 'xemacs-21.4.9/man/term.texi' Index: ././man/term.texi --- ././man/term.texi Thu May 13 21:19:40 1999 +++ ././man/term.texi Tue Aug 20 20:35:23 2002 @@ -178,8 +178,8 @@ (except possibly the prompt) is sent to the inferior process. Line mode is basically the original shell mode from earlier Emacs versions. -To switch from line mode to character mode type @kbd{C-c c}. -To switch from character mode to line mode type @kbd{C-c l}. +To switch from line mode to character mode type @kbd{C-c C-k}. +To switch from character mode to line mode type @kbd{C-c C-j}. In either mode, "echoing" of user input is handled by the inferior. Therefor, in line mode after an input line at the end of the buffer diff --text -u 'xemacs-21.4.8/man/termcap.texi' 'xemacs-21.4.9/man/termcap.texi' Index: ././man/termcap.texi --- ././man/termcap.texi Thu May 13 21:19:40 1999 +++ ././man/termcap.texi Tue Aug 20 20:35:24 2002 @@ -1147,7 +1147,7 @@ does not touch (@pxref{Status Line}). Some terminals have a special line that is used only as a status line. -For these terminals, there is no need for an @samp{-s} variant; the +For these terminals, there is no need for a @samp{-s} variant; the status line commands should be defined by default. On other terminals, enabling a status line means removing one screen line from ordinary use and reducing the effective screen height. For these @@ -1920,7 +1920,7 @@ Clear to end of line (@samp{ce}) is extremely important in programs that maintain an updating display. Nearly all display terminals support this -operation, so it is acceptable for a an application program to refuse to +operation, so it is acceptable for an application program to refuse to work if @samp{ce} is not present. However, if you do not want this limitation, you can accomplish clearing to end of line by outputting spaces until you reach the right margin. In order to do this, you must know the diff --text -u 'xemacs-21.4.8/man/texinfo.texi' 'xemacs-21.4.9/man/texinfo.texi' Index: ././man/texinfo.texi Prereq: 1.14 --- ././man/texinfo.texi Fri Apr 13 03:22:02 2001 +++ ././man/texinfo.texi Tue Aug 20 20:35:25 2002 @@ -1,5 +1,5 @@ \input texinfo.tex @c -*-texinfo-*- -@c $Id: texinfo.texi,v 1.14 2001/04/12 18:22:02 michaels Exp $ +@c $Id: texinfo.texi,v 1.14.2.1 2002/08/20 11:35:25 stephent Exp $ @c %**start of header @c All text is ignored before the setfilename. @@ -7789,7 +7789,7 @@ very brief, these blank lines make the list look better.@refill Here is an example of the use of @code{@@itemize}, followed by the -output it produces. Note that @code{@@bullet} produces an @samp{*} in +output it produces. Note that @code{@@bullet} produces a @samp{*} in Info and a round dot in @TeX{}.@refill @example @@ -14919,7 +14919,7 @@ @end example @noindent -since @samp{au} does @emph{not} serve as an abbreviation for +since @samp{au} does @emph{not} serve as an abbreviation for @samp{author.} (with a period following the word). @subsubheading Introducing New Terms diff --text -u 'xemacs-21.4.8/man/widget.texi' 'xemacs-21.4.9/man/widget.texi' Index: ././man/widget.texi --- ././man/widget.texi Wed May 1 01:06:07 2002 +++ ././man/widget.texi Tue Aug 20 20:35:31 2002 @@ -69,7 +69,7 @@ A simple constant widget intended to be used in the @code{menu-choice} and @code{radio-button-choice} widgets. @item choice-item -An button item only intended for use in choices. When invoked, the user +A button item only intended for use in choices. When invoked, the user will be asked to select another option from the choice widget. @item toggle A simple @samp{on}/@samp{off} switch. @@ -130,11 +130,11 @@ @comment node-name, next, previous, up @section User Interface -A form consist of read only text for documentation and some fields, -where each the fields contain two parts, as tag and a value. The tags -are used to identify the fields, so the documentation can refer to the -foo field, meaning the field tagged with @samp{Foo}. Here is an example -form: +A form consists of read only text for documentation and some fields, +where each of the fields contains two parts, a tag and a value. The +tags are used to identify the fields, so the documentation can refer to +the foo field, meaning the field tagged with @samp{Foo}. Here is an +example form: @example Here is some documentation. @@ -226,7 +226,7 @@ field. Option fields are created by the @code{menu-choice} widget. In the example, @samp{@b{Choose}} is an option field tag. @item The @samp{@b{[INS]}} and @samp{@b{[DEL]}} buttons. -Activating these will insert or delete elements from a editable list. +Activating these will insert or delete elements from an editable list. The list is created by the @code{editable-list} widget. @item Embedded Buttons. The @samp{@b{_other work_}} is an example of an embedded @@ -591,7 +591,7 @@ @item :parent The parent of a nested widget (e.g. a @code{menu-choice} item or an -element of a @code{editable-list} widget). +element of an @code{editable-list} widget). @item :sibling-args This keyword is only used for members of a @code{radio-button-choice} or @@ -1029,7 +1029,7 @@ @comment node-name, next, previous, up @subsection The @code{group} Widget -This widget simply group other widget together. +This widget simply groups other widgets together. Syntax: diff --text -u 'xemacs-21.4.8/man/xemacs-faq.texi' 'xemacs-21.4.9/man/xemacs-faq.texi' Index: ././man/xemacs-faq.texi --- ././man/xemacs-faq.texi Wed May 1 01:06:09 2002 +++ ././man/xemacs-faq.texi Tue Aug 20 20:35:32 2002 @@ -7,7 +7,7 @@ @finalout @titlepage @title XEmacs FAQ -@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/04/30 16:06:09 $ +@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/08/20 11:35:32 $ @sp 1 @author Tony Rossini @author Ben Wing @@ -151,6 +151,7 @@ * Q2.0.12:: Why can't I strip XEmacs? * Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW) * Q2.0.14:: How do I figure out which packages to install? (NEW) +* Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW) Trouble Shooting: * Q2.1.1:: XEmacs just crashed on me! @@ -267,6 +268,7 @@ * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. +* Q3.10.6:: Why is killing so slow? (NEW) Major Subsystems @@ -1061,7 +1063,7 @@ which can be obtained from @end quotation -@uref{http://ftpsearch.lycos.com/?query=russian.el.Z&form=medium}. +@uref{http://www.math.uga.edu/~valery/russian.el}. @email{d.barsky@@ee.surrey.ac.uk, Dima Barsky} writes: @@ -1272,6 +1274,7 @@ * Q2.0.12:: Why can't I strip XEmacs? * Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW) * Q2.0.14:: I don't want to install a million .els one at a time! (NEW) +* Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW) Trouble Shooting: * Q2.1.1:: XEmacs just crashed on me! @@ -1644,8 +1647,8 @@ will be available with no packages installed, so installing packages is an essential part of making your installed XEmacs _useful_. -@node Q2.0.14, Q2.1.1, Q2.0.13, Installation -@unnumberedsubsec Q2.0.12: How do I figure out which packages to install? (NEW) +@node Q2.0.14, Q2.0.15, Q2.0.13, Installation +@unnumberedsubsec Q2.0.14: How do I figure out which packages to install? (NEW) Many people really liked the old way that packages were bundled and do not want to mess with packages at all. You can grab all the packages at @@ -1671,7 +1674,22 @@ packages, it is recommended that you use the automatic package tools afterwards to pick up any recent updates. -@node Q2.1.1, Q2.1.2, Q2.0.14, Installation +@node Q2.0.15, Q2.1.1, Q2.0.14, Installation +@unnumberedsubsec Q2.0.15: EFS fails with "500 AUTH not understood" (NEW) + +A typical error: FTP Error: USER request failed; 500 AUTH not understood. + +Thanks to giacomo boffi @email{giacomo.boffi@@polimi.it} who recommends +on comp.emacs.xemacs: + + tell your ftp client to not attempt AUTH authentication (or do not + use FTP servers that don't understand AUTH) + +and notes that you need to add an element (often "-u") to +`efs-ftp-program-args'. Use M-x customize-variable, and verify the +needed flag with `man ftp' or other local documentation. + +@node Q2.1.1, Q2.1.2, Q2.0.15, Installation @unnumberedsec 2.1: Trouble Shooting @unnumberedsubsec Q2.1.1: Help! XEmacs just crashed on me! @@ -2498,6 +2516,7 @@ * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. +* Q3.10.6:: Why is killing so slow? @end menu @node Q3.0.1, Q3.0.2, Customization, Customization @@ -3790,7 +3809,7 @@ Also see @ref{Q3.10.1}. -@node Q3.10.5, , Q3.10.4, Customization +@node Q3.10.5, Q3.10.6, Q3.10.4, Customization @unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling. This has been fixed by default starting with XEmacs-20.3. @@ -3821,6 +3840,68 @@ Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this answer. +@node Q3.10.6, , Q3.10.5, Customization +@unnumberedsubsec Q3.10.6: Why is killing so slow? + +This actually is an X Windows question, although you'll notice it with +keyboard operations as well as while using the GUI. Basically, there +are four ways to communicate interprogram via the X server: + +@table @strong +@item Primary selection +a transient selection that gets replaced every time a new selection is made + +@item Secondary selection +for "exchanging" with the primary selection + +@item Cut buffers +a clipboard internal to the X server (deprecated) + +@item Clipboard selection +a selection with a notification protocol that allows a separate app to +manage the clipboard +@end table + +The cut buffers are deprecated because managing them is even more +inefficient than the clipboard notification protocol. The primary +selection works fine for many users and applications, but is not very +robust under intensive or sophisticated use. + +In Motif and MS Windows, a clipboard has become the primary means for +managing cut and paste. These means that "modern" applications tend to +be oriented toward a true clipboard, rather than the primary selection. +(On Windows, there is nothing equivalent to the primary selection.) +It's not that XEmacs doesn't support the simple primary selection +method, it's that more and more other applications don't. + +So the slowdown occurs because XEmacs now engages in the clipboard +notification protocol on @emph{every} kill. This is especially slow on +Motif. + +With most people running most clients and server on the same host, and +many of the rest working over very fast communication, you may expect +that the situation is not going to improve. + +There are a number of workarounds. The most effective is to use a +special command to do selection ownership only when you intend to paste +to another application. Useful commands are @code{kill-primary-selection} +and @code{copy-primary-selection'}. These work only on text selected +with the mouse (probably; experiment), and are bound by default to the +Cut and Copy, respectively, buttons on the toolbar. + +If you are communicating by cut and paste with applications that use the +primary selection, then you can customize @code{interprogram-cut-function} +to @code{nil}, restoring the XEmacs version 20 behavior. How can you +tell if a program will support this? Motifly-correct programs require +the clipboard; you lose. For others, only by trying it. You usually +don't need to customize the complementary @code{interprogram-paste-function} +to @code{nil}; presumably you're willing to wait for a paste from another +program if delays only happen when you specifically request a paste. + +You can get some relief on Motif by setting +@code{x-selection-strict-motif-ownership} to nil, but this means you will +only intermittently be able to paste XEmacs kills to Motif applications. + @node Subsystems, Miscellaneous, Customization, Top @unnumbered 4 Major Subsystems diff --text -u 'xemacs-21.4.8/man/xemacs/custom.texi' 'xemacs-21.4.9/man/xemacs/custom.texi' Index: ././man/xemacs/custom.texi --- ././man/xemacs/custom.texi Wed Jul 25 16:46:17 2001 +++ ././man/xemacs/custom.texi Tue Aug 20 20:35:55 2002 @@ -1416,8 +1416,9 @@ table of syntactic classes, with the characters that specify them. @table @samp -@item @w{ } -The class of whitespace characters. +@item @w{-} +The class of whitespace characters. Please don't use the formerly +advertised @w{ }, which is not supported by GNU Emacs. @item w The class of word-constituent characters. @item _ diff --text -u 'xemacs-21.4.8/man/xemacs/files.texi' 'xemacs-21.4.9/man/xemacs/files.texi' Index: ././man/xemacs/files.texi --- ././man/xemacs/files.texi Wed May 1 01:06:18 2002 +++ ././man/xemacs/files.texi Tue Aug 20 20:35:56 2002 @@ -643,31 +643,34 @@ operates on the current buffer. Since reverting a buffer can result in very extensive changes, you must confirm it with @kbd{yes}. - If the current buffer has been auto-saved more recently than it has been -saved explicitly, @code{revert-buffer} offers to read the auto save file -instead of the visited file (@pxref{Auto Save}). Emacs asks you about -the auto-save file before the request for confirmation of the -@kbd{revert-buffer} operation, and demands @kbd{y} or @kbd{n} -as an answer. If you have started to type @kbd{yes} for confirmation -without realizing that the auto-save question was going to be asked, the -@kbd{y} will answer that question, but the @kbd{es} will not be valid -confirmation. This gives you a chance to cancel the operation with -@kbd{C-g} and try again with the answers you really intend. - - @code{revert-buffer} keeps point at the same distance (measured in -characters) from the beginning of the file. If the file was edited only -slightly, you will be at approximately the same piece of text after -reverting as before. If you have made more extensive changes, the value of -point in the old file may bring you to a totally different piece of text -than your last editing point. + You may request that @code{revert-buffer} check for an auto-save file +that is more recent than the visited file by providing a prefix +argument. If a recent auto-save file exists, @code{revert-buffer} +offers to read the auto-save file instead of the visited file +(@pxref{Auto Save}). Emacs asks you about the auto-save file before the +request for confirmation of the @kbd{revert-buffer} operation, and +demands @kbd{y} or @kbd{n} as an answer. If you have started to type +@kbd{yes} to confirm the revert operation, the @kbd{y} will answer the +question about using the auto-save file, but the @kbd{es} will not be +valid confirmation for the reversion. This gives you a chance to cancel +the operation with @kbd{C-g} and try again with the answers you really +intend. + + @code{revert-buffer} preserves the value of point (in characters from +the beginning of the file). If the file was edited only slightly, you +will be at approximately the same piece of text after reverting as +before. If you have made more extensive changes, after reversion point +may be in a totally different context than your last edits before +reversion. A buffer reverted from its visited file is marked ``not modified'' until -you make a change. +you make a change. The buffer's modes will also be recalculated, by +@code{normal-mode}. Some kinds of buffers whose contents reflect data bases other than files, such as Dired buffers, can also be reverted. For them, reverting means -recalculating their contents from the appropriate data. Buffers -created randomly with @kbd{C-x b} cannot be reverted; @code{revert-buffer} +refreshing their contents from the appropriate data. Buffers created +randomly with @kbd{C-x b} cannot be reverted; @code{revert-buffer} reports an error when asked to do so. @node Auto Save, Version Control, Reverting, Files diff --text -u 'xemacs-21.4.8/man/xemacs/menus.texi' 'xemacs-21.4.9/man/xemacs/menus.texi' Index: ././man/xemacs/menus.texi --- ././man/xemacs/menus.texi Fri Apr 13 03:22:28 2001 +++ ././man/xemacs/menus.texi Tue Aug 20 20:35:57 2002 @@ -223,7 +223,7 @@ @c **** zmacs-regions is on by default these days - jwz @c @c Note: By default, you can use the @b{Edit} menu items on the region between -@c point an the mark as well as regions selected with the mouse. To change +@c point and the mark as well as regions selected with the mouse. To change @c this behavior, set the variable @code{zmacs-regions} to @c @code{t}. @xref{Active Regions} for more information. diff --text -u 'xemacs-21.4.8/man/xemacs/misc.texi' 'xemacs-21.4.9/man/xemacs/misc.texi' Index: ././man/xemacs/misc.texi --- ././man/xemacs/misc.texi Fri Apr 13 03:22:28 2001 +++ ././man/xemacs/misc.texi Tue Aug 20 20:35:58 2002 @@ -417,14 +417,14 @@ To switch between line and char mode, use these commands: @table @kbd -@kindex C-c C-k @r{(Term mode)} +@kindex C-c C-j @r{(Term mode)} findex term-char-mode -@item C-c C-k +@item C-c C-j Switch to line mode. Do nothing if already in line mode. -@kindex C-c C-j @r{(Term mode)} +@kindex C-c C-k @r{(Term mode)} @findex term-line-mode -@item C-c C-j +@item C-c C-k Switch to char mode. Do nothing if already in char mode. @end table diff --text -u 'xemacs-21.4.8/man/xemacs/mule.texi' 'xemacs-21.4.9/man/xemacs/mule.texi' Index: ././man/xemacs/mule.texi --- ././man/xemacs/mule.texi Wed Jul 25 16:46:18 2001 +++ ././man/xemacs/mule.texi Tue Aug 20 20:35:59 2002 @@ -38,18 +38,60 @@ @end menu @node Mule Intro, Language Environments, Mule, Mule -@section Introduction to world scripts +@section What is Mule? + +Mule is the MUltiLingual Extension to XEmacs. It provides facilities +not only for handling text written in many different languages, but in +fact multilingual texts containing several languages in the same buffer. +This goes beyond the simple facilities offered by Unicode for +representation of multilingual text. Mule also supports input methods, +composing display using fonts in various different encodings, changing +character syntax and other editing facilities to correspond to local +language usage, and more. + +The most obvious problem is that of the different character coding +systems used by different languages. ASCII supplies all the characters +needed for most computer programming languages and US English (it lacks +the currency symbol for British English), but other Western European +languages (French, Spanish, German) require more than 96 code positions +for accented characters. In fact, even with 8 bits to represent 96 more +character (including accented characters and symbols such as currency +symbols), some languages' alphabets remain incomplete (Croatian, +Polish). (The 64 "missing characters" are reserved for control +characters.) Furthermore, many European languages have their own +alphabets, which must conflict with the accented characters since the +ASCII characters are needed for computer interaction (error and log +messages are typically in ASCII). + +For economy of space, historical practice has been for each language to +establish its own encoding for the characters it needs. This allows +most European languages to represented with one octet (byte) per +character. However, many Asian languages have thousands of characters +and require two or more octets per character. For multilingual +purposes, the ISO 2022 standard establishes escape codes that allow +switching encodings in midstream. (It's also ISO 2022 that establishes +the standard that code points 0-31 and 128-159 are control codes.) + +However, this is error-prone and complex for internal processing. For +this reason XEmacs uses an internal coding system which can encode all +of the world's scripts. Unfortunately, for historical reasons, this +code is not Unicode, although we are moving in that direction. - The users of these scripts have established many more-or-less standard -coding systems for storing files. -@c XEmacs internally uses a single multibyte character encoding, so that it -@c can intermix characters from all these scripts in a single buffer or -@c string. This encoding represents each non-ASCII character as a sequence -@c of bytes in the range 0200 through 0377. XEmacs translates between the internal character encoding and various other coding systems when reading and writing files, when exchanging data with subprocesses, and (in some cases) in the @kbd{C-q} command -(see below). +(see below). The internal encoding is never visible to the user in a +production XEmacs, but unfortunately the process cannot be completely +transparent to the user. This is because the same ranges of octets may +represent 1-octet ISO-8859-1 (which is satisfactory for most Western +European use prior to the introduction of the Euro currency), 1-octet +ISO-8859-15 (which substitutes the Euro for the rarely used "generic +currency" symbol), 1-octet ISO-8859-5 (Cyrillic), or multioctet EUC-JP +(Japanese). There's no way to tell without being able to read! + +A number of heuristics are incorporated in Mule for automatic +recognition, there are facilities for the user to set defaults, and +where necessary (rarely, we hope) to set coding systems directly. @kindex C-h h @findex view-hello-file @@ -423,6 +465,41 @@ @node Recognize Coding, Specify Coding, Coding Systems, Mule @section Recognizing Coding Systems +@c #### This section is out of date. The following set-*-coding-system +@c functions are known: + +@c set-buffer-file-coding-system +@c set-buffer-file-coding-system-for-read +@c set-buffer-process-coding-system +@c set-console-tty-coding-system +@c set-console-tty-input-coding-system +@c set-console-tty-output-coding-system +@c set-default-buffer-file-coding-system +@c set-default-coding-systems +@c set-default-file-coding-system +@c set-file-coding-system +@c set-file-coding-system-for-read +@c set-keyboard-coding-system +@c set-pathname-coding-system +@c set-process-coding-system +@c set-process-input-coding-system +@c set-process-output-coding-system +@c set-terminal-coding-system + +@c Some are marked as broken. Agenda: (1) Update this section using +@c docstrings. Note that they may be inaccurate. (2) Correct the +@c documentation here, updating docstrings at the same time. + +@c Document this. + +@c set-language-environment-coding-systems + +@c What are these? + +@c dontusethis-set-value-file-name-coding-system-handler +@c dontusethis-set-value-keyboard-coding-system-handler +@c dontusethis-set-value-terminal-coding-system-handler + Most of the time, XEmacs can recognize which coding system to use for any given file--once you have specified your preferences. diff --text -u 'xemacs-21.4.8/man/xemacs/packages.texi' 'xemacs-21.4.9/man/xemacs/packages.texi' Index: ././man/xemacs/packages.texi --- ././man/xemacs/packages.texi Wed May 1 01:06:19 2002 +++ ././man/xemacs/packages.texi Tue Aug 20 20:36:00 2002 @@ -95,28 +95,19 @@ subdirectory @file{packages}. Package file names follow the naming convention @file{--pkg.tar.gz}. -If you have EFS @ref{(EFS)}, packages can be installed over the network. +If you have @ref{(EFS)}, packages can be installed over the network. Alternatively, if you have copies of the packages locally, you can install packages from a local disk or CDROM. The file @file{etc/PACKAGES} in the core distribution contains a list of -the @ref{Available Packages} at the time of the XEmacs release. Packages are -also listed on the @code{Options} menu under: - -@example - Options->Customize->Emacs->Packages -@end example - -However, don't select any of these menu picks unless you actually want -to install the given package (and have properly configured your system -to do so). +the @ref{Available Packages} at the time of the XEmacs release. You can also get a list of available packages, and whether or not they are installed, using the visual package browser and installer. You can access it via the menus: @example - Options->Manage Packages->List & Install + Tools -> Packages -> List and Install @end example Or, you can get to it via the keyboard: @@ -244,14 +235,10 @@ After installing these by hand, fire up XEmacs and follow these steps. -Note: The menus in XEmacs 21.2.x and up have changed slightly, so -where I mention "Options -> Manage Packages", substitute "Tools -> -Packages". - @enumerate 1 @item Choose a download site. -via menu: Options -> Manages Packages -> Add Download Site +via menu: Tools -> Packages -> Add Download Site via keyb: @code{M-x customize-variable RET package-get-remote RET} (put in the details of remote host and directory) @@ -261,7 +248,7 @@ @item Obtain a list of packages and display the list in a buffer named @file{*Packages*}. -menu: Options -> Manage Packages -> List & Install +menu: Tools -> Packages -> List & Install keyb: @code{M-x pui-list-packages RET} XEmacs will now connect to the remote site and download the @@ -677,7 +664,7 @@ looking for isn't here, please send a message to the @email{xemacs-beta@@xemacs.org, XEmacs Beta list}. -This data is up-to-date as of May 15, 2001. +This data is up-to-date as of August 8, 2002. @subsection Normal Packages A very broad selection of elisp packages. @@ -696,7 +683,7 @@ Basic TeX/LaTeX support. @item bbdb -The Big Brother Data Base +The Big Brother Data Base: a rolodex-like database program. @item build Build XEmacs using custom widgets. @@ -713,8 +700,12 @@ @item cc-mode C, C++ and Java language support. +@item clearcase +Support for the Clearcase version control system. + @item cookie -Spook and Yow (Zippy quotes). +"Fortune cookie"-style messages. Includes Spook (suspicious phrases) +and Yow (Zippy quotes). @item crisp Crisp/Brief emulation. @@ -722,10 +713,19 @@ @item debug GUD, gdb, dbx debugging support. +@item dictionary +Interface to RFC2229 dictionary servers. + @item dired The DIRectory EDitor is for manipulating, and running commands on files in a directory. +@item docbookide +DocBook editing support. + +@item ecrypto +Crypto functionality in Emacs Lisp. + @item edebug A Lisp debugger. @@ -742,10 +742,6 @@ @item efs Treat files on remote systems the same as local files. -@item eicq -ICQ Client developed and tested on Linux x86; -only supported on that platform - @item eieio Enhanced Implementation of Emacs Interpreted Objects. @@ -758,6 +754,9 @@ @item eshell Command shell implemented entirely in Emacs Lisp. +@item ess +ESS: Emacs Speaks Statistics. + @item eterm Terminal emulator. @@ -785,9 +784,15 @@ @item gnus The Gnus Newsreader and Mailreader. +@item haskell-mode +Haskell editing support. + @item hm--html-menus HTML editing. +@item ibuffer +Advanced replacement for buffer-menu. + @item idlwave Editing and Shell mode for the Interactive Data Language. @@ -795,7 +800,7 @@ Enhanced front-end for Grep. @item ilisp -Front-end for Inferior Lisp. +Front-end for interacting with Inferior Lisp (external lisps). @item ispell Spell-checking with ispell. @@ -803,6 +808,9 @@ @item jde Java language and development support. +@item liece +IRC (Internet Relay Chat) client for Emacs. + @item mail-lib Fundamental lisp files for providing email support. @@ -810,17 +818,20 @@ Support for messaging encryption with PGP. @item mew -Messaging in an Emacs World. +Messaging in an Emacs World; a MIME-based email program. @item mh-e Front end support for MH. @item mine -Minehunt. +Elisp implementation of the game 'Minehunt'. @item misc-games Other amusements and diversions. +@item mmm-mode +Support for Multiple Major Modes within a single buffer. + @item net-utils Miscellaneous Networking Utilities. This is a single-file package and files may be deleted at will. @@ -829,6 +840,9 @@ Miscellaneous single-file O/S utilities, for printing, archiving, compression, remote shells, etc. +@item ocaml +Objective Caml editing support. + @item pc PC style interface emulation. @@ -841,8 +855,8 @@ @item prog-modes Miscellaneous single-file lisp files for various programming languages. -@item ps-print-nomule -Old, but no-Mule safe ps-print. +@item ps-print +Print buffers to PostScript printers. @item psgml Validated HTML/SGML editing. @@ -853,6 +867,9 @@ @item rmail An obsolete Emacs mailer. If you do not already use it don't start. +@item sasl +Simple Authentication and Security Layer (SASL) library. + @item scheme Front-end support for Inferior Scheme. @@ -865,9 +882,15 @@ @item sh-script Support for editing shell scripts. +@item sieve +Manage Sieve email filtering scripts. + @item slider User interface tool. +@item sml-mode +Standard ML editing support. + @item sounds-au XEmacs Sun sound files. @@ -904,6 +927,10 @@ @item tpu DEC EDIT/TPU support. +@item tramp +Remote shell-based file editing. This is similar to EFS or Ange-FTP, +but works with rsh/ssh and rcp/scp. + @item vc Version Control for Free systems. @@ -935,6 +962,9 @@ supporting Lisp development. It is a single-file package so it may be tailored. +@item xslide +XSL editing support. + @item xslt-process A minor mode for (X)Emacs which allows running an XSLT processor on a buffer. @@ -958,6 +988,12 @@ Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to XEmacs build. +@item latin-unity +Unify character sets in a buffer. When characters belong to disjoint +character sets, this attempts to translate the characters so +that they belong to one character set. If the buffer coding system is +not sufficient, this suggests different coding systems. + @item leim Quail. Used for everything other than English and Japanese. @@ -971,6 +1007,9 @@ @item mule-base Basic Mule support. Must be installed prior to building with Mule. +@item mule-ucs +Extended coding systems (including Unicode) for XEmacs. + @item skk Another Japanese Language Input Method. Can be used without a separate process running as a dictionary server. diff --text -u 'xemacs-21.4.8/netinstall/ChangeLog' 'xemacs-21.4.9/netinstall/ChangeLog' Index: ././netinstall/ChangeLog Prereq: 1.2.2.15 --- ././netinstall/ChangeLog Thu May 9 21:02:35 2002 +++ ././netinstall/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,11 +1,61 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. +2002-02-04 Andy Piper + + * install.cc (install_one): Munge installed filename to fit inside + dialog. + 2002-05-04 Stephen J. Turnbull * XEmacs 21.4.7 "Economic Science" is released. +2001-12-17 Andy Piper + + * desktop.cc (do_desktop_setup): register the whole gamut of C++ + file types. + +2001-12-12 Andy Piper + + * win32.h (CDECL): reorder to remove warnings. + + * Makefile.in.in: add new dependencies. + + * desktop.h: new file. + + * uninstall.cc: use it. + + * install.cc (uninstall_one): when uninstalling xemacs remove + shortcuts also. + + * desktop.cc (remove_xemacs_setup): split out from + remove_desktop_setup. + (remove_desktop_setup): call it. + +2001-12-05 Andy Piper + + * win32.h: re-order declarations for native windows from Fabrice + Popineau. + +2001-11-22 Andy Piper + + * Makefile.in.in (setup-bin.ini): cope with kit revisions. + + * source.cc (save_dialog): warning removal. + (load_dialog): ditto. + + * msg.cc: remove cvs id. + + * desktop.cc (find_xemacs_version): new function. Cope with kit + revisions. + (find_xemacs_exe_path): use it. + (find_xemacs_exe_name): ditto. + 2001-12-17 Stephen J. Turnbull * XEmacs 21.4.6 "Common Lisp" is released. @@ -296,5 +346,6 @@ * all: port from cygwin setup. -%%% $Id: ChangeLog,v 1.2.2.15 2002/05/09 12:02:35 stephent Exp $ -$Revision: 1.2.2.15 $ +%%% $Id: ChangeLog,v 1.2.2.16 2002/08/20 11:36:02 stephent Exp $ +$Revision: 1.2.2.16 $ + diff --text -u 'xemacs-21.4.8/netinstall/Makefile.in.in' 'xemacs-21.4.9/netinstall/Makefile.in.in' Index: ././netinstall/Makefile.in.in --- ././netinstall/Makefile.in.in Mon Dec 17 14:49:16 2001 +++ ././netinstall/Makefile.in.in Tue Aug 20 20:36:04 2002 @@ -96,6 +96,7 @@ CYGWIN_SIZE=0 WIN32_SIZE=0 +KIT_VERSION="" CONFIG_H = ../src/config.h @@ -162,6 +163,7 @@ $(XEMACS) -batch -vanilla \ -eval '(setq package-net-cygwin32-binary-size $(CYGWIN_SIZE) \ package-net-win32-binary-size $(WIN32_SIZE) \ + package-net-kit-version "$(KIT_VERSION)" \ package-net-setup-version "'$$V'")' \ -l ${srcdir}/../lisp/package-net.el \ -f package-net-batch-generate-bin-ini @@ -215,7 +217,7 @@ msg.h log.h find.h reginfo.h concat.o: concat.cc desktop.o: desktop.cc win32.h resource.h ini.h msg.h state.h concat.h \ - mkdir.h dialog.h version.h port.h reginfo.h + mkdir.h dialog.h version.h port.h reginfo.h desktop.h dialog.o: dialog.cc win32.h dialog.h msg.h log.h diskfull.o: diskfull.cc win32.h diskfull.h download.o: download.cc win32.h resource.h msg.h ini.h dialog.h \ @@ -236,11 +238,11 @@ port.h install.o: install.cc win32.h \ resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \ - diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h + diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h init.o: init.cc win32.h resource.h dialog.h state.h msg.h log.h uninstall.o: uninstall.cc win32.h \ resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \ - diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h + diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h localdir.o: localdir.cc win32.h dialog.h resource.h state.h msg.h \ concat.h log.h log.o: log.cc win32.h resource.h msg.h log.h dialog.h state.h concat.h \ diff --text -u 'xemacs-21.4.8/netinstall/desktop.cc' 'xemacs-21.4.9/netinstall/desktop.cc' Index: ././netinstall/desktop.cc --- ././netinstall/desktop.cc Mon Dec 17 14:49:17 2001 +++ ././netinstall/desktop.cc Tue Aug 20 20:36:05 2002 @@ -41,6 +41,7 @@ #include "regedit.h" #include "port.h" #include "log.h" +#include "desktop.h" extern "C" { void make_link_2 (char *exepath, char *args, char *icon, char *lname); @@ -102,13 +103,23 @@ } static char* +find_xemacs_version () +{ + char* v = strdup (xemacs_package->info[xemacs_package->trust].version); + char* dash = strrchr (v, '-'); + if (dash) + *dash = 0; + return v; +} + +static char* find_xemacs_exe_path () { if (xemacs_package->type == TY_CYGWIN) return backslash (concat (root_dir, "/bin/", XEMACS_CYGWIN_ARCH_NAME, 0)); else return backslash (concat (root_dir, "\\XEmacs-", - xemacs_package->info[xemacs_package->trust].version, + find_xemacs_version (), "\\", XEMACS_NATIVE_ARCH_NAME, 0)); } @@ -121,7 +132,7 @@ return strdup ("runemacs.exe"); else if (xemacs_package->type == TY_CYGWIN) return backslash (concat ("xemacs-", - xemacs_package->info[xemacs_package->trust].version, + find_xemacs_version (), ".exe", 0)); else return strdup ("xemacs.exe"); @@ -220,21 +231,27 @@ } void -remove_desktop_setup() +remove_xemacs_setup() { + if (xemacs_package == 0) + return; + start_menu ("XEmacs", 0, 1, 0); - start_menu ("Uninstall XEmacs", 0, 1, 0); - start_menu (0, 0, 1, 0); desktop_icon ("XEmacs", 0, 1); - if (xemacs_package != 0) - { #define FROB(exe) remove_app_path (exe) - FROB (find_xemacs_exe_name ()); - FROB ("runemacs.exe"); - FROB ("xemacs.exe"); + FROB (find_xemacs_exe_name ()); + FROB ("runemacs.exe"); + FROB ("xemacs.exe"); #undef FROB - } +} + +void +remove_desktop_setup() +{ + remove_xemacs_setup(); + start_menu ("Uninstall XEmacs", 0, 1, 0); + start_menu (0, 0, 1, 0); } static void @@ -298,7 +315,10 @@ log (0, "Registering .cpp files"); setup_explorer ("cpp", "C++ Source file", batname); setup_explorer ("cc", "C++ Source file", batname); + setup_explorer ("cxx", "C++ Source file", batname); setup_explorer ("hh", "C++ Header file", batname); + setup_explorer ("hpp", "C++ Header file", batname); + setup_explorer ("hxx", "C++ Header file", batname); } if (reg_c) { diff --text -u /dev/null 'xemacs-21.4.9/netinstall/desktop.h' Index: ././netinstall/desktop.h --- ././netinstall/desktop.h Thu Jan 1 09:00:00 1970 +++ ././netinstall/desktop.h Tue Aug 20 20:36:06 2002 @@ -0,0 +1,23 @@ +/* + Copyright (C) 2001 Andy Piper. + +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. */ + +extern void remove_desktop_setup (); +extern void remove_xemacs_setup (); +extern char* find_xemacs_exe_name(); diff --text -u 'xemacs-21.4.8/netinstall/install.cc' 'xemacs-21.4.9/netinstall/install.cc' Index: ././netinstall/install.cc --- ././netinstall/install.cc Fri Apr 13 03:22:48 2001 +++ ././netinstall/install.cc Tue Aug 20 20:36:07 2002 @@ -47,7 +47,7 @@ #include "reginfo.h" #include "log.h" #include "hash.h" - +#include "desktop.h" #include "port.h" static HWND ins_dialog = 0; @@ -231,6 +231,10 @@ { SetWindowText (ins_pkgname, name); SetWindowText (ins_action, "Uninstalling..."); + // remove shortcuts and registry entries + if (type != TY_GENERIC) + remove_xemacs_setup(); + if (action == ACTION_UPGRADE) log (0, "Uninstalling old %s", name); else @@ -278,6 +282,7 @@ for (cp=local; *cp; cp++) if (*cp == '/' || *cp == '\\' || *cp == ':') base = cp+1; + SetWindowText (ins_pkgname, base); if (!exists (local) && exists (base)) @@ -311,14 +316,27 @@ tar_open (local); while ((fn = tar_next_file ())) { - char *dest_file; + char *dest_file, *disp_file; + int len; if (lst) fprintf (lst, "%s\n", fn); dest_file = map_filename (fn, type); + + // The installer uses a variable width font. Assume roughly 32 chars + // will fit and munge the file accordingly. +#define MAX_DISP_SIZE 50 + disp_file = strdup(dest_file); + if ((len = strlen(dest_file)) > MAX_DISP_SIZE) { + disp_file += (len - MAX_DISP_SIZE); + disp_file[0] = '.'; + disp_file[1] = '.'; + disp_file[2] = '.'; + } +#undef MAX_DISP_SIZE + SetWindowText (ins_filename, disp_file); - SetWindowText (ins_filename, dest_file); log (LOG_BABBLE, "Installing file %s", dest_file); if (tar_read_file (dest_file) != 0) { diff --text -u 'xemacs-21.4.8/netinstall/msg.cc' 'xemacs-21.4.9/netinstall/msg.cc' Index: ././netinstall/msg.cc Prereq: 1.2.2.1 --- ././netinstall/msg.cc Mon Dec 17 14:49:18 2001 +++ ././netinstall/msg.cc Tue Aug 20 20:36:07 2002 @@ -16,8 +16,6 @@ /* The purpose of this file is to centralize all the message functions. */ -static char *cvsid = "\n%%% $Id: msg.cc,v 1.2.2.1 2001/12/17 05:49:18 stephent Exp $\n"; - #include "win32.h" #include #include diff --text -u 'xemacs-21.4.8/netinstall/res.rc' 'xemacs-21.4.9/netinstall/res.rc' Index: ././netinstall/res.rc Prereq: 1.2.2.1 --- ././netinstall/res.rc Mon Dec 17 14:49:18 2001 +++ ././netinstall/res.rc Tue Aug 20 20:36:07 2002 @@ -33,7 +33,7 @@ CAPTION "XEmacs Setup" FONT 8, "MS Sans Serif" BEGIN - PUSHBUTTON "Next >",IDOK,199,176,45,15, WS_GROUP + PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button", BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10 @@ -203,7 +203,7 @@ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP LTEXT "Installing Packages",IDC_STATIC,112,10,170,17 LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11 - LTEXT "(FILE)",IDC_INS_FILE,112,41,166,11 + LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11 CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32", WS_BORDER,123,143,165,10 CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32", @@ -516,17 +516,17 @@ IDS_ERR_OPEN_READ "Can't open %s for reading: %s" IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin" IDS_DOWNLOAD_COMPLETE "Download Complete" - IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.1 2001/12/17 05:49:18 stephent Exp $\n" + IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.2 2002/08/20 11:36:07 stephent Exp $\n" IDS_NOLOGFILE "Cannot open log file %s for writing" IDS_UNINSTALL_COMPLETE "Uninstalls complete." IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs" IDS_ERR_CHDIR "Could not change dir to %s" - IDS_CREATE_DIR "The directory %s does not exist, create it?" IDS_OLD_SETUP_VERSION "This setup is version %s, but setup.ini claims version %s is available.\nYou might want to upgrade to get the latest features and bug fixes." IDS_DOWNLOAD_FAILED "Unable to download %s" IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?" IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details" IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?" + IDS_CREATE_DIR "The directory %s does not exist, create it?" END #endif // English (U.S.) resources diff --text -u 'xemacs-21.4.8/netinstall/source.cc' 'xemacs-21.4.9/netinstall/source.cc' Index: ././netinstall/source.cc --- ././netinstall/source.cc Mon Dec 17 14:49:19 2001 +++ ././netinstall/source.cc Tue Aug 20 20:36:08 2002 @@ -29,22 +29,14 @@ static int rb[] = { IDC_SOURCE_NETINST, IDC_SOURCE_DOWNLOAD, IDC_SOURCE_CWD, 0 }; static void -check_if_enable_next (HWND h) -{ - EnableWindow (GetDlgItem (h, IDOK), source ? 1 : 0); -} - -static void load_dialog (HWND h) { - int i; rbset (h, rb, source); } static void save_dialog (HWND h) { - int i; source = rbget (h, rb); } diff --text -u 'xemacs-21.4.8/netinstall/uninstall.cc' 'xemacs-21.4.9/netinstall/uninstall.cc' Index: ././netinstall/uninstall.cc --- ././netinstall/uninstall.cc Mon Dec 17 14:49:19 2001 +++ ././netinstall/uninstall.cc Tue Aug 20 20:36:09 2002 @@ -48,6 +48,7 @@ #include "reginfo.h" #include "log.h" #include "hash.h" +#include "desktop.h" #include "port.h" @@ -66,9 +67,7 @@ static int uninstall_started = 0; extern char * map_filename (char *fn, int type); -void remove_desktop_setup (); static void start_uninstall (); -extern char* find_xemacs_exe_name(); char * base (char *s); diff --text -u 'xemacs-21.4.8/netinstall/win32.h' 'xemacs-21.4.9/netinstall/win32.h' Index: ././netinstall/win32.h --- ././netinstall/win32.h Wed Jul 25 16:43:33 2001 +++ ././netinstall/win32.h Tue Aug 20 20:36:09 2002 @@ -23,14 +23,6 @@ #define NOCOMATTRIBUTE -#include - -#define WIN32_LEAN_AND_MEAN -#include - -#include -#include - /* Cope with native win32 & mingw differences. Written by F. Popineau */ #ifdef WIN32_NATIVE @@ -40,6 +32,14 @@ # define strnicmp _strnicmp #endif +#include + +#define WIN32_LEAN_AND_MEAN +#include + +#include +#include + #ifndef CDECL #define CDECL __cdecl #endif diff --text -u 'xemacs-21.4.8/nt/ChangeLog' 'xemacs-21.4.9/nt/ChangeLog' Index: ././nt/ChangeLog --- ././nt/ChangeLog Thu May 9 20:27:23 2002 +++ ././nt/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,7 +1,44 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-08-16 Jonathan Harris + + * config.inc.samp (USE_PORTABLE_DUMPER): Default to on. + * config.inc.samp (USE_MINIMAL_TAGBITS): Removed. + * config.inc.samp (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed. + * config.inc.samp (GUNG_HO): Removed. + * xemacs.mak (USE_MINIMAL_TAGBITS): Removed. + * xemacs.mak (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed. + * xemacs.mak (GUNG_HO): Removed. + * xemacs.mak (TAGBITS_DEFINES): Removed. + * xemacs.mak (LRECORD_DEFINES): Removed. + * xpm.mak: Default to using MSVCRT as the C runtime + + Remove all vestiges of USE_MINIMAL_TAGBITS, + USE_INDEXED_LRECORD_IMPLEMENTATION, and GUNG_HO, since those + ifdefs have long been removed. + + Make pdump the default. + +2002-07-05 Jonathan Harris + + * README: Document Visual Studio .NET setup + +2002-05-06 Jonathan Harris + + * README: + * config.inc.samp: + Update PNG version to 1.0.9, zlib version to 1.1.14. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. +2002-03-26 Vin Shelton + + * xemacs.mak: Added special rule to build winclient.exe. + 2002-05-04 Stephen J. Turnbull * XEmacs 21.4.7 "Economic Science" is released. diff --text -u 'xemacs-21.4.8/nt/README' 'xemacs-21.4.9/nt/README' Index: ././nt/README --- ././nt/README Thu Apr 19 16:31:18 2001 +++ ././nt/README Tue Aug 20 20:36:13 2002 @@ -1,11 +1,11 @@ -Building and Installing XEmacs on Windows 95/98/NT/2000 -*- mode:outline -*- +Building and Installing XEmacs on Windows 95/98/NT/2000/XP -*- mode:outline -*- David Hobley Marc Paquette Jonathan Harris Ben Wing -This is a port of XEmacs to Windows 95/98/NT/2000. If you are looking for a +This is a port of XEmacs to Windows 95/98/NT/2000/XP. If you are looking for a port of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html. NT 3.51 or later is required for building on Windows NT. Note that the developers typically use NT 4.0 and Windows 2000, and there may possibly be @@ -17,7 +17,7 @@ ============================ 1. You will need Visual C++ V4.0 or later to compile everything. Personally - we have tested V4.0, V4.2, V5.0 and v6.0. + we have tested V4.0, V4.2, V5.0, v6.0 and v7.0/.NET. Note that Visual C++ assumes that the environment variables INCLUDE and LIB are set to specify the location of the includes and libraries. @@ -31,6 +31,9 @@ environment variables automatically set up in the registry, which is generally a good idea. + Visual Studio .NET calls this batch file vsvars32.bat and installs it in + $Installdir\Common7\Tools, but doesn't offer at install time to + automatically set these environment variables up in the registry. 2. Grab the latest XEmacs source from @@ -114,17 +117,17 @@ * Optional libraries ==================== -1. You really want the XPM library. Grab the latest version of the - xpm sources (xpm-3.4k.tar.gz at time of writing) from - ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. - Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the - xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. - -2. You probably also want PNG image support. Grab the latest versions of zlib - and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from - ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read - the respective READMEs for details on how to build them. The following - build procedure works for zlib-1.1.3 and libpng-1.0.2: +1. You really want the XPM library. Grab the latest version of the xpm + sources (xpm-3.4k.tar.gz as of 2002-04-27) from + ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. Copy + nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm + sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. + +2. You probably also want PNG image support. Grab the latest versions of + zlib and libpng (zlib-1.1.4 and libpng-1.0.9 as of 2002-04-27) from + ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read the + respective READMEs for details on how to build them. The following + build procedure works for zlib-1.1.4 and libpng-1.0.9: cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and then type 'nmake'. @@ -133,16 +136,16 @@ and type 'nmake -f scripts\makefile.w32'. 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 - at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack + as of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere. Copy nt\tiff.mak from the xemacs sources to the contrib\winnt subdirectory of the tiff sources, cd to that directory and build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been verified to work under WinNT, not Win95 or 98. However, the latest - distribution of libtiff includes a contrib\win95\makefile.w95; that might - work. + distribution of libtiff includes a contrib\win95\makefile.w95; that + might work. -4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at - time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the +4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as + of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the README for details on how to build it. 5. If you want X-Face support, grab the compface distribution from @@ -238,7 +241,7 @@ XEmacs will be installed (by default) as "c:\Program Files\XEmacs\XEmacs-21.4\i586-pc-win32\xemacs.exe". - To run from the build directory, run the file "nt\xemacs.exe" off of the + To run from the build directory, run the file "src\xemacs.exe" off of the root of the build directory. You may want to create a shortcut to the file from your Desktop or diff --text -u 'xemacs-21.4.8/nt/config.inc.samp' 'xemacs-21.4.9/nt/config.inc.samp' Index: ././nt/config.inc.samp --- ././nt/config.inc.samp Wed May 9 18:53:59 2001 +++ ././nt/config.inc.samp Tue Aug 20 20:36:14 2002 @@ -38,8 +38,8 @@ # Set this to enable PNG support (virtually mandatory), and specify # the directories containing png and zlib. HAVE_PNG=1 -PNG_DIR=c:\src\libpng-1.0.5 -ZLIB_DIR=c:\src\zlib-1.1.3 +PNG_DIR=c:\src\libpng-1.0.9 +ZLIB_DIR=c:\src\zlib # Set this to enable TIFF support, and specify the directory containing tiff. HAVE_TIFF=0 @@ -75,11 +75,7 @@ # Set this to get nmake to use dependency info (requires Perl to be installed) DEPEND=0 -############################################################################ - -# Some technical options. +# Set this to use the portable dumper for dumping the preloaded Lisp +# routines, instead of the older "unexec" routines in unexnt.c. +USE_PORTABLE_DUMPER=1 -USE_MINIMAL_TAGBITS=0 -USE_INDEXED_LRECORD_IMPLEMENTATION=0 -USE_PORTABLE_DUMPER=0 -GUNG_HO=0 diff --text -u 'xemacs-21.4.8/nt/xemacs.mak' 'xemacs-21.4.9/nt/xemacs.mak' Index: ././nt/xemacs.mak --- ././nt/xemacs.mak Wed May 1 01:06:23 2002 +++ ././nt/xemacs.mak Tue Aug 20 20:36:15 2002 @@ -167,18 +167,9 @@ !if !defined(USE_MINITAR) USE_MINITAR=$(HAVE_ZLIB) !endif -!if !defined(USE_MINIMAL_TAGBITS) -USE_MINIMAL_TAGBITS=0 -!endif -!if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION) -USE_INDEXED_LRECORD_IMPLEMENTATION=0 -!endif !if !defined(USE_PORTABLE_DUMPER) USE_PORTABLE_DUMPER=0 !endif -!if !defined(GUNG_HO) -GUNG_HO=0 -!endif # A little bit of adhockery. Default to use system malloc and # DLL version of the C runtime library when using portable @@ -305,14 +296,6 @@ !endif # -# Handle GUNG_HO -# -!if defined(GUNG_HO) -USE_MINIMAL_TAGBITS=$(GUNG_HO) -USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO) -!endif - -# # Whether to use dependency information generated by make-src-depend # !if !defined(DEPEND) @@ -461,12 +444,6 @@ QUICK_DEFINES=-DQUICK_BUILD !endif -!if $(USE_MINIMAL_TAGBITS) -TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS -!endif -!if $(USE_INDEXED_LRECORD_IMPLEMENTATION) -LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION -!endif !if $(USE_UNION_TYPE) UNION_DEFINES=-DUSE_UNION_TYPE !endif @@ -495,8 +472,7 @@ INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(LWLIB_SRCDIR) -DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ - $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ +DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) $(UNION_DEFINES) \ $(DUMPER_DEFINES) $(MALLOC_DEFINES) $(QUICK_DEFINES) \ -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \ -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES) @@ -565,6 +541,11 @@ $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no cd $(NT) +$(LIB_SRC)/winclient.exe: $(LIB_SRC)/winclient.c + cd $(LIB_SRC) + $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** user32.lib -link -incremental:no + cd $(NT) + $(LIB_SRC)/minitar.exe : $(NT)/minitar.c $(CCV) $(CFLAGS) -I$(ZLIB_DIR) -Fe$@ $** $(ZLIB_DIR)\zlib.lib -link -incremental:no @@ -572,6 +553,7 @@ $(LIB_SRC)/etags.exe \ $(LIB_SRC)/hexl.exe \ $(LIB_SRC)/i.exe \ + $(LIB_SRC)/winclient.exe \ $(LIB_SRC)/make-docfile.exe \ $(LIB_SRC)/mmencode.exe \ $(LIB_SRC)/movemail.exe \ @@ -1596,12 +1578,6 @@ WARNING: expense of an additional ~4KB of code. -------------------------------------------------------------------- !endif -!if $(USE_MINIMAL_TAGBITS) - Using minimal tagbits. -!endif -!if $(USE_INDEXED_LRECORD_IMPLEMENTATION) - Using indexed lrecord implementation. -!endif !if $(USE_UNION_TYPE) Using union type for Lisp object storage. !endif diff --text -u 'xemacs-21.4.8/nt/xpm.mak' 'xemacs-21.4.9/nt/xpm.mak' Index: ././nt/xpm.mak --- ././nt/xpm.mak Fri Apr 13 03:23:01 2001 +++ ././nt/xpm.mak Tue Aug 20 20:36:18 2002 @@ -10,7 +10,7 @@ !endif !if !defined(USE_CRTDLL) -USE_CRTDLL=0 +USE_CRTDLL=1 !endif !if $(DEBUG) @@ -67,9 +67,4 @@ mkdir ..\X11 Xpm.lib: $(OBJS) -!if $(USE_CRTDLL) -# Target is ok, link builds lib as a side effect. - link -nologo -dll -def:xpm.def -out:Xpm.dll gdi32.lib $(OBJS) -!else lib -nologo -out:$@ $(OBJS) -!endif diff --text -u 'xemacs-21.4.8/src/ChangeLog' 'xemacs-21.4.9/src/ChangeLog' Index: ././src/ChangeLog --- ././src/ChangeLog Thu May 9 20:27:23 2002 +++ ././src/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,3 +1,426 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-08-19 Andy Piper + + * fileio.c (Ffile_truename): on cygwin using win32 normalize to + win32 format. + + * realpath.c (xrealpath): normalize drive spec also so that dir + sep chars are not mixed on cygwin. + +2002-08-06 Jerry James + + * window.c (Fsplit_window): Count only half of the divider width + against the left window when splitting horizontally. + +2002-06-24 Andy Piper + + * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole + toolbar was cleared. + + * toolbar-msw.c (mswindows_clear_frame_toolbars): new + function. Split out from mswindows_output_frame_toolbars. + (mswindows_output_frame_toolbars): move clear pieces to + mswindows_output_frame_toolbars. + + * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split + out from gtk_output_frame_toolbars. + (gtk_output_frame_toolbars): move clear pieces to + gtk_clear_frame_toolbars. + + * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when + the frame is cleared. How this ever worked before is a mystery. + (x_output_frame_toolbars): Only output toolbars. + (x_clear_frame_toolbars): new. Clear previous toolbar locations. + + * gutter.c (update_gutter_geometry): + Mark frame layout changed. + (update_frame_gutter_geometry, update_frame_gutters): + Respect frame_layout_changed. + + * console.h (struct console_methods): add + clear_frame_toolbars_method. + + * redisplay.c (redisplay_frame): call + update_frame_toolbars_geometry and re-order update_frame_toolbars. + + * toolbar.h: declare update_frame_toolbars_geometry. + + * toolbar.c (update_frame_toolbars_geometry): new function. Split + out from update_frame_toolbars. Call clear_frame_toolbars. + (update_frame_toolbars): only output, do not change geometry. + + * redisplay.c: add frame_layout_changed. + + * redisplay.h: add frame_layout_changed. + (CLASS_RESET_CHANGED_FLAGS): set it. + (GLOBAL_RESET_CHANGED_FLAGS): ditto. + (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it. + (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. + + * device.h (struct device): add frame_layout_changed. + (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new. + + * frame.h (struct frame): add frame_layout_changed. + (MARK_FRAME_LAYOUT_CHANGED): new. + +2002-06-30 Mike Alexander + + * event-msw.c (mswindows_need_event): Don't wait for a new message + if the queue is not empty. Suggested by Paul Moore. + +2002-06-12 Andy Piper + + * frame-msw.c (msprinter_init_frame_3): calculate the frame size + for printing on accurately. + +2002-06-09 Rick Rankin + + * event-msw.c (mswindows_wnd_proc): Add a handler for the + WM_ACTIVATE message. Make sure that the frame is visible if the + window is visible. This seemss to fix the problem where XEmacs + appears to freeze after switching desktops with certain virtual + window managers. + (debug_output_mswin_message): Added code to output message + parameters for WM_WINDOWPOSCHANGED, + WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages. + +2002-05-25 Andy Piper + + * select-x.c (vars_of_select_x): Fix docstring of + x-selection-strict-motif-ownership + +2002-08-14 Stephen J. Turnbull + + * keymap.c (get_keymap): + Add comment about do_autoload GCPROs own args. + +2002-08-14 Stephen J. Turnbull + + * bytecode.c (execute_optimized_program): check_opcode ifdef + ERROR_CHECK_BYTE_CODE. + +2002-08-14 Stephen J. Turnbull + + Thanks to Ben Wing and Michael Sperber. + + * eval.c (Fcommand_execute): + (Feval): + (Ffuncall): + (Fmacroexpand_internal): + (function_argcount): + callint.c (Fcall_interactively): + Add comment about do_autoload GCPROs own args. + + * (do_autoload): GCPRO both args as well as local Lisp_Object. + + * eval.c (Ffuncall): Extra braces to placate GCC. + +2002-08-10 Stephen J. Turnbull + + * backtrace.h (grow_specpdl): + (SPECPDL_RESERVE): + * EmacsFrame.c (EmacsFrameSetValues): + * eval.c (grow_specpdl): + * ExternalShell.c (hack_event_masks_1): + * glyphs-x.c (convert_EImage_to_XImage): + (x_finalize_image_instance): + * ralloc.c (page_size): + (r_alloc_sbrk): + * xgccache.c (gc_cache_hash): + Fix unsigned comparison warnings. + +2002-07-29 Jerry James + + * lread.c (locate_file): Any nonnegative return value indicates + success if MODE is nonnegative. + +2002-08-03 Brian A Palmer + + * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required + argument. + +2002-07-17 Stephen J. Turnbull + + * process-unix.c (unix_send_process): #ifdef the coding_stream member. + + * dumper.c (pdump_get_indirect_count): + (pdump_scan_by_alignment): + (pdump_dump_root_struct_ptrs): + (pdump_dump_rtables): + (pdump_dump_root_objects): + (pdump): + * nas.c (WaveOpenDataForReading): + * fns.c (print_bit_vector): + * font-lock.c (SINGLE_SYNTAX_STYLE): + * glyphs.c (check_for_ignored_expose): + (find_matching_subwindow): + * glyphs-eimage.c: + * imgproc.c (get_histogram): + * redisplay.c (point_in_line_start_cache): + * redisplay-output.c (redisplay_unmap_subwindows): + * symbols.c (defsymbol_massage_name_1): + (defkeyword_massage_name): + (deferror_massage_name_and_message): + * redisplay-x.c (x_output_string): + * emacs.c (run_temacs_argv_size, run_temacs_args_size): + * frame.h (struct frame): + * filelock.c (current_lock_owner): + * doprnt.c (emacs_doprnt_1): + * lisp.h (struct Lisp_Bit_Vector): + (DO_REALLOC): + Fix warnings. + +2002-02-13 Ben Wing + + * event-stream.c (reset_key_echo): + * event-stream.c (reset_this_command_keys): + * event-stream.c (execute_command_event): + If console is dead as a result of C-x 5 0, then post-command stuff + needs to be careful and do only non-console-specific stuff. + +2002-07-01 Mike Sperber + + * process-unix.c (unix_send_process): Mark coding_outstream as + non-open upon SIGPIPE. + + * event-stream.c (Fnext_event): Reorder switch cases to something + that makes sense. + +2001-08-13 Dmitry Astapov + + * event-Xt.c (maybe_define_x_key_as_self_inserting_character): + Don't bogusly reinitialize ascii_character property. + +2002-07-08 Mike Sperber + + * process.c (Fstart_process_internal): Do error checking before we + fork off the child, so the child can't muck with the state of the + parent. + +2002-07-08 Mike Sperber + + * ralloc.c (init_ralloc): Allocate properly for pdump. + +2002-06-12 Andy Piper + + * glyphs.c (query_string_geometry): check the string. + + * glyphs-widget.c (widget_logical_unit_height): cope with nil + widget names. + +2002-06-17 Jerry James + + * sysdll.c: Remove RTLD_GLOBAL initialization. + * sysdll.c (dll_open): Do not use RTLD_GLOBAL. + +2002-06-25 Stephen J. Turnbull + + * search.c (skip_chars): Port Ben's crash fix and efficiency patch. + +2002-05-16 Mathias Grimmberger + + * sysdep.c (sys_rename): Make sys_rename work for the case where + Windows rename sets errno to EACCES if target file exists. + +2002-05-21 Jonathan Harris + + * device-msw.c (mswindows_handle_page_setup_dialog_box): + Fix detection of metric units to work on Win95 + +2002-05-21 Stephen J. Turnbull + + * syswindows.h: #define LOCALE_RETURN_NUMBER. Why, I don't know. + +2002-04-25 Andy Piper + + * redisplay.c (create_text_block): Remove extra comment trailer. + +2002-04-24 Andy Piper + + * redisplay.c (create_text_block): Don't actually add propagation + data if the line ends after we have added a glyph. + +2002-04-22 Andy Piper + + * extents.c (extent_fragment_update): check for glyphs we have + previously displayed. + * extents.c (print_extent_1): warning removal. + * extents.h: change prototype. + * redisplay-output.c (redisplay_normalize_glyph_area): calculate + widths correctly for wide glyphs. + * redisplay.c (position_redisplay_data_type): add end_glyph_width. + * redisplay.c (prop_type): add PROP_GLYPH. + * redisplay.c (struct prop_block): add glyph type + * redisplay.c (add_glyph_rune): when adding part of a glyph add it + to the propagation data. + * redisplay.c (create_text_block): if there is a glyph in the + propagation data use it to salt extent_fragment_update. + * redisplay.c (create_string_text_block): ditto. + +2002-04-13 Nix + + * redisplay.h (struct rune): Add ascent, descent, and yoffset fields. + * redisplay-output.c (compare_runes): Compare them. + * redisplay.c: Update copyright date. + * redisplay.c (pos_data): Add need_baseline_computation field. + * redisplay.c (add_glyph_rune): Update ascent, descent, and + need_baseline_computation; zero yoffset. Set max_pixmap_height + for all pixmaps, not just automatically positioned ones. + * redisplay.c (calculate_yoffset): New, compute yoffset values. + * redisplay.c (calculate_baseline): New, compute textual baseline. + * redisplay.c (add_glyph_rune): Call them. + * redisplay.c (create_text_block): Likewise. + * redisplay.c (create_overlay_glyph_block): Likewise. + * redisplay.c (add_margin_runes): Likewise. + * redisplay.c (create_string_text_block): Likewise. Fix tabdamage. + + * redisplay.h: (redisplay_calculate_display_boxes): Change prototype. + * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset. + * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset. + * redisplay-msw.c (mswindows_output_string): Likewise. + * redisplay-msw.c (mswindows_output_display_block): Pass yoffset. + * redisplay-gtk.c (gtk_output_display_block): Likewise. + * redisplay-x.c (x_output_display_block): Likewise. + +2002-03-28 Ben Wing + + * redisplay.c: Fixed bug in redisplay + w.r.t. hscroll/truncation/continuation glyphs causing jumping up + and down of the lines, since they're bigger than the line + size. (It was seen most obviously when there's a horizontal scroll + bar, e.g. do C-h a glyph or something like that.) The problem was + that the glyph-contrib-p setting on glyphs was ignored even if it + was set properly, which it wasn't until now. + +2002-04-24 Andy Piper + + * lisp.h (Dynarr_end): Fix definition. + +2002-02-06 Adrian Aichner + + * redisplay.c (mark_redisplay): Remove call to + update_frame_window_mirror. + +2001-11-15 Andy Piper + + * win32.c (Fmswindows_shell_execute): fix handling of URL's under + cygwin (again). + +2002-02-13 Andy Piper + + * event-msw.c (mswindows_wnd_proc): only mark the frame visible if + we did in fact enqueue the XM_MAPFRAME event. + +2002-01-15 Adrian Aichner + + * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW + to fix problem switching between virtual desktops under virtuawin + virtual window manager. + +2001-07-30 Adrian Aichner + + * event-msw.c: Typo fix. + * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after + magic XM_MAPFRAME event has been sent. + +2001-11-23 Andy Piper + + * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events. + +2001-11-21 Andy Piper + + * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with + mouse events outside the frame. + +2002-03-20 Andy Piper + + * menubar-msw.c (mswindows_popup_menu): warning removal. + * dialog-msw.c (dialog_popped_down): ditto. + +2001-12-11 Andy Piper + + * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p. + * dialog-msw.c (mswindows_make_dialog_box_internal): set + popup_up_p. + * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto. + * menubar-msw.c (mswindows_handle_wm_command): ditto. + * menubar-msw.c (mswindows_popup_menu): ditto. + +2001-10-29 Andy Piper + + * dialog-msw.c (handle_directory_dialog_box): quit if the user + cancels. + +2002-01-03 Andy Piper + + * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive + letters. + (xrealpath): ditto. + +2002-03-29 Jonathan Harris + + * device-msw.c (plist_get_margin): Add arg specifying mm or inches + * device-msw.c (plist_set_margin): Fix multiplicand used for mm + * device-msw.c (mswindows_handle_page_setup_dialog_box): + Detect and handle case where machine is set up for metric units + +2002-04-02 Andy Piper + + * dired-msw.c (mswindows_get_files): + * nt.c (mswindows_stat): SetErrorMode() so that file errors are + completely handled by XEmacs. Suggested by Thomas Vogler + . + +2001-11-14 Andy Piper + + * nt.c (REG_ROOT): change registry key to XEmacs. + +2002-04-27 Andy Piper + + * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code. + +2002-04-26 Andy Piper + + * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus + behavior. + +2002-03-14 Mike Alexander + + * event-msw.c (mswindows_unwait_process): New, remove process from + wait list + * process-nt.c (nt_finalize_process_data): Call + mswindows_unwait_process + * console-msw.h: Declare mswindows_unwait_process + +2002-05-14 Stephen J. Turnbull + + * editfns.c (Fdecode_time): + (Fformat_time_string): + Check for invalid time. Thanks to Nick Pakoulin . + (make_time): Warning elimination (change arg name). + +2001-11-24 Andy Piper + + * window.c (Fsplit_window): Doc return type. + +2002-04-01 Andy Piper + + * emacs.c (Fkill_emacs): Only output message box in interactive + mode. + +2002-04-26 Andy Piper + + * config.h.in: pull in 21.5.x change to stop alloca warnings under + cygwin. + +2002-03-18 Gregory Steuck + + * unexelf.c: Use ELFSIZE or define from _LP64 to indicate a 64 + bit platform. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/src/EmacsFrame.c' 'xemacs-21.4.9/src/EmacsFrame.c' Index: ././src/EmacsFrame.c --- ././src/EmacsFrame.c Fri Apr 13 03:23:22 2001 +++ ././src/EmacsFrame.c Tue Aug 20 20:36:37 2002 @@ -517,7 +517,7 @@ if (cur->core.width == new->core.width && cur->core.height == new->core.height) { - int i; + Cardinal i; for (i=0; i<*argc; i++) if (strcmp (argv[i].name, XtNwidth) == 0 || strcmp (argv[i].name, XtNheight) == 0) diff --text -u 'xemacs-21.4.8/src/ExternalShell.c' 'xemacs-21.4.9/src/ExternalShell.c' Index: ././src/ExternalShell.c --- ././src/ExternalShell.c Fri Apr 13 03:23:23 2001 +++ ././src/ExternalShell.c Tue Aug 20 20:36:38 2002 @@ -612,7 +612,7 @@ { Window root, parent, *children; unsigned int nchildren; - int i; + unsigned int i; if (!XQueryTree (display, w, &root, &parent, &children, &nchildren)) return; diff --text -u 'xemacs-21.4.8/src/backtrace.h' 'xemacs-21.4.9/src/backtrace.h' Index: ././src/backtrace.h --- ././src/backtrace.h Fri Apr 13 03:23:25 2001 +++ ././src/backtrace.h Tue Aug 20 20:36:38 2002 @@ -147,7 +147,7 @@ /* Most callers should simply use specbind() and unbind_to(), but if speed is REALLY IMPORTANT, you can use the faster macros below */ void specbind_magic (Lisp_Object, Lisp_Object); -void grow_specpdl (size_t reserved); +void grow_specpdl (EMACS_INT reserved); void unbind_to_hairy (int); extern int specpdl_size; @@ -214,8 +214,9 @@ } while (0) /* Request enough room for SIZE future entries on special binding stack */ +/* SR_size will typically be compared to an unsigned short */ #define SPECPDL_RESERVE(size) do { \ - size_t SR_size = (size); \ + EMACS_INT SR_size = (size); \ if (specpdl_depth() + SR_size >= specpdl_size) \ grow_specpdl (SR_size); \ } while (0) diff --text -u 'xemacs-21.4.8/src/bytecode.c' 'xemacs-21.4.9/src/bytecode.c' Index: ././src/bytecode.c --- ././src/bytecode.c Fri Apr 13 03:23:26 2001 +++ ././src/bytecode.c Tue Aug 20 20:36:39 2002 @@ -211,6 +211,7 @@ typedef unsigned char Opbyte; +static void check_opcode (Opcode opcode); static void invalid_byte_code_error (char *error_message, ...); Lisp_Object * execute_rare_opcode (Lisp_Object *stack_ptr, @@ -637,6 +638,7 @@ invalid_byte_code_error ("byte code stack overflow"); if (stack_ptr < stack_beg) invalid_byte_code_error ("byte code stack underflow"); + check_opcode (opcode); #endif #ifdef BYTE_CODE_METER diff --text -u 'xemacs-21.4.8/src/callint.c' 'xemacs-21.4.9/src/callint.c' Index: ././src/callint.c --- ././src/callint.c Tue Oct 23 17:35:30 2001 +++ ././src/callint.c Tue Aug 20 20:36:41 2002 @@ -307,8 +307,9 @@ if (EQ (funcar, Qautoload)) { - struct gcpro gcpro1, gcpro2; - GCPRO2 (function, prefix); + struct gcpro gcpro1; + GCPRO1 (prefix); + /* do_autoload GCPROs both arguments */ do_autoload (fun, function); UNGCPRO; goto retry; diff --text -u 'xemacs-21.4.8/src/config.h.in' 'xemacs-21.4.9/src/config.h.in' Index: ././src/config.h.in --- ././src/config.h.in Wed Jul 25 16:45:22 2001 +++ ././src/config.h.in Tue Aug 20 20:36:42 2002 @@ -32,7 +32,12 @@ #undef HAVE_ALLOCA_H #ifndef NOT_C_CODE -#ifdef __GNUC__ +#if defined (__CYGWIN__) +/* We get complaints about redefinitions if we just use the __GNUC__ + definition: stdlib.h also includes alloca.h, which defines it slightly + differently */ +#include +#elif defined (__GNUC__) #define alloca __builtin_alloca #elif defined __DECC #include diff --text -u 'xemacs-21.4.8/src/console-msw.h' 'xemacs-21.4.9/src/console-msw.h' Index: ././src/console-msw.h --- ././src/console-msw.h Wed Jul 25 16:45:22 2001 +++ ././src/console-msw.h Tue Aug 20 20:36:43 2002 @@ -342,6 +342,8 @@ HANDLE get_nt_process_handle (Lisp_Process *p); #endif +void mswindows_unwait_process (Lisp_Process *p); + extern Lisp_Object Vmswindows_frame_being_created; extern Lisp_Object mswindows_frame_being_created; diff --text -u 'xemacs-21.4.8/src/console.h' 'xemacs-21.4.9/src/console.h' Index: ././src/console.h --- ././src/console.h Tue Oct 23 17:35:30 2001 +++ ././src/console.h Tue Aug 20 20:36:44 2002 @@ -281,6 +281,7 @@ #ifdef HAVE_TOOLBARS /* toolbar methods */ void (*output_frame_toolbars_method) (struct frame *); + void (*clear_frame_toolbars_method) (struct frame *); void (*initialize_frame_toolbars_method) (struct frame *); void (*free_frame_toolbars_method) (struct frame *); void (*output_toolbar_button_method) (struct frame *, Lisp_Object); diff --text -u 'xemacs-21.4.8/src/device-msw.c' 'xemacs-21.4.9/src/device-msw.c' Index: ././src/device-msw.c --- ././src/device-msw.c Tue Oct 23 17:35:30 2001 +++ ././src/device-msw.c Tue Aug 20 20:36:45 2002 @@ -809,20 +809,20 @@ } static int -plist_get_margin (Lisp_Object plist, Lisp_Object prop) +plist_get_margin (Lisp_Object plist, Lisp_Object prop, int mm_p) { Lisp_Object val = Fplist_get (plist, prop, make_int (mswindows_get_default_margin (prop))); if (!INTP (val)) invalid_argument ("Margin value must be an integer", val); - return MulDiv (XINT (val), 100, 144); + return MulDiv (XINT (val), mm_p ? 254 : 100, 144); } static Lisp_Object plist_set_margin (Lisp_Object plist, Lisp_Object prop, int margin, int mm_p) { - Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 2450 : 100)); + Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 254 : 100)); return Fcons (prop, Fcons (val, plist)); } @@ -866,15 +866,21 @@ { Lisp_Devmode *ldm = decode_devmode (device); PAGESETUPDLG pd; + TCHAR measure[2]; + int data; + + GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_IMEASURE, + measure, sizeof(measure)); + data = (strcmp (measure, "0")); memset (&pd, 0, sizeof (pd)); pd.lStructSize = sizeof (pd); pd.hwndOwner = mswindows_get_selected_frame_hwnd (); pd.Flags = PSD_MARGINS; - pd.rtMargin.left = plist_get_margin (plist, Qleft_margin); - pd.rtMargin.top = plist_get_margin (plist, Qtop_margin); - pd.rtMargin.right = plist_get_margin (plist, Qright_margin); - pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin); + pd.rtMargin.left = plist_get_margin (plist, Qleft_margin, !data); + pd.rtMargin.top = plist_get_margin (plist, Qtop_margin, !data); + pd.rtMargin.right = plist_get_margin (plist, Qright_margin, !data); + pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin, !data); pd.hDevMode = devmode_to_hglobal (ldm); if (!PageSetupDlg (&pd)) diff --text -u 'xemacs-21.4.8/src/device.h' 'xemacs-21.4.9/src/device.h' Index: ././src/device.h --- ././src/device.h Tue Oct 23 17:35:31 2001 +++ ././src/device.h Tue Aug 20 20:36:46 2002 @@ -167,6 +167,8 @@ unsigned int extents_changed :1; unsigned int faces_changed :1; unsigned int frame_changed :1; + unsigned int frame_layout_changed :1; /* The layout of frame + elements has changed. */ unsigned int glyphs_changed :1; unsigned int subwindows_changed :1; unsigned int subwindows_state_changed :1; @@ -425,6 +427,9 @@ #define MARK_DEVICE_FRAME_CHANGED(d) \ ((void) (frame_changed = (d)->frame_changed = 1)) +#define MARK_DEVICE_FRAME_LAYOUT_CHANGED(d) \ + ((void) (frame_layout_changed = (d)->frame_layout_changed = 1)) + #define MARK_DEVICE_WINDOWS_CHANGED(d) \ ((void) (windows_changed = (d)->windows_changed = 1)) diff --text -u 'xemacs-21.4.8/src/dialog-msw.c' 'xemacs-21.4.9/src/dialog-msw.c' Index: ././src/dialog-msw.c --- ././src/dialog-msw.c Mon Dec 17 14:49:23 2001 +++ ././src/dialog-msw.c Tue Aug 20 20:36:47 2002 @@ -285,6 +285,14 @@ return arg; } +/* Unwind protection decrements dialog count */ +static Lisp_Object +dialog_popped_down (Lisp_Object arg) +{ + popup_up_p--; + return Qnil; +} + #define ALIGN_TEMPLATE \ { \ @@ -434,12 +442,13 @@ pMalloc->lpVtbl->Free(pMalloc, pidl); pMalloc->lpVtbl->Release(pMalloc); return ret; - } + } else if (pd.unknown_fname != 0) { ret = tstr_to_local_file_format (pd.unknown_fname); xfree(pd.unknown_fname); } - + else while (1) + signal_quit (); } else signal_type_error (Qdialog_box_error, @@ -791,16 +800,21 @@ mswindows_make_dialog_box_internal (struct frame* f, Lisp_Object type, Lisp_Object keys) { + int unbind_count = specpdl_depth (); + record_unwind_protect (dialog_popped_down, Qnil); + popup_up_p++; + if (EQ (type, Qfile)) - return handle_file_dialog_box (f, keys); + return unbind_to (unbind_count, handle_file_dialog_box (f, keys)); else if (EQ (type, Qdirectory)) - return handle_directory_dialog_box (f, keys); + return unbind_to (unbind_count, handle_directory_dialog_box (f, keys)); else if (EQ (type, Qquestion)) - return handle_question_dialog_box (f, keys); + return unbind_to (unbind_count, handle_question_dialog_box (f, keys)); else if (EQ (type, Qprint)) - return mswindows_handle_print_dialog_box (f, keys); + return unbind_to (unbind_count, mswindows_handle_print_dialog_box (f, keys)); else if (EQ (type, Qpage_setup)) - return mswindows_handle_page_setup_dialog_box (f, keys); + return unbind_to (unbind_count, + mswindows_handle_page_setup_dialog_box (f, keys)); else signal_type_error (Qunimplemented, "Dialog box type", type); return Qnil; diff --text -u 'xemacs-21.4.8/src/dired-msw.c' 'xemacs-21.4.9/src/dired-msw.c' Index: ././src/dired-msw.c --- ././src/dired-msw.c Wed Jul 25 16:45:24 2001 +++ ././src/dired-msw.c Tue Aug 20 20:36:48 2002 @@ -173,6 +173,7 @@ int findex, len; char win32pattern[MAXNAMLEN+3]; HANDLE fh; + int errm; /* * Much of the following code and comments were taken from dired.c. @@ -214,6 +215,8 @@ */ findex = 0; fh = INVALID_HANDLE_VALUE; + errm = SetErrorMode (SEM_FAILCRITICALERRORS + | SEM_NOOPENFILEERRORBOX); while (1) { @@ -226,6 +229,7 @@ fh = FindFirstFile(win32pattern, &files[findex]); if (fh == INVALID_HANDLE_VALUE) { + SetErrorMode (errm); report_file_error ("Opening directory", list1(build_string(dirfile))); } @@ -239,6 +243,7 @@ break; } FindClose(fh); + SetErrorMode (errm); report_file_error ("Reading directory", list1(build_string(dirfile))); } @@ -277,6 +282,8 @@ *nfiles = findex; break; } + + SetErrorMode (errm); return (files); } diff --text -u 'xemacs-21.4.8/src/doprnt.c' 'xemacs-21.4.9/src/doprnt.c' Index: ././src/doprnt.c --- ././src/doprnt.c Fri Apr 13 03:23:35 2001 +++ ././src/doprnt.c Tue Aug 20 20:36:49 2002 @@ -598,7 +598,8 @@ char *text_to_print = alloca_array (char, 32 + max (spec->minwidth, - max (sizeof (double), sizeof (long)) * 3 + + (EMACS_INT) + max (sizeof (double), sizeof (long)) * 3 + max (spec->precision, 0))); char constructed_spec[100]; char *p = constructed_spec; diff --text -u 'xemacs-21.4.8/src/dumper.c' 'xemacs-21.4.9/src/dumper.c' Index: ././src/dumper.c --- ././src/dumper.c Fri Apr 13 03:23:35 2001 +++ ././src/dumper.c Tue Aug 20 20:36:50 2002 @@ -414,7 +414,7 @@ const struct lrecord_description *idesc, const void *idata) { - EMACS_INT count; + EMACS_INT count = 0; /* initialize to shut up GCC */ const void *irdata; int line = XD_INDIRECT_VAL (code); @@ -818,7 +818,7 @@ for (align = ALIGNOF (max_align_t); align; align>>=1) { - int i; + size_t i; pdump_entry_list_elt *elt; for (i=0; itm_sec); list_args[1] = make_int (decoded_time->tm_min); list_args[2] = make_int (decoded_time->tm_hour); @@ -1179,10 +1180,10 @@ /* from GNU Emacs 21, per Simon Josefsson, modified by stephen The slight inefficiency is justified since negative times are weird. */ Lisp_Object -make_time (time_t time) +make_time (time_t tval) { - return list2 (make_int (time < 0 ? time / 0x10000 : time >> 16), - make_int (time & 0xFFFF)); + return list2 (make_int (tval < 0 ? tval / 0x10000 : tval >> 16), + make_int (tval & 0xFFFF)); } DEFUN ("encode-time", Fencode_time, 6, MANY, 0, /* diff --text -u 'xemacs-21.4.8/src/emacs.c' 'xemacs-21.4.9/src/emacs.c' Index: ././src/emacs.c --- ././src/emacs.c Tue Oct 23 17:35:31 2001 +++ ././src/emacs.c Tue Aug 20 20:36:55 2002 @@ -467,8 +467,8 @@ static int run_temacs_argc; static char **run_temacs_argv; static char *run_temacs_args; -static size_t run_temacs_argv_size; -static size_t run_temacs_args_size; +static EMACS_INT run_temacs_argv_size; +static EMACS_INT run_temacs_args_size; static void shut_down_emacs (int sig, Lisp_Object stuff, int no_auto_save); @@ -2862,10 +2862,13 @@ #ifdef HAVE_MS_WINDOWS /* If we displayed a message on the console, then we must allow the - user to see this message. This may be unnecessary, but can't hurt, - and we can't necessarily check arg; e.g. xemacs --help kills with - argument 0. */ - if (mswindows_message_outputted) + user to see this message. This may be unnecessary, but can't + hurt, and we can't necessarily check arg; e.g. xemacs --help + kills with argument 0. + + Don't do this in batch mode, it makes no sense and is more + annoying than useful. --andyp */ + if (mswindows_message_outputted && !noninteractive) Fmswindows_message_box (build_string ("Messages outputted. XEmacs is exiting."), Qnil, Qnil); #endif @@ -3194,7 +3197,7 @@ /* Ben thinks this function should not exist or be exported to Lisp. We use it to define split-path-string in subr.el (not!). */ -DEFUN ("split-string-by-char", Fsplit_string_by_char, 1, 2, 0, /* +DEFUN ("split-string-by-char", Fsplit_string_by_char, 2, 2, 0, /* Split STRING into a list of substrings originally separated by SEPCHAR. */ (string, sepchar)) diff --text -u 'xemacs-21.4.8/src/eval.c' 'xemacs-21.4.9/src/eval.c' Index: ././src/eval.c --- ././src/eval.c Wed Jul 25 16:45:24 2001 +++ ././src/eval.c Tue Aug 20 20:36:57 2002 @@ -1236,6 +1236,7 @@ if (EQ (tem, Qt) || EQ (tem, Qmacro)) { /* Yes, load it and try again. */ + /* do_autoload GCPROs both arguments */ do_autoload (def, sym); continue; } @@ -2952,7 +2953,10 @@ { final = indirect_function (cmd, 1); if (CONSP (final) && EQ (Fcar (final), Qautoload)) - do_autoload (final, cmd); + { + /* do_autoload GCPROs both arguments */ + do_autoload (final, cmd); + } else break; } @@ -3135,10 +3139,10 @@ /* This function can GC */ int speccount = specpdl_depth(); Lisp_Object fun = funname; - struct gcpro gcpro1, gcpro2; + struct gcpro gcpro1, gcpro2, gcpro3; CHECK_SYMBOL (funname); - GCPRO2 (fun, funname); + GCPRO3 (fun, funname, fundef); /* Value saved here is to be restored into Vautoload_queue */ record_unwind_protect (un_autoload, Vautoload_queue); @@ -3401,6 +3405,7 @@ if (EQ (funcar, Qautoload)) { + /* do_autoload GCPROs both arguments */ do_autoload (fun, original_fun); goto retry; } @@ -3458,6 +3463,7 @@ } +/* #### Why is Feval so anal about GCPRO, Ffuncall so cavalier? */ DEFUN ("funcall", Ffuncall, 1, MANY, 0, /* Call first argument as a function, passing the remaining arguments to it. Thus, (funcall 'cons 'x 'y) returns (x . y). @@ -3525,7 +3531,10 @@ if (fun_nargs == max_args) /* Optimize for the common case */ { funcall_subr: - FUNCALL_SUBR (val, subr, fun_args, max_args); + { + /* The "extra" braces placate GCC 2.95.4. */ + FUNCALL_SUBR (val, subr, fun_args, max_args); + } } else if (fun_nargs < subr->min_args) { @@ -3572,6 +3581,7 @@ } else if (EQ (funcar, Qautoload)) { + /* do_autoload GCPROs both arguments */ do_autoload (fun, args[0]); goto retry; } @@ -3650,11 +3660,8 @@ } else if (EQ (funcar, Qautoload)) { - struct gcpro gcpro1; - - GCPRO1 (function); + /* do_autoload GCPROs both arguments */ do_autoload (function, orig_function); - UNGCPRO; function = orig_function; goto retry; } @@ -4788,9 +4795,9 @@ #define min_max_specpdl_size 400 void -grow_specpdl (size_t reserved) +grow_specpdl (EMACS_INT reserved) { - size_t size_needed = specpdl_depth() + reserved; + EMACS_INT size_needed = specpdl_depth() + reserved; if (size_needed >= max_specpdl_size) { if (max_specpdl_size < min_max_specpdl_size) diff --text -u 'xemacs-21.4.8/src/event-Xt.c' 'xemacs-21.4.9/src/event-Xt.c' Index: ././src/event-Xt.c --- ././src/event-Xt.c Fri Apr 13 03:23:40 2001 +++ ././src/event-Xt.c Tue Aug 20 20:37:01 2002 @@ -310,9 +310,11 @@ { extern Lisp_Object Vcurrent_global_map; extern Lisp_Object Qascii_character; - Fput (symbol, Qascii_character, character); - if (NILP (Flookup_key (Vcurrent_global_map, symbol, Qnil))) - Fdefine_key (Vcurrent_global_map, symbol, Qself_insert_command); + if (NILP (Flookup_key (Vcurrent_global_map, symbol, Qnil))) + { + Fput (symbol, Qascii_character, character); + Fdefine_key (Vcurrent_global_map, symbol, Qself_insert_command); + } } } diff --text -u 'xemacs-21.4.8/src/event-msw.c' 'xemacs-21.4.9/src/event-msw.c' Index: ././src/event-msw.c --- ././src/event-msw.c Mon Dec 17 14:49:24 2001 +++ ././src/event-msw.c Tue Aug 20 20:37:03 2002 @@ -186,7 +186,7 @@ exists. For example, "start notepad" command is issued from the shell, then the shell is closed by C-c C-d. Although the shell process exits, its output pipe will not get closed until the - notepad process exits also, because it inherits the pipe form the + notepad process exits also, because it inherits the pipe from the shell. In this case, we abandon the thread, and let it live until all such processes exit. While struct ntpipe_slurp_stream is deallocated in this case, ntpipe_slurp_stream_shared_data are not. */ @@ -1149,6 +1149,21 @@ } #endif /* HAVE_MSG_SELECT */ +/* + * Given a lisp process pointer remove the corresponding process handle + * from mswindows_waitable_handles if it is in it. Normally the handle is + * removed when the process terminates, but if the lisp process structure + * is deleted before the process terminates we must delete the process + * handle since it will be invalid and will cause the wait to fail + */ +void +mswindows_unwait_process (Lisp_Process *p) +{ +#ifndef HAVE_MSG_SELECT + remove_waitable_handle (get_nt_process_handle (p)); +#endif /* HAVE_MSG_SELECT */ +} + /************************************************************************/ /* Event pump */ @@ -1494,6 +1509,8 @@ #else /* Now try getting a message or process event */ DWORD what_events; + MSG msg; + if (mswindows_in_modal_loop) /* In a modal loop, only look for timer events, and only if we really need one. */ @@ -1507,10 +1524,23 @@ /* Look for any event */ what_events = QS_ALLINPUT; - active = MsgWaitForMultipleObjects (mswindows_waitable_count, - mswindows_waitable_handles, - FALSE, badly_p ? INFINITE : 0, - what_events); + /* This fixes a long outstanding bug, where XEmacs would occasionally + * not redraw its window (or process other events) until "something + * happened" - usually the mouse moving over a frame. + * + * The problem is that MsgWaitForMultipleObjects only checks to see + * if NEW messages have been placed into the thread queue. So we + * specifically check to see if the queue is empty (using PeekMessage + * with the PM_NOREMOVE flag) before we wait. + */ + if (what_events == QS_ALLINPUT && badly_p && + PeekMessage (&msg, 0, 0, 0, PM_NOREMOVE)) + active = WAIT_OBJECT_0 + mswindows_waitable_count; + else + active = MsgWaitForMultipleObjects (mswindows_waitable_count, + mswindows_waitable_handles, + FALSE, badly_p ? INFINITE : 0, + what_events); /* This will assert if handle being waited for becomes abandoned. Not the case currently tho */ @@ -1526,10 +1556,10 @@ else if (active == WAIT_OBJECT_0 + mswindows_waitable_count) { /* Got your message, thanks */ - if (mswindows_in_modal_loop) - mswindows_need_event_in_modal_loop (badly_p); - else - mswindows_drain_windows_queue (); + if (mswindows_in_modal_loop) + mswindows_need_event_in_modal_loop (badly_p); + else + mswindows_drain_windows_queue (); } else { @@ -2619,6 +2649,70 @@ mswindows_handle_paint (XFRAME (mswindows_find_frame (hwnd))); break; + case WM_ACTIVATE: + { + /* + * If we receive a WM_ACTIVATE message that indicates that our frame + * is being activated, make sure that the frame is marked visible + * if the window itself is visible. This seems to fix the problem + * where XEmacs appears to lock-up after switching desktops with + * some virtual window managers. + */ + int state = (int)(short) LOWORD(wParam); +#ifdef DEBUG_XEMACS + if (debug_mswindows_events) + stderr_out("state = %d\n", state); +#endif /* DEBUG_XEMACS */ + if (state == WA_ACTIVE || state == WA_CLICKACTIVE) + { +#ifdef DEBUG_XEMACS + if (debug_mswindows_events) + stderr_out(" activating\n"); +#endif /* DEBUG_XEMACS */ + + fobj = mswindows_find_frame (hwnd); + frame = XFRAME (fobj); + if (IsWindowVisible (hwnd)) + { +#ifdef DEBUG_XEMACS + if (debug_mswindows_events) + stderr_out(" window is visible\n"); +#endif /* DEBUG_XEMACS */ + if (!FRAME_VISIBLE_P (frame)) + { +#ifdef DEBUG_XEMACS + if (debug_mswindows_events) + stderr_out(" frame is not visible\n"); +#endif /* DEBUG_XEMACS */ + /* + * It seems that we have to enqueue the XM_MAPFRAME event + * prior to setting the frame visible so that + * suspend-or-iconify-emacs works properly. + */ + mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME); + FRAME_VISIBLE_P (frame) = 1; + FRAME_ICONIFIED_P (frame) = 0; + } +#ifdef DEBUG_XEMACS + else + { + if (debug_mswindows_events) + stderr_out(" frame is visible\n"); + } +#endif /* DEBUG_XEMACS */ + } +#ifdef DEBUG_XEMACS + else + { + if (debug_mswindows_events) + stderr_out(" window is not visible\n"); + } +#endif /* DEBUG_XEMACS */ + } + return DefWindowProc (hwnd, message_, wParam, lParam); + } + break; + case WM_WINDOWPOSCHANGED: /* This is sent before WM_SIZE; in fact, the processing of this by DefWindowProc() sends WM_SIZE. But WM_SIZE is not sent when @@ -2634,7 +2728,11 @@ } else if (IsWindowVisible (hwnd)) { - FRAME_VISIBLE_P (frame) = 1; + /* APA: It's too early here to set the frame visible. + * Let's do this later, in WM_SIZE processing, after the + * magic XM_MAPFRAME event has been sent (just like 21.1 + * did). */ + /* FRAME_VISIBLE_P (frame) = 1; */ FRAME_ICONIFIED_P (frame) = 0; } else @@ -2646,6 +2744,30 @@ return DefWindowProc (hwnd, message_, wParam, lParam); } + case WM_SHOWWINDOW: + /* + The WM_SHOWWINDOW message is sent to a window when the window + is about to be hidden or shown. + APA: This message is also sent when switching to a virtual + desktop under the virtuawin virtual window manager. + + */ + { + fobj = mswindows_find_frame (hwnd); + frame = XFRAME (fobj); + if (wParam == TRUE) + { + mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME); + FRAME_VISIBLE_P (frame) = 1; + } + else + { + mswindows_enqueue_magic_event (hwnd, XM_UNMAPFRAME); + FRAME_VISIBLE_P (frame) = 0; + } + } + break; + case WM_SIZE: /* We only care about this message if our size has really changed */ if (wParam==SIZE_RESTORED || wParam==SIZE_MAXIMIZED || wParam==SIZE_MINIMIZED) @@ -2698,7 +2820,13 @@ else { if (!msframe->sizing && !FRAME_VISIBLE_P (frame)) - mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME); + { + mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME); + /* APA: Now that the magic XM_MAPFRAME event has + * been sent we can mark the frame as visible (just + * like 21.1 did). */ + FRAME_VISIBLE_P (frame) = 1; + } if (!msframe->sizing || mswindows_dynamic_frame_resize) redisplay (); @@ -2821,20 +2949,14 @@ { int keys = LOWORD (wParam); /* Modifier key flags */ int delta = (short) HIWORD (wParam); /* Wheel rotation amount */ - struct gcpro gcpro1, gcpro2; if (mswindows_handle_mousewheel_event (mswindows_find_frame (hwnd), keys, delta, MAKEPOINTS (lParam))) - { - GCPRO2 (emacs_event, fobj); - if (UNBOUNDP(mswindows_pump_outstanding_events ())) /* Can GC */ - SendMessage (hwnd, WM_CANCELMODE, 0, 0); - UNGCPRO; - } + /* We are not in a modal loop so no pumping is necessary. */ + break; else goto defproc; - break; } #endif @@ -3984,6 +4106,25 @@ stderr_out (" wparam=%d lparam=%d hwnd=%x frame: ", wParam, (int) lParam, (unsigned int) hwnd); debug_print (frame); + if (message_ == WM_WINDOWPOSCHANGED || + message_ == WM_WINDOWPOSCHANGING) + { + WINDOWPOS *wp = (WINDOWPOS *) lParam; + stderr_out(" WINDOWPOS: x=%d, y=%d, h=%d, w=%d\n", + wp->x, wp->y, wp->cx, wp->cy); + } + else if (message_ == WM_MOVE) + { + int x = (int)(short) LOWORD(lParam); /* horizontal position */ + int y = (int)(short) HIWORD(lParam); /* vertical position */ + stderr_out(" MOVE: x=%d, y=%d\n", x, y); + } + else if (message_ == WM_SIZE) + { + int w = (int)(short) LOWORD(lParam); /* width */ + int h = (int)(short) HIWORD(lParam); /* height */ + stderr_out(" SIZE: w=%d, h=%d\n", w, h); + } } else stderr_out ("\n"); diff --text -u 'xemacs-21.4.8/src/event-stream.c' 'xemacs-21.4.9/src/event-stream.c' Index: ././src/event-stream.c --- ././src/event-stream.c Mon Dec 17 14:49:25 2001 +++ ././src/event-stream.c Tue Aug 20 20:37:07 2002 @@ -701,7 +701,8 @@ /* This function can GC */ struct frame *f = selected_frame (); - command_builder->echo_buf_index = -1; + if (command_builder) + command_builder->echo_buf_index = -1; if (remove_echo_area_echo) clear_echo_area (f, Qcommand, 0); @@ -2203,8 +2204,6 @@ switch (XEVENT_TYPE (event)) { - default: - goto RETURN; case button_release_event: case misc_user_event: /* don't echo menu accelerator keys */ @@ -2214,6 +2213,8 @@ goto STORE_AND_EXECUTE_KEY; case key_press_event: /* any key input can trigger autosave */ break; + default: + goto RETURN; } maybe_do_auto_save (); @@ -3504,16 +3505,24 @@ void reset_this_command_keys (Lisp_Object console, int clear_echo_area_p) { - struct command_builder *command_builder = - XCOMMAND_BUILDER (XCONSOLE (console)->command_builder); + if (!NILP (console)) + { + /* console is nil if we just deleted the console as a result of C-x 5 + 0. Unfortunately things are currently in a messy situation where + some stuff is console-local and other stuff isn't, so we need to + do everything that's not console-local. */ + struct command_builder *command_builder = + XCOMMAND_BUILDER (XCONSOLE (console)->command_builder); - reset_key_echo (command_builder, clear_echo_area_p); + reset_key_echo (command_builder, clear_echo_area_p); + reset_current_events (command_builder); + } + else + reset_key_echo (0, clear_echo_area_p); deallocate_event_chain (Vthis_command_keys); Vthis_command_keys = Qnil; Vthis_command_keys_tail = Qnil; - - reset_current_events (command_builder); } static void @@ -3917,7 +3926,8 @@ post_command_hook (); - if (!NILP (con->prefix_arg)) + /* Console might have been deleted by command */ + if (CONSOLE_LIVE_P (con) && !NILP (con->prefix_arg)) { /* Commands that set the prefix arg don't update last-command, don't reset the echoing state, and don't go into keyboard macros unless @@ -3946,7 +3956,8 @@ so we don't either */ if (!is_scrollbar_event (event)) - reset_this_command_keys (make_console (con), 0); + reset_this_command_keys (CONSOLE_LIVE_P (con) ? make_console (con) + : Qnil, 0); } } diff --text -u 'xemacs-21.4.8/src/extents.c' 'xemacs-21.4.9/src/extents.c' Index: ././src/extents.c --- ././src/extents.c Mon Apr 16 18:24:51 2001 +++ ././src/extents.c Tue Aug 20 20:37:10 2002 @@ -2753,9 +2753,10 @@ face_index extent_fragment_update (struct window *w, struct extent_fragment *ef, - Bytind pos) + Bytind pos, Lisp_Object last_glyph) { int i; + int seen_glyph = NILP (last_glyph) ? 1 : 0; Extent_List *sel = buffer_or_string_stack_of_extents_force (ef->object)->extents; EXTENT lhe = 0; @@ -2796,11 +2797,15 @@ if (extent_start (e) == mempos && !NILP (extent_begin_glyph (e))) { Lisp_Object glyph = extent_begin_glyph (e); - struct glyph_block gb; - - gb.glyph = glyph; - XSETEXTENT (gb.extent, e); - Dynarr_add (ef->begin_glyphs, gb); + if (seen_glyph) { + struct glyph_block gb; + + gb.glyph = glyph; + XSETEXTENT (gb.extent, e); + Dynarr_add (ef->begin_glyphs, gb); + } + else if (EQ (glyph, last_glyph)) + seen_glyph = 1; } } @@ -2811,11 +2816,15 @@ if (extent_end (e) == mempos && !NILP (extent_end_glyph (e))) { Lisp_Object glyph = extent_end_glyph (e); - struct glyph_block gb; + if (seen_glyph) { + struct glyph_block gb; - gb.glyph = glyph; - XSETEXTENT (gb.extent, e); - Dynarr_add (ef->end_glyphs, gb); + gb.glyph = glyph; + XSETEXTENT (gb.extent, e); + Dynarr_add (ef->end_glyphs, gb); + } + else if (EQ (glyph, last_glyph)) + seen_glyph = 1; } } @@ -2950,9 +2959,9 @@ if (extent_detached_p (ext)) strcpy (bp, "detached"); else - sprintf (bp, "%ld, %ld", - (long) XINT (Fextent_start_position (obj)), - (long) XINT (Fextent_end_position (obj))); + sprintf (bp, "%d, %d", + XINT (Fextent_start_position (obj)), + XINT (Fextent_end_position (obj))); bp += strlen (bp); *bp++ = (extent_end_open_p (anc) ? ')': ']'); if (!NILP (extent_end_glyph (anc))) *bp++ = '*'; diff --text -u 'xemacs-21.4.8/src/extents.h' 'xemacs-21.4.9/src/extents.h' Index: ././src/extents.h --- ././src/extents.h Fri Apr 13 03:23:43 2001 +++ ././src/extents.h Tue Aug 20 20:37:12 2002 @@ -328,7 +328,7 @@ face_index extent_fragment_update (struct window *w, struct extent_fragment *ef, /* Note this is in Bytinds */ - Bytind pos); + Bytind pos, Lisp_Object last_glyph); void extent_fragment_delete (struct extent_fragment *ef); diff --text -u 'xemacs-21.4.8/src/fileio.c' 'xemacs-21.4.9/src/fileio.c' Index: ././src/fileio.c --- ././src/fileio.c Wed May 1 01:06:34 2002 +++ ././src/fileio.c Thu Aug 22 19:58:30 2002 @@ -1335,7 +1335,23 @@ TO_EXTERNAL_FORMAT (LISP_STRING, expanded_name, ALLOCA, (path, elen), Qfile_name); + +#if defined(WIN32_FILENAMES) && defined(CYGWIN) + /* When using win32 filenames in cygwin we want file-truename to + detect that c:/windows == /windows for example. */ + if ((IS_DIRECTORY_SEP (path[0]) + && (elen == 1 || !IS_DIRECTORY_SEP (path[1]))) + || (isalpha (path[0]) + && (elen == 1 || !IS_DEVICE_SEP (path[1])))) { + int ltwff2 = + cygwin_posix_to_win32_path_list_buf_size (path); + p = (Bufbyte *) alloca (ltwff2); + cygwin_posix_to_win32_path_list (path, p); + path = p; + } +#endif p = path; + if (elen > MAXPATHLEN) goto toolong; diff --text -u 'xemacs-21.4.8/src/filelock.c' 'xemacs-21.4.9/src/filelock.c' Index: ././src/filelock.c --- ././src/filelock.c Fri Apr 13 03:23:45 2001 +++ ././src/filelock.c Tue Aug 20 20:37:14 2002 @@ -225,7 +225,7 @@ if (STRINGP (Fsystem_name ()) && strcmp (owner->host, (char *) XSTRING_DATA (Fsystem_name ())) == 0) { - if (owner->pid == getpid ()) + if (owner->pid == (unsigned long) getpid ()) ret = 2; /* We own it. */ else if (owner->pid > 0 && (kill (owner->pid, 0) >= 0 || errno == EPERM)) diff --text -u 'xemacs-21.4.8/src/fns.c' 'xemacs-21.4.9/src/fns.c' Index: ././src/fns.c --- ././src/fns.c Wed May 1 01:06:38 2002 +++ ././src/fns.c Tue Aug 20 20:37:15 2002 @@ -73,7 +73,7 @@ size_t last = len; if (INTP (Vprint_length)) - last = min (len, XINT (Vprint_length)); + last = min ((EMACS_INT) len, XINT (Vprint_length)); write_c_string ("#*", printcharfun); for (i = 0; i < last; i++) { diff --text -u 'xemacs-21.4.8/src/font-lock.c' 'xemacs-21.4.9/src/font-lock.c' Index: ././src/font-lock.c --- ././src/font-lock.c Fri Apr 13 03:23:46 2001 +++ ././src/font-lock.c Tue Aug 20 20:37:18 2002 @@ -405,12 +405,14 @@ comment_style_b : \ comment_style_none) +/* GCC 2.95.4 seems to need the cast */ #define SINGLE_SYNTAX_STYLE(c) \ + ((enum comment_style) \ (SYNTAX_CODE_MATCHES_1CHAR_P (c, SYNTAX_COMMENT_STYLE_A) ? \ comment_style_a : \ SYNTAX_CODE_MATCHES_1CHAR_P (c, SYNTAX_COMMENT_STYLE_B) ? \ comment_style_b : \ - comment_style_none) + comment_style_none)) /* Set up context_cache for position PT in BUF. */ diff --text -u 'xemacs-21.4.8/src/frame-msw.c' 'xemacs-21.4.9/src/frame-msw.c' Index: ././src/frame-msw.c --- ././src/frame-msw.c Wed May 9 18:54:06 2001 +++ ././src/frame-msw.c Tue Aug 20 20:37:19 2002 @@ -827,36 +827,38 @@ { DOCINFO di; struct device *device = XDEVICE (FRAME_DEVICE (f)); - HDC hdc; int frame_left, frame_top, frame_width, frame_height; /* DC might be recreated in msprinter_apply_devmode, so do not initialize until now */ - hdc = DEVICE_MSPRINTER_HDC (device); - - /* Compute geometry properties */ - frame_left = (MulDiv (GetDeviceCaps (hdc, LOGPIXELSX), - FRAME_MSPRINTER_LEFT_MARGIN(f), 1440) - - GetDeviceCaps (hdc, PHYSICALOFFSETX)); + HDC hdc = DEVICE_MSPRINTER_HDC (device); + int logpixelsx = GetDeviceCaps (hdc, LOGPIXELSX); + int logpixelsy = GetDeviceCaps (hdc, LOGPIXELSY); + int physicaloffsetx = GetDeviceCaps (hdc, PHYSICALOFFSETX); + int physicaloffsety = GetDeviceCaps (hdc, PHYSICALOFFSETY); + int physicalheight = GetDeviceCaps (hdc, PHYSICALHEIGHT); + int physicalwidth = GetDeviceCaps (hdc, PHYSICALWIDTH); + + /* Compute geometry properties. + Conversion is from TWIPS -> inches -> pixels. */ + frame_left = MulDiv (logpixelsx, FRAME_MSPRINTER_LEFT_MARGIN(f), 1440) + - physicaloffsetx; if (FRAME_MSPRINTER_CHARWIDTH(f) > 0) { char_to_real_pixel_size (f, FRAME_MSPRINTER_CHARWIDTH(f), 0, &frame_width, NULL); FRAME_MSPRINTER_RIGHT_MARGIN(f) = - MulDiv (GetDeviceCaps (hdc, PHYSICALWIDTH) - - (frame_left + frame_width), 1440, - GetDeviceCaps (hdc, LOGPIXELSX)); + MulDiv (physicalwidth - (frame_left + frame_width), 1440, + logpixelsx); } else - frame_width = (GetDeviceCaps (hdc, PHYSICALWIDTH) - - frame_left - - MulDiv (GetDeviceCaps (hdc, LOGPIXELSX), - FRAME_MSPRINTER_RIGHT_MARGIN(f), 1440)); - - frame_top = (MulDiv (GetDeviceCaps (hdc, LOGPIXELSY), - FRAME_MSPRINTER_TOP_MARGIN(f), 1440) - - GetDeviceCaps (hdc, PHYSICALOFFSETY)); + frame_width = physicalwidth - frame_left + - MulDiv (logpixelsx, FRAME_MSPRINTER_RIGHT_MARGIN(f), 1440) + - physicaloffsetx; + + frame_top = MulDiv (logpixelsy, FRAME_MSPRINTER_TOP_MARGIN(f), 1440) + - physicaloffsety; if (FRAME_MSPRINTER_CHARHEIGHT(f) > 0) { @@ -864,15 +866,13 @@ NULL, &frame_height); FRAME_MSPRINTER_BOTTOM_MARGIN(f) = - MulDiv (GetDeviceCaps (hdc, PHYSICALHEIGHT) - - (frame_top + frame_height), 1440, - GetDeviceCaps (hdc, LOGPIXELSY)); + MulDiv (physicalheight - (frame_top + frame_height), 1440, + logpixelsy); } else - frame_height = (GetDeviceCaps (hdc, PHYSICALHEIGHT) - - frame_top - - MulDiv (GetDeviceCaps (hdc, LOGPIXELSY), - FRAME_MSPRINTER_BOTTOM_MARGIN(f), 1440)); + frame_height = physicalheight - frame_top + - MulDiv (logpixelsy, FRAME_MSPRINTER_BOTTOM_MARGIN(f), 1440) + - physicaloffsety; /* Geometry sanity checks */ if (!frame_pixsize_valid_p (f, frame_width, frame_height)) diff --text -u 'xemacs-21.4.8/src/frame.h' 'xemacs-21.4.9/src/frame.h' Index: ././src/frame.h --- ././src/frame.h Fri Apr 13 03:23:47 2001 +++ ././src/frame.h Tue Aug 20 20:37:20 2002 @@ -110,13 +110,13 @@ /* Size of toolbars as seen by redisplay. This is used to determine whether to re-layout windows by a call to change_frame_size early in redisplay_frame. */ - unsigned int current_toolbar_size[4]; + int current_toolbar_size[4]; #endif /* Size of gutters as seen by redisplay. This is used to determine whether to re-layout windows by a call to change_frame_size early in redisplay_frame. */ - unsigned int current_gutter_bounds[4]; + int current_gutter_bounds[4]; /* Dynamic arrays of display lines for gutters */ display_line_dynarr *current_display_lines[4]; @@ -188,6 +188,8 @@ unsigned int extents_changed :1; unsigned int faces_changed :1; unsigned int frame_changed :1; + unsigned int frame_layout_changed :1; /* The layout of frame + elements has changed. */ unsigned int subwindows_changed :1; unsigned int subwindows_state_changed :1; unsigned int glyphs_changed :1; @@ -457,6 +459,19 @@ frame_changed = 1; \ } while (0) +#define MARK_FRAME_LAYOUT_CHANGED(f) do { \ + struct frame *mfc_f = (f); \ + mfc_f->frame_layout_changed = 1; \ + mfc_f->modiff++; \ + if (!NILP (mfc_f->device)) \ + { \ + struct device *mfc_d = XDEVICE (mfc_f->device); \ + MARK_DEVICE_FRAME_LAYOUT_CHANGED (mfc_d); \ + } \ + else \ + frame_layout_changed = 1; \ +} while (0) + #define MARK_FRAME_WINDOWS_CHANGED(f) do { \ struct frame *mfwc_f = (f); \ mfwc_f->windows_changed = 1; \ diff --text -u 'xemacs-21.4.8/src/glyphs-eimage.c' 'xemacs-21.4.9/src/glyphs-eimage.c' Index: ././src/glyphs-eimage.c --- ././src/glyphs-eimage.c Tue Oct 23 17:35:33 2001 +++ ././src/glyphs-eimage.c Tue Aug 20 20:37:21 2002 @@ -234,7 +234,7 @@ if (!src) { return; - } else if (num_bytes > src->bytes_in_buffer) + } else if (num_bytes > (long) src->bytes_in_buffer) { ERREXIT(cinfo, JERR_INPUT_EOF); /*NOTREACHED*/ @@ -444,7 +444,7 @@ */ while (cinfo.output_scanline < cinfo.output_height) { - int i; + unsigned int i; /* jpeg_read_scanlines expects an array of pointers to scanlines. * Here the array is only one element long, but you could ask for @@ -568,7 +568,7 @@ { gif_memory_storage *mem = (gif_memory_storage*)data; - if (size > (mem->len - mem->index)) + if ((ssize_t) size > (mem->len - mem->index)) return (size_t) -1; memcpy(buf, mem->bytes + mem->index, size); mem->index = mem->index + size; @@ -785,7 +785,7 @@ struct png_memory_storage *tbr = (struct png_memory_storage *) png_get_io_ptr (png_ptr); - if (length > (tbr->len - tbr->index)) + if ((ssize_t) length > (tbr->len - tbr->index)) png_error (png_ptr, (png_const_charp) "Read Error"); memcpy (data,tbr->bytes + tbr->index,length); tbr->index = tbr->index + length; @@ -1277,7 +1277,7 @@ raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32)); if (raster != NULL) { - int i,j; + unsigned int i,j; uint32 *rp; ep = unwind.eimage; rp = raster; diff --text -u 'xemacs-21.4.8/src/glyphs-msw.c' 'xemacs-21.4.9/src/glyphs-msw.c' Index: ././src/glyphs-msw.c --- ././src/glyphs-msw.c Tue Oct 23 17:35:34 2001 +++ ././src/glyphs-msw.c Tue Aug 20 20:37:22 2002 @@ -2276,6 +2276,16 @@ 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW | SWP_NOCOPYBITS | SWP_NOACTIVATE); + + /* Doing this once does not seem to be enough, for instance when + mapping the search dialog this gets called four times. If we + only set on the first time through then the subwindow never + gets focus as intended. However, doing this everytime doesn't + seem so bad, after all we only need to redo this after the + focus changes - and if that happens resetting the initial + focus doesn't seem so bad. */ + if (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS (p)) + SetFocus (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p)); #endif } } @@ -2588,11 +2598,6 @@ SendMessage (wnd, WM_SETFONT, (WPARAM) mswindows_widget_hfont (ii, domain), MAKELPARAM (TRUE, 0)); -#if 0 - /* #### doesn't work. need to investigate more closely. */ - if (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS (ii)) - SetFocus (wnd); -#endif } /* Instantiate a native layout widget. */ diff --text -u 'xemacs-21.4.8/src/glyphs-x.c' 'xemacs-21.4.9/src/glyphs-x.c' Index: ././src/glyphs-x.c --- ././src/glyphs-x.c Tue Oct 23 17:35:34 2001 +++ ././src/glyphs-x.c Tue Aug 20 20:37:24 2002 @@ -231,7 +231,8 @@ if (vis->class == PseudoColor) { unsigned long pixarray[256]; - int pixcount, n; + int pixcount; + unsigned int n; /* use our quantize table to allocate the colors */ pixcount = 32; *pixtbl = xnew_array (unsigned long, pixcount); @@ -432,7 +433,7 @@ } else { - int i; + unsigned int i; if (IMAGE_INSTANCE_PIXMAP_TIMEOUT (p)) disable_glyph_animated_timeout (IMAGE_INSTANCE_PIXMAP_TIMEOUT (p)); diff --text -u 'xemacs-21.4.8/src/glyphs.c' 'xemacs-21.4.9/src/glyphs.c' Index: ././src/glyphs.c --- ././src/glyphs.c Fri Apr 13 03:23:52 2001 +++ ././src/glyphs.c Tue Aug 20 20:37:27 2002 @@ -2270,6 +2270,8 @@ struct face_cachel *cachel; Lisp_Object frame = DOMAIN_FRAME (domain); + CHECK_STRING (string); + /* Compute height */ if (height) { @@ -4421,9 +4423,9 @@ we have to check for overlaps. Being conservative, we will check for exposures wholly contained by the subwindow - this might give us what we want.*/ - if (ei->x <= x && ei->y <= y - && ei->x + ei->width >= x + width - && ei->y + ei->height >= y + height) + if (ei->x <= (unsigned) x && ei->y <= (unsigned) y + && ei->x + ei->width >= (unsigned) (x + width) + && ei->y + ei->height >= (unsigned) (y + height)) { #ifdef DEBUG_WIDGETS stderr_out ("ignored %d+%d, %dx%d for exposure %d+%d, %dx%d\n", @@ -4491,15 +4493,15 @@ if (IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (ii) && - IMAGE_INSTANCE_DISPLAY_X (ii) <= x + IMAGE_INSTANCE_DISPLAY_X (ii) <= (unsigned) x && - IMAGE_INSTANCE_DISPLAY_Y (ii) <= y + IMAGE_INSTANCE_DISPLAY_Y (ii) <= (unsigned) y && IMAGE_INSTANCE_DISPLAY_X (ii) - + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) >= x + width + + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) >= (unsigned) (x + width) && IMAGE_INSTANCE_DISPLAY_Y (ii) - + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) >= y + height) + + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) >= (unsigned) (y + height)) { return 1; } diff --text -u 'xemacs-21.4.8/src/gutter.c' 'xemacs-21.4.9/src/gutter.c' Index: ././src/gutter.c --- ././src/gutter.c Fri Apr 13 03:23:55 2001 +++ ././src/gutter.c Tue Aug 20 20:37:31 2002 @@ -585,6 +585,7 @@ pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f), &width, &height); change_frame_size (f, height, width, 0); + MARK_FRAME_LAYOUT_CHANGED (f); } /* Mark sizes as up-to-date. */ @@ -594,7 +595,9 @@ void update_frame_gutter_geometry (struct frame *f) { - if (f->gutter_changed || f->windows_structure_changed) + if (f->gutter_changed + || f->frame_layout_changed + || f->windows_structure_changed) { enum gutter_pos pos; @@ -616,7 +619,7 @@ f->gutter_changed || f->glyphs_changed || f->size_changed || f->subwindows_changed || f->windows_changed || f->windows_structure_changed || - f->extents_changed) + f->extents_changed || f->frame_layout_changed) { enum gutter_pos pos; diff --text -u 'xemacs-21.4.8/src/imgproc.c' 'xemacs-21.4.9/src/imgproc.c' Index: ././src/imgproc.c --- ././src/imgproc.c Fri Apr 13 03:23:56 2001 +++ ././src/imgproc.c Tue Aug 20 20:37:32 2002 @@ -50,7 +50,7 @@ { register unsigned char *inptr; register int red, green, blue; - register unsigned int j, i; + register int j, i; box->rmin = box->gmin = box->bmin = 999; box->rmax = box->gmax = box->bmax = -1; diff --text -u 'xemacs-21.4.8/src/keymap.c' 'xemacs-21.4.9/src/keymap.c' Index: ././src/keymap.c --- ././src/keymap.c Wed May 1 01:06:41 2002 +++ ././src/keymap.c Tue Aug 20 20:37:32 2002 @@ -1015,10 +1015,8 @@ && EQ (XCAR (tem), Qautoload) && EQ (Fcar (Fcdr (Fcdr (Fcdr (Fcdr (tem))))), Qkeymap)) { - struct gcpro gcpro1, gcpro2; - GCPRO2 (tem, object); + /* do_autoload GCPROs both arguments */ do_autoload (tem, object); - UNGCPRO; } else if (errorp) object = wrong_type_argument (Qkeymapp, object); diff --text -u 'xemacs-21.4.8/src/lisp.h' 'xemacs-21.4.9/src/lisp.h' Index: ././src/lisp.h --- ././src/lisp.h Mon Dec 17 14:49:26 2001 +++ ././src/lisp.h Tue Aug 20 20:37:34 2002 @@ -71,7 +71,7 @@ #define Dynarr_at(d, pos) ((d)->base[pos]) #define Dynarr_atp(d, pos) (&Dynarr_at (d, pos)) #define Dynarr_begin(d) Dynarr_atp (d, 0) -#define Dynarr_end(d) Dynarr_atp (d, Dynarr_length (d)) +#define Dynarr_end(d) Dynarr_atp (d, Dynarr_length (d) - 1) #define Dynarr_sizeof(d) ((d)->cur * (d)->elsize) #define Dynarr_length(d) ((d)->cur) #define Dynarr_largest(d) ((d)->largest) @@ -136,7 +136,7 @@ least NEEDED_SIZE objects. The reallocing is done by doubling, which ensures constant amortized time per element. */ #define DO_REALLOC(basevar, sizevar, needed_size, type) do { \ - size_t do_realloc_needed_size = (needed_size); \ + EMACS_INT do_realloc_needed_size = (needed_size); \ if ((sizevar) < do_realloc_needed_size) \ { \ if ((sizevar) < 32) \ @@ -1277,7 +1277,7 @@ { struct lrecord_header lheader; Lisp_Object next; - size_t size; + EMACS_INT size; unsigned long bits[1]; }; typedef struct Lisp_Bit_Vector Lisp_Bit_Vector; diff --text -u 'xemacs-21.4.8/src/lread.c' 'xemacs-21.4.9/src/lread.c' Index: ././src/lread.c --- ././src/lread.c Tue Oct 23 17:35:35 2001 +++ ././src/lread.c Mon Aug 12 23:56:39 2002 @@ -1186,7 +1186,7 @@ MODE nonnegative means don't open the files, just look for one for which access(file,MODE) succeeds. In this case, - returns 1 on success. + returns a nonnegative value on success. On failure, returns -1. If STOREPTR is nonzero, it points to a slot where the name of the file actually found should be stored as a Lisp string. diff --text -u 'xemacs-21.4.8/src/menubar-msw.c' 'xemacs-21.4.9/src/menubar-msw.c' Index: ././src/menubar-msw.c --- ././src/menubar-msw.c Fri Apr 13 03:24:01 2001 +++ ././src/menubar-msw.c Tue Aug 20 20:37:40 2002 @@ -821,8 +821,7 @@ breaks customize because the misc_event gets eval'ed in some circumstances. Don't change it back unless you can fix the customize problem also.*/ - enqueue_misc_user_event (frame, fn, arg); - mswindows_enqueue_magic_event (NULL, XM_BUMPQUEUE); + mswindows_enqueue_misc_user_event (frame, fn, arg); UNGCPRO; /* data */ return Qt; @@ -916,6 +915,8 @@ eev = NULL; } + popup_up_p++; + /* Default is to put the menu at the point (10, 10) in frame */ if (eev) { @@ -931,6 +932,8 @@ CHECK_CONS (menu_desc); CHECK_STRING (XCAR (menu_desc)); + menu_cleanup (f); + current_menudesc = menu_desc; current_hash_table = make_lisp_hash_table (10, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL); @@ -949,7 +952,15 @@ DestroyMenu (menu); - /* Signal a signal if caught by Track...() modal loop */ + /* A WM_COMMAND is not issued until TrackPopupMenu returns. This + makes setting popup_up_p fairly pointless since we cannot keep + the menu up and dispatch events. Furthermore, we seem to have + little control over what happens to the menu when we click. */ + popup_up_p--; + + /* Signal a signal if caught by Track...() modal loop. */ + /* I think this is pointless, the code hasn't actually put us in a + modal loop at this time -- andyp. */ mswindows_unmodalize_signal_maybe (); /* This is probably the only real reason for failure */ diff --text -u 'xemacs-21.4.8/src/nas.c' 'xemacs-21.4.9/src/nas.c' Index: ././src/nas.c --- ././src/nas.c Fri Apr 13 03:24:06 2001 +++ ././src/nas.c Tue Aug 20 20:37:42 2002 @@ -884,7 +884,7 @@ fileSize = PAD2(ck.ckSize) - sizeof(RIFF_FOURCC); - while (fileSize >= sizeof(RiffChunk)) + while (fileSize >= (AuInt32) sizeof(RiffChunk)) { if (!readChunk(&ck)) Err(); diff --text -u 'xemacs-21.4.8/src/nt.c' 'xemacs-21.4.9/src/nt.c' Index: ././src/nt.c --- ././src/nt.c Tue Oct 23 17:35:35 2001 +++ ././src/nt.c Tue Aug 20 20:37:43 2002 @@ -506,7 +506,7 @@ } #endif /* 0 */ -#define REG_ROOT "SOFTWARE\\GNU\\XEmacs" +#define REG_ROOT "SOFTWARE\\XEmacs\\XEmacs" LPBYTE nt_get_resource (char *key, LPDWORD lpdwtype) @@ -1474,6 +1474,7 @@ int permission; int len; int rootdir = FALSE; + int errm; if (path == NULL || buf == NULL) { @@ -1496,13 +1497,16 @@ rootdir = (path >= name + len - 1 && (IS_DIRECTORY_SEP (*path) || *path == 0)); name = strcpy ((char *)alloca (len + 2), name); - + errm = SetErrorMode (SEM_FAILCRITICALERRORS + | SEM_NOOPENFILEERRORBOX); if (rootdir) { if (!IS_DIRECTORY_SEP (name[len-1])) strcat (name, "\\"); + if (GetDriveType (name) < 2) { + SetErrorMode (errm); errno = ENOENT; return -1; } @@ -1532,14 +1536,15 @@ } else { - fh = FindFirstFile (name, &wfd); - if (fh == INVALID_HANDLE_VALUE) - { - errno = ENOENT; - return -1; + fh = FindFirstFile (name, &wfd); + if (fh == INVALID_HANDLE_VALUE) + { + SetErrorMode (errm); + errno = ENOENT; + return -1; + } + FindClose (fh); } - FindClose (fh); - } } if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) @@ -1585,6 +1590,7 @@ } else { + SetErrorMode (errm); errno = EACCES; return -1; } @@ -1597,6 +1603,8 @@ fake_inode = 0; } + SetErrorMode (errm); + #if 0 /* Not sure if there is any point in this. */ if (!NILP (Vwin32_generate_fake_inodes)) diff --text -u 'xemacs-21.4.8/src/process-nt.c' 'xemacs-21.4.9/src/process-nt.c' Index: ././src/process-nt.c --- ././src/process-nt.c Tue Oct 23 17:35:35 2001 +++ ././src/process-nt.c Tue Aug 20 20:37:45 2002 @@ -642,6 +642,9 @@ nt_finalize_process_data (Lisp_Process *p, int for_disksave) { assert (!for_disksave); + /* If it's still in the list of processes we are waiting on delete + it. */ + mswindows_unwait_process (p); if (NT_DATA (p)->h_process) CloseHandle (NT_DATA (p)->h_process); } diff --text -u 'xemacs-21.4.8/src/process-unix.c' 'xemacs-21.4.9/src/process-unix.c' Index: ././src/process-unix.c --- ././src/process-unix.c Tue Oct 23 17:35:35 2001 +++ ././src/process-unix.c Tue Aug 20 20:37:46 2002 @@ -1331,12 +1331,15 @@ /* #### There is controversy over whether this might cause fd leakage */ /* my tests say no. -slb */ XLSTREAM (p->pipe_outstream)->flags &= ~LSTREAM_FL_IS_OPEN; +#ifdef FILE_CODING + XLSTREAM (p->coding_outstream)->flags &= ~LSTREAM_FL_IS_OPEN; +#endif p->status_symbol = Qexit; p->exit_code = 256; /* #### SIGPIPE ??? */ p->core_dumped = 0; p->tick++; process_tick++; - deactivate_process (*((Lisp_Object *) (&vol_proc))); + deactivate_process (vol_proc); invalid_operation ("SIGPIPE raised on process; closed it", p->name); } diff --text -u 'xemacs-21.4.8/src/process.c' 'xemacs-21.4.9/src/process.c' Index: ././src/process.c --- ././src/process.c Thu May 9 17:46:04 2002 +++ ././src/process.c Tue Aug 20 20:37:48 2002 @@ -573,6 +573,7 @@ /* !!#### This function has not been Mule-ized */ Lisp_Object buffer, name, program, process, current_dir; Lisp_Object tem; + int i; int speccount = specpdl_depth (); struct gcpro gcpro1, gcpro2, gcpro3; @@ -589,6 +590,8 @@ CHECK_STRING (name); CHECK_STRING (program); + for (i = 3; i < nargs; ++i) + CHECK_STRING (args[i]); /* Make sure that the child will be able to chdir to the current buffer's current directory, or its unhandled equivalent. We diff --text -u 'xemacs-21.4.8/src/ralloc.c' 'xemacs-21.4.9/src/ralloc.c' Index: ././src/ralloc.c --- ././src/ralloc.c Fri Apr 13 03:24:12 2001 +++ ././src/ralloc.c Tue Aug 20 20:37:50 2002 @@ -103,7 +103,7 @@ static POINTER break_value; /* This is the size of a page. We round memory requests to this boundary. */ -static int page_size; +static size_t page_size; /* Whenever we get memory from the system, get this many extra bytes. This must be a multiple of page_size. */ @@ -889,7 +889,7 @@ } else /* size < 0 */ { - size_t excess = (char *)first_heap->bloc_start + EMACS_INT excess = (char *)first_heap->bloc_start - ((char *)virtual_break_value + size); address = virtual_break_value; @@ -2022,6 +2022,10 @@ if (r_alloc_initialized > 1) return; /* used to return 1 */ +#ifdef PDUMP + /* Under pdump, we need to activate ralloc on the first go. */ + ++r_alloc_initialized; +#endif if (++r_alloc_initialized == 1) return; /* used to return 1 */ diff --text -u 'xemacs-21.4.8/src/realpath.c' 'xemacs-21.4.9/src/realpath.c' Index: ././src/realpath.c --- ././src/realpath.c Fri Apr 13 03:24:13 2001 +++ ././src/realpath.c Thu Aug 22 19:58:34 2002 @@ -40,6 +40,10 @@ #include /* for S_IFLNK */ +#if defined(WIN32_NATIVE) || defined(CYGWIN) +#define WIN32_FILENAMES +#endif + /* First char after start of absolute filename. */ #define ABS_START(name) (name + ABS_LENGTH (name)) @@ -51,8 +55,13 @@ # define system_readlink win32_readlink #else # ifdef CYGWIN -# define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? \ - (IS_DIRECTORY_SEP (name[1]) ? 2 : 1) : 0) +# ifdef WIN32_FILENAMES +# define ABS_LENGTH(name) (win32_abs_start (name)) +static int win32_abs_start (const char * name); +# else +# define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? \ + (IS_DIRECTORY_SEP (name[1]) ? 2 : 1) : 0) +# endif # define system_readlink cygwin_readlink # else # define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? 1 : 0) @@ -149,7 +158,7 @@ } #endif /* CYGWIN */ -#ifdef WIN32_NATIVE +#ifdef WIN32_FILENAMES #ifndef ELOOP #define ELOOP 10062 /* = WSAELOOP in winsock.h */ #endif @@ -203,17 +212,30 @@ path = copy_path; max_path = copy_path + PATH_MAX - 2; -#ifdef WIN32_NATIVE + if (0) + ; +#ifdef WIN32_FILENAMES /* Check for c:/... or //server/... */ - if (abslen == 2 || abslen == 3) + else if (abslen == 3 || abslen == 2) { - strncpy (new_path, path, abslen); /* Make sure drive letter is lowercased. */ - if (abslen == 3) - *new_path = tolower (*new_path); - new_path += abslen; - path += abslen; + if (abslen == 3) { + *new_path = tolower (*path); + new_path++; + path++; + abslen--; + } + /* Coerce directory chars. */ + while (abslen-- > 0) { + if (IS_DIRECTORY_SEP (*path)) + *new_path++ = DIRECTORY_SEP; + else + *new_path++ = *path; + path++; + } } +#endif +#ifdef WIN32_NATIVE /* No drive letter, but a beginning slash? Prepend drive letter. */ else if (abslen == 1) { @@ -222,7 +244,7 @@ path++; } /* Just a path name, prepend the current directory */ - else + else if (1) { getcwd (new_path, PATH_MAX - 1); new_path += strlen (new_path); @@ -231,7 +253,7 @@ } #else /* If it's a relative pathname use getcwd for starters. */ - if (abslen == 0) + else if (abslen == 0) { getcwd (new_path, PATH_MAX - 1); new_path += strlen (new_path); diff --text -u 'xemacs-21.4.8/src/redisplay-gtk.c' 'xemacs-21.4.9/src/redisplay-gtk.c' Index: ././src/redisplay-gtk.c --- ././src/redisplay-gtk.c Tue Oct 23 17:35:35 2001 +++ ././src/redisplay-gtk.c Tue Aug 20 20:37:52 2002 @@ -421,8 +421,8 @@ struct display_box dbox; struct display_glyph_area dga; redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, - start_pixpos, rb->width, - &dbox, &dga); + rb->object.dglyph.yoffset ,start_pixpos, + rb->width, &dbox, &dga); XSETWINDOW (window, w); instance = glyph_image_instance (rb->object.dglyph.glyph, diff --text -u 'xemacs-21.4.8/src/redisplay-msw.c' 'xemacs-21.4.9/src/redisplay-msw.c' Index: ././src/redisplay-msw.c --- ././src/redisplay-msw.c Fri Apr 13 03:24:14 2001 +++ ././src/redisplay-msw.c Tue Aug 20 20:37:55 2002 @@ -309,6 +309,7 @@ struct display_glyph_area dga; redisplay_calculate_display_boxes (dl, rb->xpos, /*rb->object.dglyph.xoffset*/ 0, + /*rb->object.dglyph.yoffset*/ 0, start_pixpos, rb->width, &db, &dga); /* blank the background in the appropriate color */ @@ -512,7 +513,7 @@ { struct display_box db; struct display_glyph_area dga; - redisplay_calculate_display_boxes (dl, xpos + xoffset, 0, + redisplay_calculate_display_boxes (dl, xpos + xoffset, 0, 0, clip_start, width, &db, &dga); /* blank the background in the appropriate color */ mswindows_update_dc (hdc, @@ -1165,8 +1166,8 @@ struct display_glyph_area dga; redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, - start_pixpos, rb->width, - &dbox, &dga); + rb->object.dglyph.yoffset, + start_pixpos, rb->width, &dbox, &dga); XSETWINDOW (window, w); instance = glyph_image_instance (rb->object.dglyph.glyph, diff --text -u 'xemacs-21.4.8/src/redisplay-output.c' 'xemacs-21.4.9/src/redisplay-output.c' Index: ././src/redisplay-output.c --- ././src/redisplay-output.c Tue Oct 23 17:35:37 2001 +++ ././src/redisplay-output.c Tue Aug 20 20:37:57 2002 @@ -230,7 +230,10 @@ else if (crb->type == RUNE_DGLYPH && (!EQ (crb->object.dglyph.glyph, drb->object.dglyph.glyph) || !EQ (crb->object.dglyph.extent, drb->object.dglyph.extent) || - crb->object.dglyph.xoffset != drb->object.dglyph.xoffset)) + crb->object.dglyph.xoffset != drb->object.dglyph.xoffset || + crb->object.dglyph.yoffset != drb->object.dglyph.yoffset || + crb->object.dglyph.ascent != drb->object.dglyph.ascent || + crb->object.dglyph.descent != drb->object.dglyph.descent)) return 0; /* Only check dirtiness if we know something has changed. */ else if (crb->type == RUNE_DGLYPH && @@ -1174,14 +1177,14 @@ if (IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (ii) && IMAGE_INSTANCE_DISPLAY_X (ii) - + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) > x + + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) > (unsigned) x && - IMAGE_INSTANCE_DISPLAY_X (ii) < x + width + IMAGE_INSTANCE_DISPLAY_X (ii) < (unsigned) (x + width) && IMAGE_INSTANCE_DISPLAY_Y (ii) - + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) > y + + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) > (unsigned) y && - IMAGE_INSTANCE_DISPLAY_Y (ii) < y + height + IMAGE_INSTANCE_DISPLAY_Y (ii) < (unsigned) (y + height) && !EQ (XCAR (rest), ignored_window)) { @@ -1549,10 +1552,24 @@ dga->height = IMAGE_INSTANCE_PIXMAP_HEIGHT (p); dga->width = IMAGE_INSTANCE_PIXMAP_WIDTH (p); +#ifdef DEBUG_REDISPLAY + printf ("redisplay_output_pixmap(request) \ +[%dx%d@%d+%d] in [%dx%d@%d+%d]\n", + db->width, db->height, db->xpos, db->ypos, + dga->width, dga->height, dga->xoffset, dga->yoffset); +#endif + /* This makes the glyph area fit into the display area. */ if (!redisplay_normalize_glyph_area (db, dga)) return; +#ifdef DEBUG_REDISPLAY + printf ("redisplay_output_pixmap(normalized) \ +[%dx%d@%d+%d] in [%dx%d@%d+%d]\n", + db->width, db->height, db->xpos, db->ypos, + dga->width, dga->height, dga->xoffset, dga->yoffset); +#endif + /* Clear the area the pixmap is going into. The pixmap itself will always take care of the full width. We don't want to clear where it is going to go in order to avoid flicker. So, all we have to @@ -1746,7 +1763,28 @@ redisplay_normalize_glyph_area redisplay_normalize_display_box - Calculate the visible box for displaying src in dest. + Calculate the visible box for displaying glyphsrc in dest. + + display_box and display_glyph_area are used to represent an area to + displayed and where to display it. Using these two structures all + combinations of clipping and position can be accommodated. + + dest - display_box + + xpos - absolute horizontal position of area. + + ypos - absolute vertical position of area. + + glyphsrc - display_glyph_area + + xoffset - horizontal offset of the glyph, +ve means display + the glyph with the x position offset by xoffset, -ve means + display starting xoffset into the glyph. + + yoffset - vertical offset of the glyph, +ve means display the + glyph with y position offset by yoffset, -ve means display + starting xoffset into the glyph. + ****************************************************************************/ int redisplay_normalize_glyph_area (struct display_box* dest, @@ -1774,28 +1812,51 @@ return 0; } - /* Horizontal offsets. This works because xoffset can be -ve as well as +ve */ + /* Horizontal offsets. This works because xoffset can be -ve as well + as +ve. When we enter this function the glyphsrc width and + height are set to the actual glyph width and height irrespective + of how much can be displayed. We are trying to clip both the + offset into the image and the rightmost bounding box. Its + possible for the glyph width to be much larger than the area we + are displaying into (e.g. a large glyph in a small frame). */ if (dest->xpos + glyphsrc->xoffset + glyphsrc->width > dest->xpos + dest->width) { + /* glyphsrc offset is +ve we are trying to display offset from the + origin (the bounding box contains some space and then the + glyph). At most the width we want to display is dest->width - + glyphsrc->xoffset. */ if (glyphsrc->xoffset > 0) glyphsrc->width = dest->width - glyphsrc->xoffset; + /* glyphsrc offset is -ve we are trying to display hard up + against the dest corner inset into the glyphsrc by + xoffset.*/ + else if (glyphsrc->xoffset < 0) + { + glyphsrc->width += glyphsrc->xoffset; + glyphsrc->width = min (glyphsrc->width, dest->width); + } else glyphsrc->width = dest->width; } - if (glyphsrc->xoffset < 0) + else if (glyphsrc->xoffset < 0) glyphsrc->width += glyphsrc->xoffset; /* Vertical offsets. This works because yoffset can be -ve as well as +ve */ if (dest->ypos + glyphsrc->yoffset + glyphsrc->height > dest->ypos + dest->height) { - if (glyphsrc->yoffset > 0) + if ((glyphsrc->yoffset > 0) && (dest->height > glyphsrc->yoffset)) glyphsrc->height = dest->height - glyphsrc->yoffset; + else if (glyphsrc->yoffset < 0) + { + glyphsrc->height += glyphsrc->yoffset; + glyphsrc->height = min (glyphsrc->height, dest->height); + } else glyphsrc->height = dest->height; } - if (glyphsrc->yoffset < 0) + else if (glyphsrc->yoffset < 0) glyphsrc->height += glyphsrc->yoffset; return 1; @@ -1880,8 +1941,8 @@ ****************************************************************************/ int redisplay_calculate_display_boxes (struct display_line *dl, int xpos, - int xoffset, int start_pixpos, int width, - struct display_box* dest, + int xoffset, int yoffset, int start_pixpos, + int width, struct display_box* dest, struct display_glyph_area* src) { dest->xpos = xpos; @@ -1890,10 +1951,11 @@ dest->height = DISPLAY_LINE_HEIGHT (dl); src->xoffset = -xoffset; - src->yoffset = -dl->top_clip; src->width = 0; src->height = 0; + src->yoffset = -dl->top_clip + yoffset; + if (start_pixpos >=0 && start_pixpos > xpos) { /* Oops, we're asking for a start outside of the displayable diff --text -u 'xemacs-21.4.8/src/redisplay-x.c' 'xemacs-21.4.9/src/redisplay-x.c' Index: ././src/redisplay-x.c --- ././src/redisplay-x.c Tue Oct 23 17:35:37 2001 +++ ././src/redisplay-x.c Tue Aug 20 20:37:59 2002 @@ -439,11 +439,12 @@ Lisp_Object instance; struct display_box dbox; struct display_glyph_area dga; + redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, - start_pixpos, rb->width, - &dbox, &dga); + rb->object.dglyph.yoffset, start_pixpos, + rb->width, &dbox, &dga); - XSETWINDOW (window, w); + XSETWINDOW (window, w); instance = glyph_image_instance (rb->object.dglyph.glyph, window, ERROR_ME_NOT, 1); findex = rb->findex; @@ -971,7 +972,8 @@ /* We draw underlines in the same color as the text. */ if (cachel->underline) { - unsigned long upos, uthick; + long upos; + long uthick; XFontStruct *xfont; xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)); diff --text -u 'xemacs-21.4.8/src/redisplay.c' 'xemacs-21.4.9/src/redisplay.c' Index: ././src/redisplay.c --- ././src/redisplay.c Tue Oct 23 17:35:38 2001 +++ ././src/redisplay.c Tue Aug 20 20:38:00 2002 @@ -147,9 +147,9 @@ to be skipped before anything is displayed. */ Bytind bi_start_col_enabled; int start_col_xoffset; /* Number of pixels that still need to - be skipped. This is used for - horizontal scrolling of glyphs, where we want - to be able to scroll over part of the glyph. */ + be skipped. This is used for + horizontal scrolling of glyphs, where we want + to be able to scroll over part of the glyph. */ int hscroll_glyph_width_adjust; /* how much the width of the hscroll glyph differs from space_width (w). @@ -163,18 +163,20 @@ struct extent_fragment *ef; face_index findex; - /* The height of a pixmap may either be predetermined if the user - has set a baseline value, or it may be dependent on whatever the - line ascent and descent values end up being, based just on font - information. In the first case we can immediately update the - values, thus their inclusion here. In the last case we cannot - determine the actual contribution to the line height until we - have finished laying out all text on the line. Thus we propagate - the max height of such pixmaps and do a final calculation after - all text has been added to the line. */ + /* The height of a pixmap may either be predetermined if the user has set a + baseline value, or it may be dependent on whatever the line ascent and + descent values end up being, based just on font and pixmap-ascent + information. In the first case we can immediately update the values, thus + their inclusion here. In the last case we cannot determine the actual + contribution to the line height until we have finished laying out all text + on the line. Thus we propagate the max height of such pixmaps and do a + final calculation (in calculate_baseline()) after all text has been added + to the line. */ int new_ascent; int new_descent; int max_pixmap_height; + int need_baseline_computation; + int end_glyph_width; /* Well, it is the kitchen sink after all ... */ Lisp_Object result_str; /* String where we put the result of generating a formatted string in the modeline. */ @@ -192,15 +194,24 @@ PROP_STRING, PROP_CHAR, PROP_MINIBUF_PROMPT, - PROP_BLANK + PROP_BLANK, + PROP_GLYPH }; /* Data that should be propagated to the next line. Either a single - Emchar or a string of Bufbyte's. + Emchar, a string of Bufbyte's or a glyph. The actual data that is propagated ends up as a Dynarr of these blocks. + prop_blocks are used to indicate that data that was supposed to go + on the previous line couldn't actually be displayed. Generally this + shouldn't happen if we are clipping the end of lines. If we are + wrapping then we need to display the propagation data before moving + on. Its questionable whether we should wrap or clip glyphs in this + instance. Most e-lisp relies on clipping so we preserve this + behavior. + #### It's unclean that both Emchars and Bufbytes are here. */ @@ -229,6 +240,14 @@ int width; face_index findex; } p_blank; + + struct + { + /* Not used as yet, but could be used to wrap rather than clip glyphs. */ + int width; + Lisp_Object glyph; + } p_glyph; + } data; }; @@ -265,6 +284,9 @@ static void update_line_start_cache (struct window *w, Bufpos from, Bufpos to, Bufpos point, int no_regen); static int point_visible (struct window *w, Bufpos point, int type); +static void calculate_yoffset (struct display_line *dl, + struct display_block *fixup); +static void calculate_baseline (pos_data *data); /* This used to be 10 but 30 seems to give much better performance. */ #define INIT_MAX_PREEMPTS 30 @@ -392,6 +414,10 @@ int toolbar_changed; int toolbar_changed_set; +/* Nonzero if some frame has changed the layout of internal elements + (gutters or toolbars). */ +int frame_layout_changed; + /* non-nil if any gutter has changed */ int gutter_changed; int gutter_changed_set; @@ -680,6 +706,108 @@ return bounds; } +/* This takes a display_block and its containing line and corrects the yoffset + of each glyph in the block to cater for the ascent of the line as a + whole. Must be called *after* the line-ascent is known! */ + +static void +calculate_yoffset (struct display_line *dl, struct display_block *fixup) +{ + int i; + for (i=0; irunes); i++) + { + struct rune *r = Dynarr_atp (fixup->runes,i); + if (r->type == RUNE_DGLYPH) + { + if (r->object.dglyph.ascent < dl->ascent) + r->object.dglyph.yoffset = dl->ascent - r->object.dglyph.ascent + + r->object.dglyph.descent; + } + } +} + +/* Calculate the textual baseline (the ascent and descent values for the + display_line as a whole). + + If the baseline is completely blank, or contains no manually positioned + glyphs, then the textual baseline is simply the baseline of the default font. + (The `contains no manually positioned glyphs' part is actually done for + us by `add_emchar_rune'.) + + If the baseline contains pixmaps, and they're all manually positioned, then + the textual baseline location is constrained that way, and we need do no + work. + + If the baseline contains pixmaps, and at least one is automatically + positioned, then the textual ascent is the largest ascent on the line, and + the textual descent is the largest descent (which is how things are set up at + entry to this function anyway): except that if the max_ascent + max_descent + is too small for the height of the line (say you've adjusted the baseline of + a short glyph, and there's a tall one next to it), then take the ascent and + descent for the line individually from the largest of the explicitly set + ascent/descent, and the rescaled ascent/descent of the default font, scaled + such that the largest glyph will fit. + + This means that if you have a short glyph (but taller than the default + font's descent) forced right under the baseline, and a really tall + automatically positioned glyph, that the descent for the line is just big + enough for the manually positioned short glyph, and the tall one uses as + much of that space as the default font would were it as tall as the tall + glyph; but that the ascent is big enough for the tall glyph to fit. + + This behaviour means that under no circumstances will changing the baseline + of a short glyph cause a tall glyph to move around; nor will it move the + textual baseline more than necessary. (Changing a tall glyph's baseline + might move the text's baseline arbitrarily, of course.) */ + +static void +calculate_baseline (pos_data *data) +{ + /* Blank line: baseline is default font's baseline. */ + + if (!data->new_ascent && !data->new_descent) + { + /* We've got a blank line so initialize these values from the default + face. */ + default_face_font_info (data->window, &data->new_ascent, + &data->new_descent, 0, 0, 0); + } + + /* No automatically positioned glyphs? Return at once. */ + if (!data->need_baseline_computation) + return; + + /* Is the tallest glyph on the line automatically positioned? + If it's manually positioned, or it's automatically positioned + and there's enough room for it anyway, we need do no more work. */ + if (data->max_pixmap_height > data->new_ascent + data->new_descent) + { + int default_font_ascent, default_font_descent, default_font_height; + int scaled_default_font_ascent, scaled_default_font_descent; + + default_face_font_info (data->window, &default_font_ascent, + &default_font_descent, &default_font_height, + 0, 0); + + scaled_default_font_ascent = data->max_pixmap_height * + default_font_ascent / default_font_height; + + data->new_ascent = max (data->new_ascent, scaled_default_font_ascent); + + /* The ascent may have expanded now. Do we still need to grow the descent, + or are things big enough? + + The +1 caters for the baseline row itself. */ + if (data->max_pixmap_height > data->new_ascent + data->new_descent) + { + scaled_default_font_descent = (data->max_pixmap_height * + default_font_descent / default_font_height) + 1; + + data->new_descent = max (data->new_descent, scaled_default_font_descent); + } + } +} + /* Given a display line and a starting position, ensure that the contents of the display line accurately represent the visual representation of the buffer contents starting from the given @@ -811,12 +939,14 @@ return retval; } -/* Adds a character rune to a display block. If there is not enough - room to fit the rune on the display block (as determined by the - MAX_PIXPOS) then it adds nothing and returns ADD_FAILED. */ +/* Adds a character rune to a display block. If there is not enough room + to fit the rune on the display block (as determined by the MAX_PIXPOS) + then it adds nothing and returns ADD_FAILED. If + NO_CONTRIBUTE_TO_LINE_HEIGHT is non-zero, don't allow the char's height + to affect the total line height. (See add_intbyte_string_runes()). */ static prop_block_dynarr * -add_emchar_rune (pos_data *data) +add_emchar_rune_1 (pos_data *data, int no_contribute_to_line_height) { struct rune rb, *crb; int width, local; @@ -868,8 +998,13 @@ data->last_char_width = fi->width; else data->last_char_width = -1; - data->new_ascent = max (data->new_ascent, (int) fi->ascent); - data->new_descent = max (data->new_descent, (int) fi->descent); + + if (!no_contribute_to_line_height) + { + data->new_ascent = max (data->new_ascent, (int) fi->ascent); + data->new_descent = max (data->new_descent, (int) fi->descent); + } + data->last_charset = charset; data->last_findex = data->findex; } @@ -953,13 +1088,24 @@ return NULL; } -/* Given a string C_STRING of length C_LENGTH, call add_emchar_rune - for each character in the string. Propagate any left-over data - unless NO_PROP is non-zero. */ - +static prop_block_dynarr * +add_emchar_rune (pos_data *data) +{ + return add_emchar_rune_1 (data, 0); +} + +/* Given a string C_STRING of length C_LENGTH, call add_emchar_rune for + each character in the string. Propagate any left-over data unless + NO_PROP is non-zero. If NO_CONTRIBUTE_TO_LINE_HEIGHT is non-zero, don't + allow this character to increase the total height of the line. (This is + used when the character is part of a text glyph. In that case, the + glyph code itself adjusts the line height as necessary, depending on + whether glyph-contrib-p is true.) */ + static prop_block_dynarr * add_bufbyte_string_runes (pos_data *data, Bufbyte *c_string, - Bytecount c_length, int no_prop) + Bytecount c_length, int no_prop, + int no_contribute_to_line_height) { Bufbyte *pos, *end = c_string + c_length; prop_block_dynarr *prop; @@ -976,7 +1122,7 @@ data->ch = charptr_emchar (pos); - prop = add_emchar_rune (data); + prop = add_emchar_rune_1 (data, no_contribute_to_line_height); if (prop) { @@ -1111,12 +1257,11 @@ static prop_block_dynarr * add_octal_runes (pos_data *data) { - prop_block_dynarr *prop, *add_failed; + prop_block_dynarr *add_failed, *prop = 0; Emchar orig_char = data->ch; unsigned int orig_cursor_type = data->cursor_type; /* Initialize */ - prop = NULL; add_failed = NULL; if (data->start_col) @@ -1176,7 +1321,7 @@ ADD_NEXT_OCTAL_RUNE_CHAR; data->cursor_type = orig_cursor_type; - return prop; + return NULL; } #undef ADD_NEXT_OCTAL_RUNE_CHAR @@ -1261,7 +1406,7 @@ prop = add_bufbyte_string_runes (data, XSTRING_DATA (entry), XSTRING_LENGTH (entry), - 0); + 0, 0); } else if (GLYPHP (entry)) { @@ -1320,7 +1465,7 @@ } } } - prop = add_bufbyte_string_runes (data, result, dst - result, 0); + prop = add_bufbyte_string_runes (data, result, dst - result, 0, 0); } } @@ -1549,6 +1694,7 @@ Lisp_Object face; Lisp_Object instance; face_index findex; + prop_block_dynarr *retval = 0; if (cachel) width = cachel->width; @@ -1560,7 +1706,6 @@ if (data->start_col || data->start_col_xoffset) { - prop_block_dynarr *retval; int glyph_char_width = width / space_width (w); /* If we still have not fully scrolled horizontally after @@ -1596,17 +1741,41 @@ if (data->pixpos + width > data->max_pixpos) { /* If this is the first object we are attempting to add to - the line then we ignore the horizontal_clip threshold. - Otherwise we will loop until the bottom of the window - continually failing to add this glyph because it is wider - than the window. We could alternatively just completely - ignore the glyph and proceed from there but I think that - this is a better solution. */ + the line then we ignore the horizontal_clip threshold. + Otherwise we will loop until the bottom of the window + continually failing to add this glyph because it is wider + than the window. We could alternatively just completely + ignore the glyph and proceed from there but I think that + this is a better solution. + + This does, however, create a different problem in that we + can end up adding the object to every single line, never + getting any further - for instance an extent with a long + start-glyph that covers multitple following + characters. */ if (Dynarr_length (data->db->runes) && data->max_pixpos - data->pixpos < horizontal_clip) return ADD_FAILED; - else + else { + struct prop_block pb; + + /* We need to account for the width of the end-of-line + glyph if there is nothing more in the line to display, + since we will not display it in this instance. It seems + kind of gross doing it here, but otherwise we have to + search the runes in create_text_block(). */ + if (data->ch == '\n') + data->max_pixpos += data->end_glyph_width; width = data->max_pixpos - data->pixpos; + /* Add the glyph we are displaying, but clipping, to the + propagation data so that we don't try and do it + again. */ + retval = Dynarr_new (prop_block); + pb.type = PROP_GLYPH; + pb.data.p_glyph.glyph = gb->glyph; + pb.data.p_glyph.width = width; + Dynarr_add (retval, pb); + } } if (cachel) @@ -1622,6 +1791,8 @@ baseline = glyph_baseline (gb->glyph, data->window); + rb.object.dglyph.descent = 0; /* Gets reset lower down, if it is known. */ + if (glyph_contrib_p (gb->glyph, data->window)) { /* A pixmap that has not had a baseline explicitly set. Its @@ -1629,6 +1800,7 @@ if (NILP (baseline)) { int height = ascent + descent; + data->need_baseline_computation = 1; data->max_pixmap_height = max (data->max_pixmap_height, height); } @@ -1651,6 +1823,9 @@ data->new_ascent = max (data->new_ascent, pix_ascent); data->new_descent = max (data->new_descent, pix_descent); + data->max_pixmap_height = max (data->max_pixmap_height, height); + + rb.object.dglyph.descent = pix_descent; } /* Otherwise something is screwed up. */ @@ -1678,11 +1853,11 @@ if (!allow_cursor) data->bi_bufpos = 0; add_bufbyte_string_runes (data, XSTRING_DATA (string), - XSTRING_LENGTH (string), 0); + XSTRING_LENGTH (string), 0, 1); data->findex = orig_findex; data->bi_bufpos = orig_bufpos; data->bi_start_col_enabled = orig_start_col_enabled; - return NULL; + return retval; } rb.findex = findex; @@ -1699,6 +1874,9 @@ rb.object.dglyph.glyph = gb->glyph; rb.object.dglyph.extent = gb->extent; rb.object.dglyph.xoffset = xoffset; + rb.object.dglyph.ascent = ascent; + rb.object.dglyph.yoffset = 0; /* Until we know better, assume that it has + a normal (textual) baseline. */ if (allow_cursor) { @@ -1734,7 +1912,7 @@ Dynarr_add (data->db->runes, rb); data->pixpos += width; - return NULL; + return retval; } else { @@ -1763,7 +1941,7 @@ abort (); /* there are no unknown types */ } - return NULL; /* shut up compiler */ + return NULL; } /* Add all glyphs at position POS_TYPE that are contained in the given @@ -1823,7 +2001,6 @@ is_surrogate_for_selected_frame (f)); int truncate_win = window_truncation_on (w); - int end_glyph_width; /* If the buffer's value of selective_display is an integer then only lines that start with less than selective_display columns of @@ -1921,10 +2098,10 @@ glyph. Save the width of the end glyph for later use. */ data.max_pixpos = dl->bounds.right_in; if (truncate_win) - end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX); + data.end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX); else - end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX); - data.max_pixpos -= end_glyph_width; + data.end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX); + data.max_pixpos -= data.end_glyph_width; if (cursor_in_echo_area && MINI_WINDOW_P (w) && echo_area_active (f)) { @@ -2017,10 +2194,25 @@ /* Check for face changes. */ if (initial || (!no_more_frags && data.bi_bufpos == data.ef->end)) { + Lisp_Object last_glyph = Qnil; + + /* Deal with glyphs that we have already displayed. The + theory is that if we end up with a PROP_GLYPH in the + propagation data then we are clipping the glyph and there + can be no propagation data before that point. The theory + works because we always recalculate the extent-fragments + for propagated data, we never actually propagate the + fragments that still need to be displayed. */ + if (*prop && Dynarr_atp (*prop, 0)->type == PROP_GLYPH) + { + last_glyph = Dynarr_atp (*prop, 0)->data.p_glyph.glyph; + Dynarr_free (*prop); + *prop = 0; + } /* Now compute the face and begin/end-glyph information. */ data.findex = /* Remember that the extent-fragment routines deal in Bytind's. */ - extent_fragment_update (w, data.ef, data.bi_bufpos); + extent_fragment_update (w, data.ef, data.bi_bufpos, last_glyph); get_display_tables (w, data.findex, &face_dt, &window_dt); @@ -2090,9 +2282,9 @@ } /* If there is propagation data, then it represents the current - buffer position being displayed. Add them and advance the - position counter. This might also add the minibuffer - prompt. */ + buffer position being displayed. Add them and advance the + position counter. This might also add the minibuffer + prompt. */ else if (*prop) { dl->used_prop_data = 1; @@ -2114,19 +2306,59 @@ here rather than doing them at the end of handling the previous run so that glyphs at the beginning and end of a line are handled correctly. */ - else if (Dynarr_length (data.ef->end_glyphs) > 0) + else if (Dynarr_length (data.ef->end_glyphs) > 0 + || Dynarr_length (data.ef->begin_glyphs) > 0) { - *prop = add_glyph_runes (&data, END_GLYPHS); - if (*prop) - goto done; - } + glyph_block_dynarr* tmpglyphs = 0; + /* #### I think this is safe, but could be wrong. */ + data.ch = BI_BUF_FETCH_CHAR (b, data.bi_bufpos); - /* If there are begin glyphs, add them to the line. */ - else if (Dynarr_length (data.ef->begin_glyphs) > 0) - { - *prop = add_glyph_runes (&data, BEGIN_GLYPHS); - if (*prop) - goto done; + if (Dynarr_length (data.ef->end_glyphs) > 0) + { + *prop = add_glyph_runes (&data, END_GLYPHS); + tmpglyphs = data.ef->end_glyphs; + } + + /* If there are begin glyphs, add them to the line. */ + if (!*prop && Dynarr_length (data.ef->begin_glyphs) > 0) + { + *prop = add_glyph_runes (&data, BEGIN_GLYPHS); + tmpglyphs = data.ef->begin_glyphs; + } + + if (*prop) + { + /* If we just clipped a glyph and we are at the end of a + line and there are more glyphs to display then do + appropriate processing to not get a continuation + glyph. */ + if (*prop != ADD_FAILED + && Dynarr_atp (*prop, 0)->type == PROP_GLYPH + && data.ch == '\n') + { + /* If there are no more glyphs then do the normal + processing. + + #### This doesn't actually work if the same glyph is + present more than once in the block. To solve + this we would have to carry the index around + which might be problematic since the fragment is + recalculated for each line. */ + if (EQ (Dynarr_end (tmpglyphs)->glyph, + Dynarr_atp (*prop, 0)->data.p_glyph.glyph)) + { + Dynarr_free (*prop); + *prop = 0; + } + else { + data.blank_width = DEVMETH (d, eol_cursor_width, ()); + add_emchar_rune (&data); /* discard prop data. */ + goto done; + } + } + else + goto done; + } } /* If at end-of-buffer, we've already processed begin and @@ -2160,7 +2392,7 @@ /* We aren't going to be adding an end glyph so give its space back in order to make sure that the cursor can fit. */ - data.max_pixpos += end_glyph_width; + data.max_pixpos += data.end_glyph_width; if (selective > 0 && (bi_spaces_at_point @@ -2241,7 +2473,7 @@ /* We won't be adding a truncation or continuation glyph so give up the room allocated for them. */ - data.max_pixpos += end_glyph_width; + data.max_pixpos += data.end_glyph_width; if (!NILP (b->selective_display_ellipses)) { @@ -2450,7 +2682,7 @@ for the next newline. We also add the end-of-line glyph which we know will fit because we adjusted the right border before we starting laying out the line. */ - data.max_pixpos += end_glyph_width; + data.max_pixpos += data.end_glyph_width; data.findex = DEFAULT_INDEX; gb.extent = Qnil; @@ -2585,26 +2817,7 @@ else db->end_pos = dl->bounds.right_white; - /* update line height parameters */ - if (!data.new_ascent && !data.new_descent) - { - /* We've got a blank line so initialize these values from the default - face. */ - default_face_font_info (data.window, &data.new_ascent, - &data.new_descent, 0, 0, 0); - } - - if (data.max_pixmap_height) - { - int height = data.new_ascent + data.new_descent; - int pix_ascent, pix_descent; - - pix_descent = data.max_pixmap_height * data.new_descent / height; - pix_ascent = data.max_pixmap_height - pix_descent; - - data.new_ascent = max (data.new_ascent, pix_ascent); - data.new_descent = max (data.new_descent, pix_descent); - } + calculate_baseline (&data); dl->ascent = data.new_ascent; dl->descent = data.new_descent; @@ -2622,6 +2835,8 @@ dl->descent = descent; } + calculate_yoffset (dl, db); + dl->cursor_elt = data.cursor_x; /* #### lossage lossage lossage! Fix this shit! */ if (data.bi_bufpos > BI_BUF_ZV (b)) @@ -2700,7 +2915,7 @@ (&data, XSTRING_DATA (Voverlay_arrow_string), XSTRING_LENGTH (Voverlay_arrow_string), - 1); + 1, 0); } else if (GLYPHP (Voverlay_arrow_string)) { @@ -2711,17 +2926,7 @@ add_glyph_rune (&data, &gb, BEGIN_GLYPHS, 0, 0); } - if (data.max_pixmap_height) - { - int height = data.new_ascent + data.new_descent; - int pix_ascent, pix_descent; - - pix_descent = data.max_pixmap_height * data.new_descent / height; - pix_ascent = data.max_pixmap_height - pix_descent; - - data.new_ascent = max (data.new_ascent, pix_ascent); - data.new_descent = max (data.new_descent, pix_descent); - } + calculate_baseline (&data); dl->ascent = data.new_ascent; dl->descent = data.new_descent; @@ -2729,6 +2934,8 @@ data.db->start_pos = dl->bounds.left_in; data.db->end_pos = data.pixpos; + calculate_yoffset (dl, data.db); + return data.pixpos - dl->bounds.left_in; } @@ -2800,20 +3007,13 @@ (reverse ? elt-- : elt++); } - if (data.max_pixmap_height) - { - int height = data.new_ascent + data.new_descent; - int pix_ascent, pix_descent; - - pix_descent = data.max_pixmap_height * data.new_descent / height; - pix_ascent = data.max_pixmap_height - pix_descent; - data.new_ascent = max (data.new_ascent, pix_ascent); - data.new_descent = max (data.new_descent, pix_descent); - } + calculate_baseline (&data); dl->ascent = data.new_ascent; dl->descent = data.new_descent; + calculate_yoffset (dl, data.db); + return data.pixpos; } @@ -4243,9 +4443,9 @@ /***************************************************************************/ -/* */ -/* displayable string routines */ -/* */ +/* */ +/* displayable string routines */ +/* */ /***************************************************************************/ /* Given a position for a string in a window, ensure that the given @@ -4287,7 +4487,6 @@ pos_data data; int truncate_win = b ? window_truncation_on (w) : 0; - int end_glyph_width = 0; /* We're going to ditch selective display for static text, it's an FSF thing and invisible extents are the way to go here. @@ -4395,13 +4594,7 @@ /* Set the right boundary adjusting it to take into account any end glyph. Save the width of the end glyph for later use. */ data.max_pixpos = dl->bounds.right_in; -#if 0 - if (truncate_win) - end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX); - else - end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX); -#endif - data.max_pixpos -= end_glyph_width; + data.max_pixpos -= data.end_glyph_width; data.cursor_type = NO_CURSOR; data.cursor_x = -1; @@ -4457,10 +4650,18 @@ /* Check for face changes. */ if (initial || (!no_more_frags && data.bi_bufpos == data.ef->end)) { + Lisp_Object last_glyph = Qnil; + /* Deal with clipped glyphs that we have already displayed. */ + if (*prop && Dynarr_atp (*prop, 0)->type == PROP_GLYPH) + { + last_glyph = Dynarr_atp (*prop, 0)->data.p_glyph.glyph; + Dynarr_free (*prop); + *prop = 0; + } /* Now compute the face and begin/end-glyph information. */ data.findex = /* Remember that the extent-fragment routines deal in Bytind's. */ - extent_fragment_update (w, data.ef, data.bi_bufpos); + extent_fragment_update (w, data.ef, data.bi_bufpos, last_glyph); /* This is somewhat cheesy but the alternative is to propagate default_face into extent_fragment_update. */ if (data.findex == DEFAULT_INDEX) @@ -4552,17 +4753,23 @@ a line are handled correctly. */ else if (Dynarr_length (data.ef->end_glyphs) > 0) { + data.ch = string_char (s, data.bi_bufpos); *prop = add_glyph_runes (&data, END_GLYPHS); - if (*prop) + + if (*prop) { goto done; + } } /* If there are begin glyphs, add them to the line. */ else if (Dynarr_length (data.ef->begin_glyphs) > 0) { + data.ch = string_char (s, data.bi_bufpos); *prop = add_glyph_runes (&data, BEGIN_GLYPHS); - if (*prop) + + if (*prop) { goto done; + } } /* If at end-of-buffer, we've already processed begin and @@ -4596,7 +4803,7 @@ /* We aren't going to be adding an end glyph so give its space back in order to make sure that the cursor can fit. */ - data.max_pixpos += end_glyph_width; + data.max_pixpos += data.end_glyph_width; goto done; } @@ -4638,7 +4845,7 @@ *prop = add_blank_rune (&data, w, char_tab_width); /* add_blank_rune is only supposed to be called with - sizes guaranteed to fit in the available space. */ + sizes guaranteed to fit in the available space. */ assert (!(*prop)); if (prop_width) @@ -4694,7 +4901,7 @@ } } -done: + done: /* Determine the starting point of the next line if we did not hit the end of the buffer. */ @@ -4727,7 +4934,7 @@ for the next newline. We also add the end-of-line glyph which we know will fit because we adjusted the right border before we starting laying out the line. */ - data.max_pixpos += end_glyph_width; + data.max_pixpos += data.end_glyph_width; data.findex = default_face; gb.extent = Qnil; @@ -4755,7 +4962,7 @@ cachel = GLYPH_CACHEL (w, CONT_GLYPH_INDEX); } - if (end_glyph_width) + if (data.end_glyph_width) add_glyph_rune (&data, &gb, BEGIN_GLYPHS, 0, cachel); if (truncate_win && data.bi_bufpos == bi_string_zv) @@ -4834,26 +5041,7 @@ else db->end_pos = dl->bounds.right_white; - /* update line height parameters */ - if (!data.new_ascent && !data.new_descent) - { - /* We've got a blank line so initialize these values from the default - face. */ - default_face_font_info (data.window, &data.new_ascent, - &data.new_descent, 0, 0, 0); - } - - if (data.max_pixmap_height) - { - int height = data.new_ascent + data.new_descent; - int pix_ascent, pix_descent; - - pix_descent = data.max_pixmap_height * data.new_descent / height; - pix_ascent = data.max_pixmap_height - pix_descent; - - data.new_ascent = max (data.new_ascent, pix_ascent); - data.new_descent = max (data.new_descent, pix_descent); - } + calculate_baseline (&data); dl->ascent = data.new_ascent; dl->descent = data.new_descent; @@ -4871,6 +5059,8 @@ dl->descent = descent; } + calculate_yoffset (dl, db); + dl->cursor_elt = data.cursor_x; /* #### lossage lossage lossage! Fix this shit! */ if (data.bi_bufpos > bi_string_zv) @@ -6325,8 +6515,13 @@ update_frame_menubars (f); #endif /* HAVE_MENUBARS */ #ifdef HAVE_TOOLBARS - /* Update the toolbars. */ - update_frame_toolbars (f); + /* Update the toolbars geometry. We don't update the toolbars + themselves at this point since the space they are trying to + occupy may currently by occupied by gutter elements. Instead we + update the geometry, then update the gutter geometry, then update + the gutters - which will cause mapped windows to be repositioned + - and finally update the toolbars. */ + update_frame_toolbars_geometry (f); #endif /* HAVE_TOOLBARS */ /* Gutter update proper has to be done inside display when no frame size changes can occur, thus we separately update the gutter @@ -6406,6 +6601,14 @@ update_frame_title (f); +#ifdef HAVE_TOOLBARS + /* Finally update the toolbars. It seems its possible to get in a + cycle between updating the gutter and the toolbars. Basically we + want to end up with both being up-to-date and this doesn't seem + possible in a single pass. */ + update_frame_toolbars (f); +#endif /* HAVE_TOOLBARS */ + CLASS_RESET_CHANGED_FLAGS (f); f->window_face_cache_reset = 0; f->echo_area_garbaged = 0; @@ -7100,11 +7303,6 @@ FRAME_LOOP_NO_BREAK (frmcons, devcons, concons) { struct frame *f = XFRAME (XCAR (frmcons)); - /* #### urk! this does tons o' crap, such as creating lots of - structs, doing window system actions, etc. we DO NOT want to - be doing this -- marking should never change any state. - i think we can just delete this. --ben */ - update_frame_window_mirror (f); mark_window_mirror (f->root_mirror); mark_gutters (f); } @@ -7276,7 +7474,8 @@ { struct buffer *b = XBUFFER (w->buffer); line_start_cache_dynarr *cache = w->line_start_cache; - unsigned int top, bottom, pos; + unsigned int top, bottom; + EMACS_INT pos; validate_line_start_cache (w); w->line_cache_validation_override++; diff --text -u 'xemacs-21.4.8/src/redisplay.h' 'xemacs-21.4.9/src/redisplay.h' Index: ././src/redisplay.h --- ././src/redisplay.h Fri Apr 13 03:24:15 2001 +++ ././src/redisplay.h Tue Aug 20 20:38:06 2002 @@ -147,6 +147,9 @@ If this is a rune in the modeline then this might be nil. */ + int ascent; /* Ascent of this glyph, in pixels. */ + int descent; /* Descent of this glyph, in pixels. */ + int yoffset; /* Offset from line top to reach glyph top */ int xoffset; /* Number of pixels that need to be chopped off the left of the glyph. This has the effect of shifting the @@ -477,6 +480,10 @@ /* Nonzero if some device has signaled that it wants to change size. */ extern int asynch_device_change_pending; +/* Nonzero if some frame has changed the layout of internal elements + (gutters or toolbars). */ +extern int frame_layout_changed; + /* Nonzero if any toolbar has changed. */ extern int toolbar_changed; extern int toolbar_changed_set; @@ -536,6 +543,7 @@ (p)->extents_changed = 0; \ (p)->faces_changed = 0; \ (p)->frame_changed = 0; \ + (p)->frame_layout_changed = 0; \ (p)->icon_changed = 0; \ (p)->menubar_changed = 0; \ (p)->modeline_changed = 0; \ @@ -554,6 +562,7 @@ clip_changed = 0; \ extents_changed = 0; \ frame_changed = 0; \ + frame_layout_changed = 0; \ icon_changed = 0; \ menubar_changed = 0; \ modeline_changed = 0; \ @@ -573,6 +582,7 @@ (p)->extents_changed || \ (p)->faces_changed || \ (p)->frame_changed || \ + (p)->frame_layout_changed || \ (p)->icon_changed || \ (p)->menubar_changed || \ (p)->modeline_changed || \ @@ -592,6 +602,7 @@ extents_changed || \ faces_changed || \ frame_changed || \ + frame_layout_changed || \ icon_changed || \ menubar_changed || \ modeline_changed || \ @@ -768,8 +779,8 @@ face_index findex, int cursor_start, int cursor_width, int cursor_height, int offset_bitmap); int redisplay_calculate_display_boxes (struct display_line *dl, int xpos, - int xoffset, int start_pixpos, int width, - struct display_box* dest, + int xoffset, int yoffset, int start_pixpos, + int width, struct display_box* dest, struct display_glyph_area* src); int redisplay_normalize_glyph_area (struct display_box* dest, struct display_glyph_area* glyphsrc); diff --text -u 'xemacs-21.4.8/src/scrollbar-msw.c' 'xemacs-21.4.9/src/scrollbar-msw.c' Index: ././src/scrollbar-msw.c --- ././src/scrollbar-msw.c Mon Dec 17 14:49:26 2001 +++ ././src/scrollbar-msw.c Tue Aug 20 20:38:07 2002 @@ -333,43 +333,45 @@ { int hasVertBar, hasHorzBar; /* Indicates presence of scroll bars */ unsigned wheelScrollLines = 0; /* Number of lines per wheel notch */ - Lisp_Object win; + Lisp_Object win, corpore, sano; struct window_mirror *mirror; + int mene, _mene, tekel, upharsin; + Bufpos mens, sana; + Charcount in; + struct window *needle_in_haystack = 0; POINT donde_esta; donde_esta.x = where.x; donde_esta.y = where.y; - ScreenToClient (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), &donde_esta); - /* Find the window to scroll */ - { - int mene, _mene, tekel, upharsin; - Bufpos mens, sana; - Charcount in; - Lisp_Object corpore, sano; - struct window *needle_in_haystack; - - // stderr_out ("donde_esta: %d %d\n", donde_esta.x, donde_esta.y); - pixel_to_glyph_translation (XFRAME (frame), donde_esta.x, donde_esta.y, - &mene, &_mene, &tekel, &upharsin, - &needle_in_haystack, - &mens, &sana, &in, &corpore, &sano); - - if (needle_in_haystack) - { - XSETWINDOW (win, needle_in_haystack); - // stderr_out ("found needle\n"); - // debug_print (win); - } - else - { - win = FRAME_SELECTED_WINDOW (XFRAME (frame)); - needle_in_haystack = XWINDOW (win); - } - mirror = find_window_mirror (needle_in_haystack); - } + /* The mouse event could actually occur outside of the emacs + frame. */ + if (ScreenToClient (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), + &donde_esta) != 0) + { + /* stderr_out ("donde_esta: %d %d\n", donde_esta.x, donde_esta.y); */ + pixel_to_glyph_translation (XFRAME (frame), donde_esta.x, donde_esta.y, + &mene, &_mene, &tekel, &upharsin, + &needle_in_haystack, + &mens, &sana, &in, &corpore, &sano); + + if (needle_in_haystack) + { + XSETWINDOW (win, needle_in_haystack); + /* stderr_out ("found needle\n"); + debug_print (win); */ + } + } + + if (!needle_in_haystack) + { + win = FRAME_SELECTED_WINDOW (XFRAME (frame)); + needle_in_haystack = XWINDOW (win); + } + + mirror = find_window_mirror (needle_in_haystack); /* Check that there is something to scroll */ hasVertBar = can_scroll (mirror->scrollbar_vertical_instance); diff --text -u 'xemacs-21.4.8/src/search.c' 'xemacs-21.4.9/src/search.c' Index: ././src/search.c --- ././src/search.c Mon Dec 17 14:49:27 2001 +++ ././src/search.c Tue Aug 20 20:38:08 2002 @@ -108,6 +108,7 @@ Lisp_Object Vskip_chars_range_table; static void set_search_regs (struct buffer *buf, Bufpos beg, Charcount len); +/* #### according to comment in 21.5, unnecessary */ static void save_search_regs (void); static Bufpos simple_search (struct buffer *buf, Bufbyte *base_pat, Bytecount len, Bytind pos, Bytind lim, @@ -772,6 +773,7 @@ return pos; } +/* This function synched with FSF 21.1 */ static Lisp_Object skip_chars (struct buffer *buf, int forwardp, int syntaxp, Lisp_Object string, Lisp_Object lim) @@ -842,6 +844,7 @@ { Emchar cend; + /* Skip over the dash. */ p++; if (p == pend) break; cend = charptr_emchar (p); @@ -866,6 +869,7 @@ } } + /* #### Not in FSF 21.1 */ if (syntaxp && fastmap['-'] != 0) fastmap[' '] = 1; @@ -879,36 +883,48 @@ { Bufpos start_point = BUF_PT (buf); + Bufpos pos = start_point; + Bytind pos_byte = BI_BUF_PT (buf); if (syntaxp) { - SETUP_SYNTAX_CACHE_FOR_BUFFER (buf, BUF_PT (buf), forwardp ? 1 : -1); + SETUP_SYNTAX_CACHE_FOR_BUFFER (buf, pos, forwardp ? 1 : -1); /* All syntax designators are normal chars so nothing strange to worry about */ if (forwardp) { - while (BUF_PT (buf) < limit - && fastmap[(unsigned char) - syntax_code_spec - [(int) SYNTAX_FROM_CACHE (syntax_table, - BUF_FETCH_CHAR - (buf, BUF_PT (buf)))]]) - { - BUF_SET_PT (buf, BUF_PT (buf) + 1); - UPDATE_SYNTAX_CACHE_FORWARD (BUF_PT (buf)); - } + if (pos < limit) + while (fastmap[(unsigned char) + syntax_code_spec + [(int) SYNTAX_FROM_CACHE + (syntax_table, + BI_BUF_FETCH_CHAR (buf, pos_byte))]]) + { + pos++; + INC_BYTIND (buf, pos_byte); + if (pos >= limit) + break; + UPDATE_SYNTAX_CACHE_FORWARD (pos); + } } else { - while (BUF_PT (buf) > limit - && fastmap[(unsigned char) - syntax_code_spec - [(int) SYNTAX_FROM_CACHE (syntax_table, - BUF_FETCH_CHAR - (buf, BUF_PT (buf) - 1))]]) + while (pos > limit) { - BUF_SET_PT (buf, BUF_PT (buf) - 1); - UPDATE_SYNTAX_CACHE_BACKWARD (BUF_PT (buf) - 1); + Bufpos savepos = pos_byte; + pos--; + DEC_BYTIND (buf, pos_byte); + UPDATE_SYNTAX_CACHE_BACKWARD (pos); + if (!fastmap[(unsigned char) + syntax_code_spec + [(int) SYNTAX_FROM_CACHE + (syntax_table, + BI_BUF_FETCH_CHAR (buf, pos_byte))]]) + { + pos++; + pos_byte = savepos; + break; + } } } } @@ -916,36 +932,47 @@ { if (forwardp) { - while (BUF_PT (buf) < limit) + while (pos < limit) { - Emchar ch = BUF_FETCH_CHAR (buf, BUF_PT (buf)); + Emchar ch = BI_BUF_FETCH_CHAR (buf, pos_byte); if ((ch < 0400) ? fastmap[ch] : (NILP (Fget_range_table (make_int (ch), Vskip_chars_range_table, Qnil)) == negate)) - BUF_SET_PT (buf, BUF_PT (buf) + 1); + { + pos++; + INC_BYTIND (buf, pos_byte); + } else break; } } else { - while (BUF_PT (buf) > limit) + while (pos > limit) { - Emchar ch = BUF_FETCH_CHAR (buf, BUF_PT (buf) - 1); + Bufpos prev_pos_byte = pos_byte; + Emchar ch; + + DEC_BYTIND (buf, prev_pos_byte); + ch = BI_BUF_FETCH_CHAR (buf, prev_pos_byte); if ((ch < 0400) ? fastmap[ch] : - (NILP (Fget_range_table (make_int (ch), - Vskip_chars_range_table, - Qnil)) - == negate)) - BUF_SET_PT (buf, BUF_PT (buf) - 1); - else - break; + (NILP (Fget_range_table (make_int (ch), + Vskip_chars_range_table, + Qnil)) + == negate)) + { + pos--; + pos_byte = prev_pos_byte; + } + else + break; } } } QUIT; + BOTH_BUF_SET_PT (buf, pos, pos_byte); return make_int (BUF_PT (buf) - start_point); } } @@ -2825,8 +2852,11 @@ int num_regs; int length; +#if 0 + /* #### according to 21.5 comment, unnecessary */ if (running_asynch_code) save_search_regs (); +#endif CONCHECK_LIST (list); @@ -2889,6 +2919,7 @@ return Qnil; } +/* #### according to 21.5 comment, unnecessary */ /* If non-zero the match data have been saved in saved_search_regs during the execution of a sentinel or filter. */ static int search_regs_saved; @@ -2912,6 +2943,8 @@ } } +/* #### according to 21.5 comment, unnecessary + prototype in lisp.h, all calls in process.c */ /* Called upon exit from filters and sentinels. */ void restore_match_data (void) diff --text -u 'xemacs-21.4.8/src/select-x.c' 'xemacs-21.4.9/src/select-x.c' Index: ././src/select-x.c --- ././src/select-x.c Fri Apr 13 03:24:18 2001 +++ ././src/select-x.c Tue Aug 20 20:38:10 2002 @@ -1782,7 +1782,7 @@ x_selection_timeout = 0; DEFVAR_BOOL ("x-selection-strict-motif-ownership", &x_selection_strict_motif_ownership /* -*If true and XEmacs already owns the clipboard, don't own it again in the +*If nil and XEmacs already owns the clipboard, don't own it again in the Motif way. Owning the selection on the Motif way does a huge amount of X protocol, and it makes killing text incredibly slow when using an X terminal. However, when enabled Motif text fields don't bother to look up diff --text -u 'xemacs-21.4.8/src/symbols.c' 'xemacs-21.4.9/src/symbols.c' Index: ././src/symbols.c --- ././src/symbols.c Fri Apr 13 03:24:20 2001 +++ ././src/symbols.c Tue Aug 20 20:38:11 2002 @@ -3292,8 +3292,8 @@ int multiword_predicate_p) { char temp[500]; - int len = strlen (name) - 1; - int i; + size_t len = strlen (name) - 1; + size_t i; if (multiword_predicate_p) assert (len + 1 < sizeof (temp)); @@ -3369,7 +3369,7 @@ defkeyword_massage_name (Lisp_Object *location, const char *name) { char temp[500]; - int len = strlen (name); + size_t len = strlen (name); assert (len < sizeof (temp)); strcpy (temp, name); @@ -3504,8 +3504,8 @@ Lisp_Object inherits_from) { char temp[500]; - int i; - int len = strlen (name) - 1; + size_t i; + size_t len = strlen (name) - 1; assert (len < sizeof (temp)); strcpy (temp, name + 1); /* Remove initial Q */ diff --text -u 'xemacs-21.4.8/src/sysdep.c' 'xemacs-21.4.9/src/sysdep.c' Index: ././src/sysdep.c --- ././src/sysdep.c Wed May 1 00:21:05 2002 +++ ././src/sysdep.c Tue Aug 20 20:38:14 2002 @@ -3158,9 +3158,11 @@ /* Windows rename fails if NEW exists */ if (rename (old, new) == 0) return 0; - if (errno != EEXIST) + /* In some cases errno is EACCES if NEW exists */ + if (errno != EEXIST && errno != EACCES) + return -1; + if (unlink (new) != 0) return -1; - unlink (new); #endif /* WIN32_NATIVE */ return rename (old, new); } diff --text -u 'xemacs-21.4.8/src/sysdll.c' 'xemacs-21.4.9/src/sysdll.c' Index: ././src/sysdll.c --- ././src/sysdll.c Wed May 1 01:06:47 2002 +++ ././src/sysdll.c Tue Aug 20 20:38:16 2002 @@ -38,10 +38,6 @@ # define RTLD_LAZY 1 #endif /* RTLD_LAZY isn't defined under FreeBSD - ick */ -#ifndef RTLD_GLOBAL -# define RTLD_GLOBAL 0 -#endif - #ifndef RTLD_NOW # define RTLD_NOW 2 #endif @@ -55,7 +51,7 @@ dll_handle dll_open (const char *fname) { - return (dll_handle) dlopen (fname, RTLD_NOW | RTLD_GLOBAL); + return (dll_handle) dlopen (fname, RTLD_NOW); } int diff --text -u 'xemacs-21.4.8/src/syswindows.h' 'xemacs-21.4.9/src/syswindows.h' Index: ././src/syswindows.h --- ././src/syswindows.h Mon Dec 17 14:49:27 2001 +++ ././src/syswindows.h Tue Aug 20 20:38:17 2002 @@ -180,6 +180,9 @@ #ifndef MAC_CHARSET #define MAC_CHARSET 77 #endif +#ifndef LOCALE_RETURN_NUMBER +#define LOCALE_RETURN_NUMBER 0x20000000 +#endif /***************************************************************/ diff --text -u 'xemacs-21.4.8/src/toolbar-gtk.c' 'xemacs-21.4.9/src/toolbar-gtk.c' Index: ././src/toolbar-gtk.c --- ././src/toolbar-gtk.c Fri Apr 13 03:24:24 2001 +++ ././src/toolbar-gtk.c Tue Aug 20 20:38:18 2002 @@ -336,7 +336,8 @@ || tb->y != y \ || tb->width != width \ || tb->height != height \ - || tb->dirty) \ + || tb->dirty \ + || f->clear) /* This is clearly necessary. */ \ { \ if (width && height) \ { \ @@ -542,22 +543,30 @@ if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) gtk_output_toolbar (f, TOP_TOOLBAR); - else if (f->top_toolbar_was_visible) - gtk_clear_toolbar (f, TOP_TOOLBAR, 0); - if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) gtk_output_toolbar (f, BOTTOM_TOOLBAR); - else if (f->bottom_toolbar_was_visible) - gtk_clear_toolbar (f, BOTTOM_TOOLBAR, 0); - if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) gtk_output_toolbar (f, LEFT_TOOLBAR); - else if (f->left_toolbar_was_visible) - gtk_clear_toolbar (f, LEFT_TOOLBAR, 0); - if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) gtk_output_toolbar (f, RIGHT_TOOLBAR); - else if (f->right_toolbar_was_visible) +} + +static void +gtk_clear_frame_toolbars (struct frame *f) +{ + assert (FRAME_GTK_P (f)); + + if (f->top_toolbar_was_visible + && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) + gtk_clear_toolbar (f, TOP_TOOLBAR, 0); + if (f->bottom_toolbar_was_visible + && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) + gtk_clear_toolbar (f, BOTTOM_TOOLBAR, 0); + if (f->left_toolbar_was_visible + && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) + gtk_clear_toolbar (f, LEFT_TOOLBAR, 0); + if (f->right_toolbar_was_visible + && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) gtk_clear_toolbar (f, RIGHT_TOOLBAR, 0); } @@ -663,6 +672,7 @@ console_type_create_toolbar_gtk (void) { CONSOLE_HAS_METHOD (gtk, output_frame_toolbars); + CONSOLE_HAS_METHOD (gtk, clear_frame_toolbars); CONSOLE_HAS_METHOD (gtk, initialize_frame_toolbars); CONSOLE_HAS_METHOD (gtk, free_frame_toolbars); CONSOLE_HAS_METHOD (gtk, output_toolbar_button); diff --text -u 'xemacs-21.4.8/src/toolbar-msw.c' 'xemacs-21.4.9/src/toolbar-msw.c' Index: ././src/toolbar-msw.c --- ././src/toolbar-msw.c Fri Apr 13 03:24:24 2001 +++ ././src/toolbar-msw.c Tue Aug 20 20:38:19 2002 @@ -22,7 +22,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* This implementation by Andy Piper , with bits +/* This implementation by Andy Piper , with bits borrowed from toolbar-x.c */ /* Synched up with: Not in FSF. */ @@ -544,22 +544,30 @@ if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) mswindows_output_toolbar (f, TOP_TOOLBAR); - else if (f->top_toolbar_was_visible) - mswindows_clear_toolbar (f, TOP_TOOLBAR, 0); - if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) mswindows_output_toolbar (f, BOTTOM_TOOLBAR); - else if (f->bottom_toolbar_was_visible) - mswindows_clear_toolbar (f, BOTTOM_TOOLBAR, 0); - if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) mswindows_output_toolbar (f, LEFT_TOOLBAR); - else if (f->left_toolbar_was_visible) - mswindows_clear_toolbar (f, LEFT_TOOLBAR, 0); - if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) mswindows_output_toolbar (f, RIGHT_TOOLBAR); - else if (f->right_toolbar_was_visible) +} + +static void +mswindows_clear_frame_toolbars (struct frame *f) +{ + assert (FRAME_MSWINDOWS_P (f)); + + if (f->top_toolbar_was_visible + && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) + mswindows_clear_toolbar (f, TOP_TOOLBAR, 0); + if (f->bottom_toolbar_was_visible + && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) + mswindows_clear_toolbar (f, BOTTOM_TOOLBAR, 0); + if (f->left_toolbar_was_visible + && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) + mswindows_clear_toolbar (f, LEFT_TOOLBAR, 0); + if (f->right_toolbar_was_visible + && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) mswindows_clear_toolbar (f, RIGHT_TOOLBAR, 0); } @@ -641,6 +649,7 @@ console_type_create_toolbar_mswindows (void) { CONSOLE_HAS_METHOD (mswindows, output_frame_toolbars); + CONSOLE_HAS_METHOD (mswindows, clear_frame_toolbars); CONSOLE_HAS_METHOD (mswindows, initialize_frame_toolbars); CONSOLE_HAS_METHOD (mswindows, free_frame_toolbars); CONSOLE_HAS_METHOD (mswindows, redraw_exposed_toolbars); diff --text -u 'xemacs-21.4.8/src/toolbar-x.c' 'xemacs-21.4.9/src/toolbar-x.c' Index: ././src/toolbar-x.c --- ././src/toolbar-x.c Fri Apr 13 03:24:24 2001 +++ ././src/toolbar-x.c Tue Aug 20 20:38:20 2002 @@ -348,7 +348,8 @@ || tb->y != y \ || tb->width != width \ || tb->height != height \ - || tb->dirty) \ + || tb->dirty \ + || f->clear) /* This is clearly necessary. */ \ { \ if (width && height) \ { \ @@ -557,22 +558,30 @@ if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) x_output_toolbar (f, TOP_TOOLBAR); - else if (f->top_toolbar_was_visible) - x_clear_toolbar (f, TOP_TOOLBAR, 0); - if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) x_output_toolbar (f, BOTTOM_TOOLBAR); - else if (f->bottom_toolbar_was_visible) - x_clear_toolbar (f, BOTTOM_TOOLBAR, 0); - if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) x_output_toolbar (f, LEFT_TOOLBAR); - else if (f->left_toolbar_was_visible) - x_clear_toolbar (f, LEFT_TOOLBAR, 0); - if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) x_output_toolbar (f, RIGHT_TOOLBAR); - else if (f->right_toolbar_was_visible) +} + +static void +x_clear_frame_toolbars (struct frame *f) +{ + assert (FRAME_X_P (f)); + + if (f->top_toolbar_was_visible + && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f)) + x_clear_toolbar (f, TOP_TOOLBAR, 0); + if (f->bottom_toolbar_was_visible + && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f)) + x_clear_toolbar (f, BOTTOM_TOOLBAR, 0); + if (f->left_toolbar_was_visible + && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f)) + x_clear_toolbar (f, LEFT_TOOLBAR, 0); + if (f->right_toolbar_was_visible + && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f)) x_clear_toolbar (f, RIGHT_TOOLBAR, 0); } @@ -793,6 +802,7 @@ console_type_create_toolbar_x (void) { CONSOLE_HAS_METHOD (x, output_frame_toolbars); + CONSOLE_HAS_METHOD (x, clear_frame_toolbars); CONSOLE_HAS_METHOD (x, initialize_frame_toolbars); CONSOLE_HAS_METHOD (x, free_frame_toolbars); CONSOLE_HAS_METHOD (x, output_toolbar_button); diff --text -u 'xemacs-21.4.8/src/toolbar.c' 'xemacs-21.4.9/src/toolbar.c' Index: ././src/toolbar.c --- ././src/toolbar.c Fri Apr 13 03:24:25 2001 +++ ././src/toolbar.c Tue Aug 20 20:38:21 2002 @@ -712,13 +712,26 @@ set_frame_toolbar (f, RIGHT_TOOLBAR); } +/* Update the toolbar geometry separately from actually displaying the + toolbar. This is necessary because both the gutter and the toolbar + are competing for redisplay cycles and, unfortunately, gutter + updates happen late in the game. Firstly they are done inside of + redisplay proper and secondly subcontrols may not get moved until + the next screen refresh. Only after subcontrols have been moved to + their final destinations can we be certain of updating the + toolbar. Under X this probably is exacerbated by the toolbar button + dirty flags which prevent updates happening when they possibly + should. */ void -update_frame_toolbars (struct frame *f) +update_frame_toolbars_geometry (struct frame *f) { struct device *d = XDEVICE (f->device); if (DEVICE_SUPPORTS_TOOLBARS_P (d) - && (f->toolbar_changed || f->frame_changed || f->clear)) + && (f->toolbar_changed + || f->frame_layout_changed + || f->frame_changed + || f->clear)) { int pos; @@ -738,18 +751,39 @@ pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f), &width, &height); change_frame_size (f, height, width, 0); + MARK_FRAME_LAYOUT_CHANGED (f); break; } - for (pos = 0; pos < 4; pos++) + for (pos = 0; pos < 4; pos++) { f->current_toolbar_size[pos] = FRAME_REAL_TOOLBAR_SIZE (f, pos); + } /* Removed the check for the minibuffer here. We handle this more correctly now by consistently using FRAME_LAST_NONMINIBUF_WINDOW instead of FRAME_SELECTED_WINDOW throughout the toolbar code. */ compute_frame_toolbars_data (f); + + /* Clear the previous toolbar locations. If we do it later + (after redisplay) we end up clearing what we have just + displayed. */ + MAYBE_DEVMETH (d, clear_frame_toolbars, (f)); + } +} +/* Actually redisplay the toolbar buttons. */ +void +update_frame_toolbars (struct frame *f) +{ + struct device *d = XDEVICE (f->device); + + if (DEVICE_SUPPORTS_TOOLBARS_P (d) + && (f->toolbar_changed + || f->frame_layout_changed + || f->frame_changed + || f->clear)) + { DEVMETH (d, output_frame_toolbars, (f)); } diff --text -u 'xemacs-21.4.8/src/toolbar.h' 'xemacs-21.4.9/src/toolbar.h' Index: ././src/toolbar.h --- ././src/toolbar.h Fri Apr 13 03:24:25 2001 +++ ././src/toolbar.h Tue Aug 20 20:38:22 2002 @@ -100,6 +100,7 @@ extern Lisp_Object Vtoolbar_size[4]; extern Lisp_Object Vtoolbar_border_width[4]; void update_frame_toolbars (struct frame *f); +void update_frame_toolbars_geometry (struct frame *f); void init_frame_toolbars (struct frame *f); void init_device_toolbars (struct device *d); void init_global_toolbars (struct device *d); diff --text -u 'xemacs-21.4.8/src/unexelf.c' 'xemacs-21.4.9/src/unexelf.c' Index: ././src/unexelf.c --- ././src/unexelf.c Fri Apr 13 03:24:27 2001 +++ ././src/unexelf.c Tue Aug 20 20:38:23 2002 @@ -481,10 +481,20 @@ #ifndef ElfW # ifdef __STDC__ -# define ElfW(type) Elf32_##type +# define ElfBitsW(bits, type) Elf##bits##_##type # else -# define ElfW(type) Elf32_/**/type +# define ElfBitsW(bits, type) Elf/**/bits/**/_/**/type # endif +# ifndef ELFSIZE +# ifdef _LP64 +# define ELFSIZE 64 +# else +# define ELFSIZE 32 +# endif +# endif + /* This macro expands `bits' before invoking ElfBitsW. */ +# define ElfExpandBitsW(bits, type) ElfBitsW (bits, type) +# define ElfW(type) ElfExpandBitsW (ELFSIZE, type) #endif #ifndef ELF_BSS_SECTION_NAME diff --text -u 'xemacs-21.4.8/src/win32.c' 'xemacs-21.4.9/src/win32.c' Index: ././src/win32.c --- ././src/win32.c Mon Dec 17 14:49:27 2001 +++ ././src/win32.c Tue Aug 20 20:38:24 2002 @@ -182,19 +182,25 @@ if ((fname1 = strchr (doc, ':')) != NULL && *++fname1 == '/' && *++fname1 == '/') { - fname1++; - pos = fname1 - doc; - if (!(isalpha (fname1[0]) && (IS_DEVICE_SEP (fname1[1])))) + // URL-style if we get here, but we must only convert file + // arguments, since win32 paths are illegal in http etc. + if (strncmp (doc, "file://", 7) == 0) { - sz = cygwin_posix_to_win32_path_list_buf_size (fname1); - fname2 = alloca (sz + pos); - strncpy (fname2, doc, pos); - doc = fname2; - fname2 += pos; - cygwin_posix_to_win32_path_list (fname1, fname2); + fname1++; + pos = fname1 - doc; + if (!(isalpha (fname1[0]) && (IS_DEVICE_SEP (fname1[1])))) + { + sz = cygwin_posix_to_win32_path_list_buf_size (fname1); + fname2 = alloca (sz + pos); + strncpy (fname2, doc, pos); + doc = fname2; + fname2 += pos; + cygwin_posix_to_win32_path_list (fname1, fname2); + } } } else { + // Not URL-style, must be a straight filename. LOCAL_TO_WIN32_FILE_FORMAT (document, doc); } #endif diff --text -u 'xemacs-21.4.8/src/window.c' 'xemacs-21.4.9/src/window.c' Index: ././src/window.c --- ././src/window.c Mon Dec 17 14:49:27 2001 +++ ././src/window.c Tue Aug 20 20:38:26 2002 @@ -3654,8 +3654,9 @@ DEFUN ("split-window", Fsplit_window, 0, 3, "", /* Split WINDOW, putting SIZE lines in the first of the pair. WINDOW defaults to the selected one and SIZE to half its size. -If optional third arg HORFLAG is non-nil, split side by side -and put SIZE columns in the first of the pair. +If optional third arg HORFLAG is non-nil, split side by side and put +SIZE columns in the first of the pair. The newly created window is +returned. */ (window, size, horflag)) { @@ -3679,7 +3680,7 @@ /* In the new scheme, we are symmetric with respect to separators so there is no need to do weird things here. */ { - psize = WINDOW_WIDTH (o) >> 1; + psize = (WINDOW_WIDTH (o) + window_divider_width (o)) >> 1; csize = window_pixel_width_to_char_width (o, psize, 0); } else diff --text -u 'xemacs-21.4.8/src/xgccache.c' 'xemacs-21.4.9/src/xgccache.c' Index: ././src/xgccache.c --- ././src/xgccache.c Fri Apr 13 03:24:29 2001 +++ ././src/xgccache.c Tue Aug 20 20:38:28 2002 @@ -98,7 +98,7 @@ const struct gcv_and_mask *gcvm = (const struct gcv_and_mask *) arg; unsigned long *longs = (unsigned long *) &gcvm->gcv; unsigned long hash = gcvm->mask; - int i; + size_t i; /* This could look at the mask and only use the used slots in the hash code. That would win in that we wouldn't have to initialize every slot of the gcv when calling gc_cache_lookup. But we need diff --text -u 'xemacs-21.4.8/tests/ChangeLog' 'xemacs-21.4.9/tests/ChangeLog' Index: ././tests/ChangeLog --- ././tests/ChangeLog Thu May 9 20:27:23 2002 +++ ././tests/ChangeLog Fri Aug 23 19:42:19 2002 @@ -1,3 +1,12 @@ +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-07-20 Mike Sperber + + * automated/test-harness.el (test-harness-read-from-buffer): Fix + incorrect call of `princ'. + 2002-05-09 Stephen J. Turnbull * XEmacs 21.4.8 "Honest Recruiter" is released. diff --text -u 'xemacs-21.4.8/tests/automated/test-harness.el' 'xemacs-21.4.9/tests/automated/test-harness.el' Index: ././tests/automated/test-harness.el --- ././tests/automated/test-harness.el Wed May 1 01:06:55 2002 +++ ././tests/automated/test-harness.el Tue Aug 20 20:38:35 2002 @@ -99,7 +99,7 @@ (setq body (cons (read buffer) body))) (end-of-file nil) (error - (princ "Unexpected error %S reading forms from buffer\n" error-info))) + (princ (format "Unexpected error %S reading forms from buffer\n" error-info)))) `(lambda () (defvar passes) (defvar assertion-failures) diff --text -u 'xemacs-21.4.8/version.sh' 'xemacs-21.4.9/version.sh' Index: ././version.sh --- ././version.sh Thu May 9 23:48:58 2002 +++ ././version.sh Fri Aug 23 19:42:19 2002 @@ -2,9 +2,9 @@ emacs_is_beta= emacs_major_version=21 emacs_minor_version=4 -emacs_beta_version=8 -xemacs_codename="Honest Recruiter" -emacs_kitname="" +emacs_beta_version=9 +xemacs_codename="Informed Management" +emacs_kit_version= infodock_major_version=4 infodock_minor_version=0 infodock_build_version=8 #### End of Patch data #### #### ApplyPatch data follows #### # Data version : 1.0 # Date generated : Fri Aug 23 19:42:30 2002 # Generated by : makepatch 2.00_03 # Recurse directories : Yes # Excluded files : (\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 # p './CHANGES-msw' 1023 1029843150 0100644 # p './CHANGES-release' 10932 1030014066 0100644 # p './ChangeLog' 147768 1030099338 0100644 # p './INSTALL' 32154 1029843154 0100644 # p './PROBLEMS' 78502 1029843156 0100644 # p './build-msw-release.sh' 2988 1029843158 0100755 # p './configure' 457750 1030099338 0100755 # p './configure.in' 173319 1029843241 0100644 # p './configure.usage' 15388 1029843245 0100644 # p './etc/BETA' 19282 1029843248 0100644 # p './etc/OXYMORONS' 1623 1029843249 0100644 # p './etc/package-index.LATEST.pgp' 63717 1029843250 0100644 # p './lib-src/ChangeLog' 40083 1030099338 0100644 # p './lib-src/Makefile.in.in' 12424 1029843256 0100644 # p './lib-src/etags.c' 142164 1029843257 0100644 # p './lib-src/gnuclient.c' 18353 1029843259 0100644 # p './lib-src/gnuserv.c' 21759 1029843260 0100644 # p './lib-src/make-docfile.c' 25161 1029843261 0100644 # p './lib-src/mmencode.c' 15382 1029843262 0100644 # p './lib-src/movemail.c' 23057 1029843262 0100644 # p './lib-src/ootags.c' 132830 1029843263 0100644 # c './lib-src/winclient.c' 0 1029843265 0100644 # p './lib-src/yow.c' 3675 1029843265 0100644 # p './lisp/ChangeLog' 349596 1030099338 0100644 # p './lisp/about.el' 90008 1029843273 0100644 # p './lisp/autoload.el' 21858 1029843274 0100644 # p './lisp/cmdloop.el' 23861 1029843275 0100644 # p './lisp/custom.el' 24488 1029843276 0100644 # p './lisp/dialog.el' 25231 1029843276 0100644 # p './lisp/faces.el' 78833 1029843277 0100644 # p './lisp/files.el' 127648 1029843279 0100644 # p './lisp/find-paths.el' 11332 1029843281 0100644 # p './lisp/font-lock.el' 117467 1029843282 0100644 # p './lisp/font.el' 49423 1029843284 0100644 # p './lisp/frame.el' 50745 1029843285 0100644 # p './lisp/gutter-items.el' 27457 1029843286 0100644 # p './lisp/info.el' 115785 1029843287 0100644 # p './lisp/keydefs.el' 26787 1029843289 0100644 # p './lisp/lib-complete.el' 13741 1029843290 0100644 # p './lisp/list-mode.el' 25922 1029843290 0100644 # p './lisp/menubar-items.el' 71896 1029843291 0100644 # p './lisp/menubar.el' 27538 1029843293 0100644 # p './lisp/msw-font-menu.el' 7870 1029843294 0100644 # p './lisp/msw-glyphs.el' 3752 1029843294 0100644 # p './lisp/package-get.el' 42497 1029843296 0100644 # p './lisp/package-net.el' 9714 1029843298 0100644 # p './lisp/package-ui.el' 24071 1029843299 0100644 # p './lisp/printer.el' 17621 1029843301 0100644 # p './lisp/process.el' 20079 1029843302 0100644 # p './lisp/rect.el' 11942 1029843303 0100644 # p './lisp/select.el' 30342 1029843304 0100644 # p './lisp/simple.el' 174720 1029843305 0100644 # p './lisp/subr.el' 35553 1029843308 0100644 # p './lisp/toolbar-items.el' 20383 1029843309 0100644 # p './lisp/toolbar.el' 8194 1029843310 0100644 # p './lisp/wid-edit.el' 125794 1029843310 0100644 # p './lisp/window-xemacs.el' 23796 1029843312 0100644 # p './lwlib/ChangeLog' 23369 1030099339 0100644 # p './lwlib/lwlib-Xm.c' 63797 1029843316 0100644 # p './lwlib/lwlib-utils.c' 4831 1029843318 0100644 # p './lwlib/xlwmenu.c' 99366 1029843318 0100644 # p './man/ChangeLog' 86233 1030099339 0100644 # p './man/emodules.texi' 41899 1029843322 0100644 # p './man/internals/internals.texi' 393939 1029843339 0100644 # p './man/lispref/building.texi' 21402 1029843344 0100644 # p './man/lispref/commands.texi' 91050 1029843345 0100644 # p './man/lispref/control.texi' 48768 1029843346 0100644 # p './man/lispref/customize.texi' 27651 1029843348 0100644 # p './man/lispref/dragndrop.texi' 4754 1029843348 0100644 # p './man/lispref/mule.texi' 88847 1029843349 0100644 # p './man/lispref/packaging.texi' 50687 1029843350 0100644 # p './man/lispref/text.texi' 115287 1029843351 0100644 # p './man/new-users-guide/custom1.texi' 11128 1029843353 0100644 # p './man/term.texi' 13425 1029843323 0100644 # p './man/termcap.texi' 133310 1029843324 0100644 # p './man/texinfo.texi' 599866 1029843325 0100644 # p './man/widget.texi' 51119 1029843331 0100644 # p './man/xemacs-faq.texi' 252730 1029843332 0100644 # p './man/xemacs/custom.texi' 100116 1029843355 0100644 # p './man/xemacs/files.texi' 81201 1029843356 0100644 # p './man/xemacs/menus.texi' 21644 1029843357 0100644 # p './man/xemacs/misc.texi' 32636 1029843358 0100644 # p './man/xemacs/mule.texi' 27936 1029843359 0100644 # p './man/xemacs/packages.texi' 29782 1029843360 0100644 # p './netinstall/ChangeLog' 7739 1030099339 0100644 # p './netinstall/Makefile.in.in' 7524 1029843364 0100644 # p './netinstall/desktop.cc' 13419 1029843365 0100644 # c './netinstall/desktop.h' 0 1029843366 0100644 # p './netinstall/install.cc' 11036 1029843367 0100644 # p './netinstall/msg.cc' 1502 1029843367 0100644 # p './netinstall/res.rc' 22841 1029843367 0100644 # p './netinstall/source.cc' 2639 1029843368 0100644 # p './netinstall/uninstall.cc' 7800 1029843369 0100644 # p './netinstall/win32.h' 1223 1029843369 0100644 # p './nt/ChangeLog' 40224 1030099339 0100644 # p './nt/README' 13598 1029843373 0100644 # p './nt/config.inc.samp' 2370 1029843374 0100644 # p './nt/xemacs.mak' 47215 1029843375 0100644 # p './nt/xpm.mak' 1177 1029843378 0100644 # p './src/ChangeLog' 323714 1030099339 0100644 # p './src/EmacsFrame.c' 23775 1029843397 0100644 # p './src/ExternalShell.c' 22678 1029843398 0100644 # p './src/backtrace.h' 10739 1029843398 0100644 # p './src/bytecode.c' 60692 1029843399 0100644 # p './src/callint.c' 31702 1029843401 0100644 # p './src/config.h.in' 25576 1029843402 0100644 # p './src/console-msw.h' 13332 1029843403 0100644 # p './src/console.h' 26176 1029843404 0100644 # p './src/device-msw.c' 39585 1029843405 0100644 # p './src/device.h' 17852 1029843406 0100644 # p './src/dialog-msw.c' 25139 1029843407 0100644 # p './src/dired-msw.c' 16951 1029843408 0100644 # p './src/doprnt.c' 23901 1029843409 0100644 # p './src/dumper.c' 35136 1029843410 0100644 # p './src/editfns.c' 80177 1029843412 0100644 # p './src/emacs.c' 116049 1029843415 0100644 # p './src/eval.c' 155829 1029843417 0100644 # p './src/event-Xt.c' 109742 1029843421 0100644 # p './src/event-msw.c' 119434 1029843423 0100644 # p './src/event-stream.c' 164189 1029843427 0100644 # p './src/extents.c' 219166 1029843430 0100644 # p './src/extents.h' 16064 1029843432 0100644 # p './src/fileio.c' 133921 1030013910 0100644 # p './src/filelock.c' 14617 1029843434 0100644 # p './src/fns.c' 108042 1029843435 0100644 # p './src/font-lock.c' 26363 1029843438 0100644 # p './src/frame-msw.c' 36450 1029843439 0100644 # p './src/frame.h' 30214 1029843440 0100644 # p './src/glyphs-eimage.c' 39896 1029843441 0100644 # p './src/glyphs-msw.c' 99568 1029843442 0100644 # p './src/glyphs-x.c' 91733 1029843444 0100644 # p './src/glyphs.c' 165499 1029843447 0100644 # p './src/gutter.c' 50837 1029843451 0100644 # p './src/imgproc.c' 14354 1029843452 0100644 # p './src/keymap.c' 134941 1029843452 0100644 # p './src/lisp.h' 118150 1029843454 0100644 # p './src/lread.c' 92016 1029164199 0100644 # p './src/menubar-msw.c' 29419 1029843460 0100644 # p './src/nas.c' 22292 1029843462 0100644 # p './src/nt.c' 56984 1029843463 0100644 # p './src/process-nt.c' 38973 1029843465 0100644 # p './src/process-unix.c' 61353 1029843466 0100644 # p './src/process.c' 65156 1029843468 0100644 # p './src/ralloc.c' 58569 1029843470 0100644 # p './src/realpath.c' 8980 1030013914 0100644 # p './src/redisplay-gtk.c' 62064 1029843472 0100644 # p './src/redisplay-msw.c' 43039 1029843475 0100644 # p './src/redisplay-output.c' 73312 1029843477 0100644 # p './src/redisplay-x.c' 64423 1029843479 0100644 # p './src/redisplay.c' 283441 1029843480 0100644 # p './src/redisplay.h' 27951 1029843486 0100644 # p './src/scrollbar-msw.c' 15119 1029843487 0100644 # p './src/search.c' 90695 1029843488 0100644 # p './src/select-x.c' 55591 1029843490 0100644 # p './src/symbols.c' 113260 1029843491 0100644 # p './src/sysdep.c' 111910 1029843494 0100644 # p './src/sysdll.c' 5241 1029843496 0100644 # p './src/syswindows.h' 8915 1029843497 0100644 # p './src/toolbar-gtk.c' 18658 1029843498 0100644 # p './src/toolbar-msw.c' 17948 1029843499 0100644 # p './src/toolbar-x.c' 23486 1029843500 0100644 # p './src/toolbar.c' 58347 1029843501 0100644 # p './src/toolbar.h' 3725 1029843502 0100644 # p './src/unexelf.c' 40900 1029843503 0100644 # p './src/win32.c' 11894 1029843504 0100644 # p './src/window.c' 197795 1029843506 0100644 # p './src/xgccache.c' 9557 1029843508 0100644 # p './tests/ChangeLog' 12040 1030099339 0100644 # p './tests/automated/test-harness.el' 13490 1029843515 0100644 # p './version.sh' 218 1030099339 0100644 #### End of ApplyPatch data #### #### End of Patch kit [created: Fri Aug 23 19:42:30 2002] #### #### Patch checksum: 16513 595442 4403 #### #### Checksum: 16545 596600 36316 ####