# HG changeset patch # User Miles Bader # Date 1165464854 0 # Node ID f1d13e6150704ab24f6d4d38633ea77051e0a793 # Parent 06937e972ad07dd92edb0486275b1ebbd34d5412# Parent 961428a4bccd3918ee16341c3c87932387735e6a Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 523-544) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 168-171) - Update from CVS - Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-150 diff -r 06937e972ad0 -r f1d13e615070 .cvsignore --- a/.cvsignore Thu Dec 07 00:45:27 2006 +0000 +++ b/.cvsignore Thu Dec 07 04:14:14 2006 +0000 @@ -10,5 +10,6 @@ Makefile emacs*.tar.gz leim*.tar.gz +lock *.xdelta autom4te.cache diff -r 06937e972ad0 -r f1d13e615070 AUTHORS --- a/AUTHORS Thu Dec 07 00:45:27 2006 +0000 +++ b/AUTHORS Thu Dec 07 04:14:14 2006 +0000 @@ -154,8 +154,6 @@ Andy Petrusenco: changed w32term.c -Anna Bigatti: changed cal-html.el - Anna M. Bigatti: wrote cal-html.el Ari Roponen: changed atimer.c startup.el diff -r 06937e972ad0 -r f1d13e615070 ChangeLog --- a/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,28 @@ +2006-12-04 YAMAMOTO Mitsuharu + + * configure.in (HAVE_SYNC): New test. + + * configure: Regenerate. + +2006-12-03 Glenn Morris + + * Makefile.in: Fix Copyright format. + + * configure.in (AH_TOP): Add missing Copyright year. + + * update-subdirs: Add missing Copyright years. + +2006-11-27 Chris Moore (tiny change) + + * Makefile.in: Touch only the parts of the share/emacs directory + specific to this version. + +2006-11-26 Chong Yidong + + * configure.in (HAVE_X86_64_LIB64_DIR): New test. + + * configure: Regenerate. + 2006-11-14 YAMAMOTO Mitsuharu * configure.in (HAVE_CANCELMENUTRACKING): Remove test. @@ -356,7 +381,7 @@ Update FSF's address in GPL notices. -2005-06-19 J,bi(Br,bt(Bme Marant +2005-06-19 J,Ai(Br,At(Bme Marant * Makefile.in (epaths-force): Protect both lisppath and buildlisppath from whitespace. @@ -445,7 +470,7 @@ * Makefile.in (install-arch-indep, uninstall): Add url and org manuals. -2004-12-07 Stefan +2004-12-07 Stefan Monnier * configure.in (INLINE, RE_TRANSLATE_P): Move patches mistakenly committed to src/config.in. @@ -515,7 +540,7 @@ * configure.in (HAVE_RANDOM_HEAPSTART): Change AC_MSG_ERROR to AC_MSG_WARN. Move output of warning message to end of configure run. -2004-10-05 Jan Dj,Ad(Brv. +2004-10-05 Jan Dj,Ad(Brv * configure.in (HAVE_RANDOM_HEAPSTART): Rename HAVE_EXECSHIELD. Run test to see if heap start address is random. @@ -637,7 +662,7 @@ * configure.in : Use fink packages if available. -2004-01-25 Jerome Marant (tiny change) +2004-01-25 J,Ai(Br,At(Bme Marant (tiny change) * make-dist (lispref): Do include lispref/index.texi. @@ -946,7 +971,7 @@ * configure.in (*-sunos5*, *-solaris*): Use sol2-8. -2002-11-14 Francesco Potorti` +2002-11-14 Francesco Potort,Al(B * configure.in (*-sunos5.8*, *-solaris2.8*): New configurations. @@ -1200,7 +1225,7 @@ These changes make Leim part of the standard distribution: - * README: Add info about the `leim' directory + * README: Add info about the `leim' directory. * INSTALL: Remove text that describes Leim as a separate package. @@ -1768,8 +1793,7 @@ 2000-08-24 Gerd Moellmann * configure.in : Unset CDPATH in case $PWD - contains a relative path. Protect against unusable values of - $PWD. + contains a relative path. Protect against unusable values of $PWD. 2000-08-08 Eli Zaretskii @@ -1780,8 +1804,7 @@ 2000-08-07 Gerd Moellmann - * Makefile.in (config.status): Prepend `$(srcdir)/' to - `configure'. + * Makefile.in (config.status): Prepend `$(srcdir)/' to `configure'. 2000-08-03 Gerd Moellmann @@ -2147,7 +2170,7 @@ 1999-08-18 Dave Love - * configure.in: : Check for termcap.h. + * configure.in: Check for termcap.h. 1999-08-15 Gerd Moellmann @@ -2260,8 +2283,8 @@ 1998-12-04 Andreas Schwab - * Makefile.in: Don't install customize info file. Run - install-info on viper info file. + * Makefile.in: Don't install customize info file. + Run install-info on viper info file. 1998-11-29 Richard Stallman @@ -2481,7 +2504,7 @@ 1997-09-30 Karl Eichwalder - * Makefile.in (install-arch-indep): install the widget info file. + * Makefile.in (install-arch-indep): Install the widget info file. 1997-09-24 Jonathan I. Kamens @@ -2493,8 +2516,7 @@ 1997-09-21 Erik Naggum - * make-dist (making links to `src'): Keep timestamp on copied - files. + * make-dist (making links to `src'): Keep timestamp on copied files. * make-delta: New script to produce delta distributions. @@ -2655,7 +2677,7 @@ * make-dist (etc): Really avoid symlinks now. (lisp): Don't delete from subdirs the things we never copy. -1997-07-07 Ken'ichi Handa +1997-07-07 Kenichi Handa * Makefile.in (install-arch-indep): Correct the target name. The first letter `i' was dropped by the previous change of mine. @@ -2680,12 +2702,12 @@ * Makefile.in (install-leim): Correct previous change. -1997-07-02 Ken'ichi Handa +1997-07-02 Kenichi Handa * Makefile.in (install-leim): New target. (install): Depend on install-leim. -1997-07-01 Ken'ichi Handa +1997-07-01 Kenichi Handa * Makefile.in (SUBDIR): Add leim. (SUBDIR_MAKEFILES): Add leim/Makefile. @@ -2721,16 +2743,14 @@ 1997-06-22 Dave Love - * Makefile.in (lib-src): Depend on src/config.h (e.g. for - movemail.o). - (src/config.h): New target to re-configure if src/config.in - is patched. + * Makefile.in (lib-src): Depend on src/config.h (e.g. for movemail.o). + (src/config.h): New target to re-configure if src/config.in is patched. 1997-06-18 Richard Stallman * configure.in (shutdown): Check for `shutdown' function. -1997-06-18 Ken'ichi Handa +1997-06-18 Kenichi Handa * update-subdirs: Include the directory "language" in subdirs. @@ -2767,15 +2787,14 @@ 1997-04-09 Marcus G. Daniels * configure.in (doug_lea_malloc): First check for SYSTEM_MALLOC, - in case it is desirable to disable the GNU malloc features with - glibc. + in case it is desirable to disable the GNU malloc features with glibc. 1997-04-08 Marcus G. Daniels * configure.in (DOUG_LEA_MALLOC): Define if malloc_{get,set}_state exist. -1997-03-05 Ken'ichi Handa +1997-03-05 Kenichi Handa * make-dist: Make links for files under lisp/language. @@ -2967,7 +2986,7 @@ 1996-07-11 Bill Mann - * configure.in: Use s/usg5-4-3.h for ncr-i[3456]86-sysv4.3 + * configure.in: Use s/usg5-4-3.h for ncr-i[3456]86-sysv4.3. 1996-07-07 Karl Heuer @@ -3490,8 +3509,8 @@ 1995-06-22 Paul Eggert - * configure.in: Treat SunOS 4.1.4 like SunOS 4.1.3. - (Likewise for SunOS 4.1.5 thorugh 4.1.9, should they ever exist.) + * configure.in: Treat SunOS 4.1.4 like SunOS 4.1.3. (Likewise for + SunOS 4.1.5 thorugh 4.1.9, should they ever exist.) 1995-06-22 Paul Eggert @@ -3563,7 +3582,7 @@ 1995-05-22 enami tsugutomo - * configure.in: pass arg to sqrt. + * configure.in: Pass arg to sqrt. 1995-05-18 Karl Heuer @@ -3575,8 +3594,7 @@ 1995-05-09 David J. MacKenzie - * configure.in: Use sqrt (more portable) instead of fmod in -lm - check. + * configure.in: Use sqrt (more portable) instead of fmod in -lm check. 1995-05-09 Richard Stallman @@ -3593,9 +3611,9 @@ 1995-05-06 David J. MacKenzie - * configure.in: Make sure CDPATH doesn't mess up PWD check. Check - whether X bitmaps are in X11/bitmaps instead of bitmaps. Use fmod - instead of logb in -lm check. + * configure.in: Make sure CDPATH doesn't mess up PWD check. + Check whether X bitmaps are in X11/bitmaps instead of bitmaps. + Use fmod instead of logb in -lm check. 1995-05-03 Richard Stallman @@ -3615,7 +3633,7 @@ * configure.in (*-sun-sunos4.1.3*): Use shared libraries, since that's what the header file expects. -1995-04-24 Francesco Potorti` (pot@cnuce.cnr.it) +1995-04-24 Francesco Potort,Al(B (pot@cnuce.cnr.it) * configure.in (m68k-motorola-sysv*): Distinguish between 68030 and 68040 based machines when choosing options for gnucc. @@ -3644,7 +3662,7 @@ 1995-04-06 Simon Leinen * Makefile.in (install-arch-indep, dist): - look for `update-subdir' in $(srcdir). + Look for `update-subdir' in $(srcdir). 1995-04-06 Richard Stallman @@ -3680,8 +3698,8 @@ 1995-02-02 David J. MacKenzie - * configure.in: Create a .gdbinit that sources the real one, if - using a different build directory. + * configure.in: Create a .gdbinit that sources the real one, + if using a different build directory. 1995-01-23 Karl Heuer @@ -6396,8 +6414,8 @@ ;; add-log-time-zone-rule: t ;; End: - Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2006 - Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, + 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. diff -r 06937e972ad0 -r f1d13e615070 INSTALL --- a/INSTALL Thu Dec 07 00:45:27 2006 +0000 +++ b/INSTALL Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ GNU Emacs Installation Guide -Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2006 -Free software Foundation, Inc. +Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004, +2005, 2006 Free Software Foundation, Inc. See the end of the file for copying permissions. diff -r 06937e972ad0 -r f1d13e615070 Makefile.in --- a/Makefile.in Thu Dec 07 00:45:27 2006 +0000 +++ b/Makefile.in Thu Dec 07 04:14:14 2006 +0000 @@ -2,8 +2,8 @@ # DIST: make most of the changes to this file you might want, so try # DIST: that first. -# Copyright (C) 1992,93,94,95,96,97,98,1999,2000,01,02,03,04,2005,2006 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -518,7 +518,7 @@ ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \ done; \ else true; fi - -chmod -R a+r $(DESTDIR)${datadir}/emacs ${COPYDESTS} $(DESTDIR)${infodir} + -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir} thisdir=`/bin/pwd`; \ cd ${srcdir}/etc; \ for page in emacs emacsclient etags ctags ; do \ diff -r 06937e972ad0 -r f1d13e615070 README --- a/README Thu Dec 07 00:45:27 2006 +0000 +++ b/README Thu Dec 07 04:14:14 2006 +0000 @@ -1,28 +1,29 @@ This directory tree holds version 22.0.91 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. -You may encounter bugs in this release. If you do, please report -them; your bug reports are valuable contributions to the FSF, since -they allow us to notice and fix problems on machines we don't have, or -in code we don't use often. See the file BUGS for more information on -how to report bugs. +The file INSTALL in this directory says how to build and install GNU +Emacs on various systems, once you have unpacked or checked out the +entire Emacs file tree. See the file etc/NEWS for information on new features and other user-visible changes in recent versions of Emacs. -The file INSTALL in this directory says how to bring up GNU Emacs on -various systems, once you have loaded the entire subtree of this -directory. - The file etc/PROBLEMS contains information on many common problems that occur in building, installing and running Emacs. -Reports of bugs in Emacs should be sent to the mailing list -bug-gnu-emacs@gnu.org. See the "Bugs" section of the Emacs -manual for more information on how to report bugs. (The file `BUGS' -in this directory explains how you can find and read that section -using the Info files that come with Emacs.) See `etc/MAILINGLISTS' -for more information on mailing lists relating to GNU packages. +You may encounter bugs in this release. If you do, please report +them; your bug reports are valuable contributions to the FSF, since +they allow us to notice and fix problems on machines we don't have, or +in code we don't use often. Please send bug reports for released +versions of Emacs sent to the mailing list bug-gnu-emacs@gnu.org. +Please send bug reports for pretest versions of Emacs, and versions +from the Savannah.gnu.org repository, to emacs-pretest-bugs@gnu.org. + +See the "Bugs" section of the Emacs manual for more information on how +to report bugs. (The file `BUGS' in this directory explains how you +can find and read that section using the Info files that come with +Emacs.) See `etc/MAILINGLISTS' for more information on mailing lists +relating to GNU packages. The `etc' subdirectory contains several other files, named in capital letters, which you might consider looking at when installing GNU @@ -86,20 +87,3 @@ that aren't part of the standard distribution of the OS. The platform-specific README files and installation instructions should list the required tools. - -VMS info: - -Emacs 19.x and above do not compile out of the box on OpenVMS. -Richard Levitte is distributing and maintaining a -version of Emacs (currently based on version 19.28, but soon moving to -19.34 and then 20.1) that compiles and works on OpenVMS 5.5 and above -on both VAX and Alpha architectures. For more information see - - http://www.lp.se/gnu-vms/software/released1/emacs.html - -There is also some effort going on with Emacs 21. Source code is -available at ftp://ftp.nvg.ntnu.no/pub/vms/emacs/. Look for most -recent stuff with ls -lta. - -It is a working "development" version (editing and much more works). -More developers are needed; contact roart@nvg.ntnu.no. diff -r 06937e972ad0 -r f1d13e615070 admin/ChangeLog --- a/admin/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,8 @@ +2006-11-25 Juanma Barranquero + + * admin.el (set-version): Set version number in + lib-src/makefile.w32-in. + 2006-11-06 Reiner Steib * FOR-RELEASE (BUGS): Remove "Build failure under Suse 10.0" was @@ -395,7 +400,8 @@ ;; add-log-time-zone-rule: t ;; End: - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software + Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. diff -r 06937e972ad0 -r f1d13e615070 admin/FOR-RELEASE --- a/admin/FOR-RELEASE Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/FOR-RELEASE Thu Dec 07 04:14:14 2006 +0000 @@ -43,11 +43,21 @@ * BUGS +** make-network-process :nowait t doesn't work for non-local targets + on Windows. + If it cannot be fixed, (featurep 'make-network-process '(:nowait t)) + should return nil. + ** Document use of gpg-agent -** seltenreich@gmx.de, Nov 19: Failed assertion on make-frame-on-display +** monnier@iro.umontreal.ca, Nov 24: + gnus-summary-tick-article-forward doesn't work any more? -** jbuehler@spirentcom.com, Nov 20: AIX 5.2 loadup failure +** christopher.ian.moore@gmail.com, Nov 30: too much recursion in gnus-sort-threads-1. + +** dooglus@gmail.com, Dec 1: Replacement of spaces in wdired + +** Should CC mode set beginning-of-defun-function? * DOCUMENTATION diff -r 06937e972ad0 -r f1d13e615070 admin/admin.el --- a/admin/admin.el Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/admin.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ ;;; admin.el --- utilities for Emacs administration -;; Copyright (C) 2001, 2005 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; This file is part of GNU Emacs. @@ -88,6 +89,9 @@ (set-version-in-file root "lispref/elisp.texi" version (rx (and "EMACSVER" (1+ space) (submatch (1+ (in "0-9.")))))) + (set-version-in-file root "lib-src/makefile.w32-in" version + (rx (and "VERSION" (0+ space) "=" (0+ space) + (submatch (1+ (in "0-9.")))))) ;; nt/emacs.rc also contains the version number, but in an awkward ;; format. It must contain four components, separated by commas, and ;; in two places those commas are followed by space, in two other diff -r 06937e972ad0 -r f1d13e615070 admin/alloc-colors.c --- a/admin/alloc-colors.c Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/alloc-colors.c Thu Dec 07 04:14:14 2006 +0000 @@ -1,5 +1,6 @@ /* Allocate X colors. Used for testing with dense colormaps. - Copyright (C) 2001, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software + Foundation, Inc. This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 admin/build-configs --- a/admin/build-configs Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/build-configs Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ #! /usr/bin/perl -# Copyright (C) 2001, 2006 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # # This file is part of GNU Emacs. # diff -r 06937e972ad0 -r f1d13e615070 admin/cus-test.el --- a/admin/cus-test.el Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/cus-test.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ ;;; cus-test.el --- tests for custom types and load problems -;; Copyright (C) 1998, 2000, 2002, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1998, 2000, 2002, 2003, 2004, 2005, 2006 Free +;; Software Foundation, Inc. ;; Author: Markus Rost ;; Maintainer: Markus Rost diff -r 06937e972ad0 -r f1d13e615070 admin/diff-tar-files --- a/admin/diff-tar-files Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/diff-tar-files Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ #! /bin/sh -# Copyright (C) 2001, 2006 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # # This file is part of GNU Emacs. # diff -r 06937e972ad0 -r f1d13e615070 admin/make-emacs --- a/admin/make-emacs Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/make-emacs Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ #! /usr/bin/perl -# Copyright (C) 2001, 2006 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # # This file is part of GNU Emacs. # diff -r 06937e972ad0 -r f1d13e615070 admin/revdiff --- a/admin/revdiff Thu Dec 07 00:45:27 2006 +0000 +++ b/admin/revdiff Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ #! /usr/bin/perl -# Copyright (C) 2001, 2006 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # # This file is part of GNU Emacs. # diff -r 06937e972ad0 -r f1d13e615070 config.bat --- a/config.bat Thu Dec 07 00:45:27 2006 +0000 +++ b/config.bat Thu Dec 07 04:14:14 2006 +0000 @@ -1,8 +1,8 @@ @echo off rem ---------------------------------------------------------------------- rem Configuration script for MSDOS -rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004, 2006 -rem Free Software Foundation, Inc. +rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 +rem 2004, 2005, 2006 Free Software Foundation, Inc. rem This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 configure --- a/configure Thu Dec 07 00:45:27 2006 +0000 +++ b/configure Thu Dec 07 04:14:14 2006 +0000 @@ -5193,6 +5193,19 @@ +### The standard library on x86-64 GNU/Linux distributions can +### be located in either /usr/lib64 or /usr/lib. +case "${canonical}" in + x86_64-*-linux-gnu* ) + if test -d /usr/lib64; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_X86_64_LIB64_DIR 1 +_ACEOF + +fi +esac + @@ -15097,6 +15110,7 @@ + for ac_func in gethostname getdomainname dup2 \ rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \ @@ -15104,7 +15118,7 @@ utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ sendto recvfrom getsockopt setsockopt getsockname getpeername \ -gai_strerror mkstemp getline getdelim mremap memmove fsync bzero \ +gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \ memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` diff -r 06937e972ad0 -r f1d13e615070 configure.in --- a/configure.in Thu Dec 07 00:45:27 2006 +0000 +++ b/configure.in Thu Dec 07 04:14:14 2006 +0000 @@ -1494,6 +1494,16 @@ AC_SYS_LARGEFILE +### The standard library on x86-64 GNU/Linux distributions can +### be located in either /usr/lib64 or /usr/lib. +case "${canonical}" in + x86_64-*-linux-gnu* ) + if test -d /usr/lib64; then + AC_DEFINE(HAVE_X86_64_LIB64_DIR, 1, + [Define to 1 if the file /usr/lib64 exists.]) +fi +esac + dnl This function defintion taken from Gnome 2.0 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page @@ -2572,7 +2582,7 @@ utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ sendto recvfrom getsockopt setsockopt getsockname getpeername \ -gai_strerror mkstemp getline getdelim mremap memmove fsync bzero \ +gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \ memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign) AC_CHECK_HEADERS(sys/un.h) @@ -2957,7 +2967,7 @@ fi AH_TOP([/* GNU Emacs site configuration template file. - Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006 + Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 etc/ChangeLog --- a/etc/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/etc/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,23 @@ +2006-12-05 Micha,Ak(Bl Cadilhac + + * NEWS (Changes to cmuscheme): Mention the alternative for + `~/.emacs_SCHEMEPROG' which is `~/.emacs.d/init_SCHEMEPROG.scm'. + (Init file changes): Same for `~/.emacs_SHELL' versus + `~/.emacs.d/init_SHELL.sh'. + +2006-12-01 Juanma Barranquero + + * DEVEL.HUMOR: Another entry. + +2006-08-14 Masatake YAMATO + + * etags.1: Added / to the end of DEVAR regex. + +2006-11-22 Juanma Barranquero + + * emacsclient.1 (DESCRIPTION): Suggest also `server-mode'. + (OPTIONS): Document `-f', `--server-file' and EMACS_SERVER_FILE. + 2006-11-20 Michael Olson * NEWS: Change M-x erc-select to M-x erc. diff -r 06937e972ad0 -r f1d13e615070 etc/DEVEL.HUMOR --- a/etc/DEVEL.HUMOR Thu Dec 07 00:45:27 2006 +0000 +++ b/etc/DEVEL.HUMOR Thu Dec 07 04:14:14 2006 +0000 @@ -157,3 +157,14 @@ serious effort', reminiscent of mathematicians' use of 'trivial' as synonymous with 'provable with serious effort'?" -- RMS and David Kastrup + +---------------------------------------------------------------------- + +Re: New Emacs Icon and Tango + + "What about using the 'happy face' with gnu horns?" + "It would make Emacs the object of ridicule until the end of time." + "Isn't it already?" + "It's the object of ridicule until the end of _tape_. The jury is +still out about that end of time thing." + -- Kim F. Storm, Miles Bader, RMS and David Kastrup diff -r 06937e972ad0 -r f1d13e615070 etc/NEWS --- a/etc/NEWS Thu Dec 07 00:45:27 2006 +0000 +++ b/etc/NEWS Thu Dec 07 04:14:14 2006 +0000 @@ -310,8 +310,8 @@ +++ ** Init file changes If the init file ~/.emacs does not exist, Emacs will try -~/.emacs.d/init.el or ~/.emacs.d/init.elc. You can also put the shell -init file .emacs_SHELL under ~/.emacs.d. +~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file +~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. +++ ** Emacs now reads the standard abbrevs file ~/.abbrev_defs @@ -1109,6 +1109,21 @@ jit-lock-context-time determines the delay after which contextual refontification takes place. +--- +*** lazy-lock is considered obsolete. + +The `lazy-lock' package is superseded by `jit-lock' and is considered +obsolete. `jit-lock' is activated by default; if you wish to continue +using `lazy-lock', activate it in your ~/.emacs like this: + + (setq font-lock-support-mode 'lazy-lock-mode) + +If you invoke `lazy-lock-mode' directly rather than through +`font-lock-support-mode', it now issues a warning: + + "Use font-lock-support-mode rather than calling lazy-lock-mode" + + ** Menu support: --- @@ -1260,7 +1275,7 @@ emulator) works. Use `set-keyboard-coding-system' (or customize keyboard-coding-system) if you prefer META to work (the old default) or if the locale doesn't describe the character set actually generated -by the keyboard. See Info node `Single-Byte Character Support'. +by the keyboard. See Info node `Unibyte Mode'. +++ *** The new command `revert-buffer-with-coding-system' (C-x RET r) @@ -2222,9 +2237,9 @@ *** Emacs now offers to start Scheme if the user tries to evaluate a Scheme expression but no Scheme subprocess is running. -*** If a file `.emacs_NAME' (where NAME is the name of the Scheme interpreter) -exists in the user's home directory or in ~/.emacs.d, its -contents are sent to the Scheme subprocess upon startup. +*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME +is the name of the Scheme interpreter) exists, its contents are sent +to the Scheme subprocess upon startup. *** There are new commands to instruct the Scheme interpreter to trace procedure calls (`scheme-trace-procedure') and to expand syntactic forms @@ -3873,8 +3888,9 @@ ** The variable `memory-full' now remains t until there is no longer a shortage of memory. ++++ ** When Emacs receives a USR1 or USR2 signal, this generates -an input event: usr1-signal or usr2-signal. +input event sequences: [signal usr1] or [signal usr2]. * Lisp Changes in Emacs 22.1 diff -r 06937e972ad0 -r f1d13e615070 etc/emacsclient.1 --- a/etc/emacsclient.1 Thu Dec 07 00:45:27 2006 +0000 +++ b/etc/emacsclient.1 Thu Dec 07 04:14:14 2006 +0000 @@ -29,10 +29,10 @@ For .B emacsclient -to work, you need an already running Emacs with a server. Within Emacs, call -the function -`server-start'. (Your `.emacs' file can do this automatically if you -add the expression `(server-start)' to it.) +to work, you need an already running Emacs with a server. Within Emacs, +call the functions `server-start' or `server-mode'. (Your `.emacs' file +can do this automatically if you add either `(server-start)' or +`(server-mode 1)' to it.) When you've finished editing the buffer, type `C-x #' (`server-edit'). This saves the file and sends a message back to the @@ -57,7 +57,11 @@ Lisp expressions. .TP .B \-s, \-\-socket-name=FILENAME -Use socket named FILENAME for communication. +use socket named FILENAME for communication. +.TP +.B \-f, \-\-server-file=FILENAME +use TCP configuration file FILENAME for communication. +This can also be specified via the `EMACS_SERVER_FILE' environment variable. .TP .B \-a, \-\-alternate-editor=EDITOR if the Emacs server is not running, run the specified editor instead. diff -r 06937e972ad0 -r f1d13e615070 etc/etags.1 --- a/etc/etags.1 Thu Dec 07 00:45:27 2006 +0000 +++ b/etc/etags.1 Thu Dec 07 04:14:14 2006 +0000 @@ -205,7 +205,7 @@ Tag the DEFVAR macros in the emacs source files: .br -\fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"\/'\fP +\fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"/'\fP .\"" This comment is to avoid confusion to Emacs syntax highlighting .br diff -r 06937e972ad0 -r f1d13e615070 leim/ChangeLog --- a/leim/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/leim/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,12 @@ +2006-12-05 Juanma Barranquero + + * makefile.w32-in (MISC): Add $(srcdir)/quail/sisheng.elc. + +2006-11-29 Juanma Barranquero + + * quail/greek.el ("greek-mizuochi"): Remove spurious initial newline + in docstring. + 2006-11-04 Romain Francoise * Makefile.in (bootstrap-clean): New target. @@ -98,19 +107,16 @@ 2005-06-04 Eli Zaretskii - * makefile.w32-in (distclean): Fix a typo (colon was after - "clean"). + * makefile.w32-in (distclean): Fix a typo (colon was after "clean"). (extraclean): New target, emulates Makefile.in. 2005-04-06 Kenichi Handa - * quail/sgml-input.el ("sgml"): Enable quail-completion by typing - TAB. + * quail/sgml-input.el ("sgml"): Enable quail-completion by typing TAB. 2005-03-26 Kenichi Handa - * quail/latin-ltx.el ("TeX"): Enable quail-completion by typing - TAB. + * quail/latin-ltx.el ("TeX"): Enable quail-completion by typing TAB. 2005-03-18 Kenichi Handa @@ -170,7 +176,7 @@ 2004-07-01 David Kastrup - * quail/greek.el ("((") ("))"): add quotation mark shorthands. + * quail/greek.el ("((") ("))"): Add quotation mark shorthands. 2004-06-30 Andreas Schwab @@ -221,7 +227,7 @@ 2004-05-01 Kenichi Handa - * Makefile.in (OTHERS): Raname from MISC. + * Makefile.in (OTHERS): Rename from MISC. (MISC): Rename from MISC-DIC. (WORLD): Adjute for the above changes. (TIT-MISC, NON-TIT-MISC): New targets. diff -r 06937e972ad0 -r f1d13e615070 leim/makefile.w32-in --- a/leim/makefile.w32-in Thu Dec 07 00:45:27 2006 +0000 +++ b/leim/makefile.w32-in Thu Dec 07 04:14:14 2006 +0000 @@ -119,7 +119,8 @@ $(srcdir)/quail/ethiopic.elc \ $(srcdir)/quail/ipa.elc \ $(srcdir)/quail/hebrew.elc \ - $(srcdir)/quail/georgian.elc + $(srcdir)/quail/georgian.elc \ + $(srcdir)/quail/sisheng.elc MISC_DIC=\ quail/tsang-b5.elc \ diff -r 06937e972ad0 -r f1d13e615070 leim/quail/greek.el --- a/leim/quail/greek.el Thu Dec 07 00:45:27 2006 +0000 +++ b/leim/quail/greek.el Thu Dec 07 04:14:14 2006 +0000 @@ -137,8 +137,8 @@ ;; -(quail-define-package "greek-mizuochi" "Greek" "CG" t " -The Mizuochi input method for Classical Greek using mule-unicode-0100-24ff. +(quail-define-package "greek-mizuochi" "Greek" "CG" t +"The Mizuochi input method for Classical Greek using mule-unicode-0100-24ff. ------------------------------------- character capital small diff -r 06937e972ad0 -r f1d13e615070 lib-src/ChangeLog --- a/lib-src/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lib-src/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,78 @@ +2006-12-06 Christoph Conrad + + * makefile.w32-in ($(BLD)/emacsclient.exe, $(BLD)/emacsclientw.exe): + Use $(USER32) for compatibility with Visual Studio .NET 2003. + +2006-11-30 Juanma Barranquero + + * emacsclient.c (emacs_pid): New variable. + (message): Remove leftover code. + (get_server_config): Set emacs_pid. Don't allow Emacs to grab the + focus yet; emacsclient can still display an informational message + before sending requests to Emacs. + (main): Allow Emacs to grab the focus. Simplify message() call. + +2006-11-30 Michael Mauger + + * emacsclient.c (message): Make sure the message is properly + written even if it contains printf escapes, and flush the result. + (set_tcp_socket): Make the message for non-local connections + informational rather than an error. + +2006-11-28 Kevin Ryde (tiny change) + + * etags.c (readline): Check for double quote after #line. + +2006-11-28 Jan Dj,Ad(Brv (tiny change) + + * etags.c (readline): sscanf could in principle return 2. + +2006-11-28 Francesco Potort,Al(B + + * etags.c (readline): lno is unsigned. + (TeX_commands): Use p++ (rather than *p++) to increment p. + (Lua_functions): Explicitly discard LOOKING_AT's return value. + +2006-11-27 Juanma Barranquero + + * makefile.w32-in (TRES): New macro (copied from nt/makefile.w32-in). + ($(TRES)): New rule (copied from nt/makefile.w32-in). + ($(BLD)/emacsclientw.exe): Add dependency. + +2006-11-27 Eli Zaretskii + + * makefile.w32-in ($(BLD)/emacsclient.$(O)): Depend on + makefile.w32-in. + +2006-11-25 Juanma Barranquero + + * makefile.w32-in (VERSION): New macro. + (ECLIENT_CFLAGS): Add -DVERSION. + +2006-11-25 Jason Rumney + + * emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Use isalpha(). + +2006-11-24 Michael Mauger + + * emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Support + absolute file names with forward slashes. + +2006-11-23 Juanma Barranquero + + * emacsclient.c (print_help_and_exit): Tweak message contents and + tabs/spaces to improve alignment in message boxes. + +2006-11-22 Lennart Borgman + + * emacsclient.c: Include . + [WINDOWSNT]: Include . + (w32_check_console_app): New function. + (message): New function. + (decode_options, print_help_and_exit, fail, main) + (initialize_sockets, get_server_config, set_tcp_socket) + (set_local_socket, set_socket): Use message(). + 2006-11-13 Jason Rumney * emacsclient.c [WINDOWSNT]: Let config.h define HAVE_SOCKETS and diff -r 06937e972ad0 -r f1d13e615070 lib-src/emacsclient.c --- a/lib-src/emacsclient.c Thu Dec 07 00:45:27 2006 +0000 +++ b/lib-src/emacsclient.c Thu Dec 07 04:14:14 2006 +0000 @@ -34,6 +34,7 @@ # include # include +# include # define NO_SOCKETS_IN_FILE_SYSTEM @@ -58,6 +59,7 @@ #undef signal +#include #include #include #include "getopt.h" @@ -127,6 +129,9 @@ /* If non-NULL, the filename of the authentication file. */ char *server_file = NULL; +/* PID of the Emacs server process. */ +int emacs_pid = 0; + void print_help_and_exit () NO_RETURN; struct option longopts[] = @@ -144,6 +149,53 @@ { 0, 0, 0, 0 } }; +/* Message functions. */ + +#ifdef WINDOWSNT +/* I first tried to check for STDOUT. The check did not work, + I get a valid handle also in nonconsole apps. + Instead I test for console title, which seems to work. */ +int +w32_window_app() +{ + static int window_app = -1; + char szTitle[MAX_PATH]; + + if (window_app < 0) + window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0); + + return window_app; +} +#endif + +void +message (int is_error, char *message, ...) +{ + char msg [2048]; + va_list args; + + va_start (args, message); + vsprintf (msg, message, args); + va_end (args); + +#ifdef WINDOWSNT + if (w32_window_app ()) + { + if (is_error) + MessageBox (NULL, msg, "Emacsclient ERROR", MB_ICONERROR); + else + MessageBox (NULL, msg, "Emacsclient", MB_ICONINFORMATION); + } + else +#endif + { + FILE *f = is_error ? stderr : stdout; + + fputs (msg, f); + fflush (f); + } +} + /* Decode the options from argv and argc. The global variable `optind' will say how many arguments we used up. */ @@ -201,7 +253,7 @@ break; case 'V': - printf ("emacsclient %s\n", VERSION); + message (FALSE, "emacsclient %s\n", VERSION); exit (EXIT_SUCCESS); break; @@ -210,7 +262,7 @@ break; default: - fprintf (stderr, "Try `%s --help' for more information\n", progname); + message (TRUE, "Try `%s --help' for more information\n", progname); exit (EXIT_FAILURE); break; } @@ -220,25 +272,26 @@ void print_help_and_exit () { - printf ( + message (FALSE, "Usage: %s [OPTIONS] FILE...\n\ Tell the Emacs server to visit the specified files.\n\ Every FILE can be either just a FILENAME or [+LINE[:COLUMN]] FILENAME.\n\ \n\ The following OPTIONS are accepted:\n\ --V, --version Just print a version info and return\n\ --H, --help Print this usage information message\n\ --n, --no-wait Don't wait for the server to return\n\ --e, --eval Evaluate the FILE arguments as ELisp expressions\n\ --d, --display=DISPLAY Visit the file in the given display\n" +\n\ +-V, --version Just print version info and return\n\ +-H, --help Print this usage information message\n\ +-e, --eval Evaluate FILE arguments as Lisp expressions\n\ +-n, --no-wait Don't wait for the server to return\n\ +-d, --display=DISPLAY Visit the file in the given display\n" #ifndef NO_SOCKETS_IN_FILE_SYSTEM "-s, --socket-name=FILENAME\n\ - Set the filename of the UNIX socket for communication\n" + Set filename of the UNIX socket for communication\n" #endif "-f, --server-file=FILENAME\n\ - Set the filename of the TCP configuration file\n\ + Set filename of the TCP authentication file\n\ -a, --alternate-editor=EDITOR\n\ - Editor to fallback to if the server is not running\n\ + Editor to fallback to if server is not running\n\ \n\ Report bugs to bug-gnu-emacs@gnu.org.\n", progname); exit (EXIT_SUCCESS); @@ -261,7 +314,7 @@ argv[i] = (char *)alternate_editor; #endif execvp (alternate_editor, argv + i); - fprintf (stderr, "%s: error executing alternate editor \"%s\"\n", + message (TRUE, "%s: error executing alternate editor \"%s\"\n", progname, alternate_editor); } exit (EXIT_FAILURE); @@ -275,9 +328,8 @@ int argc; char **argv; { - fprintf (stderr, "%s: Sorry, the Emacs server is supported only\n", + message (TRUE, "%s: Sorry, the Emacs server is supported only\non systems with Berkely sockets.\n", argv[0]); - fprintf (stderr, "on systems with Berkeley sockets.\n"); fail (argc, argv); } @@ -399,8 +451,8 @@ #ifdef WINDOWSNT /* X:\xxx is always absolute; X:xxx is an error and will fail. */ - if (islower (tolower (filename[0])) - && filename[1] == ':' && filename[2] == '\\') + if (isalpha (filename[0]) + && filename[1] == ':' && (filename[2] == '\\' || filename[2] == '/')) return TRUE; /* Both \xxx and \\xxx\yyy are absolute. */ @@ -411,7 +463,7 @@ } #ifdef WINDOWSNT -/* Wrapper to make WSACleanup a cdecl, as required by atexit(). */ +/* Wrapper to make WSACleanup a cdecl, as required by atexit(). */ void __cdecl close_winsock () { @@ -426,7 +478,7 @@ if (WSAStartup (MAKEWORD (2, 0), &wsaData)) { - fprintf (stderr, "%s: error initializing WinSock2", progname); + message (TRUE, "%s: error initializing WinSock2", progname); exit (EXIT_FAILURE); } @@ -482,7 +534,7 @@ } else { - fprintf (stderr, "%s: invalid configuration info", progname); + message (TRUE, "%s: invalid configuration info", progname); exit (EXIT_FAILURE); } @@ -492,35 +544,13 @@ if (! fread (authentication, AUTH_KEY_LENGTH, 1, config)) { - fprintf (stderr, "%s: cannot read authentication info", progname); + message (TRUE, "%s: cannot read authentication info", progname); exit (EXIT_FAILURE); } fclose (config); -#ifdef WINDOWSNT - /* - Modern Windows restrict which processes can set the foreground window. - So, for emacsclient to be able to force Emacs into the foreground, we - have to call AllowSetForegroundWindow(). Unfortunately, older Windows - (W95, W98 and NT) don't have this function, so we have to check first. - - We're doing this here because it has to be done before sending info - to Emacs, and otherwise we'll need a global variable just to pass around - the pid, which is also inelegant. - */ - { - HMODULE hUser32; - - if (hUser32 = LoadLibrary ("user32.dll")) - { - FARPROC set_fg; - if (set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow")) - set_fg (atoi (pid)); - FreeLibrary (hUser32); - } - } -#endif + emacs_pid = atoi (pid); return TRUE; } @@ -537,7 +567,7 @@ return INVALID_SOCKET; if (server.sin_addr.s_addr != inet_addr ("127.0.0.1")) - fprintf (stderr, "%s: connected to remote socket at %s\n", + message (FALSE, "%s: connected to remote socket at %s\n", progname, inet_ntoa (server.sin_addr)); /* @@ -545,8 +575,7 @@ */ if ((s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { - fprintf (stderr, "%s: ", progname); - perror ("socket"); + message (TRUE, "%s: socket: %s\n", progname, strerror (errno)); return INVALID_SOCKET; } @@ -555,8 +584,7 @@ */ if (connect (s, (struct sockaddr *) &server, sizeof server) < 0) { - fprintf (stderr, "%s: ", progname); - perror ("connect"); + message (TRUE, "%s: connect: %s\n", progname, strerror (errno)); return INVALID_SOCKET; } @@ -608,8 +636,7 @@ if ((s = socket (AF_UNIX, SOCK_STREAM, 0)) < 0) { - fprintf (stderr, "%s: ", progname); - perror ("socket"); + message (TRUE, "%s: socket: %s\n", progname, strerror (errno)); return INVALID_SOCKET; } @@ -639,7 +666,7 @@ strcpy (server.sun_path, socket_name); else { - fprintf (stderr, "%s: socket-name %s too long", + message (TRUE, "%s: socket-name %s too long", progname, socket_name); exit (EXIT_FAILURE); } @@ -674,7 +701,7 @@ strcpy (server.sun_path, socket_name); else { - fprintf (stderr, "%s: socket-name %s too long", + message (TRUE, "%s: socket-name %s too long", progname, socket_name); exit (EXIT_FAILURE); } @@ -694,7 +721,7 @@ we are root. */ if (0 != geteuid ()) { - fprintf (stderr, "%s: Invalid socket owner\n", progname); + message (TRUE, "%s: Invalid socket owner\n", progname); return INVALID_SOCKET; } break; @@ -702,12 +729,12 @@ case 2: /* `stat' failed */ if (saved_errno == ENOENT) - fprintf (stderr, + message (TRUE, "%s: can't find socket; have you started the server?\n\ To start the server in Emacs, type \"M-x server-start\".\n", progname); else - fprintf (stderr, "%s: can't stat %s: %s\n", + message (TRUE, "%s: can't stat %s: %s\n", progname, server.sun_path, strerror (saved_errno)); return INVALID_SOCKET; } @@ -716,8 +743,7 @@ if (connect (s, (struct sockaddr *) &server, strlen (server.sun_path) + 2) < 0) { - fprintf (stderr, "%s: ", progname); - perror ("connect"); + message (TRUE, "%s: connect: %s\n", progname, strerror (errno)); return INVALID_SOCKET; } @@ -740,7 +766,7 @@ if ((s != INVALID_SOCKET) || alternate_editor) return s; - fprintf (stderr, "%s: error accessing socket \"%s\"", + message (TRUE, "%s: error accessing socket \"%s\"", progname, socket_name); exit (EXIT_FAILURE); } @@ -756,7 +782,7 @@ if ((s != INVALID_SOCKET) || alternate_editor) return s; - fprintf (stderr, "%s: error accessing server file \"%s\"", + message (TRUE, "%s: error accessing server file \"%s\"", progname, server_file); exit (EXIT_FAILURE); } @@ -775,7 +801,7 @@ return s; /* No implicit or explicit socket, and no alternate editor. */ - fprintf (stderr, "%s: No socket or alternate editor. Please use:\n\n" + message (TRUE, "%s: No socket or alternate editor. Please use:\n\n" #ifndef NO_SOCKETS_IN_FILE_SYSTEM "\t--socket-name\n" #endif @@ -802,8 +828,8 @@ if ((argc - optind < 1) && !eval) { - fprintf (stderr, "%s: file name or argument required\n", progname); - fprintf (stderr, "Try `%s --help' for more information\n", progname); + message (TRUE, "%s: file name or argument required\nTry `%s --help' for more information\n", + progname, progname); exit (EXIT_FAILURE); } @@ -818,15 +844,37 @@ if (cwd == 0) { /* getwd puts message in STRING if it fails. */ + message (TRUE, "%s: %s (%s)\n", progname, #ifdef HAVE_GETCWD - fprintf (stderr, "%s: %s (%s)\n", progname, - "Cannot get current working directory", strerror (errno)); + "Cannot get current working directory", #else - fprintf (stderr, "%s: %s (%s)\n", progname, string, strerror (errno)); + string, #endif + strerror (errno)); fail (argc, argv); } +#ifdef WINDOWSNT + /* + Modern Windows restrict which processes can set the foreground window. + emacsclient can allow Emacs to grab the focus by calling the function + AllowSetForegroundWindow(). Unfortunately, older Windows (W95, W98 + and NT) lack this function, so we have to check its availability. + */ + if (emacs_pid) + { + HMODULE hUser32; + + if (hUser32 = LoadLibrary ("user32.dll")) + { + FARPROC set_fg; + if (set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow")) + set_fg (emacs_pid); + FreeLibrary (hUser32); + } + } +#endif + if (nowait) SEND_STRING ("-nowait "); diff -r 06937e972ad0 -r f1d13e615070 lib-src/etags.c --- a/lib-src/etags.c Thu Dec 07 00:45:27 2006 +0000 +++ b/lib-src/etags.c Thu Dec 07 04:14:14 2006 +0000 @@ -41,7 +41,7 @@ * configuration file containing regexp definitions for etags. */ -char pot_etags_version[] = "@(#) pot revision number is 17.20"; +char pot_etags_version[] = "@(#) pot revision number is $Revision: 3.61 $"; #define TRUE 1 #define FALSE 0 @@ -4955,7 +4955,7 @@ if (bp[0] != 'f' && bp[0] != 'l') continue; - LOOKING_AT (bp, "local"); /* skip possible "local" */ + (void)LOOKING_AT (bp, "local"); /* skip possible "local" */ if (LOOKING_AT (bp, "function")) get_tag (bp, NULL); @@ -5137,7 +5137,7 @@ if (!opgrp || *p == TEX_clgrp) { while (*p != '\0' && *p != TEX_opgrp && *p != TEX_clgrp) - *p++; + p++; linelen = p - lb.buffer + 1; } make_tag (cp, namelen, TRUE, @@ -6256,15 +6256,14 @@ /* Check whether this is a #line directive. */ if (result > 12 && strneq (lbp->buffer, "#line ", 6)) { - int start, lno; - - if (DEBUG) start = 0; /* shut up the compiler */ - if (sscanf (lbp->buffer, "#line %d %n\"", &lno, &start) >= 1 - && lbp->buffer[start] == '"') + unsigned int lno; + int start = 0; + + if (sscanf (lbp->buffer, "#line %u \"%n", &lno, &start) >= 1 + && start > 0) /* double quote character found */ { - char *endp = lbp->buffer + ++start; - - assert (start > 0); + char *endp = lbp->buffer + start; + while ((endp = etags_strchr (endp, '"')) != NULL && endp[-1] == '\\') endp++; diff -r 06937e972ad0 -r f1d13e615070 lib-src/makefile.w32-in --- a/lib-src/makefile.w32-in Thu Dec 07 00:45:27 2006 +0000 +++ b/lib-src/makefile.w32-in Thu Dec 07 04:14:14 2006 +0000 @@ -24,11 +24,13 @@ .PHONY: $(ALL) +VERSION = 22.0.91 + LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ -I../src -LIBS = $(BASE_LIBS) $(ADVAPI32) +LIBS = $(BASE_LIBS) $(ADVAPI32) $(BLD)/make-docfile.exe: $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS) @@ -68,21 +70,27 @@ # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) -ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR +ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\"" ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ $(BLD)/getopt.$(O) \ $(BLD)/getopt1.$(O) \ $(BLD)/ntlib.$(O) +TRES = ../nt/$(BLD)/emacs.res + +$(TRES): ../nt/emacs.rc + $(RC) $(RC_OUT)../nt/$(BLD)/emacs.res $(ALL_DEPS) $(BLD)/emacsclient.exe: $(ECLIENTOBJS) # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(LIBS) + $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS) -$(BLD)/emacsclientw.exe: $(ECLIENTOBJS) +$(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(TRES) # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(LIBS) + $(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS) -$(BLD)/emacsclient.$(O): emacsclient.c +# emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in +# can be edited to define VERSION string, which is part of ECLIENT_CFLAGS. +$(BLD)/emacsclient.$(O): emacsclient.c makefile.w32-in $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c ETAGSOBJ = $(BLD)/etags.$(O) \ diff -r 06937e972ad0 -r f1d13e615070 lisp/ChangeLog --- a/lisp/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,23 +1,533 @@ +2006-12-05 J.D. Smith + + * progmodes/idlwave.el (idlwave-xml-create-class-method-lists): + Trim out spurious class inheritance "None" entries. + +2006-12-05 Kim F. Storm + + * emulation/cua-base.el (cua-paste-pop-rotate-temporarily): Doc fix. + (cua-paste-pop): Rework last change for cua-paste-pop-rotate-temporarily, + so first M-y and C-y works alike, pasting the head of the kill-ring, and + prefix arg C-u M-y inserts the text inserted by the last M-y command. + +2006-12-05 Micha,Ak(Bl Cadilhac + + * cmuscheme.el (run-scheme, scheme-start-file): Search the start + file in ~/.emacs.d as `init_SCHEMENAME.scm' instead. + + * shell.el (shell): Search the start file in ~/.emacs.d as + `init_SHELLNAME.sh' instead. + +2006-12-05 Glenn Morris + + * progmodes/cperl-mode.el (cperl-mode) + * progmodes/f90.el (f90-mode-abbrev-table) + * progmodes/fortran.el (fortran-mode-abbrev-table) + * progmodes/octave-mod.el (octave-abbrev-table) + * progmodes/sql.el (sql-mode-abbrev-table): Define abbrevs even + if abbrev-table is non-nil (saved user abbrevs may have been + restored). + + * progmodes/vhdl-mode.el (vhdl-mode-abbrev-table-init): Do not + clear abbrev table, else saved abbrevs will not be restored. + +2006-12-04 Juanma Barranquero + + * facemenu.el (facemenu-unlisted-faces): Put obsolescence info in + the call to `make-obsolete-variable', not in the docstring. + +2006-12-04 Chong Yidong + + * facemenu.el (facemenu-unlisted-faces): Define as obsolete variable. + +2006-12-04 Vinicius Jose Latorre + + * progmodes/ebnf-abn.el: + * progmodes/ebnf-bnf.el: + * progmodes/ebnf-dtd.el: + * progmodes/ebnf-ebx.el: + * progmodes/ebnf-iso.el: + * progmodes/ebnf-otz.el: + * progmodes/ebnf-yac.el: + * progmodes/ebnf2ps.el: + * delim-col.el: + * printing.el: + * ps-bdf.el: + * ps-mule.el: + * ps-print.el: Remove 'Time-stamp' comment mark. + + * printing.el (pr-menu-bind): Replace 'easy-menu-change' by + 'easy-menu-add-item' when called in Emacs 21 or higher. + +2006-12-04 Stephen Leake + + * progmodes/ada-xref.el (ada-check-current): Doc fix. + (ada-make-body-gnatstub): Doc fix. Remove redundant `progn'. + +2006-12-04 Kim F. Storm + + * bindings.el (global-map): Bind [signal t] to ignore, to have + user signals ignored by default. + +2006-12-04 Juanma Barranquero + + * descr-text.el (describe-char-unicode-data): Use a hidden buffer for + Unicode data file pointed to by `describe-char-unicodedata-file'. + +2006-12-04 Stefan Monnier + + * textmodes/sgml-mode.el (sgml-font-lock-keywords-1): Fix pathological + O(n^2) regexp-search by anchoring the search. + +2006-12-04 Dan Nicolaescu + + * whitespace.el (whitespace-cleanup-internal): Use current + argument for recursive call. + +2006-12-04 Michael Albinus + + * net/tramp.el (tramp-methods): Add "ControlPath" and + "ControlMaster" to scp, scp1 and scp2 methods. Suggested by + Andreas Schwab . + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-open-connection-rsh): Compute format spec for ?t. + (tramp-process-actions): Trace command parameters. + +2006-12-04 Nick Roberts + + * simple.el (toggle-truncate-lines): Clarify doc string. + + * progmodes/gdb-ui.el (gdb-var-delete-children): New function. + (gdb-speedbar-expand-node): Use it. + +2006-12-04 Richard Stallman + + * progmodes/python.el (python-indent): Add safe-local-variable prop. + + * dired.el (dired-revert): Turn off dired-after-readin-hook + around call to dired-readin. + + * menu-bar.el (menu-bar-make-toggle): Add "globally" + to echo area messages. + : + Add "globally" to Help string. + : MESSAGE arg need not say "globally". + (menu-bar-edit-menu ): Rename from select-and-paste. + +2006-12-03 Liam Healy (tiny change) + + * outline.el (outline-end-of-subtree): Don't leave an empty + line hidden as we would a real next heading. + +2006-12-03 Ken Manheimer + + * allout.el (allout-ascend): Add an optional argument to preserve + original position of point when unsuccessful. Also, fix a + docstring error. + (allout-yank-processing): Fix depth shift of multiple-topic so yanks + work again, using allout-ascend's new option. + (allout-setup-mode-map): Extract from allout-mode to initialize + allout-mode-map. Call it on file load, so the mode docstring + substitutions work even if allout mode has not yet been invoked. + (allout-mode): Use new allout-setup-mode-map to track any keybinding + customizations since the map was last processed. Also, refine the + docstring so it's ship-shape for release. + (allout-default-layout, allout-beginning-of-line-cycles) + (allout-distinctive-bullets-string, allout-use-mode-specific-leader) + (allout-encrypt-unencrypted-on-saves, allout-inhibit-auto-fill) + (allout-version, allout-layout, allout-infer-body-reindent) + (allout-infer-header-lead-and-primary-bullet, allout-view-change-hook) + (allout-init, allout-mode, allout-next-heading, allout-chart-subtree) + (allout-previous-heading, allout-goto-prefix-doublechecked) + (allout-current-bullet-pos, allout-next-sibling-leap) + (allout-pre-command-business, allout-encrypted-type-prefix) + (allout-make-topic-prefix, allout-open-topic, allout-rebullet-heading) + (allout-rebullet-topic, allout-rebullet-topic-grunt) + (allout-flag-region, allout-expose-topic, allout-expose-topic) + (allout-old-expose-topic, allout-listify-exposed) + (allout-process-exposed, allout-latex-verb-quote) + (allout-latex-verbatim-quote-curr-line, allout-adjust-file-variable) + (allout-toggle-current-subtree-encryption) + (allout-toggle-subtree-encryption, allout-bullet-isearch): + Remove extraneous open-paren and close paren string escapes. + +2006-12-03 Juanma Barranquero + + * progmodes/ada-xref.el (is-windows, ada-find-in-src-path): Doc fixes. + (ada-xref-pos-ring-max, ada-xref-project-files, ada-xref-initialize) + (ada-prj-default-comp-cmd, ada-quote-cmd, ada-compile-current): + Fix typos in docstrings. + +2006-12-03 Glenn Morris + + * progmodes/cc-align.el + * progmodes/cc-awk.el + * progmodes/cc-cmds.el + * progmodes/cc-compat.el + * progmodes/cc-defs.el + * progmodes/cc-engine.el + * progmodes/cc-langs.el + * progmodes/cc-menus.el + * progmodes/cc-mode.el + * progmodes/cc-styles.el + * progmodes/cc-vars.el + * progmodes/vhdl-mode.el: Fix Copyright format. + +2006-12-02 Chong Yidong + + * mouse.el (mouse-drag-track): Suppress automatic hscrolling for + initial down event. + +2006-12-02 Kim F. Storm + + * emulation/cua-base.el (cua-toggle-set-mark): Doc fix. + (cua-repeat-replace-region): Make M-v more robust. + (cua-paste-pop-rotate-temporarily): New defcustom. + (cua-paste-pop): Use it. + (cua-auto-mark-last-change): New defcustom. + (cua-pop-to-last-change): New helper function. + (cua-set-mark): Use them. + +2006-12-01 Nick Roberts + + * menu-bar.el (toggle-case-fold-search): Clarify doc/help string and + mini-buffer message. + +2006-12-01 Juanma Barranquero + + * descr-text.el (describe-char-unicodedata-file): Fix typo in docstring. + +2006-12-01 Ben North + + * paren.el: Fix the highlight overlay extension when the user types a + sequence of char very fast just before the open parenthesis. + +2006-12-01 Vinicius Jose Latorre + + * ps-mule.el: Eliminate Emacs 20 compatibility. + + * ps-print.el: Eliminate Emacs 20 & 21 compatibility. + (ps-print-version): New Version 6.7. + (ps-print-quote): Replace '?\ ' by '?\s'. + +2006-11-30 Juanma Barranquero + + * hexl.el (hexl-goto-address, hexl-forward-char, hexl-forward-short) + (hexl-forward-word, hexl-previous-line, hexl-beginning-of-1k-page) + (hexl-end-of-1k-page): Doc fixes. + (hexl-address-region, hexl-ascii-region, hexl-highlight-line-range): + Fix typos in docstrings. + +2006-11-30 Micha,Ak(Bl Cadilhac + + * ido.el (ido-local-file-exists-p): New. Tell if a file exists + locally, i.e. without using file name handlers. + (ido-read-internal): Allow mono letter host names, avoiding the + `c:' problem by testing if the file exists locally. + (ido-complete, ido-make-file-list, ido-exhibit): Ditto. + +2006-11-30 Masatake YAMATO + + * hexl.el (hl-line-range-function, hl-line-face): Declare variables + to avoid bytecomp warnings. + (hexl-mode-old-ruler-function): New variable. + (hexl-follow-line): Bind `hexl-mode-old-hl-line-range-function' + and `hl-line-range-function' after `require' hl-line. + Then bind `hl-line-range-function' and `hl-line-face'. + Don't require frame. Don't use `with-no-warnings'. + (hexl-activate-ruler): Store the original value of + `ruler-mode-ruler-function' to `hexl-mode-old-ruler-function'. + (hexl-mode-exit): Restore the original value of + `ruler-mode-ruler-function'. + +2006-11-30 Alin C. Soare (tiny change) + + * hexl.el (hexl-mode-old-hl-line-range-function): New variable. + (hexl-mode-old-hl-line-face): New variable. + (hexl-mode, hexl-mode-exit): Fix the highlighting of the current + line when exit from the hexl-mode. + +2006-11-30 Juanma Barranquero + + * emacs-lisp/bytecomp.el (byte-optimize, byte-compile-warnings): + Doc fixes. + + * international/fontset.el (create-fontset-from-ascii-font) + (create-fontset-from-fontset-spec, x-compose-font-name): Doc fixes. + (fontset-name-p): Fix typo in docstring. + + * progmodes/cc-cmds.el (c-indent-exp): Fix typo in docstring. + +2006-11-30 Vinicius Jose Latorre + + * ps-bdf.el: Fix maintainer email. + + * ps-mule.el: Fix maintainer email. Define functions for Emacs 20 + compatibility. + + * ps-print.el: Fix maintainer email. Define functions for Emacs 20 & + 21 compatibility. + (ps-print-quote): Replace '?\s' by '?\ ' to keep compatibility with + Emacs 20 & 21. + +2006-11-29 J.D. Smith + + * progmodes/idlwave.el (idlwave-auto-fill): + Remove paragraph-start let to prevent auto-fill giving up. + +2006-11-28 Juanma Barranquero + + * vt100-led.el (led-state): Fix typo in previous change. + +2006-11-27 Andreas Seltenreich + + * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): + Fix interactive spec of the functions getting defined to make them + work as documented. + +2006-11-28 Chong Yidong + + * startup.el (fancy-splash-screens): Hide initial splash buffer. + +2006-11-28 Kim F. Storm + + * icomplete.el (icomplete-tidy, icomplete-exhibit): Check that + icomplete-mode is enabled. + +2006-11-28 Carsten Dominik + + * textmodes/org.el (require): Require gnus-sum during compilation + to avoid problem with a macro call. + +2006-11-28 Glenn Morris + + * emacs-lisp/authors.el (authors-aliases): Add new alias. + + * progmodes/fortran.el (fortran-font-lock-keywords-4): Add `min'. + (fortran-window-create-momentarily): Do not need string-to-char. + +2006-11-28 Richard Stallman + + * emacs-lisp/bytecomp.el (byte-compile-get-constant): + Replace incorrect use of assoc-default with a loop. + + * term.el (term-exec-1): Set envvar INSIDE_EMACS. + + * simple.el (next-error-find-buffer): Improve messages. + + * files.el (revert-buffer): Special error message if file + is now not readable. + + * facemenu.el (facemenu-add-new-face): Improve doc strings of + constructed commands. + + * comint.el (comint-exec-1): Provide Emacs version and `comint' + in INSIDE_EMACS. + +2006-11-27 Stefan Monnier + + * diff-mode.el (diff-mode-map): Add a binding for unified->context. + + * server.el: Remove spurious * in docstrings. + (server-process-filter): Exit from recursive editing before processing + a new request. + +2006-11-27 J.D. Smith + + * progmodes/hideshow.el (hs-already-hidden-p): Move to end of + line so hidden blocks will be correctly identified. + +2006-11-27 Juanma Barranquero + + * ledit.el (ledit-save-defun, ledit-mode): + * resume.el (resume-emacs-args-buffer): + * rot13.el (rot13-display-table, rot13-translate-table, rot13) + (rot13-string, rot13-region, rot13-other-window, toggle-rot13-mode): + * vmsproc.el (subprocess-input, start-subprocess, subprocess-command) + (command-send-input, command-kill-line): + * vt100-led.el (led-state, led-on): Fix typos in docstrings. + + * autoarg.el (autoarg-kp-mode): Doc fix. + + * emacs-lock.el (toggle-emacs-lock): Doc fix. Simplify. + (emacs-lock-check-buffer-lock): Doc fix. Use `when'. + (check-emacs-lock): Doc fix. Simplify. + + * iimage.el (iimage-mode-image-regex-alist): Doc fix. + (iimage-mode-buffer): Fix typos in docstring. + + * misc.el (zap-up-to-char): Doc fix. + + * time-stamp.el: Fix comment and obsolescence string for old + functions. Use `dolist' instead of `while'. + + * userlock.el (ask-user-about-lock-help): Fix typos in output message. + + * disp-table.el (standard-display-8bit, standard-display-default): + * ebuff-menu.el (electric-buffer-list): + * ehelp.el (electric-help-command-loop): + * font-core.el (font-lock-mode): + * help-macro.el (make-help-screen): + * help.el (describe-minor-mode-completion-table-for-indicator) + (lookup-minor-mode-from-indicator): + * indent.el (tab-to-tab-stop, move-to-tab-stop): + * info-look.el (info-lookup-guess-custom-symbol): + * locate.el (locate-main-listing-line-p, locate-mode, locate-do-setup): + * longlines.el (longlines-wrap-line): + * macros.el (insert-kbd-macro): + * menu-bar.el (menu-bar-update-buffers): + * misc.el (copy-from-above-command): + * mouse.el (mouse-popup-menubar, mouse-buffer-menu-alist): + * newcomment.el (comment-indent): + * novice.el (disabled-command-function): + * sort.el (sort-fields-syntax-table): + * subr.el (momentary-string-display): + * tar-mode.el (tar-header-block-summarize) + (tar-clear-modification-flags): + * terminal.el (terminal-cease-edit, te-more-break-unwind, te-newline) + (te-clear-rest-of-line, te-clear-rest-of-screen, te-clear-screen) + (te-insert-lines, te-delete-lines, te-delete, te-insert-spaces) + (te-delete-char, te-down-vertically-or-scroll): + * time-stamp.el (time-stamp-string-preprocess): + * tmm.el (tmm-add-one-shortcut): "?\ " -> "?\s". + +2006-11-26 Nick Roberts + + * speedbar.el (speedbar-timer-fn): Revert to old behaviour when not + in GUD mode. + + * progmodes/gud.el (gud-install-speedbar-variables): Remove bindings: + speedbar-expand-line-descendants, speedbar-contract-line-descendants. + +2006-11-26 Jan Dj,Ad(Brv + + * progmodes/cc-vars.el (c-backslash-column): Add . at end of sentence. + +2006-11-26 Stephen Leake + + * progmodes/ada-mode.el (ada-which-compiler): Fix typo in docstring. + (ada-compile-goto-error): Adapt to new argument profile of + compilation-goto-locus in Emacs 22. Don't check if the various + compile functions are defined; we already do "(require 'compile)". + +2006-11-26 Kim F. Storm + + * kmacro.el: Fix commentary. + +2006-11-26 Nick Roberts + + * progmodes/gud.el (gdb): Explain how to run in text command mode + more clearly. Say in error message that multiple debugging + requires restarting GDB. + +2006-11-25 Juanma Barranquero + + * international/fontset.el (create-fontset-from-fontset-spec): Doc fix. + +2006-11-25 Pavel Kobiakov + + * progmodes/flymake.el (flymake-posn-at-point-as-event): New function. + (flymake-popup-menu): Use it instead of posn-at-point. + +2006-11-25 Jan Dj,Ad(Brv + + * progmodes/cc-vars.el (c-backslash-column): + Mention c-backslash-max-column in documentation for c-backslash-column. + +2006-11-24 Lars Hansen + + * net/tramp.el (tramp-default-method): Under Windows, change from + plink to pscp. + (tramp-copy-failed-regexp, tramp-action-copy-failed): Add. + (tramp-actions-copy-out-of-band): + Add pair (tramp-copy-failed-regexp tramp-action-copy-failed). + (tramp-action-out-of-band): Move "Permission denied" handling to + tramp-action-copy-failed. + (tramp-do-copy-or-rename-file-out-of-band): unwind-protect killing of + process buffer. + +2006-11-24 Stefan Monnier + + * pgg-pgp.el (pgg-pgp-process-region): Change `args' from a list of + strings to a single string. Quote `errors-file-name'. + (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region, pgg-pgp-sign-region) + (pgg-pgp-verify-region, pgg-pgp-insert-key, pgg-pgp-snarf-keys-region): + Adjust calls. Use `shell-quote-argument'. + + * international/mule.el (load-with-code-conversion) + (with-category-table): Use with-current-buffer. + (after-insert-file-set-coding): Use restore-buffer-modified-p. + +2006-11-24 Eli Zaretskii + + * mail/smtpmail.el (smtpmail-send-it): + Copy buffer-file-coding-system from the mail buffer. Possibly add a + MIME header for the message encoding. + Bind coding-system-for-write around the call to mail-do-fcc. + Use smtpmail-code-conv-from to encode queued mail messages. + +2006-11-24 Juanma Barranquero + + * tabify.el (tabify-regexp): Doc fix. + + * net/rcirc.el (rcirc-buffer-maximum-lines): + * progmodes/gud.el (jdb): Fix space/tab mixup in docstrings. + + * play/gomoku.el (gomoku-terminate-game, gomoku-human-takes-back) + (gomoku-prompt-for-move, gomoku-human-plays, gomoku-offer-a-draw): + Fix typos in output messages. + (gomoku-vector-length, gomoku-init-board): Fix typos in docstrings. + +2006-11-23 Stefan Monnier + + * hexl.el (hexl-mode): Don't try to guess the max-address: get it from + the horse's mouth. + (hexlify-buffer): Don't re-encode an arg that's already encoded. + +2006-11-23 Michael Kifer + + * ediff-diff.el (ediff-exec-process, ediff-same-file-contents): + Remove condition-case. + +2006-11-23 Glenn Morris + + * progmodes/f90.el (f90-comment-indent): Do not move point in + default case. + +2006-11-21 Romain Francoise + + * emacs-lisp/find-func.el (find-library-name): Don't strip ".el" + from library name (reverts change of 2005-10-25). + +2006-11-21 Lennart Borgman + + * tutorial.el (tutorial--default-keys): Add newline and + delete-backward-char bindings. + (tutorial--detailed-help): Save excursion when finding keys. + Correct warning string for M-x FOO case. + (tutorial--display-changes): Print special keys in tutorial style. + Tweak search regexp for changed keys. + 2006-11-21 Bob Rogers (tiny change) - * thingatpt.el (thing-at-point-url-at-point): Don't add a + * thingatpt.el (thing-at-point-url-at-point): Don't add a redundant scheme. 2006-11-21 Diane Murray (tiny change) - * thingatpt.el (thing-at-point-uri-schemes): Added schemes that + * thingatpt.el (thing-at-point-uri-schemes): Add schemes that are new to the list at IANA. Also added irc, mms, mmsh. 2006-11-20 J.D. Smith - * progmodes/idlw-help.el (idlwave-html-help-location): Fail - gracefully for missing help packages. + * progmodes/idlw-help.el (idlwave-html-help-location): + Fail gracefully for missing help packages. (idlwave-help-assistant-open-link): Open full links. (idlwave-help-assistant-help-with-topic): Direct help link. - * progmodes/idlwave.el (idlwave-mode): Set - add-log-current-defun-function. - (idlwave-current-routine-fullname): Added, to support add-log. + * progmodes/idlwave.el (idlwave-mode): + Set add-log-current-defun-function. + (idlwave-current-routine-fullname): Add, to support add-log. (idlwave-convert-xml-system-routine-info): Simplify XML parsing to reflect improvements to xml-parse-file. (idlwave-mode-menu-def): New binding for help-with-topic. @@ -47,15 +557,15 @@ * emacs-lisp/regexp-opt.el (regexp-opt): Doc fix. -2006-11-19 Micha,bk(Bl Cadilhac +2006-11-19 Micha,Ak(Bl Cadilhac * progmodes/glasses.el (glasses-separate-parentheses-exceptions): New. Exceptions to the rule "add a space between an identifier and an opening parenthesis". Defaulted to the `#define' problem of cpp. - (glasses-parenthesis-exception-p): New. Check if the region is an + (glasses-parenthesis-exception-p): New. Check if the region is an exception regarding to that. (glasses-make-readable): Use it. - (glasses-convert-to-unreadable): Ditto. Modify the file also if + (glasses-convert-to-unreadable): Ditto. Modify the file also if `glasses-convert-on-write-p' and `glasses-separate-parentheses-p' are t. 2006-11-19 Chong Yidong @@ -99,7 +609,7 @@ 2006-11-17 Carsten Dominik * textmodes/org.el (org-scan-tags): Re-align code fixed. - (org-detach-overlay): Renamed from `org-detatch-overlay'. + (org-detach-overlay): Rename from `org-detatch-overlay'. (org-table-convert-region): Insert space after column separator. (org-agenda-kill): New command. (org-metaleft): Call `org-outdent-item' on bullets. @@ -120,7 +630,7 @@ 2006-11-16 Kim F. Storm - * ido.el (ido-file-internal): Use current buffer's file name as default + * ido.el (ido-file-internal): Use current buffer's file name as default choice for ido-find-alternate-file. Suggested by Matt Hodges. 2006-11-15 Ken Manheimer @@ -256,8 +766,8 @@ Delete support for old versions of `align'. (ada-search-prev-end-stmt): Handle additional keyword `private'. (ada-check-defun-name): Simplify handling of `declare'. - (ada-goto-matching-start): Handle nested `begin ... end'. Handle - `declare', `protected', `procedure', `function'. + (ada-goto-matching-start): Handle nested `begin ... end'. + Handle `declare', `protected', `procedure', `function'. (ada-create-menu): Presence of arm95 is not conditional on using GNAT compiler. @@ -340,15 +850,14 @@ 2006-11-10 Carsten Dominik * textmodes/org.el (org-show-hierarchy-above) - (org-show-following-heading): Fixed typo in default value. + (org-show-following-heading): Fix typo in default value. (org-scan-tags): Make the search case-sensitive. (org-tags-sparse-tree): Don't overrule `org-show-following-heading' and `org-show-hierarchy-above'. (org-reveal): New command. - (org-show-context): Renamed from `org-show-hierarchy-above'. + (org-show-context): Rename from `org-show-hierarchy-above'. (org-fast-tag-selection-single-key): New option. - (org-fast-tag-show-exit, org-set-current-tags-overlay): New - functions. + (org-fast-tag-show-exit, org-set-current-tags-overlay): New functions. (org-tags-overlay): New variable. (org-agenda-todo-ignore-deadlines): New option. ("session"): Add circular data structure `org-mark-ring' to @@ -356,32 +865,29 @@ (org-agenda-window-setup, org-agenda-restore-windows-after-quit): New options. (org-agenda-quit): Use `org-agenda-restore-windows-after-quit'. - (org-prepare-agenda, org-agenda-quit): Use - `org-agenda-window-setup'. - (org-pre-agenda-window-conf, org-blank-before-new-entry): New - variables. + (org-prepare-agenda, org-agenda-quit): Use `org-agenda-window-setup'. + (org-pre-agenda-window-conf, org-blank-before-new-entry): New vars. (org-finalize-agenda): Activate bracket links in agenda. (org-at-timestamp-p, org-at-date-range-p): Additional argument INACTIVE-OK. - (org-show-hierarchy-above, org-show-following-heading): List - values allowed for fine-tuned configuration. + (org-show-hierarchy-above, org-show-following-heading): + List values allowed for fine-tuned configuration. (org-show-hierarchy-above): New argument CONTEXT, use the fine-tuned settings in `org-show-hierarchy-above' and `org-show-following-heading'. (org-display-custom-time): New function. - (org-toggle-time-stamp-overlays, org-insert-time-stamp): New - function. + (org-toggle-time-stamp-overlays, org-insert-time-stamp): New function. (org-display-custom-times, org-time-stamp-custom-formats): (org-maybe-intangible): New macro. - (org-activate-bracket-links, org-hide-wide-columns): Use - `org-maybe-intangible'. + (org-activate-bracket-links, org-hide-wide-columns): + Use `org-maybe-intangible'. (org-open-file): Use `shell-quote-argument'. (org-display-internal-link-with-indirect-buffer): New option. (org-file-remote-p): Get regexp from list. (org-link-expand-abbrev): New function. (org-link-abbrev-alist): New option. - (org-open-at-point, org-cleaned-string-for-export): Call - `org-link-expand-abbrev'. + (org-open-at-point, org-cleaned-string-for-export): + Call `org-link-expand-abbrev'. (org-timeline, org-agenda-list, org-todo-list) (org-tags-view): Remove the KEEP-MODES argument. (org-finalize-agenda-hook): New hook. @@ -390,8 +896,7 @@ (org-open-at-point): Call `org-follow-timestamp-link'. (org-log-note-marker, org-log-note-purpose) (org-log-note-window-configuration): New variables. - (org-add-log-maybe, org-add-log-note, org-store-log-note): New - functions. + (org-add-log-maybe, org-add-log-note, org-store-log-note): New funs. (org-log-note-headings): New option. (org-dblock-write:clocktable): Bug fix, removed infinite loop. (org-store-link): Support for dired-mode. @@ -406,14 +911,12 @@ the text property inticating the agenda type. (org-agenda-post-command-hook): Get agenda type from text property at point. - (org-agenda): Handle command sets. Set - `org-agenda-last-arguments' and obey - `org-agenda-overriding-arguments'. - (org-agenda-overriding-arguments, org-agenda-last-arguments): New - variables. + (org-agenda): Handle command sets. Set `org-agenda-last-arguments' + and obey `org-agenda-overriding-arguments'. + (org-agenda-overriding-arguments, org-agenda-last-arguments): New vars. (org-agenda-goto-today, org-agenda-later, org-agenda-earlier) - (org-agenda-week-view, org-agenda-day-view): Use - `org-agenda-overriding-arguments' to make updating work with + (org-agenda-week-view, org-agenda-day-view): + Use `org-agenda-overriding-arguments' to make updating work with multi-block agendas. (org-agenda-prefix-format): Allow different formats for the different agenda entry types. @@ -424,11 +927,11 @@ `org-select-agenda-window' instead. (org-respect-restriction): Variable removed. (org-cmp-tag): New function. - (org-agenda-sorting-strategy, org-entries-lessp): Implement - sorting by last tag. + (org-agenda-sorting-strategy, org-entries-lessp): + Implement sorting by last tag. (org-complete): Better completion in in-buffer option lines. (org-in-item-p): New function. - (org-org-menu): Added entries for checkboxes. + (org-org-menu): Add entries for checkboxes. (org-cycle): Extra brouping in outline-regexp, because it is used in a search with "^" prepended. (org-provide-checkbox-statistics): New option. @@ -436,16 +939,16 @@ (org-update-checkbox-count-maybe) (org-get-checkbox-statistics-face): New functions. (org-update-checkbox-count): New command. - (org-insert-item, org-toggle-checkbox): Call - `org-update-checkbox-count-maybe'. + (org-insert-item, org-toggle-checkbox): + Call `org-update-checkbox-count-maybe'. (org-export-as-html): XEmacs compatibility for coding system. (org-force-cycle-archived): New command. (org-cycle-hide-archived-subtrees): Display message when ARCHIVE overrules cycling. (org-fix-position-after-promote): If the line contains only a todo keyword, add a final space. - (org-promote-subtree, org-demote-subtree): Call - `org-fix-position-after-promote'. + (org-promote-subtree, org-demote-subtree): + Call `org-fix-position-after-promote'. 2006-11-10 Glenn Morris @@ -551,8 +1054,8 @@ 2006-11-08 Kenichi Handa - * international/mule-cmds.el (set-default-coding-systems): Always - set default-file-name-coding-system to utf-8 for Mac Darwin. + * international/mule-cmds.el (set-default-coding-systems): + Always set default-file-name-coding-system to utf-8 for Mac Darwin. 2006-11-08 Juanma Barranquero @@ -787,8 +1290,7 @@ 2006-11-04 Yoni Rabkin Katzenell (tiny change) - * faces.el (faces-sample-overlay, describe-face): Revert last - changes. + * faces.el (faces-sample-overlay, describe-face): Revert last changes. (faces-sample-overlay): Remove variable. (describe-face): Insert sample text in the face being described. @@ -799,12 +1301,12 @@ (whitespace-buffer): Use `remove-overlays' instead of `whitespace-unhighlight-the-space' and `overlay-recenter' to speed up overlay handling. - (whitespace-buffer-leading, whitespace-buffer-trailing): Make - these functions highlight the text removed by + (whitespace-buffer-leading, whitespace-buffer-trailing): + Make these functions highlight the text removed by `whitespace-buffer-leading-cleanup' and `whitespace-buffer-trailing-cleanup' respectively. - (whitespace-buffer-search): Use `with-local-quit'. Move - `format' out of loop to speed up scanning larger buffers. + (whitespace-buffer-search): Use `with-local-quit'. + Move `format' out of loop to speed up scanning larger buffers. (whitespace-unhighlight-the-space): Remove `remove-hook' since that function is never added to a hook. (whitespace-spacetab-regexp, whitespace-ateol-regexp) @@ -835,7 +1337,7 @@ (allout-deannotate-hidden): New function to remove was-hidden annotation. (allout-hide-by-annotation): Use new allout-deannotate-hidden. - (allout-remove-exposure-annotation): Replaced by + (allout-remove-exposure-annotation): Replace by allout-deannotate-hidden. (allout-yank-processing): Signal that yank processing is happening with allout-during-yank-processing. Also, wrap @@ -961,10 +1463,10 @@ 2006-10-30 Lennart Borgman - * help-fns.el (help-with-tutorial): Moved to tutorial.el. + * help-fns.el (help-with-tutorial): Move to tutorial.el. * tutorial.el: New file. - (help-with-tutorial): Moved here from help-fns.el. Added help for + (help-with-tutorial): Move here from help-fns.el. Added help for rebound keys. Fixed resume of tutorial. (tutorial--describe-nonstandard-key, tutorial--sort-keys) (tutorial--find-changed-keys, tutorial--display-changes) @@ -2201,7 +2703,7 @@ * select.el (xselect-convert-to-string): If UTF8_STRING is requested and the data doesn't look like UTF8, send STRING instead. -2006-09-16 Agustin Martin +2006-09-16 Agust,Am(Bn Mart,Am(Bn * textmodes/flyspell.el (flyspell-check-region-doublons): New function to detect duplicated words. @@ -2646,7 +3148,7 @@ * dired.el (dired-log-summary): Add doc string. - * cus-edit.el (custom-menu-create): Bind deactivate-mark here + * cus-edit.el (custom-menu-create): Bind deactivate-mark here. (custom-group-menu-create): Not here. 2006-09-08 Carsten Dominik @@ -6939,8 +7441,7 @@ (defcustom, defface, defgroup): Replace reference to Customization chapter in manual with hyperlink. - * cus-edit.el (customize-package-emacs-version-alist): - New variable. + * cus-edit.el (customize-package-emacs-version-alist): New variable. (customize-changed-options): Add check for custom-package-version. (customize-package-emacs-version): New function to look up Emacs version corresponding to the given package version. @@ -7019,7 +7520,7 @@ * files.el (hack-local-variables-confirm) : Clarify message text. Suggested by Ralf Angeli. -2006-04-08 Michael Cadilhac +2006-04-08 Micha,Ak(Bl Cadilhac * rect.el (kill-rectangle): Don't barf if `kill-read-only-ok' is set. (delete-extract-rectangle-line): Use `filter-buffer-substring' @@ -9873,7 +10374,7 @@ (find-variable-other-frame, find-variable-at-point): Fix docstrings. -2006-01-21 Francesco Potorti` +2006-01-21 Francesco Potort,Al(B * mail/rmailout.el (rmail-output): Don't use content-type if it is nil. @@ -13847,7 +14348,7 @@ since the last ping. (rcirc-mode): Give rcirc-topic a local binding here. -2005-11-19 Michael Cadilhac +2005-11-19 Micha,Ak(Bl Cadilhac * subr.el (read-passwd): Fontify the prompt as we do with other prompts. @@ -15458,7 +15959,7 @@ * dired-x.el (dired-virtual): Don't use `dired-insert-headerline'. -2005-10-25 Michael Cadilhac +2005-10-25 Micha,Ak(Bl Cadilhac * play/blackbox.el (blackbox-redefine-key): New function. (blackbox-mode-map): Use it to remap existing bindings for cursor @@ -16722,7 +17223,7 @@ * progmodes/gdb-ui.el (gdb-fringe-width -> gdb-buffer-fringe-width): Typo. -2005-10-06 Michael Cadilhac +2005-10-06 Micha,Ak(Bl Cadilhac * play/zone.el (zone): Wrap body with save-window-excursion. @@ -17890,7 +18391,7 @@ * mail/sendmail.el (default-sendmail-coding-system): Doc fix. -2005-09-09 Emilio Lopes +2005-09-09 Emilio C. Lopes * woman.el: Format- and whitespace-related changes. @@ -20142,7 +20643,7 @@ * server.el: Bind "C-x #" in a way that works even if C-x is redefined to a command key, not a prefix key. -2005-07-16 Johan Bockgard (tiny change) +2005-07-16 Johan Bockg,Ae(Brd (tiny change) * emacs-lisp/cl-macs.el (cl-make-type-test): Defer evaluation of cl-make-type-test till execution time. @@ -20152,7 +20653,7 @@ * dired-x.el (dired-do-relsymlink-regexp): Add missing optional arg ARG and use it. -2005-07-16 Johan Bockgard (tiny change) +2005-07-16 Johan Bockg,Ae(Brd (tiny change) * emacs-lisp/cl-macs.el (cl-make-type-test): Add `atom' type. @@ -28222,7 +28723,7 @@ * emacs-lisp/lisp.el (buffer-end): Doc fix. -2005-02-05 Arne_J,Ax(Brgensen (tiny change) +2005-02-05 Arne J,Ax(Brgensen (tiny change) * net/ldap.el (ldap-search-internal): Support attributes with optional descriptions separated by a semi-colon, as in @@ -29339,7 +29840,7 @@ (calc-edit-macro-finish-edit): New functions. (calc-user-define-edit): Use new functions to edit named calc macros. -2005-01-01 Stefan +2005-01-01 Stefan Monnier * files.el (hack-local-variables): Cleanup prefix/suffix matching. diff -r 06937e972ad0 -r f1d13e615070 lisp/abbrev.el --- a/lisp/abbrev.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/abbrev.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; abbrev.el --- abbrev mode commands for Emacs -;; Copyright (C) 1985, 1986, 1987, 1992, 2002, 2003, 2004, +;; Copyright (C) 1985, 1986, 1987, 1992, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/abbrevlist.el --- a/lisp/abbrevlist.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/abbrevlist.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; abbrevlist.el --- list one abbrev table alphabetically ordered -;; Copyright (C) 1986, 1992, 2002, 2003, 2004, +;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Suggested by a previous version by Gildea. diff -r 06937e972ad0 -r f1d13e615070 lisp/add-log.el --- a/lisp/add-log.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/add-log.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; add-log.el --- change log maintenance commands for Emacs -;; Copyright (C) 1985, 1986, 1988, 1993, 1994, 1997, 1998, 2000, 2002, -;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1986, 1988, 1993, 1994, 1997, 1998, 2000, 2001, +;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: tools diff -r 06937e972ad0 -r f1d13e615070 lisp/align.el --- a/lisp/align.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/align.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; align.el --- align text to a specific column, by regexp -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: John Wiegley diff -r 06937e972ad0 -r f1d13e615070 lisp/allout.el --- a/lisp/allout.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/allout.el Thu Dec 07 04:14:14 2006 +0000 @@ -162,7 +162,7 @@ : - repeat spec - apply the preceeding element to all siblings at current level, *up to* those siblings that would be covered by specs following the `:' on the list. Ie, apply to all topics at level but - trailing ones accounted for by trailing specs. \(Only the first of + trailing ones accounted for by trailing specs. (Only the first of multiple colons at the same level is honored - later ones are ignored.) * - completely exposes the topic, including bodies + - exposes all subtopics, but not the bodies @@ -230,9 +230,9 @@ - if the cursor is on the headline and not the start of the headline: then it goes to the start of the headline - if the cursor is on the start of the headline: - then it goes to the bullet character \(for hotspot navigation\) + then it goes to the bullet character (for hotspot navigation) - if the cursor is on the bullet character: - then it goes to the first column of that line \(the headline\) + then it goes to the first column of that line (the headline) - if the cursor is on the first column of the headline: then it goes to the start of the headline within the item body. @@ -324,14 +324,14 @@ These bullets are used to distinguish topics from the run-of-the-mill ones. They are not used in the standard topic headers created by -the topic-opening, shifting, and rebulleting \(eg, on topic shift, +the topic-opening, shifting, and rebulleting (eg, on topic shift, topic paste, blanket rebulleting) routines, but are offered among the choices for rebulleting. They are not altered by the above automatic rebulleting, so they can be used to characterize topics, eg: `?' question topics - `\(' parenthetic comment \(with a matching close paren inside) - `[' meta-note \(with a matching close ] inside) + `(' parenthetic comment (with a matching close paren inside) + `[' meta-note (with a matching close ] inside) `\"' a quotation `=' value settings `~' \"more or less\" @@ -367,13 +367,13 @@ do not escape any regulare-expression characters. Value t means to first check for assoc value in `allout-mode-leaders' -alist, then use comment-start string, if any, then use default \(`.'). +alist, then use comment-start string, if any, then use default (`.'). \(See note about use of comment-start strings, below.) Set to the symbol for either of `allout-mode-leaders' or `comment-start' to use only one of them, respectively. -Value nil means to always use the default \(`.') and leave +Value nil means to always use the default (`.') and leave `allout-primary-bullet' unaltered. comment-start strings that do not end in spaces are tripled in @@ -605,7 +605,7 @@ mostly covers both deliberate file writes and auto-saves. - Yes: encrypt all topics pending encryption, even if it's the one - currently being edited. \(In that case, the currently edited topic + currently being edited. (In that case, the currently edited topic will be automatically decrypted before any user interaction, so they can continue editing but the copy on the file system will be encrypted.) @@ -619,7 +619,7 @@ - No: leave it to the user to encrypt any unencrypted topics. For practical reasons, auto-saves always use the 'except-current policy -when auto-encryption is enabled. \(Otherwise, spurious passphrase prompts +when auto-encryption is enabled. (Otherwise, spurious passphrase prompts and unavoidable timing collisions are too disruptive.) If security for a file requires that even the current topic is never auto-saved in the clear, disable auto-saves for that file." @@ -717,8 +717,8 @@ You can customize this setting to set it for all allout buffers, or set it in individual buffers if you want to inhibit auto-fill only in particular -buffers. \(You could use a function on `allout-mode-hook' to inhibit -auto-fill according, eg, to the major mode.\) +buffers. (You could use a function on `allout-mode-hook' to inhibit +auto-fill according, eg, to the major mode.) If you don't set this and auto-fill-mode is enabled, allout will use the value that `normal-auto-fill-function', if any, when allout mode starts, or @@ -783,7 +783,7 @@ ;;;_ : Version ;;;_ = allout-version (defvar allout-version "2.2.1" - "Version of currently loaded outline package. \(allout.el)") + "Version of currently loaded outline package. (allout.el)") ;;;_ > allout-version (defun allout-version (&optional here) "Return string describing the loaded outline version." @@ -800,7 +800,7 @@ (defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL - see docstring. "Buffer-specific setting for allout layout. -In buffers where this is non-nil \(and if `allout-init' has been run, to +In buffers where this is non-nil (and if `allout-init' has been run, to enable this behavior), `allout-mode' will be automatically activated. The layout dictated by the value will be used to set the initial exposure when `allout-mode' is activated. @@ -812,12 +812,12 @@ example, the following lines at the bottom of an Emacs Lisp file: ;;;Local variables: -;;;allout-layout: \(0 : -1 -1 0) +;;;allout-layout: (0 : -1 -1 0) ;;;End: dictate activation of `allout-mode' mode when the file is visited \(presuming allout-init was already run), followed by the -equivalent of `\(allout-expose-topic 0 : -1 -1 0)'. \(This is +equivalent of `(allout-expose-topic 0 : -1 -1 0)'. (This is the layout used for the allout.el source file.) `allout-default-layout' describes the specification format. @@ -930,7 +930,7 @@ `allout-use-mode-specific-leader' and `allout-mode-leaders'. -Apply this via \(re)activation of `allout-mode', rather than +Apply this via (re)activation of `allout-mode', rather than invoking it directly." (let* ((use-leader (and (boundp 'allout-use-mode-specific-leader) (if (or (stringp allout-use-mode-specific-leader) @@ -977,7 +977,7 @@ (defun allout-infer-body-reindent () "Determine proper setting for `allout-reindent-bodies'. -Depends on default setting of `allout-reindent-bodies' \(which see) +Depends on default setting of `allout-reindent-bodies' (which see) and presence of setting for `comment-start', to tell whether the file is programming code." (if (and allout-reindent-bodies @@ -1295,7 +1295,7 @@ "Symbol for use as allout invisible-text overlay category.") ;;;_ x allout-view-change-hook (defvar allout-view-change-hook nil - "*\(Deprecated\) A hook run after allout outline exposure changes. + "*(Deprecated) A hook run after allout outline exposure changes. Switch to using `allout-exposure-change-hook' instead. Both hooks are currently respected, but the other conveys the details of the exposure @@ -1531,12 +1531,12 @@ MODE is one of the following symbols: - - nil \(or no argument) deactivate auto-activation/layout; + - nil (or no argument) deactivate auto-activation/layout; - `activate', enable auto-activation only; - `ask', enable auto-activation, and enable auto-layout but with confirmation for layout operation solicited from user each time; - `report', just report and return the current auto-activation state; - - anything else \(eg, t) for auto-activation and auto-layout, without + - anything else (eg, t) for auto-activation and auto-layout, without any confirmation check. Use this function to setup your Emacs session for automatic activation @@ -1598,7 +1598,7 @@ ((eq mode 'ask) (message (concat "Outline mode auto-activation and " - "-layout \(upon confirmation) enabled.")) + "-layout (upon confirmation) enabled.")) 'ask) ((message "Outline mode auto-activation and -layout enabled.") @@ -1649,92 +1649,111 @@ Allout outline mode provides extensive outline oriented formatting and manipulation. It enables structural editing of outlines, as well as navigation and exposure. It also is specifically aimed at -accommodating syntax-sensitive text like programming languages. \(For +accommodating syntax-sensitive text like programming languages. (For an example, see the allout code itself, which is organized as an allout outline.) -In addition to outline navigation and exposure, allout includes: - - - topic-oriented repositioning, promotion/demotion, cut, and paste - - integral outline exposure-layout +In addition to typical outline navigation and exposure, allout includes: + + - topic-oriented authoring, including keystroke-based topic creation, + repositioning, promotion/demotion, cut, and paste - incremental search with dynamic exposure and reconcealment of hidden text - - automatic topic-number maintenance + - adjustable format, so programming code can be developed in outline-structure - easy topic encryption and decryption - - \"Hot-spot\" operation, for single-keystroke maneuvering and - exposure control. \(See the allout-mode docstring.) + - \"Hot-spot\" operation, for single-keystroke maneuvering and exposure control + - integral outline layout, for automatic initial exposure when visiting a file + - independent extensibility, using comprehensive exposure and authoring hooks and many other features. -Below is a description of the bindings, and then explanation of +Below is a description of the key bindings, and then explanation of special `allout-mode' features and terminology. See also the outline menubar additions for quick reference to many of the features, and see the docstring of the function `allout-init' for instructions on priming your emacs session for automatic activation of `allout-mode'. - -The bindings are dictated by the `allout-keybindings-list' and -`allout-command-prefix' variables. - - Navigation: Exposure Control: - ---------- ---------------- -\\[allout-next-visible-heading] allout-next-visible-heading | \\[allout-hide-current-subtree] allout-hide-current-subtree -\\[allout-previous-visible-heading] allout-previous-visible-heading | \\[allout-show-children] allout-show-children -\\[allout-up-current-level] allout-up-current-level | \\[allout-show-current-subtree] allout-show-current-subtree -\\[allout-forward-current-level] allout-forward-current-level | \\[allout-show-current-entry] allout-show-current-entry -\\[allout-backward-current-level] allout-backward-current-level | \\[allout-show-all] allout-show-all -\\[allout-end-of-entry] allout-end-of-entry -\\[allout-beginning-of-current-entry] allout-beginning-of-current-entry, alternately, goes to hot-spot - - Topic Header Production: - ----------------------- -\\[allout-open-sibtopic] allout-open-sibtopic Create a new sibling after current topic. -\\[allout-open-subtopic] allout-open-subtopic ... an offspring of current topic. -\\[allout-open-supertopic] allout-open-supertopic ... a sibling of the current topic's parent. - - Topic Level and Prefix Adjustment: - --------------------------------- -\\[allout-shift-in] allout-shift-in Shift current topic and all offspring deeper. -\\[allout-shift-out] allout-shift-out ... less deep. -\\[allout-rebullet-current-heading] allout-rebullet-current-heading Prompt for alternate bullet for - current topic. -\\[allout-rebullet-topic] allout-rebullet-topic Reconcile bullets of topic and its offspring - - distinctive bullets are not changed, others - alternated according to nesting depth. -\\[allout-number-siblings] allout-number-siblings Number bullets of topic and siblings - the - offspring are not affected. With repeat - count, revoke numbering. - - Topic-oriented Killing and Yanking: - ---------------------------------- -\\[allout-kill-topic] allout-kill-topic Kill current topic, including offspring. -\\[allout-copy-topic-as-kill] allout-copy-topic-as-kill Copy current topic, including offspring. -\\[allout-kill-line] allout-kill-line kill-line, attending to outline structure. -\\[allout-copy-line-as-kill] allout-copy-line-as-kill Copy line but don't delete it. -\\[allout-yank] allout-yank Yank, adjusting depth of yanked topic to - depth of heading if yanking into bare topic - heading (ie, prefix sans text). -\\[allout-yank-pop] allout-yank-pop Is to allout-yank as yank-pop is to yank - - Topic-oriented Encryption: - ------------------------- -\\[allout-toggle-current-subtree-encryption] allout-toggle-current-subtree-encryption Encrypt/Decrypt topic content - - Misc commands: - ------------- -M-x outlineify-sticky Activate outline mode for current buffer, - and establish a default file-var setting - for `allout-layout'. -\\[allout-mark-topic] allout-mark-topic -\\[allout-copy-exposed-to-buffer] allout-copy-exposed-to-buffer - Duplicate outline, sans concealed text, to - buffer with name derived from derived from that - of current buffer - \"*BUFFERNAME exposed*\". -\\[allout-flatten-exposed-to-buffer] allout-flatten-exposed-to-buffer - Like above 'copy-exposed', but convert topic - prefixes to section.subsection... numeric - format. -\\[eval-expression] (allout-init t) Setup Emacs session for outline mode - auto-activation. +The bindings are dictated by the customizable `allout-keybindings-list' +variable. We recommend customizing `allout-command-prefix' to use just +`\\C-c' as the command prefix, if the allout bindings don't conflict with +any personal bindings you have on \\C-c. In any case, outline structure +navigation and authoring is simplified by positioning the cursor on an +item's bullet character, the \"hot-spot\" - then you can invoke allout +commands with just the un-prefixed, un-control-shifted command letters. +This is described further in the HOT-SPOT Operation section. + + Exposure Control: + ---------------- +\\[allout-hide-current-subtree] `allout-hide-current-subtree' +\\[allout-show-children] `allout-show-children' +\\[allout-show-current-subtree] `allout-show-current-subtree' +\\[allout-show-current-entry] `allout-show-current-entry' +\\[allout-show-all] `allout-show-all' + + Navigation: + ---------- +\\[allout-next-visible-heading] `allout-next-visible-heading' +\\[allout-previous-visible-heading] `allout-previous-visible-heading' +\\[allout-up-current-level] `allout-up-current-level' +\\[allout-forward-current-level] `allout-forward-current-level' +\\[allout-backward-current-level] `allout-backward-current-level' +\\[allout-end-of-entry] `allout-end-of-entry' +\\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot) +\\[allout-beginning-of-line] `allout-beginning-of-line' - like regular beginning-of-line, but + if immediately repeated cycles to the beginning of the current item + and then to the hot-spot (if `allout-beginning-of-line-cycles' is set). + + + Topic Header Production: + ----------------------- +\\[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic. +\\[allout-open-subtopic] `allout-open-subtopic' ... an offspring of current topic. +\\[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent. + + Topic Level and Prefix Adjustment: + --------------------------------- +\\[allout-shift-in] `allout-shift-in' Shift current topic and all offspring deeper +\\[allout-shift-out] `allout-shift-out' ... less deep +\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for + current topic +\\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and + its' offspring - distinctive bullets are not changed, others + are alternated according to nesting depth. +\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings - + the offspring are not affected. + With repeat count, revoke numbering. + + Topic-oriented Killing and Yanking: + ---------------------------------- +\\[allout-kill-topic] `allout-kill-topic' Kill current topic, including offspring. +\\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring. +\\[allout-kill-line] `allout-kill-line' kill-line, attending to outline structure. +\\[allout-copy-line-as-kill] `allout-copy-line-as-kill' Copy line but don't delete it. +\\[allout-yank] `allout-yank' Yank, adjusting depth of yanked topic to + depth of heading if yanking into bare topic + heading (ie, prefix sans text). +\\[allout-yank-pop] `allout-yank-pop' Is to allout-yank as yank-pop is to yank + + Topic-oriented Encryption: + ------------------------- +\\[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption' + Encrypt/Decrypt topic content + + Misc commands: + ------------- +M-x outlineify-sticky Activate outline mode for current buffer, + and establish a default file-var setting + for `allout-layout'. +\\[allout-mark-topic] `allout-mark-topic' +\\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer' + Duplicate outline, sans concealed text, to + buffer with name derived from derived from that + of current buffer - \"*BUFFERNAME exposed*\". +\\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer' + Like above 'copy-exposed', but convert topic + prefixes to section.subsection... numeric + format. +\\[eval-expression] (allout-init t) Setup Emacs session for outline mode + auto-activation. Topic Encryption @@ -1742,17 +1761,22 @@ symmetric and key-pair modes, passphrase timeout, passphrase consistency checking, user-provided hinting for symmetric key mode, and auto-encryption of topics pending encryption on save. -\(Topics pending encryption are, by default, automatically -encrypted during file saves; if you're editing the contents of -such a topic, it is automatically decrypted for continued -editing.) The aim is reliable topic privacy while preventing -accidents like neglected encryption before saves, forgetting -which passphrase was used, and other practical pitfalls. - -See `allout-toggle-current-subtree-encryption' function docstring and -`allout-encrypt-unencrypted-on-saves' customization variable for details. - - HOT-SPOT Operation + +Topics pending encryption are, by default, automatically +encrypted during file saves. If the contents of the topic +containing the cursor was encrypted for a save, it is +automatically decrypted for continued editing. + +The aim of these measures is reliable topic privacy while +preventing accidents like neglected encryption before saves, +forgetting which passphrase was used, and other practical +pitfalls. + +See `allout-toggle-current-subtree-encryption' function docstring +and `allout-encrypt-unencrypted-on-saves' customization variable +for details. + + HOT-SPOT Operation Hot-spot operation provides a means for easy, single-keystroke outline navigation and exposure control. @@ -1765,85 +1789,108 @@ Thus, by positioning the cursor on a topic bullet, you can execute the outline navigation and manipulation commands with a -single keystroke. Regular navigation keys (eg, \\[forward-char], \\[next-line]) never get +single keystroke. Regular navigation keys (eg, \\[forward-char], \\[next-line]) don't get this special translation, so you can use them to get out of the -hot-spot and back to normal operation. - -Note that the command `allout-beginning-of-current-entry' \(\\[allout-beginning-of-current-entry]\) -will move to the hot-spot when the cursor is already located at the -beginning of the current entry, so you usually can hit \\[allout-beginning-of-current-entry] -twice in a row to get to the hot-spot. - - Terminology +hot-spot and back to normal editing operation. + +In allout-mode, the normal beginning-of-line command (\\[allout-beginning-of-line]]) is +replaced with one that makes it easy to get to the hot-spot. If you +repeat it immediately it cycles (if `allout-beginning-of-line-cycles' +is set) to the beginning of the item and then, if you hit it again +immediately, to the hot-spot. Similarly, `allout-beginning-of-current-entry' +\(\\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located +at the beginning of the current entry. + + Extending Allout + +Allout exposure and authoring activites all have associated +hooks, by which independent code can cooperate with allout +without changes to the allout core. Here are key ones: + +`allout-mode-hook' +`allout-mode-deactivate-hook' +`allout-exposure-change-hook' +`allout-structure-added-hook' +`allout-structure-deleted-hook' +`allout-structure-shifted-hook' + + Terminology Topic hierarchy constituents - TOPICS and SUBTOPICS: -TOPIC: A basic, coherent component of an Emacs outline. It can - contain and be contained by other topics. -CURRENT topic: - The visible topic most immediately containing the cursor. -DEPTH: The degree of nesting of a topic; it increases with - containment. Also called the: -LEVEL: The same as DEPTH. +ITEM: A unitary outline element, including the HEADER and ENTRY text. +TOPIC: An ITEM and any ITEMs contained within it, ie having greater DEPTH + and with no intervening items of lower DEPTH than the container. +CURRENT ITEM: + The visible ITEM most immediately containing the cursor. +DEPTH: The degree of nesting of an ITEM; it increases with containment. + The DEPTH is determined by the HEADER PREFIX. The DEPTH is also + called the: +LEVEL: The same as DEPTH. ANCESTORS: - The topics that contain a topic. -PARENT: A topic's immediate ancestor. It has a depth one less than - the topic. + Those ITEMs whose TOPICs contain an ITEM. +PARENT: An ITEM's immediate ANCESTOR. It has a DEPTH one less than that + of the ITEM. OFFSPRING: - The topics contained by a topic; + The ITEMs contained within an ITEM's TOPIC. SUBTOPIC: - An immediate offspring of a topic; -CHILDREN: - The immediate offspring of a topic. + An OFFSPRING of its ANCESTOR TOPICs. +CHILD: + An immediate SUBTOPIC of its PARENT. SIBLINGS: - Topics having the same parent and depth. + TOPICs having the same PARENT and DEPTH. Topic text constituents: -HEADER: The first line of a topic, include the topic PREFIX and header - text. -PREFIX: The leading text of a topic which distinguishes it from normal - text. It has a strict form, which consists of a prefix-lead - string, padding, and a bullet. The bullet may be followed by a +HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER + text. +ENTRY: The text content of an ITEM, before any OFFSPRING, but including + the HEADER text and distinct from the ITEM PREFIX. +BODY: Same as ENTRY. +PREFIX: The leading text of an ITEM which distinguishes it from normal + ENTRY text. Allout recognizes the outline structure according + to the strict PREFIX format. It consists of a PREFIX-LEAD string, + PREFIX-PADDING, and a BULLET. The BULLET might be followed by a number, indicating the ordinal number of the topic among its - siblings, a space, and then the header text. - - The relative length of the PREFIX determines the nesting depth - of the topic. + siblings, or an asterisk indicating encryption, plus an optional + space. After that is the ITEM HEADER text, which is not part of + the PREFIX. + + The relative length of the PREFIX determines the nesting DEPTH + of the ITEM. PREFIX-LEAD: - The string at the beginning of a topic prefix, normally a `.'. - It can be customized by changing the setting of - `allout-header-prefix' and then reinitializing `allout-mode'. - - By setting the prefix-lead to the comment-string of a - programming language, you can embed outline structuring in - program code without interfering with the language processing - of that code. See `allout-use-mode-specific-leader' - docstring for more detail. + The string at the beginning of a HEADER PREFIX, by default a `.'. + It can be customized by changing the setting of + `allout-header-prefix' and then reinitializing `allout-mode'. + + When the PREFIX-LEAD is set to the comment-string of a + programming language, outline structuring can be embedded in + program code without interfering with processing of the text + (by emacs or the language processor) as program code. This + setting happens automatically when allout mode is used in + programming-mode buffers. See `allout-use-mode-specific-leader' + docstring for more detail. PREFIX-PADDING: - Spaces or asterisks which separate the prefix-lead and the - bullet, determining the depth of the topic. -BULLET: A character at the end of the topic prefix, it must be one of - the characters listed on `allout-plain-bullets-string' or + Spaces or asterisks which separate the PREFIX-LEAD and the + bullet, determining the ITEM's DEPTH. +BULLET: A character at the end of the ITEM PREFIX, it must be one of + the characters listed on `allout-plain-bullets-string' or `allout-distinctive-bullets-string'. (See the documentation for these variables for more details.) The default choice of - bullet when generating topics varies in a cycle with the depth of - the topic. -ENTRY: The text contained in a topic before any offspring. -BODY: Same as ENTRY. - + BULLET when generating ITEMs varies in a cycle with the DEPTH of + the ITEM. EXPOSURE: - The state of a topic which determines the on-screen visibility - of its offspring and contained text. + The state of a TOPIC which determines the on-screen visibility + of its OFFSPRING and contained ENTRY text. CONCEALED: - Topics and entry text whose display is inhibited. Contiguous - units of concealed text is represented by `...' ellipses. - - Concealed topics are effectively collapsed within an ancestor. -CLOSED: A topic whose immediate offspring and body-text is concealed. -OPEN: A topic that is not closed, though its offspring or body may be." + TOPICs and ENTRY text whose EXPOSURE is inhibited. Concealed + text is represented by \"...\" ellipses. + + CONCEALED TOPICs are effectively collapsed within an ANCESTOR. +CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED. +OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." ;;;_ . Code (interactive "P") @@ -1934,22 +1981,8 @@ extend)) ;; Produce map from current version of allout-keybindings-list: - (setq allout-mode-map - (produce-allout-mode-map allout-keybindings-list)) - (substitute-key-definition 'beginning-of-line - 'allout-beginning-of-line - allout-mode-map global-map) - (substitute-key-definition 'move-beginning-of-line - 'allout-beginning-of-line - allout-mode-map global-map) - (substitute-key-definition 'end-of-line - 'allout-end-of-line - allout-mode-map global-map) - (substitute-key-definition 'move-end-of-line - 'allout-end-of-line - allout-mode-map global-map) + (allout-setup-mode-map) (produce-allout-mode-menubar-entries) - (fset 'allout-mode-map allout-mode-map) ;; Include on minor-mode-map-alist, if not already there: (if (not (member '(allout-mode . allout-mode-map) @@ -2039,6 +2072,31 @@ allout-mode ) ; let* ) ; defun + +(defun allout-setup-mode-map () + "Establish allout-mode bindings." + (setq-default allout-mode-map + (produce-allout-mode-map allout-keybindings-list)) + (setq allout-mode-map + (produce-allout-mode-map allout-keybindings-list)) + (substitute-key-definition 'beginning-of-line + 'allout-beginning-of-line + allout-mode-map global-map) + (substitute-key-definition 'move-beginning-of-line + 'allout-beginning-of-line + allout-mode-map global-map) + (substitute-key-definition 'end-of-line + 'allout-end-of-line + allout-mode-map global-map) + (substitute-key-definition 'move-end-of-line + 'allout-end-of-line + allout-mode-map global-map) + (fset 'allout-mode-map allout-mode-map)) + +;; ensure that allout-mode-map has some setting even if allout-mode hasn't +;; been invoked: +(allout-setup-mode-map) + ;;;_ > allout-minor-mode (defalias 'allout-minor-mode 'allout-mode) @@ -2453,7 +2511,7 @@ (t (allout-end-of-entry)))))) ;;;_ > allout-next-heading () (defsubst allout-next-heading () - "Move to the heading for the topic \(possibly invisible) after this one. + "Move to the heading for the topic (possibly invisible) after this one. Returns the location of the heading, or nil if none found. @@ -2476,7 +2534,7 @@ (if (not (allout-goto-prefix-doublechecked)) (allout-next-heading))) ;;;_ > allout-previous-heading () (defun allout-previous-heading () - "Move to the prior \(possibly invisible) heading line. + "Move to the prior (possibly invisible) heading line. Return the location of the beginning of the heading, or nil if not found. @@ -2526,7 +2584,7 @@ (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth) "Produce a location \"chart\" of subtopics of the containing topic. -Optional argument LEVELS specifies a depth limit \(relative to start +Optional argument LEVELS specifies a depth limit (relative to start depth) for the chart. Null LEVELS means no limit. When optional argument VISIBLE is non-nil, the chart includes @@ -2663,7 +2721,7 @@ result)) ;;;_ X allout-chart-spec (chart spec &optional exposing) ;; (defun allout-chart-spec (chart spec &optional exposing) -;; "Not yet \(if ever) implemented. +;; "Not yet (if ever) implemented. ;; Produce exposure directives given topic/subtree CHART and an exposure SPEC. @@ -2684,7 +2742,7 @@ ;; - bare positive values indicate that this topic header should be ;; opened. ;; - Lists signify the beginning and end points of regions that should -;; be flagged, and the flag to employ. (For concealment: `\(\?r\)', and +;; be flagged, and the flag to employ. (For concealment: `(\?r)', and ;; exposure:" ;; (while spec ;; (cond ((listp spec) @@ -2721,7 +2779,7 @@ (defun allout-goto-prefix-doublechecked () "Put point at beginning of immediately containing outline topic. -Like `allout-goto-prefix', but shallow topics \(according to +Like `allout-goto-prefix', but shallow topics (according to `allout-doublecheck-at-and-shallower') are checked and disqualified for child containment discontinuity, according to `allout-aberrant-container-p'." @@ -2749,7 +2807,7 @@ (allout-current-depth))) ;;;_ > allout-current-bullet-pos () (defun allout-current-bullet-pos () - "Return position of current \(visible) topic's bullet." + "Return position of current (visible) topic's bullet." (if (not (allout-current-depth)) nil @@ -2887,19 +2945,31 @@ (if (interactive-p) (allout-end-of-prefix)) (and last-ascended allout-recent-depth)))) ;;;_ > allout-ascend () -(defun allout-ascend () - "Ascend one level, returning t if successful, nil if not." +(defun allout-ascend (&optional dont-move-if-unsuccessful) + "Ascend one level, returning resulting depth if successful, nil if not. + +Point is left at the beginning of the level whether or not +successful, unless optional DONT-MOVE-IF-UNSUCCESSFUL is set, in +which case point is returned to its original starting location." + (if dont-move-if-unsuccessful + (setq dont-move-if-unsuccessful (point))) (prog1 (if (allout-beginning-of-level) (let ((bolevel (point)) (bolevel-depth allout-recent-depth)) (allout-previous-heading) - (if (< allout-recent-depth bolevel-depth) - allout-recent-depth - ;; some topic after file's first is at lower depth than first: - (goto-char bolevel) - (allout-depth) - nil))) + (cond ((< allout-recent-depth bolevel-depth) + allout-recent-depth) + ((= allout-recent-depth bolevel-depth) + (if dont-move-if-unsuccessful + (goto-char dont-move-if-unsuccessful)) + (allout-depth) + nil) + (t + ;; some topic after very first is lower depth than first: + (goto-char bolevel) + (allout-depth) + nil)))) (if (interactive-p) (allout-end-of-prefix)))) ;;;_ > allout-descend-to-depth (depth) (defun allout-descend-to-depth (depth) @@ -2990,7 +3060,7 @@ Costs more than regular `allout-next-sibling' for short traversals: - - we have to check the prior \(next, if travelling backwards) + - we have to check the prior (next, if travelling backwards) item to confirm connectivity with the prior topic, and - if confirmed, we have to reestablish the allout-recent-* settings with some extra navigation @@ -3219,7 +3289,7 @@ the cursor which has moved as a result of such reinterpretation is positioned on the bullet character of the destination topic. -The upshot is that you can get easy, single \(ie, unmodified\) key +The upshot is that you can get easy, single (ie, unmodified) key outline maneuvering operations by positioning the cursor on the bullet char. When in this mode you can use regular cursor-positioning command/keystrokes to relocate the cursor off of a bullet character to @@ -3329,7 +3399,7 @@ (allout-get-bullet))))) ;;;_ > allout-encrypted-type-prefix (&optional prefix) (defun allout-encrypted-type-prefix (&optional prefix) - "True if current header prefix bullet is for an encrypted entry \(body)." + "True if current header prefix bullet is for an encrypted entry (body)." (and allout-topic-encryption-bullet (string= allout-topic-encryption-bullet (if prefix @@ -3380,8 +3450,8 @@ If SOLICIT is non-nil, then the choice of bullet is solicited from user. If it's a character, then that character is offered as the -default, otherwise the one suited to the context \(according to -distinction or depth) is offered. \(This overrides other options, +default, otherwise the one suited to the context (according to +distinction or depth) is offered. (This overrides other options, including, eg, a distinctive PRIOR-BULLET.) If non-nil, then the context-specific bullet is used. @@ -3505,7 +3575,7 @@ When adding an offspring, it will be added immediately after the parent if the other offspring are exposed, or after the last child if the offspring -are hidden. \(The intervening offspring will be exposed in the latter +are hidden. (The intervening offspring will be exposed in the latter case.) If OFFER-RECENT-BULLET is true, offer to use the bullet of the prior sibling. @@ -3823,7 +3893,7 @@ If SOLICIT is non-nil, then the choice of bullet is solicited from user. If it's a character, then that character is offered as the -default, otherwise the one suited to the context \(according to +default, otherwise the one suited to the context (according to distinction or depth) is offered. If non-nil, then the context-specific bullet is just used. @@ -3921,7 +3991,7 @@ Descends into invisible as well as visible topics, however. When optional sans-offspring is non-nil, subtopics are not -shifted. \(Shifting a topic outwards without shifting its +shifted. (Shifting a topic outwards without shifting its offspring is disallowed, since this would create a \"containment discontinuity\", where the depth difference between a topic and its immediate offspring is greater than one.) @@ -3962,7 +4032,7 @@ itself: STARTING-DEPTH, STARTING-POINT, and INDEX. Finally, if optional SANS-OFFSPRING is non-nil then the offspring -are not shifted. \(Shifting a topic outwards without shifting +are not shifted. (Shifting a topic outwards without shifting its offspring is disallowed, since this would create a \"containment discontinuity\", where the depth difference between a topic and its immediate offspring is greater than one..)" @@ -4445,7 +4515,7 @@ (while more (allout-back-to-current-heading) ; go as high as we can in each bunch: - (while (allout-ascend)) + (while (allout-ascend t)) (save-excursion (allout-unprotected (allout-rebullet-topic-grunt (- adjust-to-depth @@ -4598,9 +4668,9 @@ "Conceal text between FROM and TO if FLAG is non-nil, else reveal it. Exposure-change hook `allout-exposure-change-hook' is run with the same -arguments as this function, after the exposure changes are made. \(The old +arguments as this function, after the exposure changes are made. (The old `allout-view-change-hook' is being deprecated, and eventually will not be -invoked.\)" +invoked.)" ;; We use outline invisibility spec. (remove-overlays from to 'category 'allout-exposure-category) @@ -4900,7 +4970,7 @@ Successive specs on a list are applied to successive sibling topics. -A simple spec \(either a number, one of a few symbols, or the null +A simple spec (either a number, one of a few symbols, or the null list) dictates the exposure for the corresponding topic. Non-null lists recursively designate exposure specs for respective @@ -4923,7 +4993,7 @@ apply prior element to all siblings at current level, *up to* those siblings that would be covered by specs following the `:' on the list. Ie, apply to all topics at level but the last - ones. \(Only first of multiple colons at same level is + ones. (Only first of multiple colons at same level is respected - subsequent ones are discarded.) * - completely opens the topic, including bodies. + - shows all the sub headers, but not the bodies @@ -5006,7 +5076,7 @@ ;;;_ > allout-old-expose-topic (spec &rest followers) (defun allout-old-expose-topic (spec &rest followers) - "Deprecated. Use `allout-expose-topic' \(with different schema + "Deprecated. Use `allout-expose-topic' (with different schema format) instead. Dictate wholesale exposure scheme for current topic, according to SPEC. @@ -5203,7 +5273,7 @@ list - Present prefix as numeric section.subsection..., starting with section indicated by the list, innermost nesting first. - `indent' \(symbol) - Convert header prefixes to all white space, + `indent' (symbol) - Convert header prefixes to all white space, except for distinctive bullets. The elements of the list produced are lists that represents a topic @@ -5332,7 +5402,7 @@ X`flat-indented' - Prefix is like `flat' for first topic at each X level, but subsequent topics have only leaf topic X number, padded with blanks to line up with first. - `indent' \(symbol) - Convert header prefixes to all white space, + `indent' (symbol) - Convert header prefixes to all white space, except for distinctive bullets. Defaults: @@ -5484,7 +5554,7 @@ ;;;_ > allout-latex-verb-quote (string &optional flow) (defun allout-latex-verb-quote (string &optional flow) "Return copy of STRING for literal reproduction across LaTeX processing. -Expresses the original characters \(including carriage returns) of the +Expresses the original characters (including carriage returns) of the string across LaTeX processing." (mapconcat (function (lambda (char) @@ -5496,9 +5566,9 @@ "")) ;;;_ > allout-latex-verbatim-quote-curr-line () (defun allout-latex-verbatim-quote-curr-line () - "Express line for exact \(literal) representation across LaTeX processing. - -Adjust line contents so it is unaltered \(from the original line) + "Express line for exact (literal) representation across LaTeX processing. + +Adjust line contents so it is unaltered (from the original line) across LaTeX processing, within the context of a `verbatim' environment. Leaves point at the end of the line." (let ((inhibit-field-text-motion t)) @@ -5673,7 +5743,7 @@ "Encrypt clear or decrypt encoded text of visibly-containing topic's contents. Optional FETCH-PASS universal argument provokes key-pair encryption with -single universal argument. With doubled universal argument \(value = 16), +single universal argument. With doubled universal argument (value = 16), it forces prompting for the passphrase regardless of availability from the passphrase cache. With no universal argument, the appropriate passphrase is obtained from the cache, if available, else from the user. @@ -5684,10 +5754,10 @@ encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file. Both symmetric-key and key-pair encryption is implemented. Symmetric is -the default, use a single \(x4) universal argument for keypair mode. +the default, use a single (x4) universal argument for keypair mode. Encrypted topic's bullet is set to a `~' to signal that the contents of the -topic \(body and subtopics, but not heading) is pending encryption or +topic (body and subtopics, but not heading) is pending encryption or encrypted. `*' asterisk immediately after the bullet signals that the body is encrypted, its' absence means the topic is meant to be encrypted but is not. When a file with topics pending encryption is saved, topics pending @@ -5695,7 +5765,7 @@ auto-encryption specifics. \**NOTE WELL** that automatic encryption that happens during saves will -default to symmetric encryption - you must manually \(re)encrypt key-pair +default to symmetric encryption - you must manually (re)encrypt key-pair encrypted topics if you want them to continue to use the key-pair cipher. Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be @@ -5708,7 +5778,7 @@ passphrase cache from a recent encryption action. The solicited passphrase is retained for reuse in a buffer-specific cache -for some set period of time \(default, 60 seconds), after which the string +for some set period of time (default, 60 seconds), after which the string is nulled. The passphrase cache timeout is customized by setting `pgg-passphrase-cache-expiry'. @@ -5731,7 +5801,7 @@ Similarly, `allout-passphrase-hint-string' stores a user-provided reminder about their passphrase, and `allout-passphrase-hint-handling' specifies when the hint is presented, or if passphrase hints are disabled. If -enabled \(see the `allout-passphrase-hint-handling' docstring for details), +enabled (see the `allout-passphrase-hint-handling' docstring for details), the hint string is stored in the local-variables section of the file, and solicited whenever the passphrase is changed." (interactive "P") @@ -5742,10 +5812,10 @@ ) ;;;_ > allout-toggle-subtree-encryption (&optional fetch-pass) (defun allout-toggle-subtree-encryption (&optional fetch-pass) - "Encrypt clear text or decrypt encoded topic contents \(body and subtopics.) + "Encrypt clear text or decrypt encoded topic contents (body and subtopics.) Optional FETCH-PASS universal argument provokes key-pair encryption with -single universal argument. With doubled universal argument \(value = 16), +single universal argument. With doubled universal argument (value = 16), it forces prompting for the passphrase regardless of availability from the passphrase cache. With no universal argument, the appropriate passphrase is obtained from the cache, if available, else from the user. @@ -6489,7 +6559,7 @@ When enabled, an entry for the variable is created if not already present, or changed if established with a different value. The section for the file variables, itself, is created if not already present. When created, the -section lines \(including the section line) exist as second-level topics in +section lines (including the section line) exist as second-level topics in a top-level topic at the end of the file. `enable-local-variables' must be true for any of this to happen." @@ -6818,7 +6888,7 @@ ;;;_ #10 Unfinished ;;;_ > allout-bullet-isearch (&optional bullet) (defun allout-bullet-isearch (&optional bullet) - "Isearch \(regexp) for topic with bullet BULLET." + "Isearch (regexp) for topic with bullet BULLET." (interactive) (if (not bullet) (setq bullet (solicit-char-in-string diff -r 06937e972ad0 -r f1d13e615070 lisp/arc-mode.el --- a/lisp/arc-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/arc-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; arc-mode.el --- simple editing of archives -;; Copyright (C) 1995, 1997, 1998, 2002, 2003, 2004, +;; Copyright (C) 1995, 1997, 1998, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Morten Welinder diff -r 06937e972ad0 -r f1d13e615070 lisp/array.el --- a/lisp/array.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/array.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; array.el --- array editing commands for GNU Emacs -;; Copyright (C) 1987, 2000, 2002, 2003, 2004, +;; Copyright (C) 1987, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author David M. Brown diff -r 06937e972ad0 -r f1d13e615070 lisp/autoarg.el --- a/lisp/autoarg.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/autoarg.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; autoarg.el --- make digit keys supply prefix args -;; Copyright (C) 1998, 2000, 2002, 2003, 2004, +;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Dave Love @@ -119,7 +119,7 @@ With ARG, turn Autoarg mode on if ARG is positive, off otherwise. \\ This is similar to \\[autoarg-mode] but rebinds the keypad keys `kp-1' -&c to supply digit arguments. +etc. to supply digit arguments. \\{autoarg-kp-mode-map}" nil " Aakp" autoarg-kp-mode-map :global t :group 'keyboard diff -r 06937e972ad0 -r f1d13e615070 lisp/autoinsert.el --- a/lisp/autoinsert.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/autoinsert.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; autoinsert.el --- automatic mode-dependent insertion of text into new files -;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2002, 2003, -;; 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2001, 2002, +;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Charlie Martin ;; Adapted-By: Daniel Pfeiffer diff -r 06937e972ad0 -r f1d13e615070 lisp/avoid.el --- a/lisp/avoid.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/avoid.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; avoid.el --- make mouse pointer stay out of the way of editing -;; Copyright (C) 1993, 1994, 2000, 2002, 2003, 2004, +;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Boris Goldowsky diff -r 06937e972ad0 -r f1d13e615070 lisp/bindings.el --- a/lisp/bindings.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/bindings.el Thu Dec 07 04:14:14 2006 +0000 @@ -1058,6 +1058,10 @@ (define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window) +;; Signal handlers +(define-key global-map [signal] (make-sparse-keymap)) +(define-key global-map [signal t] 'ignore) + ;; Don't look for autoload cookies in this file. ;; Local Variables: ;; no-update-autoloads: t diff -r 06937e972ad0 -r f1d13e615070 lisp/case-table.el --- a/lisp/case-table.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/case-table.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; case-table.el --- code to extend the character set and support case tables -;; Copyright (C) 1988, 1994, 2002, 2003, 2004, +;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Howard Gayle diff -r 06937e972ad0 -r f1d13e615070 lisp/cdl.el --- a/lisp/cdl.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/cdl.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs -;; Copyright (C) 1993, 2002, 2003, 2004, 2005, +;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi) diff -r 06937e972ad0 -r f1d13e615070 lisp/chistory.el --- a/lisp/chistory.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/chistory.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; chistory.el --- list command history -;; Copyright (C) 1985, 2002, 2003, 2004, 2005, +;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: K. Shane Hartman diff -r 06937e972ad0 -r f1d13e615070 lisp/cmuscheme.el --- a/lisp/cmuscheme.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/cmuscheme.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el -;; Copyright (C) 1988, 1994, 1997, 2002, 2003, 2004, +;; Copyright (C) 1988, 1994, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Olin Shivers @@ -244,7 +244,8 @@ If there is a process already running in `*scheme*', switch to that buffer. With argument, allows you to edit the command line (default is value of `scheme-program-name'). -If a file `~/.emacs_SCHEMENAME' exists, it is given as initial input. +If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists, +it is given as initial input. Note that this may lose due to a timing error if the Scheme processor discards input when it starts up. Runs the hook `inferior-scheme-mode-hook' \(after the `comint-mode-hook' @@ -268,12 +269,12 @@ "Return the name of the start file corresponding to PROG. Search in the directories \"~\" and \"~/.emacs.d\", in this order. Return nil if no start file found." - (let* ((name (concat ".emacs_" (file-name-nondirectory prog))) - (start-file (concat "~/" name))) + (let ((progname (file-name-nondirectory prog)) + (start-file (concat "~/.emacs_" progname)) + (alt-start-file (concat "~/.emacs.d/init_" progname ".scm"))) (if (file-exists-p start-file) start-file - (let ((start-file (concat "~/.emacs.d/" name))) - (and (file-exists-p start-file) start-file))))) + (and (file-exists-p alt-start-file) alt-start-file)))) (defun scheme-send-region (start end) "Send the current region to the inferior Scheme process." diff -r 06937e972ad0 -r f1d13e615070 lisp/comint.el --- a/lisp/comint.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/comint.el Thu Dec 07 04:14:14 2006 +0000 @@ -770,7 +770,7 @@ (format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width)))) (unless (getenv "EMACS") (list "EMACS=t")) - (list "INSIDE_EMACS=t") + (list (format "INSIDE_EMACS=%s,comint" emacs-version)) process-environment)) (default-directory (if (file-accessible-directory-p default-directory) diff -r 06937e972ad0 -r f1d13e615070 lisp/compare-w.el --- a/lisp/compare-w.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/compare-w.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; compare-w.el --- compare text between windows for Emacs -;; Copyright (C) 1986, 1989, 1993, 1997, 2002, 2003, 2004, +;; Copyright (C) 1986, 1989, 1993, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/complete.el --- a/lisp/complete.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/complete.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; complete.el --- partial completion mechanism plus other goodies -;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2002, 2003, 2004, -;; 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2001, 2002, 2003, +;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Keywords: abbrev convenience diff -r 06937e972ad0 -r f1d13e615070 lisp/completion.el --- a/lisp/completion.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/completion.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; completion.el --- dynamic word-completion code -;; Copyright (C) 1990, 1993, 1995, 1997, 2002, 2003, 2004, +;; Copyright (C) 1990, 1993, 1995, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/cus-dep.el --- a/lisp/cus-dep.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/cus-dep.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; cus-dep.el --- find customization dependencies ;; -;; Copyright (C) 1997, 2002, 2003, 2004, 2005, +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen diff -r 06937e972ad0 -r f1d13e615070 lisp/cvs-status.el --- a/lisp/cvs-status.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/cvs-status.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8 -*- -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Stefan Monnier diff -r 06937e972ad0 -r f1d13e615070 lisp/delim-col.el --- a/lisp/delim-col.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/delim-col.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; delim-col.el --- prettify all columns in a region or rectangle -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre diff -r 06937e972ad0 -r f1d13e615070 lisp/descr-text.el --- a/lisp/descr-text.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/descr-text.el Thu Dec 07 04:14:14 2006 +0000 @@ -206,13 +206,13 @@ (defcustom describe-char-unicodedata-file nil "Location of Unicode data file. -This is the UnicodeData.txt file from the Unicode consortium, used for +This is the UnicodeData.txt file from the Unicode Consortium, used for diagnostics. If it is non-nil `describe-char' will print data looked up from it. This facility is mostly of use to people doing multilingual development. -This is a fairly large file, not typically present on GNU systems. At -the time of writing it is at the URL +This is a fairly large file, not typically present on GNU systems. +At the time of writing it is at the URL `http://www.unicode.org/Public/UNIDATA/UnicodeData.txt'." :group 'mule :version "22.1" @@ -234,11 +234,10 @@ (when describe-char-unicodedata-file (unless (file-exists-p describe-char-unicodedata-file) (error "`unicodedata-file' %s not found" describe-char-unicodedata-file)) - (with-current-buffer - ;; Find file in fundamental mode to avoid, e.g. flyspell turned - ;; on for .txt. Don't use RAWFILE arg in case of DOS line endings. - (let ((auto-mode-alist)) - (find-file-noselect describe-char-unicodedata-file)) + (with-current-buffer (get-buffer-create " *Unicode Data*") + (when (zerop (buffer-size)) + ;; Don't use -literally in case of DOS line endings. + (insert-file-contents describe-char-unicodedata-file)) (goto-char (point-min)) (let ((hex (format "%04X" char)) found first last) diff -r 06937e972ad0 -r f1d13e615070 lisp/diff-mode.el --- a/lisp/diff-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/diff-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -120,8 +120,8 @@ ("\C-m" . diff-goto-source) ([mouse-2] . diff-goto-source) ;; From XEmacs' diff-mode. -;; Standard M-w is useful, so don't change M-W. -;; ("W" . widen) + ;; Standard M-w is useful, so don't change M-W. + ;;("W" . widen) ;;("." . diff-goto-source) ;display-buffer ;;("f" . diff-goto-source) ;find-file ("o" . diff-goto-source) ;other-window @@ -153,6 +153,8 @@ ("\C-c\C-s" . diff-split-hunk) ("\C-c\C-t" . diff-test-hunk) ("\C-c\C-u" . diff-context->unified) + ;; `d' because it duplicates the context :-( --Stef + ("\C-c\C-d" . diff-unified->context) ("\C-c\C-w" . diff-refine-hunk) ("\C-c\C-f" . next-error-follow-minor-mode)) "Keymap for `diff-mode'. See also `diff-mode-shared-map'.") diff -r 06937e972ad0 -r f1d13e615070 lisp/dired.el --- a/lisp/dired.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/dired.el Thu Dec 07 04:14:14 2006 +0000 @@ -1045,9 +1045,9 @@ ;; treat top level dir extra (it may contain wildcards) (dired-uncache (if (consp dired-directory) (car dired-directory) dired-directory)) - (dired-readin) + ;; Run dired-after-readin-hook just once, below. (let ((dired-after-readin-hook nil)) - ;; don't run that hook for each subdir... + (dired-readin) (dired-insert-old-subdirs old-subdir-alist)) (dired-mark-remembered mark-alist) ; mark files that were marked ;; ... run the hook for the whole buffer, and only after markers diff -r 06937e972ad0 -r f1d13e615070 lisp/dirtrack.el --- a/lisp/dirtrack.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/dirtrack.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; dirtrack.el --- Directory Tracking by watching the prompt -;; Copyright (C) 1996, 2002, 2003, 2004, 2005, +;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Peter Breton diff -r 06937e972ad0 -r f1d13e615070 lisp/disp-table.el --- a/lisp/disp-table.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/disp-table.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; disp-table.el --- functions for dealing with char tables -;; Copyright (C) 1987, 1994, 1995, 1999, 2002, 2003, 2004, +;; Copyright (C) 1987, 1994, 1995, 1999, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Erik Naggum @@ -117,7 +117,7 @@ (or standard-display-table (setq standard-display-table (make-display-table))) (while (<= l h) - (aset standard-display-table l (if (or (< l ?\ ) (>= l 127)) (vector l))) + (aset standard-display-table l (if (or (< l ?\s) (>= l 127)) (vector l))) (setq l (1+ l)))) ;;;###autoload @@ -126,7 +126,7 @@ (or standard-display-table (setq standard-display-table (make-display-table))) (while (<= l h) - (if (and (>= l ?\ ) (characterp l)) + (if (and (>= l ?\s) (characterp l)) (aset standard-display-table l nil)) (setq l (1+ l)))) diff -r 06937e972ad0 -r f1d13e615070 lisp/dos-fns.el --- a/lisp/dos-fns.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/dos-fns.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; dos-fns.el --- MS-Dos specific functions -;; Copyright (C) 1991, 1993, 1995, 1996, 2002, 2003, 2004, +;; Copyright (C) 1991, 1993, 1995, 1996, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: Morten Welinder diff -r 06937e972ad0 -r f1d13e615070 lisp/dos-vars.el --- a/lisp/dos-vars.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/dos-vars.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; dos-vars.el --- MS-Dos specific user options -;; Copyright (C) 1998, 2002, 2003, 2004, 2005, +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/dos-w32.el --- a/lisp/dos-w32.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/dos-w32.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms -;; Copyright (C) 1996, 2002, 2003, 2004, 2005, +;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: Geoff Voelker diff -r 06937e972ad0 -r f1d13e615070 lisp/double.el --- a/lisp/double.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/double.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; double.el --- support for keyboard remapping with double clicking -;; Copyright (C) 1994, 1997, 1998, 2002, 2003, 2004, +;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Per Abrahamsen diff -r 06937e972ad0 -r f1d13e615070 lisp/ebuff-menu.el --- a/lisp/ebuff-menu.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ebuff-menu.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ebuff-menu.el --- electric-buffer-list mode -;; Copyright (C) 1985, 1986, 1994, 2002, 2003, 2004, +;; Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Richard Mlynarik @@ -73,7 +73,7 @@ (catch 'electric-buffer-menu-select (message "<<< Press Return to bury the buffer list >>>") (if (eq (setq unread-command-events (list (read-event))) - ?\ ) + ?\s) (progn (setq unread-command-events nil) (throw 'electric-buffer-menu-select nil))) (let ((start-point (point)) diff -r 06937e972ad0 -r f1d13e615070 lisp/echistory.el --- a/lisp/echistory.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/echistory.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; echistory.el --- Electric Command History Mode -;; Copyright (C) 1985, 2002, 2003, 2004, 2005, +;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: K. Shane Hartman diff -r 06937e972ad0 -r f1d13e615070 lisp/ediff-diff.el --- a/lisp/ediff-diff.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ediff-diff.el Thu Dec 07 04:14:14 2006 +0000 @@ -1274,9 +1274,7 @@ ;; Similarly for Windows-* ;; In DOS, must synchronize because DOS doesn't have ;; asynchronous processes. - (condition-case nil - (apply 'call-process program nil buffer nil args) - (error (format "Cannot execute program %S." program))) + (apply 'call-process program nil buffer nil args) ;; On other systems, do it asynchronously. (setq proc (get-buffer-process buffer)) (if proc (kill-process proc)) @@ -1447,14 +1445,12 @@ "Return t if files F1 and F2 have identical contents." (if (and (not (file-directory-p f1)) (not (file-directory-p f2))) - (condition-case nil - (let ((res - (apply 'call-process ediff-cmp-program nil nil nil - (append ediff-cmp-options (list (expand-file-name f1) - (expand-file-name f2)))) - )) - (and (numberp res) (eq res 0))) - (error (format "Cannot execute program %S." ediff-cmp-program))) + (let ((res + (apply 'call-process ediff-cmp-program nil nil nil + (append ediff-cmp-options (list (expand-file-name f1) + (expand-file-name f2)))) + )) + (and (numberp res) (eq res 0))) )) diff -r 06937e972ad0 -r f1d13e615070 lisp/ediff-vers.el --- a/lisp/ediff-vers.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ediff-vers.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ediff-vers.el --- version control interface to Ediff -;; Copyright (C) 1995, 1996, 1997, 2002, 2003, 2004, +;; Copyright (C) 1995, 1996, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Michael Kifer diff -r 06937e972ad0 -r f1d13e615070 lisp/edmacro.el --- a/lisp/edmacro.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/edmacro.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; edmacro.el --- keyboard macro editor -;; Copyright (C) 1993, 1994, 2002, 2003, 2004, +;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Dave Gillespie diff -r 06937e972ad0 -r f1d13e615070 lisp/ehelp.el --- a/lisp/ehelp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ehelp.el Thu Dec 07 04:14:14 2006 +0000 @@ -197,7 +197,7 @@ (if (pos-visible-in-window-p (point-max)) (progn (message "%s" (substitute-command-keys "<<< Press Space to bury the help buffer, Press \\[electric-help-retain] to retain it >>>")) (if (equal (setq unread-command-events (list (read-event))) - '(?\ )) + '(?\s)) (progn (setq unread-command-events nil) (throw 'exit t))))) (let (up down both neither diff -r 06937e972ad0 -r f1d13e615070 lisp/electric.el --- a/lisp/electric.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/electric.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; electric.el --- window maker and Command loop for `electric' modes -;; Copyright (C) 1985, 1986, 1995, 2002, 2003, 2004, +;; Copyright (C) 1985, 1986, 1995, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: K. Shane Hartman diff -r 06937e972ad0 -r f1d13e615070 lisp/elide-head.el --- a/lisp/elide-head.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/elide-head.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; elide-head.el --- hide headers in files -;; Copyright (C) 1999, 2002, 2003, 2004, 2005, +;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Dave Love diff -r 06937e972ad0 -r f1d13e615070 lisp/emacs-lisp/authors.el --- a/lisp/emacs-lisp/authors.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emacs-lisp/authors.el Thu Dec 07 04:14:14 2006 +0000 @@ -43,6 +43,7 @@ (defconst authors-aliases '( ("Andrew Csillag" "Drew Csillag") + ("Anna M. Bigatti" "Anna Bigatti") ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc." "Barry A. Warsaw, ITB" "Barry Warsaw") ("Bj,Av(Brn Torkelsson" "Bjorn Torkelsson") diff -r 06937e972ad0 -r f1d13e615070 lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Thu Dec 07 04:14:14 2006 +0000 @@ -264,11 +264,12 @@ ;; this way can never be run in Emacs 18, and may even cause it to crash.") (defcustom byte-optimize t - "*Enables optimization in the byte compiler. -nil means don't do any optimization. -t means do all optimizations. -`source' means do source-level optimizations only. -`byte' means do code-level optimizations only." + "*Enable optimization in the byte compiler. +Possible values are: + nil - no optimization + t - all optimizations + `source' - source-level optimizations only + `byte' - code-level optimizations only" :group 'bytecomp :type '(choice (const :tag "none" nil) (const :tag "all" t) @@ -336,7 +337,7 @@ (defcustom byte-compile-warnings t "*List of warnings that the byte-compiler should issue (t for all). -Elements of the list may be be: +Elements of the list may be: free-vars references to variables not in the current lexical scope. unresolved calls to unknown functions. @@ -2864,8 +2865,12 @@ (defmacro byte-compile-get-constant (const) `(or (if (stringp ,const) - (assoc-default ,const byte-compile-constants - 'equal-including-properties nil) + ;; In a string constant, treat properties as significant. + (let (result) + (dolist (elt byte-compile-constants) + (if (equal-including-properties (car elt) ,const) + (setq result elt))) + result) (assq ,const byte-compile-constants)) (car (setq byte-compile-constants (cons (list ,const) byte-compile-constants))))) diff -r 06937e972ad0 -r f1d13e615070 lisp/emacs-lisp/easy-mmode.el --- a/lisp/emacs-lisp/easy-mmode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emacs-lisp/easy-mmode.el Thu Dec 07 04:14:14 2006 +0000 @@ -500,7 +500,7 @@ ,(concat "^No \\(previous\\|next\\) " (regexp-quote name))) (defun ,next-sym (&optional count) ,(format "Go to the next COUNT'th %s." name) - (interactive) + (interactive "p") (unless count (setq count 1)) (if (< count 0) (,prev-sym (- count)) (if (looking-at ,re) (setq count (1+ count))) @@ -523,7 +523,7 @@ (put ',next-sym 'definition-name ',base) (defun ,prev-sym (&optional count) ,(format "Go to the previous COUNT'th %s" (or name base-name)) - (interactive) + (interactive "p") (unless count (setq count 1)) (if (< count 0) (,next-sym (- count)) (let (was-narrowed) diff -r 06937e972ad0 -r f1d13e615070 lisp/emacs-lisp/find-func.el --- a/lisp/emacs-lisp/find-func.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emacs-lisp/find-func.el Thu Dec 07 04:14:14 2006 +0000 @@ -147,9 +147,9 @@ (defun find-library-name (library) "Return the absolute file name of the Lisp source of LIBRARY." - ;; Strip off the extension to take advantage of library suffixes in - ;; the call to `locate-file'. - (if (string-match "\\.el\\(c\\(\\..*\\)?\\)?\\'" library) + ;; If the library is byte-compiled, try to find a source library by + ;; the same name. + (if (string-match "\\.el\\(c\\(\\..*\\)?\\)\\'" library) (setq library (replace-match "" t t library))) (or (locate-file library (or find-function-source-path load-path) diff -r 06937e972ad0 -r f1d13e615070 lisp/emacs-lock.el --- a/lisp/emacs-lock.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emacs-lock.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ -;;; emacs-lock.el --- prevents you from exiting emacs if a buffer is locked +;;; emacs-lock.el --- prevents you from exiting Emacs if a buffer is locked -;; Copyright (C) 1994, 1997, 2002, 2003, 2004, +;; Copyright (C) 1994, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc ;; Author: Tom Wurgler @@ -27,12 +27,12 @@ ;;; Commentary: ;; This code sets a buffer-local variable to t if toggle-emacs-lock is run, -;; then if the user attempts to exit emacs, the locked buffer name will be +;; then if the user attempts to exit Emacs, the locked buffer name will be ;; displayed and the exit aborted. This is just a way of protecting ;; yourself from yourself. For example, if you have a shell running a big -;; program and exiting emacs would abort that program, you may want to lock +;; program and exiting Emacs would abort that program, you may want to lock ;; that buffer, then if you forget about it after a while, you won't -;; accidentally exit emacs. To unlock the buffer, just goto the buffer and +;; accidentally exit Emacs. To unlock the buffer, just goto the buffer and ;; run toggle-emacs-lock again. ;;; Code: @@ -48,34 +48,30 @@ (defun check-emacs-lock () "Check if variable `emacs-lock-from-exiting' is t for any buffer. -If any t is found, signal error and display the locked buffer name." - (let ((buffers (buffer-list))) - (save-excursion - (while buffers - (set-buffer (car buffers)) - (if emacs-lock-from-exiting - (error "Emacs is locked from exit due to buffer: %s" (buffer-name)) - (setq buffers (cdr buffers))))))) +If any locked buffer is found, signal error and display the buffer's name." + (save-excursion + (dolist (buffer (buffer-list)) + (set-buffer buffer) + (when emacs-lock-from-exiting + (error "Emacs is locked from exit due to buffer: %s" (buffer-name)))))) (defun toggle-emacs-lock () - "Toggle `emacs-lock-from-exiting' between t and nil for the current buffer. + "Toggle `emacs-lock-from-exiting' for the current buffer. See `check-emacs-lock'." (interactive) - (if emacs-lock-from-exiting - (setq emacs-lock-from-exiting nil) - (setq emacs-lock-from-exiting t)) + (setq emacs-lock-from-exiting (not emacs-lock-from-exiting)) (if emacs-lock-from-exiting (message "Buffer is now locked") (message "Buffer is now unlocked"))) (defun emacs-lock-check-buffer-lock () "Check if variable `emacs-lock-from-exiting' is t for a buffer. -If t is found, signal error and display the locked buffer name." - (if emacs-lock-from-exiting - (error "Buffer `%s' is locked, can't delete it" (buffer-name)))) +If the buffer is locked, signal error and display its name." + (when emacs-lock-from-exiting + (error "Buffer `%s' is locked, can't delete it" (buffer-name)))) ; These next defuns make it so if you exit a shell that is locked, the lock -; is shut off for that shell so you can exit emacs. Same for telnet. +; is shut off for that shell so you can exit Emacs. Same for telnet. ; Also, if a shell or a telnet buffer was locked and the process killed, ; turn the lock back on again if the process is restarted. diff -r 06937e972ad0 -r f1d13e615070 lisp/emulation/cua-base.el --- a/lisp/emulation/cua-base.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/emulation/cua-base.el Thu Dec 07 04:14:14 2006 +0000 @@ -317,11 +317,19 @@ :group 'cua) (defcustom cua-toggle-set-mark t - "*In non-nil, the `cua-set-mark' command toggles the mark." + "*If non-nil, the `cua-set-mark' command toggles the mark." :type '(choice (const :tag "Disabled" nil) (other :tag "Enabled" t)) :group 'cua) +(defcustom cua-auto-mark-last-change nil + "*If non-nil, set implicit mark at position of last buffer change. +This means that \\[universal-argument] \\[cua-set-mark] will jump to the position +of the last buffer change before jumping to the explicit marks on the mark ring. +See `cua-set-mark' for details." + :type 'boolean + :group 'cua) + (defcustom cua-enable-register-prefix 'not-ctrl-u "*If non-nil, registers are supported via numeric prefix arg. If the value is t, any numeric prefix arg in the range 0 to 9 will be @@ -358,6 +366,15 @@ :type 'boolean :group 'cua) +(defcustom cua-paste-pop-rotate-temporarily nil + "*If non-nil, \\[cua-paste-pop] only rotates the kill-ring temporarily. +This means that both \\[yank] and the first \\[yank-pop] in a sequence always insert +the most recently killed text. Each immediately following \\[cua-paste-pop] replaces +the previous text with the next older element on the `kill-ring'. +With prefix arg, \\[universal-argument] \\[yank-pop] inserts the same text as the most +recent \\[yank-pop] (or \\[yank]) command." + :type 'boolean + :group 'cua) ;;; Rectangle Customization @@ -912,15 +929,53 @@ (clipboard-yank)) (t (yank arg))))))) + +;; cua-paste-pop-rotate-temporarily == t mechanism: +;; +;; C-y M-y M-y => only rotates kill ring temporarily, +;; so next C-y yanks what previous C-y yanked, +;; +;; M-y M-y M-y => equivalent to C-y M-y M-y +;; +;; But: After another command, C-u M-y remembers the temporary +;; kill-ring position, so +;; C-u M-y => yanks what the last M-y yanked +;; + +(defvar cua-paste-pop-count nil) + (defun cua-paste-pop (arg) "Replace a just-pasted text or rectangle with a different text. -See `yank-pop' for details." +See `yank-pop' for details about the default behaviour. For an alternative +behaviour, see `cua-paste-pop-rotate-temporarily'." (interactive "P") - (if (eq last-command 'cua--paste-rectangle) - (progn - (undo) - (yank arg)) - (yank-pop (prefix-numeric-value arg)))) + (cond + ((eq last-command 'cua--paste-rectangle) + (undo) + (yank arg)) + ((not cua-paste-pop-rotate-temporarily) + (yank-pop (prefix-numeric-value arg))) + (t + (let ((rotate (if (consp arg) 1 (prefix-numeric-value arg)))) + (cond + ((or (null cua-paste-pop-count) + (eq last-command 'yank) + (eq last-command 'cua-paste)) + (setq cua-paste-pop-count rotate) + (setq last-command 'yank) + (yank-pop cua-paste-pop-count)) + ((and (eq last-command 'cua-paste-pop) (not (consp arg))) + (setq cua-paste-pop-count (+ cua-paste-pop-count rotate)) + (setq last-command 'yank) + (yank-pop cua-paste-pop-count)) + (t + (setq cua-paste-pop-count + (if (consp arg) (+ cua-paste-pop-count rotate -1) 1)) + (yank (1+ cua-paste-pop-count))))) + ;; Undo rotating the kill-ring, so next C-y will + ;; yank the original head. + (setq kill-ring-yank-pointer kill-ring) + (setq this-command 'cua-paste-pop)))) (defun cua-exchange-point-and-mark (arg) "Exchanges point and mark, but don't activate the mark. @@ -961,14 +1016,14 @@ (if (and s (= (cdr u) s)) (setq s (car u)) (setq s (car u) e (cdr u))))))) - (setq cua--repeat-replace-text - (cond ((and s e (<= s e) (= s (mark t))) - (filter-buffer-substring s e nil t)) - ((and (null s) (eq u elt)) ;; nothing inserted - "") - (t - (message "Cannot locate replacement text") - nil)))))) + (cond ((and s e (<= s e) (= s (mark t))) + (setq cua--repeat-replace-text + (filter-buffer-substring s e nil t))) + ((and (null s) (eq u elt)) ;; nothing inserted + (setq cua--repeat-replace-text + "")) + (t + (message "Cannot locate replacement text")))))) (setq cua--last-deleted-region-pos nil)) (if (and cua--last-deleted-region-text cua--repeat-replace-text @@ -985,6 +1040,28 @@ ;;; Shift activated / extended region +(defun cua-pop-to-last-change () + (let ((undo-list buffer-undo-list) + pos elt) + (while (and (not pos) + (consp undo-list)) + (setq elt (car undo-list) + undo-list (cdr undo-list)) + (cond + ((integerp elt) + (setq pos elt)) + ((not (consp elt))) + ((and (integerp (cdr elt)) + (or (integerp (car elt)) (stringp (car elt)))) + (setq pos (cdr elt))) + ((and (eq (car elt) 'apply) (consp (cdr elt)) (integerp (cadr elt))) + (setq pos (nth 3 elt))))) + (when (and pos + (/= pos (point)) + (>= pos (point-min)) (<= pos (point-max))) + (goto-char pos) + t))) + (defun cua-set-mark (&optional arg) "Set mark at where point is, clear mark, or jump to mark. @@ -993,12 +1070,15 @@ global mark ring if last mark was set in another buffer. With argument, jump to mark, and pop a new position for mark off -the local mark ring \(this does not affect the global mark ring\). +the local mark ring (this does not affect the global mark ring). Use \\[pop-global-mark] to jump to a mark off the global mark ring -\(see `pop-global-mark'\). +\(see `pop-global-mark'). + +If `cua-auto-mark-last-change' is non-nil, this command behaves as if there +was an implicit mark at the position of the last buffer change. Repeating the command without the prefix jumps to the next position -off the local \(or global\) mark ring. +off the local (or global) mark ring. With a double \\[universal-argument] prefix argument, unconditionally set mark." (interactive "P") @@ -1013,7 +1093,9 @@ (pop-global-mark)) (arg (setq this-command 'pop-to-mark-command) - (pop-to-mark-command)) + (or (and cua-auto-mark-last-change + (cua-pop-to-last-change)) + (pop-to-mark-command))) ((and cua-toggle-set-mark mark-active) (cua--deactivate) (message "Mark Cleared")) diff -r 06937e972ad0 -r f1d13e615070 lisp/erc/ChangeLog --- a/lisp/erc/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/erc/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,29 @@ +2006-11-28 Juanma Barranquero + + * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Simplify. + (erc-prompt-for-channel-key, erc-ignore-reply-list, erc-send-post-hook) + (erc-active-buffer, erc-join-buffer, erc-frame-alist, erc-with-buffer) + (erc-modules, erc-display-message-highlight, erc-process-input-line) + (erc-cmd-HELP, erc-server-hooks, erc-echo-notice-in-user-buffers) + (erc-format-my-nick, erc-echo-notice-in-user-and-target-buffers) + (erc-echo-notice-in-first-user-buffer, erc-connection-established) + (erc-update-user-nick, erc-update-channel-member, erc-highlight-notice) + (erc-command-symbol, erc-add-query, erc-process-script-line) + (erc-determine-parameters, erc-client-info, erc-popup-input-buffer): + (erc-script-echo): Fix typos in docstrings. + (erc-channel-user-op-p, erc-channel-user-voice-p, erc-startup-file-list) + (define-erc-module, erc-once-with-server-event) + (erc-once-with-server-event-global, erc-debug-irc-protocol) + (erc-log-irc-protocol, erc-cmd-LOAD, erc-update-user) + (erc-update-current-channel-member, erc-load-script): + (erc-mode-line-away-status-format): Doc fixes. + +2006-11-24 Juanma Barranquero + + * erc.el (erc-after-connect, erc-open-ssl-stream) + (erc-display-line-1, erc-display-line): + * erc-backend.el (005): Fix space/tab mixup in docstrings. + 2006-11-20 Michael Olson * erc.el (erc-version-string): Call this Version 5.2 stable diff -r 06937e972ad0 -r f1d13e615070 lisp/erc/erc-backend.el --- a/lisp/erc/erc-backend.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/erc/erc-backend.el Thu Dec 07 04:14:14 2006 +0000 @@ -1226,7 +1226,7 @@ (when buffer (with-current-buffer buffer ;; update the chat partner info. Add to the list if private - ;; message. We will accumulate private identities indefinitely + ;; message. We will accumulate private identities indefinitely ;; at this point. (erc-update-channel-member (if privp nick tgt) nick nick privp nil nil host login nil nil t) @@ -1341,7 +1341,7 @@ According to RFC 2812, suggests alternate servers on the network. Many servers, however, use this code to show which parameters they have set, for example, the network identifier, maximum allowed topic length, whether -certain commands are accepted and more. See documentation for +certain commands are accepted and more. See documentation for `erc-server-parameters' for more information on the parameters sent. A server may send more than one 005 message." diff -r 06937e972ad0 -r f1d13e615070 lisp/erc/erc.el --- a/lisp/erc/erc.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/erc/erc.el Thu Dec 07 04:14:14 2006 +0000 @@ -474,7 +474,7 @@ (clrhash erc-channel-users))) (defsubst erc-channel-user-op-p (nick) - "Return `t' if NICK is an operator in the current channel." + "Return t if NICK is an operator in the current channel." (and nick (hash-table-p erc-channel-users) (let ((cdata (erc-get-channel-user nick))) @@ -482,7 +482,7 @@ (erc-channel-user-op (cdr cdata)))))) (defsubst erc-channel-user-voice-p (nick) - "Return `t' if NICK has voice in the current channel." + "Return t if NICK has voice in the current channel." (and nick (hash-table-p erc-channel-users) (let ((cdata (erc-get-channel-user nick))) @@ -774,7 +774,7 @@ :type 'boolean) (defcustom erc-prompt-for-channel-key nil - "Prompt for channel key when using `erc-join-channel' interactively" + "Prompt for channel key when using `erc-join-channel' interactively." :group 'erc :type 'boolean) @@ -807,7 +807,7 @@ CAVEAT: ERC doesn't know about the user and host of anyone who was already in the channel when you joined, but never said anything, so it won't be able to match the user and host of those -people. You can update the ERC internal info using /WHO *." +people. You can update the ERC internal info using /WHO *." :group 'erc-ignore :type '(repeat regexp)) @@ -827,9 +827,9 @@ "List of files to try for a startup script. The first existent and readable one will get executed. -If the filename ends with `.el' it is presumed to be an emacs-lisp +If the filename ends with `.el' it is presumed to be an Emacs Lisp script and it gets (load)ed. Otherwise is is treated as a bunch of -regular IRC commands" +regular IRC commands." :group 'erc-scripts :type '(repeat file)) @@ -841,7 +841,7 @@ :type '(repeat directory)) (defcustom erc-script-echo t - "*If not-NIL, echo the IRC script commands locally." + "*If non-nil, echo the IRC script commands locally." :group 'erc-scripts :type 'boolean) @@ -1042,7 +1042,7 @@ NOTE: The functions on this hook are called _before_ sending a command to the server. -This function is called with narrowing, ala `erc-send-modify-hook'" +This function is called with narrowing, ala `erc-send-modify-hook'." :group 'erc-hooks :type 'hook :options '(erc-make-read-only)) @@ -1198,7 +1198,7 @@ ENABLE-BODY is a list of expressions used to enable the mode. DISABLE-BODY is a list of expressions used to disable the mode. If LOCAL-P is non-nil, the mode will be created as a buffer-local -mode. Rather than a global one. +mode, rather than a global one. This will define a minor mode called erc-NAME-mode, possibly an alias erc-ALIAS-mode, as well as the helper functions @@ -1266,7 +1266,7 @@ This function temporarily adds a function to EVENT's hook to execute FORMS. After FORMS are run, the function is removed from EVENT's hook. The last expression of FORMS should be either nil -or t. nil indicates that the other functions on EVENT's hook +or t, where nil indicates that the other functions on EVENT's hook should be run too, and t indicates that other functions should not be run. @@ -1294,7 +1294,7 @@ This function temporarily prepends a function to EVENT's hook to execute FORMS. After FORMS are run, the function is removed from EVENT's hook. The last expression of FORMS should be either nil -or t. nil indicates that the other functions on EVENT's hook +or t, where nil indicates that the other functions on EVENT's hook should be run too, and t indicates that other functions should not be run. @@ -1390,7 +1390,7 @@ (defvar erc-active-buffer nil "The current active buffer, the one where the user typed the last command. Defaults to the server buffer, and should only be set in the -server buffer") +server buffer.") (make-variable-buffer-local 'erc-active-buffer) (defun erc-active-buffer () @@ -1447,7 +1447,7 @@ 'window-noselect - in another window, but don't select that one, 'frame - in another frame, 'bury - bury it in a new buffer, -any other value - in place of the current buffer" +any other value - in place of the current buffer." :group 'erc-buffers :type '(choice (const window) (const window-noselect) @@ -1457,7 +1457,7 @@ (defcustom erc-frame-alist nil "*Alist of frame parameters for creating erc frames. -A value of `nil means to use `default-frame-alist'." +A value of nil means to use `default-frame-alist'." :group 'erc-buffers :type '(repeat (cons :format "%v" (symbol :tag "Parameter") @@ -1573,7 +1573,7 @@ If TARGET is a buffer, use it. Otherwise, use the buffer matching TARGET in the process specified by PROCESS. -If PROCESS is nil, use the current `erc-server-process' +If PROCESS is nil, use the current `erc-server-process'. See `erc-get-buffer' for details. See also `with-current-buffer'. @@ -1762,7 +1762,7 @@ (defcustom erc-modules '(netsplit fill button match track completion readonly ring autojoin noncommands irccontrols stamp list) - "A list of modules which erc should enable. + "A list of modules which ERC should enable. If you set the value of this without using `customize' remember to call \(erc-update-modules) after you change it. When using `customize', modules removed from the list will be disabled." @@ -2022,7 +2022,7 @@ (defcustom erc-after-connect nil "Hook called after connecting to a server. -This hook gets executed when an end of MOTD has been received. All +This hook gets executed when an end of MOTD has been received. All functions in here get called with the parameters SERVER and NICK." :group 'erc-hooks :type 'hook) @@ -2119,7 +2119,7 @@ (defun erc-open-ssl-stream (name buffer host port) "Open an SSL stream to an IRC server. The process will be given the name NAME, its target buffer will be -BUFFER. HOST and PORT specify the connection target." +BUFFER. HOST and PORT specify the connection target." (when (require 'tls) (let ((proc (open-tls-stream name buffer host port))) ;; Ugly hack, but it works for now. Problem is it is @@ -2137,7 +2137,7 @@ The buffer is created if it doesn't exist. -NOTE: If this variable is non-nil, and you kill the the only +NOTE: If this variable is non-nil, and you kill the only visible \"*erc-protocol*\" buffer, it will be recreated shortly, but you won't see it. @@ -2152,7 +2152,7 @@ The buffer is created if it doesn't exist. If OUTBOUND is non-nil, STRING is being sent to the IRC server -and appears in erc-input-face in the buffer." +and appears in face `erc-input-face' in the buffer." (when erc-debug-irc-protocol (let ((network-name (or (ignore-errors (erc-network-name)) "???"))) @@ -2236,7 +2236,7 @@ (defun erc-display-line-1 (string buffer) "Display STRING in `erc-mode' BUFFER. -Auxiliary function used in `erc-display-line'. The line gets filtered to +Auxiliary function used in `erc-display-line'. The line gets filtered to interpret the control characters. Then, `erc-insert-pre-hook' gets called. If `erc-insert-this' is still t, STRING gets inserted into the buffer. Afterwards, `erc-insert-modify' and `erc-insert-post-hook' get called. @@ -2320,8 +2320,8 @@ The BUFFER can be an actual buffer, a list of buffers, 'all or 'active. If BUFFER = 'all, the string is displayed in all the ERC buffers for the current session. 'active means the current active buffer -\(`erc-active-buffer'). If the buffer can't be resolved, the current -buffer is used. `erc-display-line-1' is used to display STRING. +\(`erc-active-buffer'). If the buffer can't be resolved, the current +buffer is used. `erc-display-line-1' is used to display STRING. If STRING is nil, the function does nothing." (let ((inhibit-point-motion-hooks t) @@ -2347,9 +2347,9 @@ (erc-display-line-1 string (current-buffer)))))) (defun erc-display-message-highlight (type string) - "Highlight STRING according to TYPE, where erc-TYPE-face is an erc face. - -See also `erc-make-notice'" + "Highlight STRING according to TYPE, where erc-TYPE-face is an ERC face. + +See also `erc-make-notice'." (cond ((eq type 'notice) (erc-make-notice string)) (t @@ -2435,7 +2435,7 @@ otherwise. If the command in the LINE is not bound as a function `erc-cmd-', -it is passed to `erc-cmd-default'. If LINE is not a command (ie. doesn't +it is passed to `erc-cmd-default'. If LINE is not a command (i.e. doesn't start with /) then it is sent as a message. An optional FORCE argument forces sending the line when flood @@ -2661,7 +2661,7 @@ If FUNC contains a valid function or variable, help about that will be displayed. If FUNC is empty, display an apropos about -erc commands. Otherwise, do apropos in the erc namespace +ERC commands. Otherwise, do `apropos' in the ERC namespace \(\"erc-.*LINE\"\). Examples: @@ -2787,9 +2787,9 @@ (defun erc-cmd-LOAD (line) "Load the script provided in the LINE. -If LINE continues beyond the file name, -the rest of it is put in a (local) variable -`erc-script-args', which can be used in elisp scripts. +If LINE continues beyond the file name, the rest of +it is put in a (local) variable `erc-script-args', +which can be used in Emacs Lisp scripts. The optional FORCE argument is ignored here - you can't force loading a script after exceeding the flood threshold." @@ -3356,7 +3356,7 @@ (and (boundp 'fill-column) fill-column) (1- (window-width)))) - (separator (make-string erc-fill-column (string-to-char "="))) + (separator (make-string erc-fill-column ?=)) (fmt (concat "%-" (number-to-string (/ erc-fill-column 2)) "s" "%" (number-to-string (/ erc-fill-column 2)) "s"))) @@ -3422,7 +3422,7 @@ (lambda (x) (erc-server-send (format "MODE %s -%s %s" (erc-default-target) - (make-string (length x) (string-to-char "b")) + (make-string (length x) ?b) (mapconcat 'identity x " ")))) (erc-group-list bans 3)))) t)))) @@ -3800,7 +3800,7 @@ (defgroup erc-server-hooks nil "Server event callbacks. -Every server event - like numeric replies - has it's own hook. +Every server event - like numeric replies - has its own hook. Those hooks are all called using `run-hook-with-args-until-success'. They receive as first argument the process object from where the event originated from, @@ -3879,7 +3879,7 @@ (concat voice op (erc-server-user-nickname user))))) (defun erc-format-my-nick () - "Return the beginning of this user's message, correctly propertized" + "Return the beginning of this user's message, correctly propertized." (if erc-show-my-nick (let ((open "<") (close "> ") @@ -3948,7 +3948,7 @@ sender is a member. See also: `erc-echo-notice-in-first-user-buffer', -`erc-buffer-list-with-nick'" +`erc-buffer-list-with-nick'." (let ((buffers (erc-buffer-list-with-nick sender erc-server-process))) (if buffers (progn (erc-display-message parsed nil buffers s) t) @@ -3963,7 +3963,7 @@ default target. See also: `erc-echo-notice-in-user-buffers', -`erc-buffer-list-with-nick'" +`erc-buffer-list-with-nick'." (let ((buffers (erc-buffer-list-with-nick sender erc-server-process))) (add-to-list 'buffers buffer) (if buffers @@ -3978,7 +3978,7 @@ sender is a member. See also: `erc-echo-notice-in-user-buffers', -`erc-buffer-list-with-nick'" +`erc-buffer-list-with-nick'." (let ((buffers (erc-buffer-list-with-nick sender erc-server-process))) (if buffers (progn (erc-display-message parsed nil (car buffers) s) t) @@ -4061,7 +4061,7 @@ (defun erc-connection-established (proc parsed) "Run just after connection. -Set user modes and run `erc-after-connect hook'." +Set user modes and run `erc-after-connect' hook." (unless erc-server-connected ; only once per session (let ((server (or erc-server-announced-name (erc-response.sender parsed))) (nick (car (erc-response.command-args parsed )))) @@ -4391,7 +4391,7 @@ "Updates the stored user information for the user with nickname NICK. -See also: `erc-update-user'" +See also: `erc-update-user'." (erc-update-user (erc-get-server-user nick) new-nick host login full-name info)) @@ -4402,9 +4402,9 @@ non-nil and not equal to the existing values for USER are used to replace the stored values in USER. -If, any only if a change is made, +If, and only if, a change is made, `erc-channel-members-changed-hook' is run for each channel for -which USER is a member, and `t' is returned." +which USER is a member, and t is returned." (let (changed) (when user (when (and new-nick @@ -4441,10 +4441,10 @@ update-message-time) "Updates the stored user information for the user with nickname NICK. `erc-update-user' is called to handle changes to nickname, -host, login, full-name, and info. If `op' or `voice' are -non-nil, they must be equal to either `on' or `off', in which -case the operator or voice status of USER in the current channel -is changed accordingly. If `update-message-time' is non-nil, the +HOST, LOGIN, FULL-NAME, and INFO. If OP or VOICE are non-nil, +they must be equal to either `on' or `off', in which case the +operator or voice status of the user in the current channel is +changed accordingly. If UPDATE-MESSAGE-TIME is non-nil, the last-message-time of the user in the current channel is set to (current-time). @@ -4453,7 +4453,7 @@ lists. If, and only if, changes are made, or the user is added, -`erc-channel-members-updated-hook' is run, and `t' is returned. +`erc-channel-members-updated-hook' is run, and t is returned. See also: `erc-update-user' and `erc-update-channel-member'." (let* (changed user-changed @@ -4519,7 +4519,7 @@ "Updates user and channel information for the user with nickname NICK in channel CHANNEL. -See also: `erc-update-current-channel-member'" +See also: `erc-update-current-channel-member'." (erc-with-buffer (channel) (erc-update-current-channel-member nick new-nick add op voice host @@ -4527,8 +4527,8 @@ update-message-time))) (defun erc-remove-current-channel-member (nick) - "Remove NICK from current channel membership list. Runs -`erc-channel-members-changed-hook'." + "Remove NICK from current channel membership list. +Runs `erc-channel-members-changed-hook'." (let ((channel-data (erc-get-channel-user nick))) (when channel-data (erc-remove-channel-user nick) @@ -4733,7 +4733,7 @@ (defun erc-highlight-notice (s) "Highlight notice message S and return it. -See also variable `erc-notice-highlight-type'" +See also variable `erc-notice-highlight-type'." (cond ((eq erc-notice-highlight-type 'prefix) (erc-put-text-property 0 (length erc-notice-prefix) @@ -4950,7 +4950,7 @@ (run-hooks 'erc-send-post-hook)))))) (defun erc-command-symbol (command) - "Return the erc command symbol for COMMAND if it exists and is bound." + "Return the ERC command symbol for COMMAND if it exists and is bound." (let ((cmd (intern-soft (format "erc-cmd-%s" (upcase command))))) (when (fboundp cmd) cmd))) @@ -5049,7 +5049,7 @@ (defun erc-add-query (nickname) "Add QUERY'd NICKNAME to the default channel list. -The previous default target of QUERY type gets removed" +The previous default target of QUERY type gets removed." (let ((d1 (car erc-default-recipients)) (d2 (cdr erc-default-recipients)) (qt (cons 'QUERY (downcase nickname)))) @@ -5274,8 +5274,8 @@ FILE must be the full name, it is not searched in the `erc-script-path'. If the filename ends with `.el', then load it -as a emacs-lisp program. Otherwise, treat it as a regular IRC -script" +as an Emacs Lisp program. Otherwise, treat it as a regular IRC +script." (erc-log (concat "erc-load-script: " file)) (cond ((string-match "\\.el$" file) @@ -5287,13 +5287,13 @@ "Process an IRC script LINE. Does script-specific substitutions (script arguments, current nick, -server, etc.) in LINE and returns it. +server, etc.) in LINE and returns it. Substitutions are: %C and %c = current target (channel or nick), %S %s = current server, %N %n = my current nick, and %x is x verbatim, where x is any other character; $* = the entire argument string, $1 = the first argument, $2 = the second, -end so on." +and so on." (if (not args) (setq args "")) (let* ((arg-esc-regexp "\\(\\$\\(\\*\\|[1-9][0-9]*\\)\\)\\([^0-9]\\|$\\)") (percent-regexp "\\(%.\\)") @@ -5418,10 +5418,10 @@ "Determine the connection and authentication parameters. Sets the buffer local variables: -- erc-session-server -- erc-session-port -- erc-session-full-name -- erc-server-current-nick" +- `erc-session-server' +- `erc-session-port' +- `erc-session-full-name' +- `erc-server-current-nick'" (setq erc-session-server (erc-compute-server server) erc-session-port (or port erc-default-port) erc-session-user-full-name (erc-compute-full-name name)) @@ -5563,7 +5563,7 @@ (defun erc-client-info (s) "Return CTCP CLIENTINFO on command S. -If S is NIL or an empty string then return general CLIENTINFO" +If S is nil or an empty string then return general CLIENTINFO." (if (or (not s) (string= s "")) (concat (apply #'concat @@ -5701,7 +5701,7 @@ "(AWAY since %a %b %d %H:%M) " "When you're away on a server, this is shown in the mode line. This should be a string with substitution variables recognized by -format-time-message." +`format-time-string'." :group 'erc-mode-line-and-header :type 'string) @@ -5918,7 +5918,7 @@ (balance-windows))))) (defun erc-popup-input-buffer () - "Provide a input buffer." + "Provide an input buffer." (interactive) (let ((buffer-name (generate-new-buffer-name "*ERC input*")) (mode (intern diff -r 06937e972ad0 -r f1d13e615070 lisp/expand.el --- a/lisp/expand.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/expand.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; expand.el --- make abbreviations more usable -;; Copyright (C) 1995, 1996, 2002, 2003, 2004, +;; Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Frederic Lepied diff -r 06937e972ad0 -r f1d13e615070 lisp/facemenu.el --- a/lisp/facemenu.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/facemenu.el Thu Dec 07 04:14:14 2006 +0000 @@ -132,6 +132,15 @@ :type 'boolean :group 'facemenu) +(defvar facemenu-unlisted-faces + `(modeline region secondary-selection highlight scratch-face + ,(purecopy "^font-lock-") ,(purecopy "^gnus-") ,(purecopy "^message-") + ,(purecopy "^ediff-") ,(purecopy "^term-") ,(purecopy "^vc-") + ,(purecopy "^widget-") ,(purecopy "^custom-") ,(purecopy "^vm-")) + "*List of faces that are of no interest to the user.") +(make-obsolete-variable 'facemenu-unlisted-faces 'facemenu-listed-faces + "since 22.1,\nand has no effect on the Face menu") + (defcustom facemenu-listed-faces nil "*List of faces to include in the Face menu. Each element should be a symbol, the name of a face. @@ -685,8 +694,11 @@ symbol (intern name))) (setq menu 'facemenu-face-menu) (setq docstring - (format "Select face `%s' for subsequent insertion." - name)) + (format "Select face `%s' for subsequent insertion. +If the mark is active and there is no prefix argument, +apply face `%s' to the region instead. +This command was defined by `facemenu-add-new-face'." + name name)) (cond ((facemenu-iterate ; check if equivalent face is already in the menu (lambda (m) (and (listp m) (symbolp (car m)) diff -r 06937e972ad0 -r f1d13e615070 lisp/ffap.el --- a/lisp/ffap.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ffap.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ffap.el --- find file (or url) at point -;; Copyright (C) 1995, 1996, 1997, 2000, 2002, 2003, 2004, +;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Michelangelo Grigni diff -r 06937e972ad0 -r f1d13e615070 lisp/filecache.el --- a/lisp/filecache.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/filecache.el Thu Dec 07 04:14:14 2006 +0000 @@ -4,7 +4,7 @@ ;; Created: Sun Nov 10 1996 ;; Keywords: convenience ;; -;; Copyright (C) 1996, 2000, 2002, 2003, 2004, +;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/files.el --- a/lisp/files.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/files.el Thu Dec 07 04:14:14 2006 +0000 @@ -4081,6 +4081,11 @@ "File %s no longer exists!" "Cannot revert nonexistent file %s") file-name)) + ((not (file-readable-p file-name)) + (error (if buffer-file-number + "File %s no longer readable!" + "Cannot revert unreadable file %s") + file-name)) (t ;; Bind buffer-file-name to nil ;; so that we don't try to lock the file. diff -r 06937e972ad0 -r f1d13e615070 lisp/find-dired.el --- a/lisp/find-dired.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/find-dired.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; find-dired.el --- run a `find' command and dired the output -;; Copyright (C) 1992, 1994, 1995, 2000, 2002, 2003, 2004, +;; Copyright (C) 1992, 1994, 1995, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Roland McGrath , diff -r 06937e972ad0 -r f1d13e615070 lisp/find-file.el --- a/lisp/find-file.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/find-file.el Thu Dec 07 04:14:14 2006 +0000 @@ -4,7 +4,7 @@ ;; Maintainer: FSF ;; Keywords: c, matching, tools -;; Copyright (C) 1994, 1995, 2002, 2003, 2004, +;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/find-lisp.el --- a/lisp/find-lisp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/find-lisp.el Thu Dec 07 04:14:14 2006 +0000 @@ -3,9 +3,8 @@ ;; Author: Peter Breton ;; Created: Fri Mar 26 1999 ;; Keywords: unix -;; Time-stamp: <2006-02-06 13:40:10 ttn> -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/flow-ctrl.el --- a/lisp/flow-ctrl.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/flow-ctrl.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control -;; Copyright (C) 1990, 1991, 1994, 2002, 2003, 2004, +;; Copyright (C) 1990, 1991, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author Kevin Gallagher diff -r 06937e972ad0 -r f1d13e615070 lisp/foldout.el --- a/lisp/foldout.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/foldout.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode -;; Copyright (C) 1994, 2002, 2003, 2004, 2005, +;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Kevin Broadey diff -r 06937e972ad0 -r f1d13e615070 lisp/font-core.el --- a/lisp/font-core.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/font-core.el Thu Dec 07 04:14:14 2006 +0000 @@ -149,7 +149,7 @@ nil nil nil ;; Don't turn on Font Lock mode if we don't have a display (we're running a ;; batch job) or if the buffer is invisible (the name starts with a space). - (when (or noninteractive (eq (aref (buffer-name) 0) ?\ )) + (when (or noninteractive (eq (aref (buffer-name) 0) ?\s)) (setq font-lock-mode nil)) (funcall font-lock-function font-lock-mode) ;; Arrange to unfontify this buffer if we change major mode later. diff -r 06937e972ad0 -r f1d13e615070 lisp/format.el --- a/lisp/format.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/format.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; format.el --- read and save files in multiple formats -;; Copyright (C) 1994, 1995, 1997, 1999, 2002, 2003, 2004, +;; Copyright (C) 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Boris Goldowsky diff -r 06937e972ad0 -r f1d13e615070 lisp/forms.el --- a/lisp/forms.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/forms.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; forms.el --- Forms mode: edit a file as a form to fill in -;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2002, 2003, +;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Johan Vromans diff -r 06937e972ad0 -r f1d13e615070 lisp/generic-x.el --- a/lisp/generic-x.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/generic-x.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; generic-x.el --- A collection of generic modes -;; Copyright (C) 1997, 1998, 2002, 2003, 2004, +;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Peter Breton diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,43 @@ +2006-12-06 Chris Moore (tiny change) + + * gnus-sum.el (gnus-sort-threads, gnus-summary-limit-children): + Use `max' to avoid the value of `max-lisp-eval-depth' decreasing. + +2006-12-04 Jouni K. Sepp,Ad(Bnen (tiny change) + + * mm-url.el (mm-url-predefined-programs): Call curl with correct + options. + +2006-11-30 Katsumi Yamaoka + + * mml2015.el (mml2015-pgg-clear-verify): Replace encode-coding-string + with mm-encode-coding-string. + +2006-11-29 Katsumi Yamaoka + + * nneething.el (nneething-decode-file-name): Replace + decode-coding-string with mm-decode-coding-string. + +2006-11-24 Juanma Barranquero + + * gnus-agent.el (gnus-agent-expire-unagentized-dirs) + (gnus-agent-regenerate-group): Fix space/tab mixup in messages. + + * gnus-art.el (gnus-article-x-face-command, gnus-numeric-save-name): + * gnus-group.el (gnus-group-sort-function, gnus-group-line-format) + (gnus-group-mode, gnus-group-read-group, gnus-group-delete-group) + (gnus-group-make-directory-group, gnus-group-transpose-groups): + * gnus-start.el (gnus-options-subscribe, gnus-options-not-subscribe) + (gnus-subscribe-newsgroup, gnus-1): + * gnus-sum.el (gnus-summary-make-false-root, gnus-make-threads): + * gnus.el (gnus-nntp-server, gnus-use-cross-reference) + (gnus-valid-select-methods, total-expire, gnus-summary-line-format) + (gnus-group-read-only-p): Fix space/tab mixup in docstrings. + +2006-11-21 Katsumi Yamaoka + + * mm-util.el (mm-string-to-multibyte): Alias to identity in XEmacs. + 2006-11-18 Andreas Seltenreich * mm-uu.el (mm-uu-pgp-signed-extract-1): Make last fix more thorough diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus-agent.el --- a/lisp/gnus/gnus-agent.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus-agent.el Thu Dec 07 04:14:14 2006 +0000 @@ -13,7 +13,7 @@ ;; GNU Emacs 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 +;; 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 @@ -1167,7 +1167,7 @@ ;; For each article that I processed that is no longer ;; undownloaded, remove its processable mark. - (mapc #'gnus-summary-remove-process-mark + (mapc #'gnus-summary-remove-process-mark (gnus-sorted-ndifference gnus-newsgroup-processable gnus-newsgroup-undownloaded)) ;; The preceeding call to (gnus-agent-summary-fetch-group) @@ -1972,11 +1972,11 @@ ;; First, we'll fix the sort. (sort-numeric-fields 1 (point-min) (point-max)) - ;; but now we have to consider that we may have duplicate rows... + ;; but now we have to consider that we may have duplicate rows... ;; so reset to beginning of file (goto-char (point-min)) (setq last -134217728) - + ;; and throw a code that restarts this scan (throw 'problems t)) nil)))))) @@ -3470,7 +3470,7 @@ (or gnus-expert-user (gnus-y-or-n-p "gnus-agent-expire has identified local directories that are\ - not currently required by any agentized group. Do you wish to consider\ + not currently required by any agentized group. Do you wish to consider\ deleting them?"))) (while to-remove (let ((dir (pop to-remove))) @@ -3756,7 +3756,7 @@ (dir (file-name-directory file)) point (downloaded (if (file-exists-p dir) - (sort (delq nil (mapcar (lambda (name) + (sort (delq nil (mapcar (lambda (name) (and (not (file-directory-p (nnheader-concat dir name))) (string-to-number name))) (directory-files dir nil "^[0-9]+$" t))) @@ -3802,7 +3802,7 @@ ((= l1 l2) (forward-line -1) (gnus-message 4 "gnus-agent-regenerate-group: NOV\ - entries contained duplicate of article %s. Duplicate deleted." l1) + entries contained duplicate of article %s. Duplicate deleted." l1) (gnus-delete-line) (setq nov-arts (cdr nov-arts)))))) (t @@ -3923,7 +3923,7 @@ (gnus-agent-possibly-alter-active group group-active))))) (when (and reread gnus-agent-article-alist) - (gnus-agent-synchronize-group-flags + (gnus-agent-synchronize-group-flags group (list (list (if (listp reread) diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus-art.el Thu Dec 07 04:14:14 2006 +0000 @@ -15,7 +15,7 @@ ;; GNU Emacs 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 +;; 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 @@ -265,7 +265,7 @@ display -")) "*String or function to be executed to display an X-Face header. If it is a string, the command will be executed in a sub-shell -asynchronously. The compressed face will be piped to this command." +asynchronously. The compressed face will be piped to this command." :type `(choice string (function-item gnus-display-x-face-in-from) function) @@ -3641,7 +3641,7 @@ (defun gnus-numeric-save-name (newsgroup headers &optional last-file) "Generate file name from NEWSGROUP, HEADERS, and optional LAST-FILE. If variable `gnus-use-long-file-name' is non-nil, it is -~/News/news.group/num. Otherwise, it is like ~/News/news/group/num." +~/News/news.group/num. Otherwise, it is like ~/News/news/group/num." (let ((default (expand-file-name (concat (if (gnus-use-long-file-name 'not-save) diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus-group.el --- a/lisp/gnus/gnus-group.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus-group.el Thu Dec 07 04:14:14 2006 +0000 @@ -131,7 +131,7 @@ `gnus-group-sort-by-score', `gnus-group-sort-by-method', `gnus-group-sort-by-server', and `gnus-group-sort-by-rank'. -This variable can also be a list of sorting functions. In that case, +This variable can also be a list of sorting functions. In that case, the most significant sort function should be the last function in the list." :group 'gnus-group-listing @@ -193,7 +193,7 @@ Note that this format specification is not always respected. For reasons of efficiency, when listing killed groups, this specification -is ignored altogether. If the spec is changed considerably, your +is ignored altogether. If the spec is changed considerably, your output may end up looking strange when listing both alive and killed groups. @@ -1115,7 +1115,7 @@ All normal editing commands are switched off. \\ -The group buffer lists (some of) the groups available. For instance, +The group buffer lists (some of) the groups available. For instance, `\\[gnus-group-list-groups]' will list all subscribed groups with unread articles, while `\\[gnus-group-list-zombies]' lists all zombie groups. @@ -2006,7 +2006,7 @@ If the prefix argument ALL is non-nil, already read articles become readable. IF ALL is a number, fetch this number of articles. If the optional argument NO-ARTICLE is non-nil, no article will be -auto-selected upon group entry. If GROUP is non-nil, fetch that +auto-selected upon group entry. If GROUP is non-nil, fetch that group." (interactive "P") (let ((no-display (eq all 0)) @@ -2446,7 +2446,7 @@ "Delete the current group. Only meaningful with editable groups. If FORCE (the prefix) is non-nil, all the articles in the group will be deleted. This is \"deleted\" as in \"removed forever from the face -of the Earth\". There is no undo. The user will be prompted before +of the Earth\". There is no undo. The user will be prompted before doing the deletion. Note that you also have to specify FORCE if you want the group to be removed from the server, even when it's empty." @@ -2825,7 +2825,7 @@ (defun gnus-group-make-directory-group (dir) "Create an nndir group. The user will be prompted for a directory. The contents of this -directory will be used as a newsgroup. The directory should contain +directory will be used as a newsgroup. The directory should contain mail messages or news articles in files that have numeric names." (interactive (list (read-file-name "Create group from directory: "))) @@ -3495,7 +3495,7 @@ (defun gnus-group-transpose-groups (n) "Move the current newsgroup up N places. -If given a negative prefix, move down instead. The difference between +If given a negative prefix, move down instead. The difference between N and the number of steps taken is returned." (interactive "p") (unless (gnus-group-group-name) @@ -4211,7 +4211,7 @@ (unless entry (error "Trying to change non-existent group %s" method-only-group)) ;; We have received parts of the actual group info - either the - ;; select method or the group parameters. We first check + ;; select method or the group parameters. We first check ;; whether we have to extend the info, and if so, do that. (let ((len (length info)) (total (if (eq part 'method) 5 6))) diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus-start.el --- a/lisp/gnus/gnus-start.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus-start.el Thu Dec 07 04:14:14 2006 +0000 @@ -15,7 +15,7 @@ ;; GNU Emacs 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 +;; 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 @@ -352,7 +352,7 @@ (defcustom gnus-options-subscribe nil "*All new groups matching this regexp will be subscribed unconditionally. -Note that this variable deals only with new newsgroups. This variable +Note that this variable deals only with new newsgroups. This variable does not affect old newsgroups. New groups that match this regexp will not be handled by @@ -364,7 +364,7 @@ (defcustom gnus-options-not-subscribe nil "*All new groups matching this regexp will be ignored. -Note that this variable deals only with new newsgroups. This variable +Note that this variable deals only with new newsgroups. This variable does not affect old (already subscribed) newsgroups." :group 'gnus-group-new :type '(choice regexp @@ -622,7 +622,7 @@ (defun gnus-subscribe-newsgroup (newsgroup &optional next) "Subscribe new NEWSGROUP. -If NEXT is non-nil, it is inserted before NEXT. Otherwise it is made +If NEXT is non-nil, it is inserted before NEXT. Otherwise it is made the first newsgroup." (save-excursion (goto-char (point-min)) @@ -734,7 +734,7 @@ (defun gnus-1 (&optional arg dont-connect slave) "Read network news. If ARG is non-nil and a positive number, Gnus will use that as the -startup level. If ARG is non-nil and not a positive number, Gnus will +startup level. If ARG is non-nil and not a positive number, Gnus will prompt the user for the name of an NNTP server to use." (interactive "P") diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus-sum.el --- a/lisp/gnus/gnus-sum.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus-sum.el Thu Dec 07 04:14:14 2006 +0000 @@ -15,7 +15,7 @@ ;; GNU Emacs 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 +;; 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 @@ -110,7 +110,7 @@ If this variable is `adopt', Gnus will make one of the \"children\" the parent and mark all the step-children as such. If this variable is `empty', the \"children\" are printed with empty -subject fields. (Or rather, they will be printed with a string +subject fields. (Or rather, they will be printed with a string given by the `gnus-summary-same-subject' variable.)" :group 'gnus-thread :type '(choice (const :tag "off" nil) @@ -3975,7 +3975,7 @@ infloop)) (defun gnus-make-threads () - "Go through the dependency hashtb and find the roots. Return all threads." + "Go through the dependency hashtb and find the roots. Return all threads." (let (threads) (while (catch 'infloop (mapatoms @@ -4481,7 +4481,7 @@ ;; First go up in this thread until we find the root. (setq last-id (gnus-root-id id) headers (message-flatten-list (gnus-id-to-thread last-id))) - ;; We have now found the real root of this thread. It might have + ;; We have now found the real root of this thread. It might have ;; been gathered into some loose thread, so we have to search ;; through the threads to find the thread we wanted. (let ((threads gnus-newsgroup-threads) @@ -4561,7 +4561,7 @@ (if (not gnus-thread-sort-functions) threads (gnus-message 8 "Sorting threads...") - (let ((max-lisp-eval-depth 5000)) + (let ((max-lisp-eval-depth (max 5000 max-lisp-eval-depth))) (prog1 (gnus-sort-threads-1 threads (gnus-make-sort-function gnus-thread-sort-functions)) @@ -5927,7 +5927,7 @@ (let ((case-fold-search t) in-reply-to header p lines chars) (goto-char (point-min)) - ;; Search to the beginning of the next header. Error messages + ;; Search to the beginning of the next header. Error messages ;; do not begin with 2 or 3. (while (re-search-forward "^[23][0-9]+ " nil t) (setq id nil @@ -5935,7 +5935,7 @@ ;; This implementation of this function, with nine ;; search-forwards instead of the one re-search-forward and ;; a case (which basically was the old function) is actually - ;; about twice as fast, even though it looks messier. You + ;; about twice as fast, even though it looks messier. You ;; can't have everything, I guess. Speed and elegance ;; doesn't always go hand in hand. (setq @@ -8165,7 +8165,7 @@ ;; will really go down to a leaf article first, before slowly ;; working its way up towards the root. (when thread - (let* ((max-lisp-eval-depth 5000) + (let* ((max-lisp-eval-depth (max 5000 max-lisp-eval-depth)) (children (if (cdr thread) (apply '+ (mapcar 'gnus-summary-limit-children diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/gnus.el --- a/lisp/gnus/gnus.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/gnus.el Thu Dec 07 04:14:14 2006 +0000 @@ -16,7 +16,7 @@ ;; GNU Emacs 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 +;; 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 @@ -1335,7 +1335,7 @@ (defcustom gnus-nntp-server nil "*The name of the host running the NNTP server. -This variable is semi-obsolete. Use the `gnus-select-method' +This variable is semi-obsolete. Use the `gnus-select-method' variable instead." :group 'gnus-server :type '(choice (const :tag "disable" nil) @@ -1478,7 +1478,7 @@ (defcustom gnus-use-cross-reference t "*Non-nil means that cross referenced articles will be marked as read. If nil, ignore cross references. If t, mark articles as read in -subscribed newsgroups. If neither t nor nil, mark as read in all +subscribed newsgroups. If neither t nor nil, mark as read in all newsgroups." :group 'gnus-server :type '(choice (const :tag "off" nil) @@ -1697,7 +1697,7 @@ this method (i. e., `post', `mail', `none' or whatever) or other properties that this method has (like being respoolable). If you implement a new select method, all you should have to change is -this variable. I think." +this variable. I think." :group 'gnus-server :type '(repeat (group (string :tag "Name") (radio-button-choice (const :format "%v " post) @@ -1851,7 +1851,7 @@ "*Groups in which to perform expiry of all read articles. Use with extreme caution. All groups that match this regexp will be expiring - which means that all read articles will be deleted after -\(say) one week. (This only goes for mail groups and the like, of +\(say) one week. (This only goes for mail groups and the like, of course.)" :variable-group nnmail-expire :variable-type '(choice (const nil) @@ -2983,7 +2983,7 @@ The %U (status), %R (replied) and %z (zcore) specs have to be handled with care. For reasons of efficiency, Gnus will compute what column these characters will end up in, and \"hard-code\" that. This means that -it is invalid to have these specs after a variable-length spec. Well, +it is invalid to have these specs after a variable-length spec. Well, you might not be arrested, but your summary buffer will look strange, which is bad enough. @@ -3368,7 +3368,7 @@ (defun gnus-group-read-only-p (&optional group) "Check whether GROUP supports editing or not. -If GROUP is nil, `gnus-newsgroup-name' will be checked instead. Note +If GROUP is nil, `gnus-newsgroup-name' will be checked instead. Note that that variable is buffer-local to the summary buffers." (let ((group (or group gnus-newsgroup-name))) (not (gnus-check-backend-function 'request-replace-article group)))) @@ -4043,7 +4043,7 @@ (not method))) (defun gnus-server-extend-method (group method) - ;; This function "extends" a virtual server. If the server is + ;; This function "extends" a virtual server. If the server is ;; "hello", and the select method is ("hello" (my-var "something")) ;; in the group "alt.alt", this will result in a new virtual server ;; called "hello+alt.alt". diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/mm-url.el --- a/lisp/gnus/mm-url.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/mm-url.el Thu Dec 07 04:14:14 2006 +0000 @@ -64,7 +64,7 @@ '((wget "wget" "--user-agent=mm-url" "-q" "-O" "-") (w3m "w3m" "-dump_source") (lynx "lynx" "-source") - (curl "curl" "--silent" "--user-agent mm-url" "--location"))) + (curl "curl" "--silent" "--user-agent" "mm-url" "--location"))) (defcustom mm-url-program (cond diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/mm-util.el --- a/lisp/gnus/mm-util.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/mm-util.el Thu Dec 07 04:14:14 2006 +0000 @@ -92,12 +92,6 @@ ;; (string-to-multibyte s) ~= (decode-coding-string s 'binary) ;; (string-make-multibyte s) ~= (decode-coding-string s locale-coding-system) (string-as-multibyte . identity) - (string-to-multibyte - . (lambda (string) - "Return a multibyte string with the same individual chars as string." - (mapconcat - (lambda (ch) (mm-string-as-multibyte (char-to-string ch))) - string ""))) (multibyte-string-p . ignore) (insert-byte . insert-char) (multibyte-char-to-unibyte . identity)))) @@ -128,6 +122,19 @@ (setq start (- (length string) tail)))) string)))) +(defalias 'mm-string-to-multibyte + (cond + ((featurep 'xemacs) + 'identity) + ((fboundp 'string-to-multibyte) + 'string-to-multibyte) + (t + (lambda (string) + "Return a multibyte string with the same individual chars as string." + (mapconcat + (lambda (ch) (mm-string-as-multibyte (char-to-string ch))) + string ""))))) + (eval-and-compile (defalias 'mm-char-or-char-int-p (cond diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/mml2015.el --- a/lisp/gnus/mml2015.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/mml2015.el Thu Dec 07 04:14:14 2006 +0000 @@ -785,7 +785,7 @@ (if (condition-case err (prog1 (mm-with-unibyte-buffer - (insert (encode-coding-string text coding-system)) + (insert (mm-encode-coding-string text coding-system)) (pgg-verify-region (point-min) (point-max) nil t)) (goto-char (point-min)) (while (search-forward "\r\n" nil t) diff -r 06937e972ad0 -r f1d13e615070 lisp/gnus/nneething.el --- a/lisp/gnus/nneething.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/gnus/nneething.el Thu Dec 07 04:14:14 2006 +0000 @@ -303,7 +303,7 @@ (setq buf (cons (string (string-to-number (match-string 1 file) 16)) (cons (substring file pos (match-beginning 0)) buf)) pos (match-end 0))) - (decode-coding-string + (mm-decode-coding-string (apply (function concat) (nreverse (cons (substring file pos) buf))) (or coding-system nnmail-pathname-coding-system)))) diff -r 06937e972ad0 -r f1d13e615070 lisp/help-macro.el --- a/lisp/help-macro.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/help-macro.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; help-macro.el --- makes command line help such as help-for-help -;; Copyright (C) 1993, 1994, 2002, 2003, 2004, +;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Lynn Slater @@ -152,7 +152,7 @@ (progn (if (eq (car-safe char) 'switch-frame) (handle-switch-frame char)) - (if (memq char '(?\C-v ?\ )) + (if (memq char '(?\C-v ?\s)) (scroll-up)) (if (or (memq char '(?\177 ?\M-v delete backspace)) diff -r 06937e972ad0 -r f1d13e615070 lisp/help.el --- a/lisp/help.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/help.el Thu Dec 07 04:14:14 2006 +0000 @@ -887,7 +887,7 @@ (cond ((= 0 (length i)) nil) - ((eq (aref i 0) ?\ ) + ((eq (aref i 0) ?\s) (substring i 1)) (t i)))) @@ -909,7 +909,7 @@ "Return a minor mode symbol from its indicator on the modeline." ;; remove first space if existed (if (and (< 0 (length indicator)) - (eq (aref indicator 0) ?\ )) + (eq (aref indicator 0) ?\s)) (setq indicator (substring indicator 1))) (let ((minor-modes minor-mode-alist) result) @@ -920,7 +920,7 @@ ;; remove first space if existed (if (and (stringp anindicator) (> (length anindicator) 0) - (eq (aref anindicator 0) ?\ )) + (eq (aref anindicator 0) ?\s)) (setq anindicator (substring anindicator 1))) (if (equal indicator anindicator) (setq result minor-mode diff -r 06937e972ad0 -r f1d13e615070 lisp/hexl.el --- a/lisp/hexl.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/hexl.el Thu Dec 07 04:14:14 2006 +0000 @@ -87,12 +87,12 @@ (defface hexl-address-region '((t (:inherit header-line))) - "Face used in address are of hexl-mode buffer." + "Face used in address area of hexl-mode buffer." :group 'hexl) (defface hexl-ascii-region '((t (:inherit header-line))) - "Face used in ascii are of hexl-mode buffer." + "Face used in ascii area of hexl-mode buffer." :group 'hexl) (defvar hexl-max-address 0 @@ -100,15 +100,22 @@ (defvar hexl-mode-map nil) +;; Variable declarations for suppressing warnings from the byte-compiler. (defvar ruler-mode) (defvar ruler-mode-ruler-function) (defvar hl-line-mode) +(defvar hl-line-range-function) +(defvar hl-line-face) +;; Variables where the original values are stored to. (defvar hexl-mode-old-hl-line-mode) +(defvar hexl-mode-old-hl-line-range-function) +(defvar hexl-mode-old-hl-line-face) (defvar hexl-mode-old-local-map) (defvar hexl-mode-old-mode-name) (defvar hexl-mode-old-major-mode) (defvar hexl-mode-old-ruler-mode) +(defvar hexl-mode-old-ruler-function) (defvar hexl-mode-old-isearch-search-fun-function) (defvar hexl-mode-old-require-final-newline) (defvar hexl-mode-old-syntax-table) @@ -207,31 +214,27 @@ (unless (eq major-mode 'hexl-mode) (let ((modified (buffer-modified-p)) (inhibit-read-only t) - (original-point (- (point) (point-min))) - max-address) + (original-point (- (point) (point-min)))) (and (eobp) (not (bobp)) (setq original-point (1- original-point))) - (if (not (or (eq arg 1) (not arg))) - ;; if no argument then we guess at hexl-max-address - (setq max-address (+ (* (/ (1- (buffer-size)) 68) 16) 15)) - (setq max-address (1- (buffer-size))) + ;; If `hexl-mode' is invoked with an argument the buffer is assumed to + ;; be in hexl format. + (when (memq arg '(1 nil)) ;; If the buffer's EOL type is -dos, we need to account for ;; extra CR characters added when hexlify-buffer writes the ;; buffer to a file. + ;; FIXME: This doesn't take into account multibyte coding systems. (when (eq (coding-system-eol-type buffer-file-coding-system) 1) - (setq max-address (+ (count-lines (point-min) (point-max)) - max-address)) - ;; But if there's no newline at the last line, we are off by - ;; one; adjust. - (or (eq (char-before (point-max)) ?\n) - (setq max-address (1- max-address))) - (setq original-point (+ (count-lines (point-min) (point)) + (setq original-point (+ (count-lines (point-min) (point)) original-point)) (or (bolp) (setq original-point (1- original-point)))) (hexlify-buffer) (restore-buffer-modified-p modified)) - (make-local-variable 'hexl-max-address) - (setq hexl-max-address max-address) + (set (make-local-variable 'hexl-max-address) + (let* ((full-lines (/ (buffer-size) 68)) + (last-line (% (buffer-size) 68)) + (last-line-bytes (% last-line 52))) + (+ last-line-bytes (* full-lines 16) -1))) (condition-case nil (hexl-goto-address original-point) (error nil))) @@ -390,8 +393,16 @@ (if (and (boundp 'ruler-mode) ruler-mode (not hexl-mode-old-ruler-mode)) (ruler-mode 0)) + (when (boundp 'hexl-mode-old-ruler-function) + (setq ruler-mode-ruler-function hexl-mode-old-ruler-function)) + (if (and (boundp 'hl-line-mode) hl-line-mode (not hexl-mode-old-hl-line-mode)) (hl-line-mode 0)) + (when (boundp 'hexl-mode-old-hl-line-range-function) + (setq hl-line-range-function hexl-mode-old-hl-line-range-function)) + (when (boundp hexl-mode-old-hl-line-face) + (setq hl-line-face hexl-mode-old-hl-line-face)) + (setq require-final-newline hexl-mode-old-require-final-newline) (setq mode-name hexl-mode-old-mode-name) (setq isearch-search-fun-function hexl-mode-old-isearch-search-fun-function) @@ -444,7 +455,7 @@ (defun hexl-goto-address (address) "Goto hexl-mode (decimal) address ADDRESS. -Signal error if ADDRESS out of range." +Signal error if ADDRESS is out of range." (interactive "nAddress: ") (if (or (< address 0) (> address hexl-max-address)) (error "Out of hexl region")) @@ -485,7 +496,7 @@ (hexl-goto-address (- (hexl-current-address) arg))) (defun hexl-forward-char (arg) - "Move right ARG bytes (left if ARG negative) in hexl-mode." + "Move to right ARG bytes (left if ARG negative) in hexl-mode." (interactive "p") (hexl-goto-address (+ (hexl-current-address) arg))) @@ -524,7 +535,7 @@ address))) (defun hexl-forward-short (arg) - "Move right ARG shorts (left if ARG negative) in hexl-mode." + "Move to right ARG shorts (left if ARG negative) in hexl-mode." (interactive "p") (hexl-backward-short (- arg))) @@ -563,13 +574,13 @@ address))) (defun hexl-forward-word (arg) - "Move right ARG words (left if ARG negative) in hexl-mode." + "Move to right ARG words (left if ARG negative) in hexl-mode." (interactive "p") (hexl-backward-word (- arg))) (defun hexl-previous-line (arg) "Move vertically up ARG lines [16 bytes] (down if ARG negative) in hexl-mode. -If there is byte at the target address move to the last byte in that line." +If there is no byte at the target address move to the last byte in that line." (interactive "p") (hexl-next-line (- arg))) @@ -655,12 +666,12 @@ (recenter 0))) (defun hexl-beginning-of-1k-page () - "Go to beginning of 1k boundary." + "Go to beginning of 1KB boundary." (interactive) (hexl-goto-address (logand (hexl-current-address) -1024))) (defun hexl-end-of-1k-page () - "Go to end of 1k boundary." + "Go to end of 1KB boundary." (interactive) (hexl-goto-address (let ((address (logior (hexl-current-address) 1023))) (if (> address hexl-max-address) @@ -709,7 +720,9 @@ ;; Manually encode the args, otherwise they're encoded using ;; coding-system-for-write (i.e. buffer-file-coding-system) which ;; may not be what we want (e.g. utf-16 on a non-utf-16 system). - (mapcar (lambda (s) (encode-coding-string s locale-coding-system)) + (mapcar (lambda (s) + (if (not (multibyte-string-p s)) s + (encode-coding-string s locale-coding-system))) (split-string hexl-options))) (if (> (point) (hexl-address-to-marker hexl-max-address)) (hexl-goto-address hexl-max-address)))) @@ -931,24 +944,31 @@ (defun hexl-activate-ruler () "Activate `ruler-mode'." (require 'ruler-mode) + (unless (boundp 'hexl-mode-old-ruler-function) + (set (make-local-variable 'hexl-mode-old-ruler-function) + ruler-mode-ruler-function)) (set (make-local-variable 'ruler-mode-ruler-function) 'hexl-mode-ruler) (ruler-mode 1)) (defun hexl-follow-line () "Activate `hl-line-mode'." - (require 'frame) (require 'hl-line) - (with-no-warnings - (set (make-local-variable 'hl-line-range-function) - 'hexl-highlight-line-range) - (set (make-local-variable 'hl-line-face) - 'highlight)) + (unless (boundp 'hexl-mode-old-hl-line-range-function) + (set (make-local-variable 'hexl-mode-old-hl-line-range-function) + hl-line-range-function)) + (unless (boundp 'hexl-mode-old-hl-line-face) + (set (make-local-variable 'hexl-mode-old-hl-line-face) + hl-line-face)) + (set (make-local-variable 'hl-line-range-function) + 'hexl-highlight-line-range) + (set (make-local-variable 'hl-line-face) + 'highlight) (hl-line-mode 1)) (defun hexl-highlight-line-range () "Return the range of address region for the point. -This function is assumed to be used as call back function for `hl-line-mode'." +This function is assumed to be used as callback function for `hl-line-mode'." (cons (line-beginning-position) ;; 9 stands for (length "87654321:") diff -r 06937e972ad0 -r f1d13e615070 lisp/hilit-chg.el --- a/lisp/hilit-chg.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/hilit-chg.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; hilit-chg.el --- minor mode displaying buffer changes with special face -;; Copyright (C) 1998, 2000, 2002, 2003, 2004, +;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Richard Sharman diff -r 06937e972ad0 -r f1d13e615070 lisp/hippie-exp.el --- a/lisp/hippie-exp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/hippie-exp.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; hippie-exp.el --- expand text trying various ways to find its expansion -;; Copyright (C) 1992, 2002, 2003, 2004, 2005, +;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Anders Holst diff -r 06937e972ad0 -r f1d13e615070 lisp/icomplete.el --- a/lisp/icomplete.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/icomplete.el Thu Dec 07 04:14:14 2006 +0000 @@ -216,7 +216,7 @@ "Remove completions display \(if any) prior to new user input. Should be run in on the minibuffer `pre-command-hook'. See `icomplete-mode' and `minibuffer-setup-hook'." - (when icomplete-eoinput + (when (and icomplete-mode icomplete-eoinput) (unless (>= icomplete-eoinput (point-max)) (let ((buffer-undo-list t)) ; prevent entry @@ -230,7 +230,7 @@ "Insert icomplete completions display. Should be run via minibuffer `post-command-hook'. See `icomplete-mode' and `minibuffer-setup-hook'." - (when (icomplete-simple-completing-p) + (when (and icomplete-mode (icomplete-simple-completing-p)) (save-excursion (goto-char (point-max)) ;; Register the end of input, so we know where the extra stuff diff -r 06937e972ad0 -r f1d13e615070 lisp/ido.el --- a/lisp/ido.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ido.el Thu Dec 07 04:14:14 2006 +0000 @@ -1142,6 +1142,11 @@ (pop-to-buffer b t t) (setq truncate-lines t))))) +(defun ido-local-file-exists-p (file) + "Tell if FILE exists locally." + (let (file-name-handler-alist) + (file-exists-p file))) + (defun ido-unc-hosts (&optional query) "Return list of UNC host names." (let ((hosts @@ -2068,8 +2073,9 @@ (ido-set-current-directory (file-name-directory (substring ido-current-directory 0 -1)))) (setq ido-set-default-item t)) - ((and (string-match (if ido-enable-tramp-completion "..[:@]\\'" "..:\\'") ido-selected) - (ido-is-root-directory)) ;; Ange-ftp or Tramp + ((and (string-match (if ido-enable-tramp-completion ".[:@]\\'" ".:\\'") ido-selected) + (ido-is-root-directory) ;; Ange-ftp or Tramp + (not (ido-local-file-exists-p ido-selected))) (ido-set-current-directory ido-current-directory ido-selected) (ido-trace "tramp prefix" ido-selected) (if (ido-is-slow-ftp-host) @@ -2079,7 +2085,7 @@ ((or (string-match "[/\\][^/\\]" ido-selected) (and (memq system-type '(windows-nt ms-dos)) - (string-match "\\`.:" ido-selected))) + (string-match "\\`[a-zA-Z]:" ido-selected))) (ido-set-current-directory (file-name-directory ido-selected)) (setq ido-set-default-item t)) @@ -2428,7 +2434,8 @@ ((and (= 1 (length ido-matches)) (not (and ido-enable-tramp-completion (string-equal ido-current-directory "/") - (string-match "..[@:]\\'" (ido-name (car ido-matches)))))) + (string-match ".[@:]\\'" (ido-name (car ido-matches))))) + (not (ido-local-file-exists-p (ido-name (car ido-matches))))) ;; only one choice, so select it. (if (not ido-confirm-unique-completion) (exit-minibuffer) @@ -3438,9 +3445,11 @@ (let ((default-directory ido-current-directory)) (ido-to-end ;; move ftp hosts and visited files to end (delq nil (mapcar - (lambda (x) (if (or (string-match "..:\\'" x) + (lambda (x) (if (or (and (string-match ".:\\'" x) + (not (ido-local-file-exists-p x))) (and (not (ido-final-slash x)) - (get-file-buffer x))) x)) + (let (file-name-handler-alist) + (get-file-buffer x)))) x)) ido-temp-list))))) (ido-to-end ;; move . files to end (delq nil (mapcar @@ -4154,8 +4163,9 @@ (setq refresh t)) )) - ((and (string-match (if ido-enable-tramp-completion "..[:@]\\'" "..:\\'") contents) - (ido-is-root-directory)) ;; Ange-ftp or tramp + ((and (string-match (if ido-enable-tramp-completion ".[:@]\\'" ".:\\'") contents) + (ido-is-root-directory) ;; Ange-ftp or tramp + (not (ido-local-file-exists-p contents))) (ido-set-current-directory ido-current-directory contents) (when (ido-is-slow-ftp-host) (setq ido-exit 'fallback) diff -r 06937e972ad0 -r f1d13e615070 lisp/ielm.el --- a/lisp/ielm.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ielm.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ielm.el --- interaction mode for Emacs Lisp -;; Copyright (C) 1994, 2002, 2003, 2004, 2005, +;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: David Smith diff -r 06937e972ad0 -r f1d13e615070 lisp/iimage.el --- a/lisp/iimage.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/iimage.el Thu Dec 07 04:14:14 2006 +0000 @@ -87,7 +87,7 @@ Each element looks like (REGEXP . NUM). NUM specifies which parenthesized expression in the regexp. -image filename regex exsamples: +Examples of image filename regexps: file://foo.png `file://foo.png' \\[\\[foo.gif]] @@ -116,7 +116,7 @@ (locate-library filename t path))) (defun iimage-mode-buffer (arg) -"Display/Undisplay Images. +"Display/undisplay images. With numeric ARG, display the images if and only if ARG is positive." (interactive) (let ((ing (if (numberp arg) diff -r 06937e972ad0 -r f1d13e615070 lisp/imenu.el --- a/lisp/imenu.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/imenu.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; imenu.el --- framework for mode-specific buffer indexes -;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2002, 2003, 2004, +;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Ake Stenhoff diff -r 06937e972ad0 -r f1d13e615070 lisp/indent.el --- a/lisp/indent.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/indent.el Thu Dec 07 04:14:14 2006 +0000 @@ -512,7 +512,7 @@ (let ((opoint (point))) (delete-horizontal-space t) (indent-to (car tabs))) - (insert ?\ )))) + (insert ?\s)))) (defun move-to-tab-stop () "Move point to next defined tab-stop column. @@ -529,11 +529,11 @@ (goto-char before) ;; If we just added a tab, or moved over one, ;; delete any superfluous spaces before the old point. - (if (and (eq (preceding-char) ?\ ) + (if (and (eq (preceding-char) ?\s) (eq (following-char) ?\t)) (let ((tabend (* (/ (current-column) tab-width) tab-width))) (while (and (> (current-column) tabend) - (eq (preceding-char) ?\ )) + (eq (preceding-char) ?\s)) (forward-char -1)) (delete-region (point) before)))))))) diff -r 06937e972ad0 -r f1d13e615070 lisp/info-look.el --- a/lisp/info-look.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/info-look.el Thu Dec 07 04:14:14 2006 +0000 @@ -583,7 +583,7 @@ (point) 'face nil (line-end-position))) (> end beg)) (subst-char-in-string - ?\ ?\- (buffer-substring-no-properties beg end))) + ?\s ?\- (buffer-substring-no-properties beg end))) ((or (and (looking-at (concat "[" significant-chars "]")) (save-excursion (skip-chars-backward significant-chars) diff -r 06937e972ad0 -r f1d13e615070 lisp/informat.el --- a/lisp/informat.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/informat.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; informat.el --- info support functions package for Emacs -;; Copyright (C) 1986, 2002, 2003, 2004, 2005, +;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/international/fontset.el --- a/lisp/international/fontset.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/international/fontset.el Thu Dec 07 04:14:14 2006 +0000 @@ -596,12 +596,13 @@ (defun x-compose-font-name (fields &optional reduce) "Compose X fontname from FIELDS. -FIELDS is a vector of XLFD fields, the length 12. +FIELDS is a vector of XLFD fields, of length 12. If a field is nil, wild-card letter `*' is embedded. -Optional argument REDUCE is always ignored. It exists just for -backward compatibility." +Optional argument REDUCE exists just for backward compatibility, +and is always ignored." (concat "-" (mapconcat (lambda (x) (or x "*")) fields "-"))) + (defun x-must-resolve-font-name (xlfd-fields) "Like `x-resolve-font-name', but always return a font name. XLFD-FIELDS is a vector of XLFD (X Logical Font Description) fields. @@ -656,7 +657,7 @@ (defun fontset-name-p (fontset) "Return non-nil if FONTSET is valid as fontset name. A valid fontset name should conform to XLFD (X Logical Font Description) -with \"fontset\" in ` field." +with \"fontset\" in `' field." (and (string-match xlfd-tight-regexp fontset) (string= (match-string (1+ xlfd-regexp-registry-subnum) fontset) "fontset"))) @@ -768,7 +769,7 @@ &optional style-variant noerror) "Create a fontset from fontset specification string FONTSET-SPEC. FONTSET-SPEC is a string of the format: - FONTSET-NAME,SCRIPT-NAME0:FONT-NAME0,SCRIPT-NAME1:FONT-NAME1, ... + FONTSET-NAME,SCRIPT0:FONT0,SCRIPT1:FONT1, ... Any number of SPACE, TAB, and NEWLINE can be put before and after commas. When a frame uses the fontset as the `font' parameter, the frame's @@ -777,8 +778,8 @@ is \"ascii\", use the corresponding FONT-NAMEn as the default font name. -Optional 2nd and 3rd arguments are ignored. They exist just for -backward compatibility. +Optional 2nd and 3rd arguments exist just for backward compatibility, +and are ignored. It returns a name of the created fontset. @@ -817,11 +818,11 @@ fontset-name) "Create a fontset from an ASCII font FONT. -Optional 1st arg RESOLVED-FONT is a resolved name of FONT. If -omitted, `x-resolve-font-name' is called to get the resolved name. At -this time, if FONT is not available, an error is signaled. +Optional 2nd arg RESOLVED-FONT is a resolved name of FONT. +If omitted, `x-resolve-font-name' is called to get the resolved name. +At this time, if FONT is not available, an error is signaled. -Optional 2nd arg FONTSET-NAME is a string to be used in +Optional 3rd arg FONTSET-NAME is a string to be used in `' fields of a new fontset name. If it is omitted, an appropriate name is generated automatically. diff -r 06937e972ad0 -r f1d13e615070 lisp/international/mule.el --- a/lisp/international/mule.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/international/mule.el Thu Dec 07 04:14:14 2006 +0000 @@ -329,8 +329,7 @@ (let ((load-file-name fullname) (set-auto-coding-for-load t) (inhibit-file-name-operation nil)) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer ;; Don't let deactivate-mark remain set. (let (deactivate-mark) (insert-file-contents fullname)) @@ -2203,8 +2202,7 @@ (progn (set-category-table ,table) ,@body) - (save-current-buffer - (set-buffer ,old-buffer) + (with-current-buffer ,old-buffer (set-category-table ,old-table)))))) (defun define-translation-hash-table (symbol table) diff -r 06937e972ad0 -r f1d13e615070 lisp/jka-compr.el --- a/lisp/jka-compr.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/jka-compr.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; jka-compr.el --- reading/writing/loading compressed files -;; Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2003, +;; Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: jka@ece.cmu.edu (Jay K. Adams) diff -r 06937e972ad0 -r f1d13e615070 lisp/kermit.el --- a/lisp/kermit.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/kermit.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; kermit.el --- additions to shell mode for use with kermit -;; Copyright (C) 1988, 2002, 2003, 2004, 2005, +;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Jeff Norden diff -r 06937e972ad0 -r f1d13e615070 lisp/kmacro.el --- a/lisp/kmacro.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/kmacro.el Thu Dec 07 04:14:14 2006 +0000 @@ -24,15 +24,14 @@ ;;; Commentary: -;; The kmacro package is an alternative user interface to emacs' -;; keyboard macro functionality. This functionality is normally bound -;; to C-x (, C-x ), and C-x e, but these bindings are too hard to -;; type to be really useful for doing small repeated tasks. +;; The kmacro package provides the user interface to emacs' basic +;; keyboard macro functionality. With kmacro, two function keys are +;; dedicated to keyboard macros, by default F3 and F4. -;; With kmacro, two function keys are dedicated to keyboard macros, -;; by default F3 and F4. Personally, I prefer F1 and F2, but those -;; keys already have default bindings. -;; +;; Note: The traditional bindings C-x (, C-x ), and C-x e are still +;; supported, but for some users these bindings are too hard to type +;; to be really useful for doing small repeated tasks. + ;; To start defining a keyboard macro, use F3. To end the macro, ;; use F4, and to call the macro also use F4. This makes it very ;; easy to repeat a macro immediately after defining it. @@ -55,7 +54,6 @@ ;; elements with C-x C-k C-t. To delete the first element in the ;; macro ring, use C-x C-k C-d. ;; -;; ;; You can also use C-x C-k C-s to start a macro, and C-x C-k C-k to ;; end it; then use C-k to execute it immediately, or C-x C-k C-k to ;; execute it later. diff -r 06937e972ad0 -r f1d13e615070 lisp/language/thai-word.el --- a/lisp/language/thai-word.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/language/thai-word.el Thu Dec 07 04:14:14 2006 +0000 @@ -10805,7 +10805,7 @@ ;; Move point forward to the end of Thai word which follows point and -;; update VEC. VEC is a vector of three elements used to cache word +;; update VEC. VEC is a vector of three elements used to cache word ;; end positions. The Nth element, if non-nil, is a list of end ;; points of the Nth word, or t indicating that there is no Thai ;; character. LIMIT limits the point movement. @@ -10886,7 +10886,7 @@ nil) (progn ;; We found four succeeding Thai words (or LIMIT has been - ;; reached). Move to the end of the first word. + ;; reached). Move to the end of the first word. (goto-char (car v0)) ;; Update VEC for the next function call. If no larger word ;; positions have been found, set the corresponding vector @@ -10899,7 +10899,7 @@ (aset vec 1 v2) (aset vec 2 v3)))) ; exit function successfully - ;; We didn't find four consecutive words. If we have found a + ;; We didn't find four consecutive words. If we have found a ;; `second best' solution and the length of those two words is ;; longer than the longest word we can see at the current point, ;; adopt the second best solution. This decision is based on diff -r 06937e972ad0 -r f1d13e615070 lisp/ledit.el --- a/lisp/ledit.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ledit.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ledit.el --- Emacs side of ledit interface -;; Copyright (C) 1985, 2002, 2003, 2004, 2005, +;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -57,7 +57,7 @@ *Shell commands to execute to resume Lisp compiler job.") (defun ledit-save-defun () - "Save the current defun in the ledit buffer" + "Save the current defun in the ledit buffer." (interactive) (save-excursion (end-of-defun) @@ -141,6 +141,7 @@ \\[ledit-go-to-lisp] -- transfer to Lisp job and transmit saved text. \\[ledit-go-to-liszt] -- transfer to Liszt (Lisp compiler) job and transmit saved text. + \\{ledit-mode-map} To make Lisp mode automatically change to Ledit mode, do (setq lisp-mode-hook 'ledit-from-lisp-mode)" diff -r 06937e972ad0 -r f1d13e615070 lisp/loadhist.el --- a/lisp/loadhist.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/loadhist.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; loadhist.el --- lisp functions for working with feature groups -;; Copyright (C) 1995, 1998, 2000, 2002, 2003, 2004, +;; Copyright (C) 1995, 1998, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Eric S. Raymond diff -r 06937e972ad0 -r f1d13e615070 lisp/locate.el --- a/lisp/locate.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/locate.el Thu Dec 07 04:14:14 2006 +0000 @@ -430,7 +430,7 @@ (save-excursion (forward-line 0) (looking-at (concat "." - (make-string (1- locate-filename-indentation) ?\ ) + (make-string (1- locate-filename-indentation) ?\s) "\\(/\\|[A-Za-z]:\\)")))) (defun locate-mouse-view-file (event) @@ -478,7 +478,7 @@ ;; This should support both Unix and Windoze style names (setq directory-listing-before-filename-regexp (concat "^." - (make-string (1- locate-filename-indentation) ?\ ) + (make-string (1- locate-filename-indentation) ?\s) "\\(/\\|[A-Za-z]:\\)\\|" (default-value 'directory-listing-before-filename-regexp))) (make-local-variable 'dired-actual-switches) @@ -486,7 +486,7 @@ (make-local-variable 'dired-permission-flags-regexp) (setq dired-permission-flags-regexp (concat "^.\\(" - (make-string (1- locate-filename-indentation) ?\ ) + (make-string (1- locate-filename-indentation) ?\s) "\\)\\|" (default-value 'dired-permission-flags-regexp))) (make-local-variable 'revert-buffer-function) @@ -511,7 +511,7 @@ (locate-insert-header search-string) (while (not (eobp)) - (insert-char ?\ locate-filename-indentation t) + (insert-char ?\s locate-filename-indentation t) (locate-set-properties) (forward-line 1))) (goto-char (point-min))) diff -r 06937e972ad0 -r f1d13e615070 lisp/log-edit.el --- a/lisp/log-edit.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/log-edit.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; log-edit.el --- Major mode for editing CVS commit messages -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Stefan Monnier diff -r 06937e972ad0 -r f1d13e615070 lisp/longlines.el --- a/lisp/longlines.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/longlines.el Thu Dec 07 04:14:14 2006 +0000 @@ -258,7 +258,7 @@ (if (> longlines-wrap-point (point)) (setq longlines-wrap-point (1- longlines-wrap-point)))) - (insert-before-markers-and-inherit ?\ ) + (insert-before-markers-and-inherit ?\s) (backward-char 1) (delete-char -1) (forward-char 1)) diff -r 06937e972ad0 -r f1d13e615070 lisp/ls-lisp.el --- a/lisp/ls-lisp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/ls-lisp.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp -;; Copyright (C) 1992, 1994, 2000, 2002, 2003, 2004, +;; Copyright (C) 1992, 1994, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Sebastian Kremer diff -r 06937e972ad0 -r f1d13e615070 lisp/macros.el --- a/lisp/macros.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/macros.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; macros.el --- non-primitive commands for keyboard macros -;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1995, 2002, 2003, +;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1995, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -130,7 +130,7 @@ (if (vectorp definition) (let ((len (length definition)) (i 0) char mods) (while (< i len) - (insert (if (zerop i) ?\[ ?\ )) + (insert (if (zerop i) ?\[ ?\s)) (setq char (aref definition i) i (1+ i)) (cond ((not (numberp char)) diff -r 06937e972ad0 -r f1d13e615070 lisp/mail/smtpmail.el --- a/lisp/mail/smtpmail.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/mail/smtpmail.el Thu Dec 07 04:14:14 2006 +0000 @@ -244,6 +244,11 @@ (save-excursion (set-buffer tembuf) (erase-buffer) + ;; Use the same buffer-file-coding-system as in the mail + ;; buffer, otherwise any write-region invocations (e.g., in + ;; mail-do-fcc below) will annoy with asking for a suitable + ;; encoding. + (set-buffer-file-coding-system smtpmail-code-conv-from nil t) (insert-buffer-substring mailbuf) (goto-char (point-max)) ;; require one newline at the end. @@ -326,6 +331,22 @@ (goto-char (point-min)) (unless (re-search-forward "^Date:" delimline t) (insert "Date: " (message-make-date) "\n")) + ;; Possibly add a MIME header for the current coding system + (let (charset) + (goto-char (point-min)) + (and (eq mail-send-nonascii 'mime) + (not (re-search-forward "^MIME-version:" delimline t)) + (progn (skip-chars-forward "\0-\177") + (/= (point) (point-max))) + smtpmail-code-conv-from + (setq charset + (coding-system-get smtpmail-code-conv-from + 'mime-charset)) + (goto-char delimline) + (insert "MIME-version: 1.0\n" + "Content-type: text/plain; charset=" + (symbol-name charset) + "\nContent-Transfer-Encoding: 8bit\n"))) ;; Insert an extra newline if we need it to work around ;; Sun's bug that swallows newlines. (goto-char (1+ delimline)) @@ -334,7 +355,10 @@ ;; Find and handle any FCC fields. (goto-char (point-min)) (if (re-search-forward "^FCC:" delimline t) - (mail-do-fcc delimline)) + ;; Force mail-do-fcc to use the encoding of the mail + ;; buffer to encode outgoing messages on FCC files. + (let ((coding-system-for-write smtpmail-code-conv-from)) + (mail-do-fcc delimline))) (if mail-interactive (with-current-buffer errbuf (erase-buffer)))) @@ -370,6 +394,7 @@ (make-directory smtpmail-queue-dir t)) (with-current-buffer buffer-data (erase-buffer) + (set-buffer-file-coding-system smtpmail-code-conv-from nil t) (insert-buffer-substring tembuf) (write-file file-data) (set-buffer buffer-elisp) diff -r 06937e972ad0 -r f1d13e615070 lisp/makesum.el --- a/lisp/makesum.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/makesum.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; makesum.el --- generate key binding summary for Emacs -;; Copyright (C) 1985, 2002, 2003, 2004, 2005, +;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/master.el --- a/lisp/master.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/master.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,7 @@ ;;; master.el --- make a buffer the master over another buffer -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Alexander Schroeder +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +;; Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Maintainer: Alex Schroeder diff -r 06937e972ad0 -r f1d13e615070 lisp/menu-bar.el --- a/lisp/menu-bar.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/menu-bar.el Thu Dec 07 04:14:14 2006 +0000 @@ -462,9 +462,10 @@ "Delete the text in region between mark and current position")) (defvar yank-menu (cons "Select Yank" nil)) (fset 'yank-menu (cons 'keymap yank-menu)) -(define-key menu-bar-edit-menu [select-paste] - '(menu-item "Select and Paste" yank-menu - :enable (and (cdr yank-menu) (not buffer-read-only)))) +(define-key menu-bar-edit-menu [paste-from-menu] + '(menu-item "Paste from kill menu" yank-menu + :enable (and (cdr yank-menu) (not buffer-read-only)) + :help "Choose a string from the kill ring and paste it")) (define-key menu-bar-edit-menu [paste] '(menu-item "Paste" yank :enable (and @@ -623,8 +624,8 @@ (let ((set (or (get ',variable 'custom-set) 'set-default)) (get (or (get ',variable 'custom-get) 'default-value))) (funcall set ',variable (not (funcall get ',variable)))))) - (message ,message "enabled") - (message ,message "disabled")) + (message ,message "enabled globally") + (message ,message "disabled globally")) ;; The function `customize-mark-as-set' must only be called when ;; a variable is set interactively, as the purpose is to mark it as ;; a candidate for "Save Options", and we do not want to save options @@ -814,7 +815,7 @@ (menu-bar-make-toggle toggle-indicate-empty-lines indicate-empty-lines "Empty Line Indicators" "Indicating of empty lines %s" - "Indicate trailing empty lines in fringe")) + "Indicate trailing empty lines in fringe, globally")) (defun menu-bar-showhide-fringe-menu-customize () "Show customization buffer for `fringe-mode'." @@ -1018,9 +1019,9 @@ (define-key menu-bar-options-menu [case-fold-search] (menu-bar-make-toggle toggle-case-fold-search case-fold-search - "Case-Insensitive Search" - "Case-Insensitive Search %s" - "Ignore letter-case in search")) + "Case-Insensitive Search" + "Case-Insensitive Search %s" + "Globally ignore letter-case in search")) (defun menu-bar-text-mode-auto-fill () (interactive) @@ -1596,14 +1597,14 @@ name)))) ;; Compute the maximum length of any name. (dolist (buf buffer-list) - (unless (eq ?\ (aref (cdr buf) 0)) + (unless (eq ?\s (aref (cdr buf) 0)) (setq menu-bar-update-buffers-maxbuf (max menu-bar-update-buffers-maxbuf (length (cdr buf)))))) ;; Set ALIST to an alist of the form ;; ITEM-STRING . BUFFER (dolist (buf buffer-list) - (unless (eq ?\ (aref (cdr buf) 0)) + (unless (eq ?\s (aref (cdr buf) 0)) (push (menu-bar-update-buffers-1 buf) alist))) ;; Now make the actual list of items, and add ;; some miscellaneous buffer commands to the end. diff -r 06937e972ad0 -r f1d13e615070 lisp/midnight.el --- a/lisp/midnight.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/midnight.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; midnight.el --- run something every midnight, e.g., kill old buffers -;; Copyright (C) 1998, 2002, 2003, 2004, 2005, +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Sam Steingold diff -r 06937e972ad0 -r f1d13e615070 lisp/misc.el --- a/lisp/misc.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/misc.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; misc.el --- some nonstandard basic editing commands for Emacs -;; Copyright (C) 1989, 2002, 2003, 2004, 2005, +;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -48,7 +48,7 @@ (if (< cc (current-column)) (if (= (preceding-char) ?\t) (progn - (setq string (make-string (min n (- (current-column) cc)) ?\ )) + (setq string (make-string (min n (- (current-column) cc)) ?\s)) (setq n (- n (min n (- (current-column) cc))))) ;; In middle of ctl char => copy that whole char. (backward-char 1))) @@ -62,7 +62,7 @@ ;; Variation of `zap-to-char'. (defun zap-up-to-char (arg char) - "Kill up to, but not including ARG'th occurrence of CHAR. + "Kill up to, but not including ARGth occurrence of CHAR. Case is ignored if `case-fold-search' is non-nil in the current buffer. Goes backward if ARG is negative; error if CHAR not found. Ignores CHAR at point." diff -r 06937e972ad0 -r f1d13e615070 lisp/mouse-copy.el --- a/lisp/mouse-copy.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/mouse-copy.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; mouse-copy.el --- one-click text copy and move -;; Copyright (C) 1996, 2002, 2003, 2004, 2005, +;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: John Heidemann diff -r 06937e972ad0 -r f1d13e615070 lisp/mouse.el --- a/lisp/mouse.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/mouse.el Thu Dec 07 04:14:14 2006 +0000 @@ -241,7 +241,7 @@ (cons 'keymap (cons (concat (capitalize (subst-char-in-string - ?- ?\ (symbol-name + ?- ?\s (symbol-name minor-mode))) " Menu") (cdr menu))))) @@ -925,7 +925,11 @@ (click-count (1- (event-click-count start-event))) (remap-double-click (and on-link (eq mouse-1-click-follows-link 'double) - (= click-count 1)))) + (= click-count 1))) + ;; Suppress automatic hscrolling, because that is a nuisance + ;; when setting point near the right fringe (but see below). + (automatic-hscrolling-saved automatic-hscrolling) + (automatic-hscrolling nil)) (setq mouse-selection-click-count click-count) ;; In case the down click is in the middle of some intangible text, ;; use the end of that text, and put it in START-POINT. @@ -946,6 +950,11 @@ (memq (car-safe event) '(switch-frame select-window)))) (if (memq (car-safe event) '(switch-frame select-window)) nil + ;; Automatic hscrolling did not occur during the call to + ;; `read-event'; but if the user subsequently drags the + ;; mouse, go ahead and hscroll. + (let ((automatic-hscrolling automatic-hscrolling-saved)) + (redisplay)) (setq end (event-end event) end-point (posn-point end)) (if (numberp end-point) @@ -1885,7 +1894,7 @@ (setq tail buffers) (while tail (let ((elt (car tail))) - (if (/= (aref (buffer-name elt) 0) ?\ ) + (if (/= (aref (buffer-name elt) 0) ?\s) (setq head (cons (cons diff -r 06937e972ad0 -r f1d13e615070 lisp/net/rcirc.el --- a/lisp/net/rcirc.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/net/rcirc.el Thu Dec 07 04:14:14 2006 +0000 @@ -15,7 +15,7 @@ ;; This file 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 +;; 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 @@ -137,7 +137,7 @@ (defcustom rcirc-buffer-maximum-lines nil "*The maximum size in lines for rcirc buffers. Channel buffers are truncated from the top to be no greater than this -number. If zero or nil, no truncating is done." +number. If zero or nil, no truncating is done." :type '(choice (const :tag "No truncation" nil) (integer :tag "Number of lines")) :group 'rcirc) @@ -341,12 +341,12 @@ (when (string= rcirc-default-server (process-name p)) (setq connected p))) (if (not connected) - (rcirc-connect rcirc-default-server rcirc-default-port + (rcirc-connect rcirc-default-server rcirc-default-port rcirc-default-nick rcirc-default-user-name rcirc-default-user-full-name (rcirc-startup-channels rcirc-default-server)) (switch-to-buffer (process-buffer connected)) - (message "Connected to %s" + (message "Connected to %s" (process-contact (get-buffer-process (current-buffer)) :host)))))) ;;;###autoload @@ -569,7 +569,7 @@ (defun rcirc-nick (process) "Return PROCESS nick." - (with-rcirc-process-buffer process + (with-rcirc-process-buffer process (or rcirc-nick rcirc-default-nick))) (defun rcirc-buffer-nick (&optional buffer) @@ -970,7 +970,7 @@ (defvar rcirc-multiline-minor-mode-map (make-sparse-keymap) "Keymap for multiline mode in rcirc.") -(define-key rcirc-multiline-minor-mode-map +(define-key rcirc-multiline-minor-mode-map (kbd "C-c C-c") 'rcirc-multiline-minor-submit) (define-key rcirc-multiline-minor-mode-map (kbd "C-x C-s") 'rcirc-multiline-minor-submit) @@ -1079,7 +1079,7 @@ "%") ((or (eq key ?n) (eq key ?N)) ;; %n/%N -- nick - (let ((nick (concat (if (string= (with-rcirc-process-buffer + (let ((nick (concat (if (string= (with-rcirc-process-buffer process rcirc-server) sender) @@ -1092,7 +1092,7 @@ (cond ((string= sender (rcirc-nick process)) 'rcirc-my-nick) ((and rcirc-bright-nicks - (string-match + (string-match (regexp-opt rcirc-bright-nicks) sender)) 'rcirc-bright-nick) @@ -1206,7 +1206,7 @@ (let ((text-start (make-marker))) (set-marker text-start - (or (next-single-property-change fill-start + (or (next-single-property-change fill-start 'rcirc-text) rcirc-prompt-end-marker)) ;; squeeze spaces out of text before rcirc-text @@ -1402,7 +1402,7 @@ (append global-mode-string '(rcirc-activity-string)))) (add-hook 'window-configuration-change-hook 'rcirc-window-configuration-change)) - (setq global-mode-string + (setq global-mode-string (delete 'rcirc-activity-string global-mode-string)) (remove-hook 'window-configuration-change-hook 'rcirc-window-configuration-change))) @@ -1461,7 +1461,7 @@ (interactive "P") (let* ((pair (rcirc-split-activity rcirc-activity)) (lopri (car pair)) - (hipri (cdr pair))) + (hipri (cdr pair))) (if (or (and (not arg) hipri) (and arg lopri)) (progn @@ -1476,10 +1476,10 @@ (message "No more IRC activity. Go back to work.") (funcall rcirc-switch-to-buffer-function rcirc-last-non-irc-buffer) (setq rcirc-last-non-irc-buffer nil)) - (message (concat + (message (concat "No IRC activity." (when lopri - (concat + (concat " Type C-u " (key-description (this-command-keys)) " for low priority activity.")))))))) @@ -1669,7 +1669,7 @@ (if (null message) (progn (setq target (completing-read "Message nick: " - (with-rcirc-server-buffer + (with-rcirc-server-buffer rcirc-nick-table))) (when (> (length target) 0) (setq message (read-string (format "Message %s: " target))) @@ -1775,7 +1775,7 @@ "Kick NICK from current channel." (interactive (list (concat (completing-read "Kick nick: " - (rcirc-channel-nicks + (rcirc-channel-nicks (rcirc-buffer-process) rcirc-target)) (read-from-minibuffer "Kick reason: ")))) @@ -1812,7 +1812,7 @@ ones added to the list automatically are marked with an asterisk." (interactive "sToggle ignoring of nick: ") (setq rcirc-ignore-list (rcirc-add-or-remove rcirc-ignore-list nick)) - (rcirc-print process nil "IGNORE" target + (rcirc-print process nil "IGNORE" target (mapconcat (lambda (nick) (concat nick @@ -1824,14 +1824,14 @@ "Manage the bright nick list." (interactive "sToggle emphasis of nick: ") (setq rcirc-bright-nicks (rcirc-add-or-remove rcirc-bright-nicks nick)) - (rcirc-print process nil "BRIGHT" target + (rcirc-print process nil "BRIGHT" target (mapconcat 'identity rcirc-bright-nicks " "))) (defun-rcirc-command dim (nick) "Manage the dim nick list." (interactive "sToggle deemphasis of nick: ") (setq rcirc-dim-nicks (rcirc-add-or-remove rcirc-dim-nicks nick)) - (rcirc-print process nil "DIM" target + (rcirc-print process nil "DIM" target (mapconcat 'identity rcirc-dim-nicks " "))) (defun-rcirc-command keyword (keyword) @@ -1840,7 +1840,7 @@ keywords when no KEYWORD is given." (interactive "sToggle highlighting of keyword: ") (setq rcirc-keywords (rcirc-add-or-remove rcirc-keywords keyword)) - (rcirc-print process nil "KEYWORD" target + (rcirc-print process nil "KEYWORD" target (mapconcat 'identity rcirc-keywords " "))) @@ -1865,8 +1865,8 @@ (defvar rcirc-url-regexp (rx-to-string `(and word-boundary - (or (and - (or (and (or "http" "https" "ftp" "file" "gopher" "news" + (or (and + (or (and (or "http" "https" "ftp" "file" "gopher" "news" "telnet" "wais" "mailto") "://") "www.") @@ -1876,7 +1876,7 @@ (and (1+ (char "-a-zA-Z0-9_.")) (or ".com" ".net" ".org") word-boundary)) - (optional + (optional (and "/" (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,{}[]()")) (char "-a-zA-Z0-9_=#$\@~`%&*+|\\/:;{}[]()"))))) @@ -1957,11 +1957,11 @@ (defun rcirc-markup-my-nick (process sender response channel-buffer) (with-syntax-table rcirc-nick-syntax-table - (while (re-search-forward (concat "\\b" + (while (re-search-forward (concat "\\b" (regexp-quote (rcirc-nick process)) "\\b") nil t) - (rcirc-add-face (match-beginning 0) (match-end 0) + (rcirc-add-face (match-beginning 0) (match-end 0) 'rcirc-nick-in-message) (when (string= response "PRIVMSG") (rcirc-add-face (point-min) (point-max) 'rcirc-nick-in-message-full-line) @@ -2409,7 +2409,7 @@ (defface rcirc-nick-in-message-full-line '((t (:bold t))) "The face used emphasize the entire message when your nick is mentioned." - :group 'rcirc-faces) + :group 'rcirc-faces) (defface rcirc-prompt ; comint-highlight-prompt '((((min-colors 88) (background dark)) (:foreground "cyan1")) diff -r 06937e972ad0 -r f1d13e615070 lisp/net/tramp.el --- a/lisp/net/tramp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/net/tramp.el Thu Dec 07 04:14:14 2006 +0000 @@ -326,24 +326,35 @@ (tramp-login-program "ssh") (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh") - (tramp-login-args ("-e" "none")) - (tramp-copy-args nil) + (tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=yes" + "-e" "none")) + (tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=auto")) (tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line nil)) ("scp1" (tramp-connection-function tramp-open-connection-rsh) (tramp-login-program "ssh") (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh") - (tramp-login-args ("-1" "-e" "none")) - (tramp-copy-args ("-1")) + (tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=yes" + "-1" "-e" "none")) + (tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=auto" + "-1")) (tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line nil)) ("scp2" (tramp-connection-function tramp-open-connection-rsh) (tramp-login-program "ssh") (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh") - (tramp-login-args ("-2" "-e" "none")) - (tramp-copy-args ("-2")) + (tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=yes" + "-2" "-e" "none")) + (tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p" + "-o" "ControlMaster=auto" + "-2")) (tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line nil)) ("scp1_old" @@ -566,6 +577,7 @@ If `tramp-connection-function' is `tramp-open-connection-su', then \"%u\" in this list is replaced by the user name, and \"%%\" can be used to obtain a literal percent character. + \"%t\" is replaced by the temporary file name for `scp'-like methods. * `tramp-copy-program' This specifies the name of the program to use for remotely copying the file; this might be the absolute filename of rcp or the name of @@ -673,8 +685,8 @@ (defcustom tramp-default-method (if (and (fboundp 'executable-find) - (executable-find "plink")) - "plink" + (executable-find "pscp")) + "pscp" "scp") "*Default method to use for transferring files. See `tramp-methods' for possibilities. @@ -943,6 +955,17 @@ :group 'tramp :type 'regexp) +(defcustom tramp-copy-failed-regexp + (concat "\\(.+: " + (regexp-opt '("Permission denied" + "not a regular file" + "is a directory" + "No such file or directory") t) + "\\)\\s-*") + "Regular expression matching copy problems in (s)cp operations." + :group 'tramp + :type 'regexp) + (defcustom tramp-process-alive-regexp "" "Regular expression indicating a process has finished. @@ -1340,6 +1363,7 @@ (defcustom tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) + (tramp-copy-failed-regexp tramp-action-copy-failed) (tramp-process-alive-regexp tramp-action-out-of-band)) "List of pattern/action pairs. This list is used for copying/renaming with out-of-band methods. @@ -3140,6 +3164,14 @@ v2-user v2-host (tramp-shell-quote-argument v2-localname)))) + ;; Handle ControlMaster/ControlPath + (setq copy-args + (mapcar + (lambda (x) + (format-spec + x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix))))) + copy-args)) + ;; Handle keep-date argument (when keep-date (if t1 @@ -3174,12 +3206,13 @@ (message "Transferring %s to %s..." filename newname) ;; Use rcp-like program for file transfer. - (let ((p (apply 'start-process (buffer-name trampbuf) trampbuf - copy-program copy-args))) - (tramp-set-process-query-on-exit-flag p nil) - (tramp-process-actions p multi-method method user host - tramp-actions-copy-out-of-band)) - (kill-buffer trampbuf) + (unwind-protect + (let ((p (apply 'start-process (buffer-name trampbuf) trampbuf + copy-program copy-args))) + (tramp-set-process-query-on-exit-flag p nil) + (tramp-process-actions p multi-method method user host + tramp-actions-copy-out-of-band)) + (kill-buffer trampbuf)) (message "Transferring %s to %s...done" filename newname) ;; Set the mode. @@ -5353,6 +5386,11 @@ (kill-process p) (throw 'tramp-action 'permission-denied)) +(defun tramp-action-copy-failed (p multi-method method user host) + "Signal copy failed." + (kill-process p) + (error "%s" (match-string 1))) + (defun tramp-action-yesno (p multi-method method user host) "Ask the user for confirmation using `yes-or-no-p'. Send \"yes\" to remote process on confirmation, abort otherwise. @@ -5409,9 +5447,6 @@ (tramp-message 10 "'set mode' error ignored.") (tramp-message 9 "Process has finished.") (throw 'tramp-action 'ok)) - (goto-char (point-min)) - (when (re-search-forward "^.cp.?: \\(.+: Permission denied.?\\)$" nil t) - (error "Remote host: %s" (match-string 1))) (tramp-message 9 "Process has died.") (throw 'tramp-action 'process-died))) (t nil))) @@ -5476,6 +5511,7 @@ (defun tramp-process-actions (p multi-method method user host actions) "Perform actions until success." + (tramp-message 10 "%s" (mapconcat 'identity (process-command p) " ")) (let (exit) (while (not exit) (tramp-message 9 "Waiting for prompts from remote shell") @@ -5646,10 +5682,14 @@ multi-method (tramp-find-method multi-method method user host) user host 'tramp-login-program)) - (login-args (tramp-get-method-parameter - multi-method - (tramp-find-method multi-method method user host) - user host 'tramp-login-args)) + (login-args (mapcar + (lambda (x) + (format-spec + x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix))))) + (tramp-get-method-parameter + multi-method + (tramp-find-method multi-method method user host) + user host 'tramp-login-args))) (real-host host)) ;; The following should be changed. We need a more general ;; mechanism to parse extra host args. diff -r 06937e972ad0 -r f1d13e615070 lisp/newcomment.el --- a/lisp/newcomment.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/newcomment.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; newcomment.el --- (un)comment regions of buffers -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: code extracted from Emacs-20's simple.el @@ -551,8 +551,8 @@ (indent-to comment-column) ;; Ensure there's a space before the comment for things ;; like sh where it matters (as well as being neater). - (unless (memq (char-before) '(nil ?\n ?\t ?\ )) - (insert ?\ )) + (unless (memq (char-before) '(nil ?\n ?\t ?\s)) + (insert ?\s)) (setq begpos (point)) (insert starter) (setq cpos (point-marker)) diff -r 06937e972ad0 -r f1d13e615070 lisp/novice.el --- a/lisp/novice.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/novice.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; novice.el --- handling of disabled commands ("novice mode") for Emacs -;; Copyright (C) 1985, 1986, 1987, 1994, 2002, 2003, 2004, +;; Copyright (C) 1985, 1986, 1987, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -95,7 +95,7 @@ (while (progn (setq char (read-event)) (or (not (numberp char)) (not (memq (downcase char) - '(?! ?y ?n ?\ ?\C-g))))) + '(?! ?y ?n ?\s ?\C-g))))) (ding) (message "Please type y, n, ! or SPC (the space bar): ")))) (setq char (downcase char)) diff -r 06937e972ad0 -r f1d13e615070 lisp/outline.el --- a/lisp/outline.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/outline.el Thu Dec 07 04:14:14 2006 +0000 @@ -894,7 +894,8 @@ (or first (> (funcall outline-level) level))) (setq first nil) (outline-next-heading)) - (if (bolp) + (if (and (bolp) (not (eolp))) + ;; We stopped at a nonempty line (the next heading). (progn ;; Go to end of line before heading (forward-char -1) diff -r 06937e972ad0 -r f1d13e615070 lisp/paren.el --- a/lisp/paren.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/paren.el Thu Dec 07 04:14:14 2006 +0000 @@ -220,7 +220,7 @@ (point)))) (if show-paren-overlay-1 (move-overlay show-paren-overlay-1 from to (current-buffer)) - (setq show-paren-overlay-1 (make-overlay from to))) + (setq show-paren-overlay-1 (make-overlay from to nil t))) ;; Always set the overlay face, since it varies. (overlay-put show-paren-overlay-1 'priority show-paren-priority) (overlay-put show-paren-overlay-1 'face face))) @@ -243,7 +243,7 @@ (forward-point (- dir)))))) (if show-paren-overlay (move-overlay show-paren-overlay from to (current-buffer)) - (setq show-paren-overlay (make-overlay from to)))) + (setq show-paren-overlay (make-overlay from to nil t)))) ;; ;; Always set the overlay face, since it varies. (overlay-put show-paren-overlay 'priority show-paren-priority) diff -r 06937e972ad0 -r f1d13e615070 lisp/paths.el --- a/lisp/paths.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/paths.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*- -;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2002, 2003, +;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/pcmpl-cvs.el --- a/lisp/pcmpl-cvs.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcmpl-cvs.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; pcmpl-cvs.el --- functions for dealing with cvs completions -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: John Wiegley diff -r 06937e972ad0 -r f1d13e615070 lisp/pcmpl-gnu.el --- a/lisp/pcmpl-gnu.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcmpl-gnu.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; pcmpl-gnu.el --- completions for GNU project tools -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/pcmpl-linux.el --- a/lisp/pcmpl-linux.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcmpl-linux.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/pcmpl-rpm.el --- a/lisp/pcmpl-rpm.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcmpl-rpm.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; pcmpl-rpm.el --- functions for dealing with rpm completions -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/pcmpl-unix.el --- a/lisp/pcmpl-unix.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcmpl-unix.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; pcmpl-unix.el --- standard UNIX completions -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. diff -r 06937e972ad0 -r f1d13e615070 lisp/pcvs-defs.el --- a/lisp/pcvs-defs.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcvs-defs.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; pcvs-defs.el --- variable definitions for PCL-CVS ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: pcl-cvs diff -r 06937e972ad0 -r f1d13e615070 lisp/pcvs-info.el --- a/lisp/pcvs-info.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcvs-info.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; pcvs-info.el --- internal representation of a fileinfo entry ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: pcl-cvs diff -r 06937e972ad0 -r f1d13e615070 lisp/pcvs-parse.el --- a/lisp/pcvs-parse.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcvs-parse.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; pcvs-parse.el --- the CVS output parser ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: pcl-cvs diff -r 06937e972ad0 -r f1d13e615070 lisp/pcvs.el --- a/lisp/pcvs.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pcvs.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; pcvs.el --- a front-end to CVS ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: (The PCL-CVS Trust) pcl-cvs@cyclic.com ;; (Per Cederqvist) ceder@lysator.liu.se diff -r 06937e972ad0 -r f1d13e615070 lisp/pgg-pgp.el --- a/lisp/pgg-pgp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/pgg-pgp.el Thu Dec 07 04:14:14 2006 +0000 @@ -63,9 +63,9 @@ (defun pgg-pgp-process-region (start end passphrase program args) (let* ((errors-file-name (pgg-make-temp-file "pgg-errors")) (args - (append args + (concat args pgg-pgp-extra-args - (list (concat "2>" errors-file-name)))) + " 2>" (shell-quote-argument errors-file-name))) (shell-file-name pgg-pgp-shell-file-name) (shell-command-switch pgg-pgp-shell-command-switch) (process-environment process-environment) @@ -83,9 +83,8 @@ (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary)) (setq process - (apply #'funcall - #'start-process-shell-command "*PGP*" output-buffer - program args))) + (start-process-shell-command "*PGP*" output-buffer + (concat program " " args)))) (set-process-sentinel process #'ignore) (when passphrase (process-send-string process (concat passphrase "\n"))) @@ -142,15 +141,14 @@ pgg-pgp-user-id) pgg-pgp-user-id)))) (args - (append - `("+encrypttoself=off +verbose=1" "+batchmode" - "+language=us" "-fate" - ,@(if recipients - (mapcar (lambda (rcpt) (concat "\"" rcpt "\"")) - (append recipients - (if pgg-encrypt-for-me - (list pgg-pgp-user-id)))))) - (if sign '("-s" "-u" pgg-pgp-user-id))))) + (concat + "+encrypttoself=off +verbose=1 +batchmode +language=us -fate " + (if recipients + (mapconcat 'shell-quote-argument + (append recipients + (if pgg-encrypt-for-me + (list pgg-pgp-user-id))))) + (if sign (concat " -s -u " (shell-quote-argument pgg-pgp-user-id)))))) (pgg-pgp-process-region start end nil pgg-pgp-program args) (pgg-process-when-success nil))) @@ -166,7 +164,7 @@ (pgg-read-passphrase (format "PGP passphrase for %s: " pgg-pgp-user-id) key))) (args - '("+verbose=1" "+batchmode" "+language=us" "-f"))) + "+verbose=1 +batchmode +language=us -f")) (pgg-pgp-process-region start end passphrase pgg-pgp-program args) (pgg-process-when-success (if pgg-cache-passphrase @@ -184,9 +182,9 @@ (format "PGP passphrase for %s: " pgg-pgp-user-id) (pgg-pgp-lookup-key pgg-pgp-user-id 'sign)))) (args - (list (if clearsign "-fast" "-fbast") - "+verbose=1" "+language=us" "+batchmode" - "-u" pgg-pgp-user-id))) + (concat (if clearsign "-fast" "-fbast") + " +verbose=1 +language=us +batchmode" + " -u " (shell-quote-argument pgg-pgp-user-id)))) (pgg-pgp-process-region start end passphrase pgg-pgp-program args) (pgg-process-when-success (goto-char (point-min)) @@ -204,7 +202,7 @@ (defun pgg-pgp-verify-region (start end &optional signature) "Verify region between START and END as the detached signature SIGNATURE." (let* ((orig-file (pgg-make-temp-file "pgg")) - (args '("+verbose=1" "+batchmode" "+language=us")) + (args "+verbose=1 +batchmode +language=us") (orig-mode (default-file-modes))) (unwind-protect (progn @@ -216,8 +214,8 @@ (if (stringp signature) (progn (copy-file signature (setq signature (concat orig-file ".asc"))) - (setq args (append args (list signature orig-file)))) - (setq args (append args (list orig-file)))) + (setq args (concat args " " (shell-quote-argument signature))))) + (setq args (concat args " " (shell-quote-argument orig-file))) (pgg-pgp-process-region (point)(point) nil pgg-pgp-program args) (delete-file orig-file) (if signature (delete-file signature)) @@ -237,8 +235,8 @@ "Insert public key at point." (let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id)) (args - (list "+verbose=1" "+batchmode" "+language=us" "-kxaf" - (concat "\"" pgg-pgp-user-id "\"")))) + (concat "+verbose=1 +batchmode +language=us -kxaf " + (shell-quote-argument pgg-pgp-user-id)))) (pgg-pgp-process-region (point)(point) nil pgg-pgp-program args) (insert-buffer-substring pgg-output-buffer))) @@ -247,8 +245,8 @@ (let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id)) (key-file (pgg-make-temp-file "pgg")) (args - (list "+verbose=1" "+batchmode" "+language=us" "-kaf" - key-file))) + (concat "+verbose=1 +batchmode +language=us -kaf " + (shell-quote-argument key-file)))) (let ((coding-system-for-write 'raw-text-dos)) (write-region start end key-file)) (pgg-pgp-process-region start end nil pgg-pgp-program args) @@ -257,5 +255,5 @@ (provide 'pgg-pgp) -;;; arch-tag: 076b7801-37b2-49a6-97c3-218fdecde33c +;; arch-tag: 076b7801-37b2-49a6-97c3-218fdecde33c ;;; pgg-pgp.el ends here diff -r 06937e972ad0 -r f1d13e615070 lisp/play/gomoku.el --- a/lisp/play/gomoku.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/play/gomoku.el Thu Dec 07 04:14:14 2006 +0000 @@ -29,7 +29,7 @@ ;; RULES: ;; -;; Gomoku is a game played between two players on a rectangular board. Each +;; Gomoku is a game played between two players on a rectangular board. Each ;; player, in turn, marks a free square of its choice. The winner is the first ;; one to mark five contiguous squares in any direction (horizontally, ;; vertically or diagonally). @@ -212,9 +212,9 @@ ;;; ;; The board is a rectangular grid. We code empty squares with 0, X's with 1 -;; and O's with 6. The rectangle is recorded in a one dimensional vector -;; containing padding squares (coded with -1). These squares allow us to -;; detect when we are trying to move out of the board. We denote a square by +;; and O's with 6. The rectangle is recorded in a one dimensional vector +;; containing padding squares (coded with -1). These squares allow us to +;; detect when we are trying to move out of the board. We denote a square by ;; its (X,Y) coords, or by the INDEX corresponding to them in the vector. The ;; leftmost topmost square has coords (1,1) and index gomoku-board-width + 2. ;; Similarly, vectors between squares may be given by two DX, DY coords or by @@ -230,7 +230,7 @@ "Vector recording the actual state of the Gomoku board.") (defvar gomoku-vector-length nil - "Length of gomoku-board vector.") + "Length of `gomoku-board' vector.") (defvar gomoku-draw-limit nil ;; This is usually set to 70% of the number of squares. @@ -250,7 +250,7 @@ (/ index (1+ gomoku-board-width))) (defun gomoku-init-board () - "Create the gomoku-board vector and fill it with initial values." + "Create the `gomoku-board' vector and fill it with initial values." (setq gomoku-board (make-vector gomoku-vector-length 0)) ;; Every square is 0 (i.e. empty) except padding squares: (let ((i 0) (ii (1- gomoku-vector-length))) @@ -671,11 +671,11 @@ (cond ((< gomoku-number-of-moves 20) "This was a REALLY QUICK win.") (gomoku-human-refused-draw - "I won... Too bad you refused my offer of a draw!") + "I won... Too bad you refused my offer of a draw!") (gomoku-human-took-back - "I won... Taking moves back will not help you!") + "I won... Taking moves back will not help you!") ((not gomoku-emacs-played-first) - "I won... Playing first did not help you much!") + "I won... Playing first did not help you much!") ((and (zerop gomoku-number-of-human-wins) (zerop gomoku-number-of-draws) (> gomoku-number-of-emacs-wins 1)) @@ -875,9 +875,9 @@ (let (square score) (setq square (gomoku-point-square)) (cond ((null square) - (error "Your point is not on a square. Retry!")) + (error "Your point is not on a square. Retry!")) ((not (zerop (aref gomoku-board square))) - (error "Your point is not on a free square. Retry!")) + (error "Your point is not on a free square. Retry!")) (t (setq score (aref gomoku-score-table square)) (gomoku-play-move square 1) @@ -902,7 +902,7 @@ (sit-for 4) (gomoku-prompt-for-other-game)) ((zerop gomoku-number-of-human-moves) - (message "You have not played yet... Your move?")) + (message "You have not played yet... Your move?")) (t (message "One moment, please...") ;; It is possible for the user to let Emacs play several consecutive @@ -937,7 +937,7 @@ (defun gomoku-prompt-for-move () "Display a message asking for Human's move." (message (if (zerop gomoku-number-of-human-moves) - "Your move? (move to a free square and hit X, RET ...)" + "Your move? (Move to a free square and hit X, RET ...)" "Your move?")) ;; This may seem silly, but if one omits the following line (or a similar ;; one), the cursor may very well go to some place where POINT is not. @@ -951,7 +951,7 @@ (defun gomoku-offer-a-draw () "Offer a draw and return t if Human accepted it." - (or (y-or-n-p "I offer you a draw. Do you accept it? ") + (or (y-or-n-p "I offer you a draw. Do you accept it? ") (not (setq gomoku-human-refused-draw t)))) ;;; diff -r 06937e972ad0 -r f1d13e615070 lisp/play/landmark.el --- a/lisp/play/landmark.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/play/landmark.el Thu Dec 07 04:14:14 2006 +0000 @@ -75,7 +75,7 @@ ;; The board is a rectangular grid. We code empty squares with 0, X's with 1 ;; and O's with 6. The rectangle is recorded in a one dimensional vector ;; containing padding squares (coded with -1). These squares allow us to -;; detect when we are trying to move out of the board. We denote a square by +;; detect when we are trying to move out of the board. We denote a square by ;; its (X,Y) coords, or by the INDEX corresponding to them in the vector. The ;; leftmost topmost square has coords (1,1) and index lm-board-width + 2. ;; Similarly, vectors between squares may be given by two DX, DY coords or by diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/ada-mode.el --- a/lisp/progmodes/ada-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/ada-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -27,13 +27,13 @@ ;; Boston, MA 02110-1301, USA. ;;; Commentary: -;;; This mode is a major mode for editing Ada83 and Ada95 source code. -;;; This is a major rewrite of the file packaged with Emacs-20. The -;;; ada-mode is composed of four Lisp files, ada-mode.el, ada-xref.el, -;;; ada-prj.el and ada-stmt.el. Only this file (ada-mode.el) is -;;; completely independent from the GNU Ada compiler Gnat, distributed -;;; by Ada Core Technologies. All the other files rely heavily on -;;; features provided only by Gnat. +;;; This mode is a major mode for editing Ada code. This is a major +;;; rewrite of the file packaged with Emacs-20. The Ada mode is +;;; composed of four Lisp files: ada-mode.el, ada-xref.el, ada-prj.el +;;; and ada-stmt.el. Only this file (ada-mode.el) is completely +;;; independent from the GNU Ada compiler GNAT, distributed by Ada +;;; Core Technologies. All the other files rely heavily on features +;;; provided only by GNAT. ;;; ;;; Note: this mode will not work with Emacs 19. If you are on a VMS ;;; system, where the latest version of Emacs is 19.28, you will need @@ -77,7 +77,7 @@ ;;; (yet) been recoded in this new mode. Perhaps you prefer sticking ;;; to his version. ;;; -;;; A complete rewrite for Emacs-20 / Gnat-3.11 has been done by Ada Core +;;; A complete rewrite for Emacs-20 / GNAT-3.11 has been done by Ada Core ;;; Technologies. ;;; Credits: @@ -437,7 +437,7 @@ "*Name of the compiler to use. This will determine what features are made available through the Ada mode. The possible choices are: -`gnat': Use Ada Core Technologies' Gnat compiler. Add some cross-referencing +`gnat': Use Ada Core Technologies' GNAT compiler. Add some cross-referencing features. `generic': Use a generic compiler." :type '(choice (const gnat) @@ -794,33 +794,24 @@ (match-string 1)))) (error-pos (point-marker)) source) + + ;; set source marker (save-excursion - (save-restriction - (widen) - ;; Use funcall so as to prevent byte-compiler warnings - ;; `ada-find-file' is not defined if ada-xref wasn't loaded. But - ;; if we can find it, we should use it instead of - ;; `compilation-find-file', since the latter doesn't know anything - ;; about source path. - - (if (functionp 'ada-find-file) - (setq file (funcall (symbol-function 'ada-find-file) - (match-string 1))) - (setq file (funcall (symbol-function 'compilation-find-file) - (point-marker) (match-string 1) - "./"))) - (set-buffer file) - - (if (stringp line) - (goto-line (string-to-number line))) - (setq source (point-marker)))) - (funcall (symbol-function 'compilation-goto-locus) - (cons source error-pos)) + (compilation-find-file (point-marker) (match-string 1) "./") + (set-buffer file) + + (if (stringp line) + (goto-line (string-to-number line))) + + (setq source (point-marker))) + + (compilation-goto-locus error-pos source nil) + )) ;; otherwise, default behavior (t - (funcall (symbol-function 'compile-goto-error))) + (compile-goto-error)) ) (recenter)) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/ada-xref.el --- a/lisp/progmodes/ada-xref.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/ada-xref.el Thu Dec 07 04:14:14 2006 +0000 @@ -117,7 +117,7 @@ " ${comp_opt}") "*Default command to be used to compile a single file. Emacs will substitute the current filename for ${full_current}, or add -the filename at the end. This is the same syntax as in the project file." +the filename at the end. This is the same syntax as in the project file." :type 'string :group 'ada) (defcustom ada-prj-default-debugger "${cross_prefix}gdb" @@ -148,7 +148,7 @@ :type 'boolean :group 'ada) (defconst is-windows (memq system-type (quote (windows-nt))) - "True if we are running on Windows NT or Windows 95.") + "True if we are running on Windows.") (defcustom ada-tight-gvd-integration nil "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging. @@ -208,7 +208,7 @@ \"&&\" for now.") (defconst ada-xref-pos-ring-max 16 - "Number of positions kept in the list ada-xref-pos-ring.") + "Number of positions kept in the list `ada-xref-pos-ring'.") (defvar ada-operator-re "\\+\\|-\\|/\\|\\*\\*\\|\\*\\|=\\|&\\|abs\\|mod\\|rem\\|and\\|not\\|or\\|xor\\|<=\\|<\\|>=\\|>" @@ -218,11 +218,11 @@ "Associative list of project files with properties. It has the format: (project project ...) A project has the format: (project-file . project-plist) -\(See 'apropos plist' for operations on property lists). See -ada-xref-set-default-prj-values for the list of valid properties. The -current project is retrieved with ada-xref-current-project. Properties -are retrieved with ada-xref-get-project-field, set with -ada-xref-set-project-field. If project properties are accessed with no +\(See 'apropos plist' for operations on property lists). +See `ada-xref-set-default-prj-values' for the list of valid properties. +The current project is retrieved with `ada-xref-current-project'. +Properties are retrieved with `ada-xref-get-project-field', set with +`ada-xref-set-project-field'. If project properties are accessed with no project file, a (nil . default-properties) entry is created.") @@ -257,7 +257,7 @@ ;; ----------------------------------------------------------------------- (defun ada-quote-cmd (cmd) - "Duplicate all \\ characters in CMD so that it can be passed to `compile'." + "Duplicate all `\\' characters in CMD so that it can be passed to `compile'." (mapconcat 'identity (split-string cmd "\\\\") "\\\\")) (defun ada-find-executable (exec-name) @@ -418,8 +418,8 @@ Project variables are substituted. Note that for src_dir and obj_dir, you should rather use -`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field' which will in -addition return the default paths." +`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field' +which will in addition return the default paths." (let* ((project-plist (cdr (ada-xref-current-project))) value) @@ -1166,7 +1166,7 @@ "Recompile the current file. If ARG is not nil, ask for user confirmation of the command. PRJ-FIELD is the name of the field to use in the project file to get the -command, and should be either comp_cmd (default) or check_cmd." +command, and should be either `comp_cmd' (default) or `check_cmd'." (interactive "P") (ada-require-project-file) (let* ((field (if prj-field prj-field 'comp_cmd)) @@ -1190,7 +1190,7 @@ (compile (ada-quote-cmd cmd)))) (defun ada-check-current (&optional arg) - "Recompile the current file. + "Check the current file for syntax errors. If ARG is not nil, ask for user confirmation of the command." (interactive "P") (ada-compile-current arg 'check_cmd)) @@ -1368,8 +1368,8 @@ "Update the cross-references for FILE. This in fact recompiles FILE to create ALI-FILE-NAME. This function returns the name of the file that was recompiled to generate -the cross-reference information. Note that the ali file can then be deduced by -replacing the file extension with `.ali'." +the cross-reference information. Note that the ali file can then be deduced +by replacing the file extension with `.ali'." ;; kill old buffer (if (and ali-file-name (get-file-buffer ali-file-name)) @@ -1539,8 +1539,8 @@ (defun ada-get-ada-file-name (file original-file) "Create the complete file name (+directory) for FILE. -The original file (where the user was) is ORIGINAL-FILE. Search in project -file for possible paths." +The original file (where the user was) is ORIGINAL-FILE. +Search in project file for possible paths." (save-excursion @@ -1940,9 +1940,8 @@ anywhere in the object path. This command requires the external `egrep' program to be available. -This works well when one is using an external librarie and wants -to find the declaration and documentation of the subprograms one is -is using." +This works well when one is using an external librarie and wants to find +the declaration and documentation of the subprograms one is using." ;; FIXME: what does this function do? (let (list (dirs (ada-xref-get-obj-dir-field)) @@ -2212,6 +2211,7 @@ (defun ada-make-body-gnatstub (&optional interactive) "Create an Ada package body in the current buffer. This function uses the `gnatstub' program to create the body. +If INTERACTIVE is nil, kill the current buffer. This function typically is to be hooked into `ff-file-created-hook'." (interactive "p") (ada-require-project-file) @@ -2221,9 +2221,8 @@ ;; If the current buffer is the body (as is the case when calling this ;; function from ff-file-created-hook), then kill this temporary buffer (unless interactive - (progn - (set-buffer-modified-p nil) - (kill-buffer (current-buffer)))) + (set-buffer-modified-p nil) + (kill-buffer (current-buffer))) ;; Make sure the current buffer is the spec (this might not be the case @@ -2274,7 +2273,7 @@ (defun ada-xref-initialize () "Function called by `ada-mode-hook' to initialize the ada-xref.el package. For instance, it creates the gnat-specific menus, sets some hooks for -`find-file'..." +`find-file'." (remove-hook 'ff-file-created-hook 'ada-make-body) ; from global hook (remove-hook 'ff-file-created-hook 'ada-make-body t) ; from local hook (add-hook 'ff-file-created-hook 'ada-make-body-gnatstub nil t) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-align.el --- a/lisp/progmodes/cc-align.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-align.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-align.el --- custom indentation functions for CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-awk.el --- a/lisp/progmodes/cc-awk.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-awk.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; cc-awk.el --- AWK specific code within cc-mode. -;; Copyright (C) 1988,94,96,2000, 2001, 2002, 2003, 2004, 2005, 2006 Free -;; Software Foundation, Inc. +;; Copyright (C) 1988, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005, +;; 2006 Free Software Foundation, Inc. ;; Author: Alan Mackenzie (originally based on awk-mode.el) ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-cmds.el --- a/lisp/progmodes/cc-cmds.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-cmds.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-cmds.el --- user level commands for CC Mode -;; Copyright (C) 1985, 1987, 1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw @@ -271,7 +272,7 @@ ;; fmt)) (setq mode-name (if (> (length fmt) 1) - (concat bare-mode-name fmt) + (concat bare-mode-name fmt) bare-mode-name)) (force-mode-line-update))) @@ -536,7 +537,7 @@ ;; shut this up too (c-echo-syntactic-information-p nil) symb-newlines) ; e.g. (substatement-open . (after)) - + (setq symb-newlines ;; Do not try to insert newlines around a special ;; (Pike-style) brace list. @@ -1661,12 +1662,12 @@ (defun c-narrow-to-comment-innards (range) ;; Narrow to the "inside" of the comment (block) defined by range, as ;; follows: - ;; + ;; ;; A c-style block comment has its opening "/*" and its closing "*/" (if ;; present) removed. A c++-style line comment retains its opening "//" but ;; has any final NL removed. If POINT is currently outwith these innards, ;; move it to the appropriate boundary. - ;; + ;; ;; This narrowing simplifies the sentence movement functions, since it ;; eliminates awkward things at the boundaries of the comment (block). ;; @@ -1694,7 +1695,7 @@ ;; of the comment and return T. ;; ;; The BOS is either text which follows a regexp match of sentence-end, - ;; or text which is a beginning of "paragraph". + ;; or text which is a beginning of "paragraph". ;; Comment-prefixes are treated like WS when calculating BOSes or BOPs. ;; ;; This code was adapted from GNU Emacs's forward-sentence in paragraphs.el. @@ -2104,7 +2105,7 @@ ((looking-at c-string-limit-regexp) ; Just gone back over a string terminator? (goto-char last) (throw 'done '(t . literal))) - + ;; Nothing special: go back word characters. (t (skip-syntax-backward "w_")) ; Speedup only. )))))) @@ -2136,7 +2137,7 @@ ;; As a clarification of "after the end-of-statement", if a comment or ;; whitespace follows a completed AWK statement, that statement is treated ;; as ending just after the last non-ws character before the comment. - ;; + ;; ;; Note that this function moves within either preprocessor commands ;; (macros) or normal code, but not both within the same invocation. ;; @@ -2427,7 +2428,7 @@ (if (/= count 0) (setq count (1- count)))) (c-keep-region-active)))) - + ;; set up electric character functions to work with pending-del, @@ -2560,7 +2561,7 @@ (interactive "p") (c-forward-conditional (- count) -1) (c-keep-region-active)) - + (defun c-up-conditional-with-else (count) "Move back to the containing preprocessor conditional, including \"#else\". Just like `c-up-conditional', except it also stops at \"#else\" @@ -2782,7 +2783,7 @@ (defun c-indent-exp (&optional shutup-p) "Indent each line in the balanced expression following point syntactically. -If optional SHUTUP-P is non-nil, no errors are signalled if no +If optional SHUTUP-P is non-nil, no errors are signaled if no balanced expression is found." (interactive "*P") (let ((here (point-marker)) @@ -3611,7 +3612,7 @@ hang-ender-stuck ;; auto-fill-spaces is the exact sequence of whitespace between a ;; comment's last word and the comment ender, temporarily replaced - ;; with 'x's before calling FUN when FILL-PARAGRAPH is nil. + ;; with 'x's before calling FUN when FILL-PARAGRAPH is nil. auto-fill-spaces (here (point)) (c-lit-limits c-lit-limits) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-compat.el --- a/lisp/progmodes/cc-compat.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-compat.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1994-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-defs.el --- a/lisp/progmodes/cc-defs.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-defs.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-defs.el --- compile time definitions for CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-engine.el --- a/lisp/progmodes/cc-engine.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-engine.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-engine.el --- core syntax guessing engine for CC mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software Foundation, -;; Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-langs.el --- a/lisp/progmodes/cc-langs.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-langs.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-langs.el --- language specific settings for CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-menus.el --- a/lisp/progmodes/cc-menus.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-menus.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-menus.el --- imenu support for CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-mode.el --- a/lisp/progmodes/cc-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-mode.el --- major mode for editing C and similar languages -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 2003- Alan Mackenzie ;; 1998- Martin Stjernholm diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-styles.el --- a/lisp/progmodes/cc-styles.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-styles.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-styles.el --- support for styles in CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cc-vars.el --- a/lisp/progmodes/cc-vars.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cc-vars.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ ;;; cc-vars.el --- user customization variables for CC Mode -;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software -;; Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software +;; Foundation, Inc. ;; Authors: 1998- Martin Stjernholm ;; 1992-1999 Barry A. Warsaw @@ -809,7 +810,7 @@ This is used by the functions that automatically insert or align the line continuation backslashes in multiline macros. If any line in the macro exceeds this column then the next tab stop from that line is -used as alignment column instead." +used as alignment column instead. See also `c-backslash-max-column'." :type 'integer :group 'c) ;;;###autoload(put 'c-backslash-column 'safe-local-variable 'integerp) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/compile.el --- a/lisp/progmodes/compile.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/compile.el Thu Dec 07 04:14:14 2006 +0000 @@ -61,7 +61,7 @@ ;; TYPE is 0 for info or 1 for warning if the message matcher identified it as ;; such, 2 otherwise (for a real error). END-LOC is a LOC pointing to the -;; other end, if the parsed message contained a range. If the end of the +;; other end, if the parsed message contained a range. If the end of the ;; range didn't specify a COLUMN, it defaults to -1, meaning end of line. ;; These are the value of the `message' text-properties in the compilation ;; buffer. @@ -499,7 +499,7 @@ ;; A weak per-compilation-buffer hash indexed by (FILENAME . DIRECTORY). Each ;; value is a FILE-STRUCTURE as described above, with the car eq to the hash -;; key. This holds the tree seen from root, for storing new nodes. +;; key. This holds the tree seen from root, for storing new nodes. (defvar compilation-locs ()) (defvar compilation-debug nil @@ -627,12 +627,12 @@ keymap compilation-button-map help-echo "mouse-2: visit this directory"))) -;; Data type `reverse-ordered-alist' retriever. This function retrieves the +;; Data type `reverse-ordered-alist' retriever. This function retrieves the ;; KEY element from the ALIST, creating it in the right position if not already ;; present. ALIST structure is ;; '(ANCHOR (KEY1 ...) (KEY2 ...)... (KEYn ALIST ...)) ;; ANCHOR is ignored, but necessary so that elements can be inserted. KEY1 -;; may be nil. The other KEYs are ordered backwards so that growing line +;; may be nil. The other KEYs are ordered backwards so that growing line ;; numbers can be inserted in front and searching can abort after half the ;; list on average. (eval-when-compile ;Don't keep it at runtime if not needed. diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/cperl-mode.el --- a/lisp/progmodes/cperl-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/cperl-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -1681,9 +1681,8 @@ [(control c) (control h) f]))) (setq major-mode cperl-use-major-mode) (setq mode-name "CPerl") - (if (not cperl-mode-abbrev-table) - (let ((prev-a-c abbrevs-changed)) - (define-abbrev-table 'cperl-mode-abbrev-table '( + (let ((prev-a-c abbrevs-changed)) + (define-abbrev-table 'cperl-mode-abbrev-table '( ("if" "if" cperl-electric-keyword 0) ("elsif" "elsif" cperl-electric-keyword 0) ("while" "while" cperl-electric-keyword 0) @@ -1704,7 +1703,7 @@ ("over" "over" cperl-electric-pod 0) ("head1" "head1" cperl-electric-pod 0) ("head2" "head2" cperl-electric-pod 0))) - (setq abbrevs-changed prev-a-c))) + (setq abbrevs-changed prev-a-c)) (setq local-abbrev-table cperl-mode-abbrev-table) (if (cperl-val 'cperl-electric-keywords) (abbrev-mode 1)) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/f90.el --- a/lisp/progmodes/f90.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/f90.el Thu Dec 07 04:14:14 2006 +0000 @@ -674,76 +674,78 @@ ;; Abbrevs have generally two letters, except standard types `c, `i, `r, `t. (defvar f90-mode-abbrev-table - (let (abbrevs-changed) + (progn (define-abbrev-table 'f90-mode-abbrev-table nil) - ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. - ;; A little baroque to quieten the byte-compiler. - (mapcar - (function (lambda (element) - (condition-case nil - (apply 'define-abbrev f90-mode-abbrev-table - (append element '(nil 0 t))) - (wrong-number-of-arguments - (apply 'define-abbrev f90-mode-abbrev-table - (append element '(nil 0))))))) - '(("`al" "allocate" ) - ("`ab" "allocatable" ) - ("`as" "assignment" ) - ("`ba" "backspace" ) - ("`bd" "block data" ) - ("`c" "character" ) - ("`cl" "close" ) - ("`cm" "common" ) - ("`cx" "complex" ) - ("`cn" "contains" ) - ("`cy" "cycle" ) - ("`de" "deallocate" ) - ("`df" "define" ) - ("`di" "dimension" ) - ("`dp" "double precision") - ("`dw" "do while" ) - ("`el" "else" ) - ("`eli" "else if" ) - ("`elw" "elsewhere" ) - ("`eq" "equivalence" ) - ("`ex" "external" ) - ("`ey" "entry" ) - ("`fl" "forall" ) - ("`fo" "format" ) - ("`fu" "function" ) - ("`fa" ".false." ) - ("`im" "implicit none") - ("`in" "include" ) - ("`i" "integer" ) - ("`it" "intent" ) - ("`if" "interface" ) - ("`lo" "logical" ) - ("`mo" "module" ) - ("`na" "namelist" ) - ("`nu" "nullify" ) - ("`op" "optional" ) - ("`pa" "parameter" ) - ("`po" "pointer" ) - ("`pr" "print" ) - ("`pi" "private" ) - ("`pm" "program" ) - ("`pu" "public" ) - ("`r" "real" ) - ("`rc" "recursive" ) - ("`rt" "return" ) - ("`rw" "rewind" ) - ("`se" "select" ) - ("`sq" "sequence" ) - ("`su" "subroutine" ) - ("`ta" "target" ) - ("`tr" ".true." ) - ("`t" "type" ) - ("`wh" "where" ) - ("`wr" "write" ))) f90-mode-abbrev-table) "Abbrev table for F90 mode.") + +(let (abbrevs-changed) + ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. + ;; A little baroque to quieten the byte-compiler. + (mapcar + (function (lambda (element) + (condition-case nil + (apply 'define-abbrev f90-mode-abbrev-table + (append element '(nil 0 t))) + (wrong-number-of-arguments + (apply 'define-abbrev f90-mode-abbrev-table + (append element '(nil 0))))))) + '(("`al" "allocate" ) + ("`ab" "allocatable" ) + ("`as" "assignment" ) + ("`ba" "backspace" ) + ("`bd" "block data" ) + ("`c" "character" ) + ("`cl" "close" ) + ("`cm" "common" ) + ("`cx" "complex" ) + ("`cn" "contains" ) + ("`cy" "cycle" ) + ("`de" "deallocate" ) + ("`df" "define" ) + ("`di" "dimension" ) + ("`dp" "double precision") + ("`dw" "do while" ) + ("`el" "else" ) + ("`eli" "else if" ) + ("`elw" "elsewhere" ) + ("`eq" "equivalence" ) + ("`ex" "external" ) + ("`ey" "entry" ) + ("`fl" "forall" ) + ("`fo" "format" ) + ("`fu" "function" ) + ("`fa" ".false." ) + ("`im" "implicit none") + ("`in" "include" ) + ("`i" "integer" ) + ("`it" "intent" ) + ("`if" "interface" ) + ("`lo" "logical" ) + ("`mo" "module" ) + ("`na" "namelist" ) + ("`nu" "nullify" ) + ("`op" "optional" ) + ("`pa" "parameter" ) + ("`po" "pointer" ) + ("`pr" "print" ) + ("`pi" "private" ) + ("`pm" "program" ) + ("`pu" "public" ) + ("`r" "real" ) + ("`rc" "recursive" ) + ("`rt" "return" ) + ("`rw" "rewind" ) + ("`se" "select" ) + ("`sq" "sequence" ) + ("`su" "subroutine" ) + ("`ta" "target" ) + ("`tr" ".true." ) + ("`t" "type" ) + ("`wh" "where" ) + ("`wr" "write" )))) + - ;;;###autoload (defun f90-mode () "Major mode for editing Fortran 90,95 code in free format. @@ -1007,8 +1009,9 @@ (skip-chars-backward " \t") (bolp))) (f90-calculate-indent)) - (t (skip-chars-backward " \t") - (max (if (bolp) 0 (1+ (current-column))) comment-column)))) + (t (save-excursion + (skip-chars-backward " \t") + (max (if (bolp) 0 (1+ (current-column))) comment-column))))) (defsubst f90-present-statement-cont () "Return continuation properties of present statement. diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/flymake.el --- a/lisp/progmodes/flymake.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/flymake.el Thu Dec 07 04:14:14 2006 +0000 @@ -2,8 +2,8 @@ ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation -;; Author: Pavel Kobiakov -;; Maintainer: Pavel Kobiakov +;; Author: Pavel Kobyakov +;; Maintainer: Pavel Kobyakov ;; Version: 0.3 ;; Keywords: c languages tools @@ -117,6 +117,30 @@ 'line-end-position (lambda (&optional arg) (save-excursion (end-of-line arg) (point))))) +(defun flymake-posn-at-point-as-event (&optional position window dx dy) + "Return pixel position of top left corner of glyph at POSITION, +relative to top left corner of WINDOW, as a mouse-1 click +event (identical to the event that would be triggered by clicking +mouse button 1 at the top left corner of the glyph). + +POSITION and WINDOW default to the position of point in the +selected window. + +DX and DY specify optional offsets from the top left of the glyph." + (unless window (setq window (selected-window))) + (unless position (setq position (window-point window))) + (unless dx (setq dx 0)) + (unless dy (setq dy 0)) + + (let* ((pos (posn-at-point position window)) + (x-y (posn-x-y pos)) + (edges (window-inside-pixel-edges window)) + (win-x-y (window-pixel-edges window))) + ;; adjust for window edges + (setcar (nthcdr 2 pos) + (cons (+ (car x-y) (car edges) (- (car win-x-y)) dx) + (+ (cdr x-y) (cadr edges) (- (cadr win-x-y)) dy))) + (list 'mouse-1 pos))) (defun flymake-popup-menu (menu-data) "Pop up the flymake menu at point, using the data MENU-DATA. @@ -134,7 +158,7 @@ (popup-menu (flymake-make-xemacs-menu menu-data) (make-event 'button-press fake-event-props))) (x-popup-menu (if (eval-when-compile (fboundp 'posn-at-point)) - (posn-at-point) + (flymake-posn-at-point-as-event) (list (flymake-get-point-pixel-pos) (selected-window))) (flymake-make-emacs-menu menu-data)))) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/fortran.el --- a/lisp/progmodes/fortran.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/fortran.el Thu Dec 07 04:14:14 2006 +0000 @@ -385,8 +385,8 @@ "dabs" "cabs" "mod" "amod" "dmod" "isign" "sign" "dsign" "idim" "dim" "ddim" "dprod" "max" "max0" "amax1" "dmax1" "amax0" "max1" - "min0" "amin1" "dmin1" "amin0" "min1" "len" - "index" "lge" "lgt" "lle" "llt" "aimag" + "min" "min0" "amin1" "dmin1" "amin0" "min1" + "len" "index" "lge" "lgt" "lle" "llt" "aimag" "conjg" "sqrt" "dsqrt" "csqrt" "exp" "dexp" "cexp" "log" "alog" "dlog" "clog" "log10" "alog10" "dlog10" "sin" "dsin" "csin" "cos" @@ -604,80 +604,82 @@ (defvar fortran-mode-abbrev-table - (let (abbrevs-changed) + (progn (define-abbrev-table 'fortran-mode-abbrev-table nil) - ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. - ;; Only use `apply' to quieten the byte-compiler. - (mapcar - (function (lambda (element) - (condition-case nil - (apply 'define-abbrev fortran-mode-abbrev-table - (append element '(nil 0 t))) - (wrong-number-of-arguments - (apply 'define-abbrev fortran-mode-abbrev-table - (append element '(nil 0))))))) - '((";au" "automatic" ) - (";b" "byte" ) - (";bd" "block data" ) - (";ch" "character" ) - (";cl" "close" ) - (";c" "continue" ) - (";cm" "common" ) - (";cx" "complex" ) - (";df" "define" ) - (";di" "dimension" ) - (";do" "double" ) - (";dc" "double complex" ) - (";dp" "double precision" ) - (";dw" "do while" ) - (";e" "else" ) - (";ed" "enddo" ) - (";el" "elseif" ) - (";en" "endif" ) - (";eq" "equivalence" ) - (";ew" "endwhere" ) - (";ex" "external" ) - (";ey" "entry" ) - (";f" "format" ) - (";fa" ".false." ) - (";fu" "function" ) - (";g" "goto" ) - (";im" "implicit" ) - (";ib" "implicit byte" ) - (";ic" "implicit complex" ) - (";ich" "implicit character") - (";ii" "implicit integer" ) - (";il" "implicit logical" ) - (";ir" "implicit real" ) - (";inc" "include" ) - (";in" "integer" ) - (";intr" "intrinsic" ) - (";l" "logical" ) - (";n" "namelist" ) - (";o" "open" ) ; was ;op - (";pa" "parameter" ) - (";pr" "program" ) - (";ps" "pause" ) - (";p" "print" ) - (";rc" "record" ) - (";re" "real" ) - (";r" "read" ) - (";rt" "return" ) - (";rw" "rewind" ) - (";s" "stop" ) - (";sa" "save" ) - (";st" "structure" ) - (";sc" "static" ) - (";su" "subroutine" ) - (";tr" ".true." ) - (";ty" "type" ) - (";vo" "volatile" ) - (";w" "write" ) - (";wh" "where" ))) - fortran-mode-abbrev-table)) + fortran-mode-abbrev-table) + "Abbrev table for Fortran mode.") + +(let (abbrevs-changed) + ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. + ;; Only use `apply' to quieten the byte-compiler. + (mapcar + (function (lambda (element) + (condition-case nil + (apply 'define-abbrev fortran-mode-abbrev-table + (append element '(nil 0 t))) + (wrong-number-of-arguments + (apply 'define-abbrev fortran-mode-abbrev-table + (append element '(nil 0))))))) + '((";au" "automatic" ) + (";b" "byte" ) + (";bd" "block data" ) + (";ch" "character" ) + (";cl" "close" ) + (";c" "continue" ) + (";cm" "common" ) + (";cx" "complex" ) + (";df" "define" ) + (";di" "dimension" ) + (";do" "double" ) + (";dc" "double complex" ) + (";dp" "double precision" ) + (";dw" "do while" ) + (";e" "else" ) + (";ed" "enddo" ) + (";el" "elseif" ) + (";en" "endif" ) + (";eq" "equivalence" ) + (";ew" "endwhere" ) + (";ex" "external" ) + (";ey" "entry" ) + (";f" "format" ) + (";fa" ".false." ) + (";fu" "function" ) + (";g" "goto" ) + (";im" "implicit" ) + (";ib" "implicit byte" ) + (";ic" "implicit complex" ) + (";ich" "implicit character") + (";ii" "implicit integer" ) + (";il" "implicit logical" ) + (";ir" "implicit real" ) + (";inc" "include" ) + (";in" "integer" ) + (";intr" "intrinsic" ) + (";l" "logical" ) + (";n" "namelist" ) + (";o" "open" ) ; was ;op + (";pa" "parameter" ) + (";pr" "program" ) + (";ps" "pause" ) + (";p" "print" ) + (";rc" "record" ) + (";re" "real" ) + (";r" "read" ) + (";rt" "return" ) + (";rw" "rewind" ) + (";s" "stop" ) + (";sa" "save" ) + (";st" "structure" ) + (";sc" "static" ) + (";su" "subroutine" ) + (";tr" ".true." ) + (";ty" "type" ) + (";vo" "volatile" ) + (";w" "write" ) + (";wh" "where" )))) - ;;;###autoload (defun fortran-mode () "Major mode for editing Fortran code in fixed format. @@ -968,7 +970,7 @@ (error (error "No room for Fortran window"))) (message "Type SPC to continue editing.") (let ((char (read-event))) - (or (equal char (string-to-char " ")) + (or (equal char ?\s) (setq unread-command-events (list char)))))) (fortran-window-create))) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/gdb-ui.el Thu Dec 07 04:14:14 2006 +0000 @@ -40,8 +40,8 @@ ;; This file has evolved from gdba.el that was included with GDB 5.0 and ;; written by Tom Lord and Jim Kingdon. It uses GDB's annotation interface. ;; You don't need to know about annotations to use this mode as a debugger, -;; but if you are interested developing the mode itself, then see the -;; Annotations section in the GDB info manual. +;; but if you are interested developing the mode itself, see the Annotations +;; section in the GDB info manual. ;; GDB developers plan to make the annotation interface obsolete. A new ;; interface called GDB/MI (machine interface) has been designed to replace @@ -51,9 +51,9 @@ ;; still under development and is part of a process to migrate Emacs from ;; annotations to GDB/MI. -;; This mode SHOULD WORK WITH GDB 5.0 onwards but you will NEED GDB 6.0 -;; onwards to use watch expressions. It works best with GDB 6.4 where -;; watch expressions will update more quickly. +;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST +;; GDB 6.0 to use watch expressions. It works best with GDB 6.4 or later +;; where watch expressions will update more quickly. ;;; Windows Platforms: @@ -81,12 +81,14 @@ ;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed. ;;; Problems with watch expressions, GDB/MI: + ;; 1) They go out of scope when the inferior is re-run. ;; 2) -stack-list-locals has a type field but also prints type in values field. ;; 3) VARNUM increments even when variable object is not created ;; (maybe trivial). ;;; TODO: + ;; 1) Use MI command -data-read-memory for memory window. ;; 2) Use tree-widget.el instead of the speedbar for watch-expressions? ;; 3) Mark breakpoint locations on scroll-bar of source buffer? @@ -871,6 +873,14 @@ (if (string-match (concat (car var) "\\.") (car varchild)) (setq gdb-var-list (delq varchild gdb-var-list))))))))) +(defun gdb-var-delete-children (varnum) + "Delete children of variable object point from the speedbar." + (gdb-enqueue-input + (list + (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) + (concat "server interpreter mi \"-var-delete -c " varnum "\"\n") + (concat "-var-delete -c " varnum "\n")) 'ignore))) + (defun gdb-edit-value (text token indent) "Assign a value to a variable displayed in the speedbar." (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) @@ -914,6 +924,7 @@ (dolist (var gdb-var-list) (if (string-match (concat token "\\.") (car var)) (setq gdb-var-list (delq var gdb-var-list)))) + (gdb-var-delete-children token) (speedbar-change-expand-button-char ?+) (speedbar-delete-subblock indent)) (t (error "Ooops... not sure what to do"))) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/gud.el --- a/lisp/progmodes/gud.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/gud.el Thu Dec 07 04:14:14 2006 +0000 @@ -394,8 +394,6 @@ (define-key gud-speedbar-key-map "e" 'speedbar-edit-line) (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line) (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion) - (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants) - (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants) (define-key gud-speedbar-key-map "D" 'gdb-var-delete) (define-key gud-speedbar-key-map "p" 'gud-pp)) @@ -624,7 +622,7 @@ ;; Does the remaining text look like it might end with the ;; beginning of another marker? If it does, then keep it in - ;; gud-marker-acc until we receive the rest of it. Since we + ;; gud-marker-acc until we receive the rest of it. Since we ;; know the full marker regexp above failed, it's pretty simple to ;; test for marker starts. (if (string-match "\n\\(\032.*\\)?\\'" gud-marker-acc) @@ -680,15 +678,19 @@ default this command starts GDB using a graphical interface. See `gdba' for more information. -To run GDB in text command mode, set `gud-gdb-command-name' to -\"gdb --fullname\" and include the pathname, if necessary." +To run GDB in text command mode, replace the GDB \"--annotate=3\" +option with \"--fullname\" either in the minibuffer for the +current Emacs session, or the custom variable +`gud-gdb-command-name' for all future sessions. You need to use +text command mode to debug multiple programs within one Emacs +session." (interactive (list (gud-query-cmdline 'gdb))) (if (and gud-comint-buffer (buffer-name gud-comint-buffer) (get-buffer-process gud-comint-buffer) (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))) - (error "Multiple debugging is only supported with \"gdb --fullname\"")) + (error "Multiple debugging requires restarting in text command mode")) (gud-common-init command-line nil 'gud-gdb-marker-filter) (set (make-local-variable 'gud-minor-mode) 'gdb) @@ -1457,7 +1459,7 @@ ;; Does the remaining text look like it might end with the ;; beginning of another marker? If it does, then keep it in - ;; gud-marker-acc until we receive the rest of it. Since we + ;; gud-marker-acc until we receive the rest of it. Since we ;; know the full marker regexp above failed, it's pretty simple to ;; test for marker starts. (if (string-match "\032.*\\'" gud-marker-acc) @@ -1562,7 +1564,7 @@ ;; Does the remaining text look like it might end with the ;; beginning of another marker? If it does, then keep it in - ;; gud-marker-acc until we receive the rest of it. Since we + ;; gud-marker-acc until we receive the rest of it. Since we ;; know the full marker regexp above failed, it's pretty simple to ;; test for marker starts. (if (string-match gud-pdb-marker-regexp-start gud-marker-acc) @@ -1861,7 +1863,7 @@ (forward-char)) (forward-char)) -;; Move point past the following block. There may be (legal) cruft before +;; Move point past the following block. There may be (legal) cruft before ;; the block's opening brace. There must be a block or it's the end of life ;; in petticoat junction. (defun gud-jdb-skip-block () @@ -2049,7 +2051,7 @@ massaged-args))) ;; Search for an association with P, a fully qualified class name, in -;; gud-jdb-class-source-alist. The asssociation gives the fully +;; gud-jdb-class-source-alist. The asssociation gives the fully ;; qualified file name of the source file which produced the class. (defun gud-jdb-find-source-file (p) (cdr (assoc p gud-jdb-class-source-alist))) @@ -2217,7 +2219,7 @@ (defun jdb (command-line) "Run jdb with command line COMMAND-LINE in a buffer. The buffer is named \"*gud*\" if no initial class is given or -\"*gud-*\" if there is. If the \"-classpath\" +\"*gud-*\" if there is. If the \"-classpath\" switch is given, omit all whitespace between it and its value. See `gud-jdb-use-classpath' and `gud-jdb-classpath' documentation for @@ -2794,7 +2796,7 @@ (cond ((or (< pos (point-min)) (> pos (point-max))) (widen) (goto-char pos)))) - (when window + (when window (set-window-point window gud-overlay-arrow-position) (if (memq gud-minor-mode '(gdbmi gdba)) (setq gdb-source-window window))))))) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/hideshow.el --- a/lisp/progmodes/hideshow.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/hideshow.el Thu Dec 07 04:14:14 2006 +0000 @@ -706,6 +706,7 @@ (if (and c-reg (nth 0 c-reg)) ;; point is inside a comment, and that comment is hidable (goto-char (nth 0 c-reg)) + (end-of-line) (when (and (not c-reg) (hs-find-block-beginning) (looking-at hs-block-start-regexp)) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/idlwave.el --- a/lisp/progmodes/idlwave.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/idlwave.el Thu Dec 07 04:14:14 2006 +0000 @@ -3486,8 +3486,6 @@ (idlwave-indent-line) ;; Prevent actions do-auto-fill which calls indent-line-function. (let (idlwave-do-actions - (paragraph-start ".") - (paragraph-separate ".") (fill-nobreak-predicate (if (and (idlwave-in-quote) idlwave-auto-fill-split-string) @@ -4653,7 +4651,11 @@ props (car (cdr pelem))) (cond ((eq ptype 'SUPERCLASS) - (push (cdr (assq 'name props)) inherits)) + (let ((pname (cdr (assq 'name props))) + (plink (cdr (assq 'link props)))) + (unless (and (string= pname "None") + (string= plink "None")) + (push pname inherits)))) ((eq ptype 'PROPERTY) (let ((pname (cdr (assq 'name props))) diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/octave-mod.el --- a/lisp/progmodes/octave-mod.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/octave-mod.el Thu Dec 07 04:14:14 2006 +0000 @@ -61,37 +61,38 @@ Used in `octave-mode' and inferior-octave-mode buffers. All Octave abbrevs start with a grave accent (`).") (unless octave-abbrev-table - (let ((ac abbrevs-changed)) - (define-abbrev-table 'octave-abbrev-table ()) - (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t) - (define-abbrev octave-abbrev-table "`b" "break" nil 0 t) - (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t) - (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t) - (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t) - (define-abbrev octave-abbrev-table "`el" "else" nil 0 t) - (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t) - (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t) - (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t) - (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t) - (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t) - (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t) - (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t) - (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t) - (define-abbrev octave-abbrev-table "`f" "for" nil 0 t) - (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t) - (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t) - (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t) - (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t) - (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t) - (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t) - (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t) - (define-abbrev octave-abbrev-table "`r" "return" nil 0 t) - (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t) - (define-abbrev octave-abbrev-table "`t" "try" nil 0 t) - (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t) - (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t) - (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t) - (setq abbrevs-changed ac))) + (define-abbrev-table 'octave-abbrev-table ())) + +(let ((ac abbrevs-changed)) + (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t) + (define-abbrev octave-abbrev-table "`b" "break" nil 0 t) + (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t) + (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t) + (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t) + (define-abbrev octave-abbrev-table "`el" "else" nil 0 t) + (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t) + (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t) + (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t) + (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t) + (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t) + (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t) + (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t) + (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t) + (define-abbrev octave-abbrev-table "`f" "for" nil 0 t) + (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t) + (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t) + (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t) + (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t) + (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t) + (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t) + (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t) + (define-abbrev octave-abbrev-table "`r" "return" nil 0 t) + (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t) + (define-abbrev octave-abbrev-table "`t" "try" nil 0 t) + (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t) + (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t) + (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t) + (setq abbrevs-changed ac)) (defvar octave-comment-char ?# "Character to start an Octave comment.") diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/python.el --- a/lisp/progmodes/python.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/python.el Thu Dec 07 04:14:14 2006 +0000 @@ -408,6 +408,7 @@ See also `\\[python-guess-indent]'" :group 'python :type 'integer) +(put 'python-indent 'safe-local-variable 'integerp) (defcustom python-guess-indent t "Non-nil means Python mode guesses `python-indent' for the buffer." diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/sql.el --- a/lisp/progmodes/sql.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/sql.el Thu Dec 07 04:14:14 2006 +0000 @@ -847,23 +847,24 @@ (defvar sql-mode-abbrev-table nil "Abbrev table used in `sql-mode' and `sql-interactive-mode'.") (unless sql-mode-abbrev-table - (define-abbrev-table 'sql-mode-abbrev-table nil) - (mapcar - ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev. - '(lambda (abbrev) - (let ((name (car abbrev)) - (expansion (cdr abbrev))) - (condition-case nil - (define-abbrev sql-mode-abbrev-table name expansion nil 0 t) - (error - (define-abbrev sql-mode-abbrev-table name expansion))))) - '(("ins" "insert") - ("upd" "update") - ("del" "delete") - ("sel" "select") - ("proc" "procedure") - ("func" "function") - ("cr" "create")))) + (define-abbrev-table 'sql-mode-abbrev-table nil)) + +(mapcar + ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev. + '(lambda (abbrev) + (let ((name (car abbrev)) + (expansion (cdr abbrev))) + (condition-case nil + (define-abbrev sql-mode-abbrev-table name expansion nil 0 t) + (error + (define-abbrev sql-mode-abbrev-table name expansion))))) + '(("ins" "insert") + ("upd" "update") + ("del" "delete") + ("sel" "select") + ("proc" "procedure") + ("func" "function") + ("cr" "create"))) ;; Syntax Table diff -r 06937e972ad0 -r f1d13e615070 lisp/progmodes/vhdl-mode.el --- a/lisp/progmodes/vhdl-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/progmodes/vhdl-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,12 +1,13 @@ ;;; vhdl-mode.el --- major mode for editing VHDL code -;; Copyright (C) 1992-2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Authors: Reto Zimmermann ;; Rodney J. Whitby ;; Maintainer: Reto Zimmermann ;; Keywords: languages vhdl -;; WWW: http://opensource.ethz.ch/emacs/vhdl-mode.html +;; WWW: http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html (defconst vhdl-version "3.33.6" "VHDL Mode version number.") @@ -2892,7 +2893,6 @@ (defun vhdl-mode-abbrev-table-init () "Initialize `vhdl-mode-abbrev-table'." - (when vhdl-mode-abbrev-table (clear-abbrev-table vhdl-mode-abbrev-table)) (define-abbrev-table 'vhdl-mode-abbrev-table (append (when (memq 'vhdl vhdl-electric-keywords) diff -r 06937e972ad0 -r f1d13e615070 lisp/register.el --- a/lisp/register.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/register.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; register.el --- register commands for Emacs -;; Copyright (C) 1985, 1993, 1994, 2002, 2003, 2004, +;; Copyright (C) 1985, 1993, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/repeat.el --- a/lisp/repeat.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/repeat.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; repeat.el --- convenient way to repeat the previous command -;; Copyright (C) 1998, 2002, 2003, 2004, 2005, +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Will Mengarini diff -r 06937e972ad0 -r f1d13e615070 lisp/reposition.el --- a/lisp/reposition.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/reposition.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; reposition.el --- center a Lisp function or comment on the screen -;; Copyright (C) 1991, 1994, 2002, 2003, 2004, +;; Copyright (C) 1991, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Michael D. Ernst diff -r 06937e972ad0 -r f1d13e615070 lisp/resume.el --- a/lisp/resume.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/resume.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; resume.el --- process command line args from within a suspended Emacs job -;; Copyright (C) 1992, 2002, 2003, 2004, 2005, +;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Joe Wells @@ -52,7 +52,7 @@ "*This file is where arguments are placed for a suspended Emacs job.") (defvar resume-emacs-args-buffer " *Command Line Args*" - "Buffer that is used by resume-process-args.") + "Buffer that is used by `resume-process-args'.") (defun resume-process-args () "Handler for command line args given when Emacs is resumed." diff -r 06937e972ad0 -r f1d13e615070 lisp/rot13.el --- a/lisp/rot13.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/rot13.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ -;;; rot13.el --- display a buffer in rot13 +;;; rot13.el --- display a buffer in ROT13 -;; Copyright (C) 1988, 2002, 2003, 2004, 2005, +;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Howard Gayle @@ -27,7 +27,7 @@ ;; The entry point, `rot13-other-window', performs a Caesar cipher ;; encrypt/decrypt on the current buffer and displays the result in another -;; window. Rot13 encryption is sometimes used on USENET as a read-at-your- +;; window. ROT13 encryption is sometimes used on USENET as a read-at-your- ;; own-risk wrapper for material some might consider offensive, such as ;; ethnic humor. ;; @@ -48,7 +48,7 @@ (aset table (+ i ?A) (vector (+ (% (+ i 13) 26) ?A))) (setq i (1+ i))) table) - "Char table for rot 13 display.") + "Char table for ROT13 display.") (defvar rot13-translate-table (let ((str (make-string 127 0)) @@ -62,11 +62,11 @@ (aset str (+ i ?A) (+ (% (+ i 13) 26) ?A)) (setq i (1+ i))) str) - "String table for rot 13 translation.") + "String table for ROT13 translation.") ;;;###autoload (defun rot13 (object &optional start end) - "Return Rot13 encryption of OBJECT, a buffer or string." + "Return ROT13 encryption of OBJECT, a buffer or string." (if (bufferp object) (with-current-buffer object (rot13-region start end)) @@ -74,7 +74,7 @@ ;;;###autoload (defun rot13-string (string) - "Return Rot13 encryption of STRING." + "Return ROT13 encryption of STRING." (with-temp-buffer (insert string) (rot13-region (point-min) (point-max)) @@ -82,18 +82,18 @@ ;;;###autoload (defun rot13-region (start end) - "Rot13 encrypt the region between START and END in current buffer." + "ROT13 encrypt the region between START and END in current buffer." (interactive "r") (translate-region start end rot13-translate-table)) ;;;###autoload (defun rot13-other-window () - "Display current buffer in rot 13 in another window. + "Display current buffer in ROT13 in another window. The text itself is not modified, only the way it is displayed is affected. -To terminate the rot13 display, delete that window. As long as that window +To terminate the ROT13 display, delete that window. As long as that window is not deleted, any buffer displayed in it will become instantly encoded -in rot 13. +in ROT13. See also `toggle-rot13-mode'." (interactive) @@ -102,7 +102,7 @@ ;;;###autoload (defun toggle-rot13-mode () - "Toggle the use of rot 13 encoding for the current window." + "Toggle the use of ROT13 encoding for the current window." (interactive) (if (eq (window-display-table (selected-window)) rot13-display-table) (set-window-display-table (selected-window) nil) diff -r 06937e972ad0 -r f1d13e615070 lisp/s-region.el --- a/lisp/s-region.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/s-region.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; s-region.el --- set region using shift key -;; Copyright (C) 1994, 1995, 2002, 2003, 2004, +;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Morten Welinder diff -r 06937e972ad0 -r f1d13e615070 lisp/sb-image.el --- a/lisp/sb-image.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/sb-image.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; sb-image --- Image management for speedbar -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam diff -r 06937e972ad0 -r f1d13e615070 lisp/scroll-all.el --- a/lisp/scroll-all.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/scroll-all.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; scroll-all.el --- scroll all buffers together minor mode -;; Copyright (C) 1997, 2002, 2003, 2004, 2005, +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Gary D. Foster @@ -28,7 +28,7 @@ ;; up or down lines in any buffer causes all the buffers to mirror ;; the scrolling. It hooks into the post-command-hook to check for ;; potential scrolling commands and if we're locked, mirrors them in all -;; windows. This allows us to grab line-at-a-time scrolling as well as +;; windows. This allows us to grab line-at-a-time scrolling as well as ;; screen-at-a-time scrolling, and doesn't remap any of the keyboard ;; commands to do it. diff -r 06937e972ad0 -r f1d13e615070 lisp/select.el --- a/lisp/select.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/select.el Thu Dec 07 04:14:14 2006 +0000 @@ -3,7 +3,7 @@ ;; Maintainer: FSF ;; Keywords: internal -;; Copyright (C) 1993, 1994, 2002, 2003, 2004, +;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Based partially on earlier release by Lucid. diff -r 06937e972ad0 -r f1d13e615070 lisp/server.el --- a/lisp/server.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/server.el Thu Dec 07 04:14:14 2006 +0000 @@ -113,23 +113,23 @@ (put 'server-auth-dir 'risky-local-variable t) (defcustom server-raise-frame t - "*If non-nil, raise frame when switching to a buffer." + "If non-nil, raise frame when switching to a buffer." :group 'server :type 'boolean :version "22.1") (defcustom server-visit-hook nil - "*Hook run when visiting a file for the Emacs server." + "Hook run when visiting a file for the Emacs server." :group 'server :type 'hook) (defcustom server-switch-hook nil - "*Hook run when switching to a buffer for the Emacs server." + "Hook run when switching to a buffer for the Emacs server." :group 'server :type 'hook) (defcustom server-done-hook nil - "*Hook run when done editing a buffer for the Emacs server." + "Hook run when done editing a buffer for the Emacs server." :group 'server :type 'hook) @@ -149,7 +149,7 @@ (put 'server-buffer-clients 'permanent-local t) (defcustom server-window nil - "*Specification of the window to use for selecting Emacs server buffers. + "Specification of the window to use for selecting Emacs server buffers. If nil, use the selected window. If it is a function, it should take one argument (a buffer) and display and select it. A common value is `pop-to-buffer'. @@ -168,14 +168,14 @@ (function :tag "Other function"))) (defcustom server-temp-file-regexp "^/tmp/Re\\|/draft$" - "*Regexp matching names of temporary files. + "Regexp matching names of temporary files. These are deleted and reused after each edit by the programs that invoke the Emacs server." :group 'server :type 'regexp) (defcustom server-kill-new-buffers t - "*Whether to kill buffers when done with them. + "Whether to kill buffers when done with them. If non-nil, kill a buffer unless it already existed before editing it with Emacs server. If nil, kill only buffers as specified by `server-temp-file-regexp'. @@ -403,6 +403,16 @@ (when prev (setq string (concat prev string)) (process-put proc :previous-string nil))) + (when (> (recursion-depth) 0) + ;; We're inside a minibuffer already, so if the emacs-client is trying + ;; to open a frame on a new display, we might end up with an unusable + ;; frame because input from that display will be blocked (until exiting + ;; the minibuffer). Better exit this minibuffer right away. + ;; Similarly with recursive-edits such as the splash screen. + (process-put proc :previous-string string) + (run-with-timer 0 nil (lexical-let ((proc proc)) + (lambda () (server-process-filter proc "")))) + (top-level)) ;; If the input is multiple lines, ;; process each line individually. (while (string-match "\n" string) diff -r 06937e972ad0 -r f1d13e615070 lisp/shell.el --- a/lisp/shell.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/shell.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; shell.el --- specialized comint.el for running the shell -;; Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 2000, +;; Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 2000, 2001, ;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Olin Shivers @@ -521,9 +521,9 @@ Program used comes from variable `explicit-shell-file-name', or (if that is nil) from the ESHELL environment variable, or else from SHELL if there is no ESHELL. -If a file `~/.emacs_SHELLNAME' exists, it is given as initial input - (Note that this may lose due to a timing error if the shell - discards input when it starts up.) +If a file `~/.emacs_SHELLNAME' exists, or `~/.emacs.d/init_SHELLNAME.sh', +it is given as initial input (Note that this may lose due to a timing +error if the shell discards input when it starts up). The buffer is put in Shell mode, giving commands for sending input and controlling the subjobs of the shell. See `shell-mode'. See also the variable `shell-prompt-pattern'. @@ -556,8 +556,8 @@ (name (file-name-nondirectory prog)) (startfile (concat "~/.emacs_" name)) (xargs-name (intern-soft (concat "explicit-" name "-args")))) - (if (not (file-exists-p startfile)) - (setq startfile (concat "~/.emacs.d/.emacs_" name))) + (unless (file-exists-p startfile) + (setq startfile (concat "~/.emacs.d/init_" name ".sh"))) (apply 'make-comint-in-buffer "shell" buffer prog (if (file-exists-p startfile) startfile) (if (and xargs-name (boundp xargs-name)) diff -r 06937e972ad0 -r f1d13e615070 lisp/simple.el --- a/lisp/simple.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/simple.el Thu Dec 07 04:14:14 2006 +0000 @@ -262,10 +262,10 @@ (next-error-buffer-p (current-buffer) nil extra-test-inclusive extra-test-exclusive) (progn - (message "This is the only next-error capable buffer") + (message "This is the only buffer with error message locations") (current-buffer))) ;; 6. Give up. - (error "No next-error capable buffer found"))) + (error "No buffers contain error message locations"))) (defun next-error (&optional arg reset) "Visit next `next-error' message and corresponding source code. @@ -4329,7 +4329,7 @@ (defvaralias 'default-indicate-unused-lines 'default-indicate-empty-lines) (defun toggle-truncate-lines (&optional arg) - "Toggle whether to fold or truncate long lines on the screen. + "Toggle whether to fold or truncate long lines for the current buffer. With arg, truncate long lines iff arg is positive. Note that in side-by-side windows, truncation is always enabled." (interactive "P") diff -r 06937e972ad0 -r f1d13e615070 lisp/skeleton.el --- a/lisp/skeleton.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/skeleton.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; skeleton.el --- Lisp language extension for writing statement skeletons -;; Copyright (C) 1993, 1994, 1995, 1996, 2002, 2003, +;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer diff -r 06937e972ad0 -r f1d13e615070 lisp/sort.el --- a/lisp/sort.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/sort.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; sort.el --- commands to sort text in an Emacs buffer -;; Copyright (C) 1986, 1987, 1994, 1995, 2002, 2003, +;; Copyright (C) 1986, 1987, 1994, 1995, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Howie Kaye @@ -248,7 +248,7 @@ (while (< i 256) (modify-syntax-entry i "w" table) (setq i (1+ i))) - (modify-syntax-entry ?\ " " table) + (modify-syntax-entry ?\s " " table) (modify-syntax-entry ?\t " " table) (modify-syntax-entry ?\n " " table) (modify-syntax-entry ?\. "_" table) ; for floating pt. numbers. -wsr diff -r 06937e972ad0 -r f1d13e615070 lisp/soundex.el --- a/lisp/soundex.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/soundex.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; soundex.el --- implement Soundex algorithm -;; Copyright (C) 1993, 2002, 2003, 2004, 2005, +;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Christian Plaunt diff -r 06937e972ad0 -r f1d13e615070 lisp/speedbar.el --- a/lisp/speedbar.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/speedbar.el Thu Dec 07 04:14:14 2006 +0000 @@ -2681,7 +2681,15 @@ "Updating speedbar to special mode: %s...done" major-mode) (speedbar-message nil)))) - (speedbar-update-localized-contents)) + + ;; Update all the contents if directories change! + (unless (and (or (member major-mode speedbar-ignored-modes) + (eq af (speedbar-current-frame)) + (not (buffer-file-name))) + ;; Always update for GUD. + (not (string-equal "GUD" + speedbar-initial-expansion-list-name))) + (speedbar-update-localized-contents))) (select-frame af)) ;; Now run stealthy updates of time-consuming items (speedbar-stealthy-updates))))) diff -r 06937e972ad0 -r f1d13e615070 lisp/startup.el --- a/lisp/startup.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/startup.el Thu Dec 07 04:14:14 2006 +0000 @@ -1376,7 +1376,7 @@ timer) (save-selected-window (select-frame frame) - (switch-to-buffer "GNU Emacs") + (switch-to-buffer " GNU Emacs") (setq splash-buffer (current-buffer)) (catch 'stop-splashing (unwind-protect diff -r 06937e972ad0 -r f1d13e615070 lisp/strokes.el --- a/lisp/strokes.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/strokes.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; strokes.el --- control Emacs through mouse strokes -;; Copyright (C) 1997, 2000, 2002, 2003, 2004, +;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: David Bakhash diff -r 06937e972ad0 -r f1d13e615070 lisp/subr.el --- a/lisp/subr.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/subr.el Thu Dec 07 04:14:14 2006 +0000 @@ -1892,7 +1892,7 @@ input (as a command if nothing else). Display MESSAGE (optional fourth arg) in the echo area. If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." - (or exit-char (setq exit-char ?\ )) + (or exit-char (setq exit-char ?\s)) (let ((inhibit-read-only t) ;; Don't modify the undo list at all. (buffer-undo-list t) diff -r 06937e972ad0 -r f1d13e615070 lisp/tabify.el --- a/lisp/tabify.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/tabify.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; tabify.el --- tab conversion commands for Emacs -;; Copyright (C) 1985, 1994, 2002, 2003, 2004, +;; Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -52,7 +52,7 @@ (defvar tabify-regexp " [ \t]+" "Regexp matching whitespace that tabify should consider. -Usually this will be \" [ \\t]+\" to match two or more spaces or tabs. +Usually this will be \" [ \\t]+\" to match a space followed by whitespace. \"^\\t* [ \\t]+\" is also useful, for tabifying only initial whitespace.") ;;;###autoload diff -r 06937e972ad0 -r f1d13e615070 lisp/talk.el --- a/lisp/talk.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/talk.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; talk.el --- allow several users to talk to each other through Emacs -;; Copyright (C) 1995, 2002, 2003, 2004, 2005, +;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/tar-mode.el --- a/lisp/tar-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/tar-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -361,7 +361,7 @@ ((eq type 29) ?M) ; multivolume continuation ((eq type 35) ?S) ; sparse ((eq type 38) ?V) ; volume header - (t ?\ ) + (t ?\s) ) (tar-grind-file-mode mode) (if (= 0 (length uname)) uid uname) @@ -937,7 +937,7 @@ (save-excursion (goto-char (point-min)) (while (< (point) tar-header-offset) - (if (not (eq (following-char) ?\ )) + (if (not (eq (following-char) ?\s)) (progn (delete-char 1) (insert " "))) (forward-line 1)))) diff -r 06937e972ad0 -r f1d13e615070 lisp/tempo.el --- a/lisp/tempo.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/tempo.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; tempo.el --- Flexible template insertion -;; Copyright (C) 1994, 1995, 2002, 2003, 2004, +;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: David K}gedal diff -r 06937e972ad0 -r f1d13e615070 lisp/term.el --- a/lisp/term.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/term.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; term.el --- general command interpreter in a window stuff -;; Copyright (C) 1988, 1990, 1992, 1994, 1995, 2002, 2003, +;; Copyright (C) 1988, 1990, 1992, 1994, 1995, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Per Bothner @@ -1420,8 +1420,12 @@ (format "TERMINFO=%s" data-directory) (format term-termcap-format "TERMCAP=" term-term-name term-height term-width) - ;; Breaks `./configure' of w3 and url which try to run $EMACS. + ;; We are going to get rid of the binding for EMACS, + ;; probably in Emacs 23, because it breaks + ;; `./configure' of some packages that expect it to + ;; say where to find EMACS. (format "EMACS=%s (term:%s)" emacs-version term-protocol-version) + (format "INSIDE_EMACS=%s,term:%s" emacs-version term-protocol-version) (format "LINES=%d" term-height) (format "COLUMNS=%d" term-width)) process-environment)) diff -r 06937e972ad0 -r f1d13e615070 lisp/terminal.el --- a/lisp/terminal.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/terminal.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; terminal.el --- terminal emulator for GNU Emacs -;; Copyright (C) 1986, 1987, 1988, 1989, 1993, 1994, 2002, 2003, +;; Copyright (C) 1986, 1987, 1988, 1989, 1993, 1994, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Richard Mlynarik @@ -567,10 +567,10 @@ (let ((p (point))) (cond ((search-forward "\n" (+ p width) 'move) (forward-char -1) - (insert-char ?\ (- width (- (point) p))) + (insert-char ?\s (- width (- (point) p))) (forward-char 1)) ((eobp) - (insert-char ?\ (- width (- (point) p)))) + (insert-char ?\s (- width (- (point) p)))) ((= (following-char) ?\n) (forward-char 1)) (t @@ -642,7 +642,7 @@ (forward-char 1) (delete-region (point) (+ (point) (length terminal-more-break-insertion))) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (goto-char te-more-old-point))) (setq te-more-old-point nil) (let ((te-more-count 259259)) @@ -693,7 +693,7 @@ (insert ?\n)))) (forward-char 1) (delete-region (point) (+ (point) te-width))) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (beginning-of-line) (te-set-window-start)) @@ -717,7 +717,7 @@ (save-excursion (let ((n (- (point) (progn (end-of-line) (point))))) (delete-region (point) (+ (point) n)) - (insert-char ?\ (- n))))) + (insert-char ?\s (- n))))) ;; ^p C @@ -727,7 +727,7 @@ (while (progn (end-of-line) (not (eobp))) (forward-char 1) (end-of-line) (delete-region (- (point) te-width) (point)) - (insert-char ?\ te-width)))) + (insert-char ?\s te-width)))) ;; ^p ^l @@ -737,7 +737,7 @@ (let ((i 0)) (while (< i te-height) (setq i (1+ i)) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (insert ?\n))) (delete-region (1- (point-max)) (point-max)) (goto-char (point-min)) @@ -750,13 +750,13 @@ ();(error "fooI") (save-excursion (let* ((line (- te-height (/ (- (point) (point-min)) (1+ te-width)) -1)) - (n (min (- (te-get-char) ?\ ) line)) + (n (min (- (te-get-char) ?\s) line)) (i 0)) (delete-region (- (point-max) (* n (1+ te-width))) (point-max)) (if (eq (point) (point-max)) (insert ?\n)) (while (< i n) (setq i (1+ i)) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (or (eq i line) (insert ?\n)))))) (setq te-more-count -1)) @@ -766,7 +766,7 @@ (if (not (bolp)) ();(error "fooD") (let* ((line (- te-height (/ (- (point) (point-min)) (1+ te-width)) -1)) - (n (min (- (te-get-char) ?\ ) line)) + (n (min (- (te-get-char) ?\s) line)) (i 0)) (delete-region (point) (min (+ (point) (* n (1+ te-width))) (point-max))) @@ -774,7 +774,7 @@ (goto-char (point-max)) (while (< i n) (setq i (1+ i)) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (or (eq i line) (insert ?\n)))))) (setq te-more-count -1)) @@ -798,7 +798,7 @@ (if (bolp) () (delete-region (1- (point)) (point)) - (insert ?\ ) + (insert ?\s) (forward-char -1))) ;; ^p ^g @@ -815,7 +815,7 @@ nil (delete-char (- n)) (goto-char p) - (insert-char ?\ n)) + (insert-char ?\s n)) (goto-char p))) ;; ^p d count+32 (should be ^p ^d but cretinous un*x won't send ^d chars!!!) @@ -825,7 +825,7 @@ (- (progn (end-of-line) (point)) p)))) (if (<= n 0) nil - (insert-char ?\ n) + (insert-char ?\s n) (goto-char p) (delete-char n)) (goto-char p))) @@ -862,7 +862,7 @@ (delete-char 1) (goto-char (point-max)) (insert ?\n) - (insert-char ?\ te-width) + (insert-char ?\s te-width) (beginning-of-line)) (forward-line 1)) (move-to-column column)) diff -r 06937e972ad0 -r f1d13e615070 lisp/textmodes/org.el --- a/lisp/textmodes/org.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/textmodes/org.el Thu Dec 07 04:14:14 2006 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ -;; Version: 4.56 +;; Version: 4.56b ;; ;; This file is part of GNU Emacs. ;; @@ -101,6 +101,7 @@ (eval-when-compile (require 'cl) + (require 'gnus-sum) (require 'calendar)) ;; For XEmacs, noutline is not yet provided by outline.el, so arrange for ;; the file noutline.el being loaded. @@ -113,7 +114,7 @@ ;;; Customization variables -(defvar org-version "4.56" +(defvar org-version "4.56b" "The version number of the file org.el.") (defun org-version () (interactive) diff -r 06937e972ad0 -r f1d13e615070 lisp/textmodes/sgml-mode.el --- a/lisp/textmodes/sgml-mode.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/textmodes/sgml-mode.el Thu Dec 07 04:14:14 2006 +0000 @@ -263,7 +263,10 @@ (1 (if (match-end 2) sgml-namespace-face font-lock-function-name-face)) (2 font-lock-function-name-face nil t)) ;; FIXME: this doesn't cover the variables using a default value. - (,(concat "\\(" sgml-namespace-re "\\)\\(?::\\(" + ;; The first shy-group is an important anchor: it prevents an O(n^2) + ;; pathological case where we otherwise keep retrying a failing match + ;; against a very long word at every possible position within the word. + (,(concat "\\(?:^\\|[ \t]\\)\\(" sgml-namespace-re "\\)\\(?::\\(" sgml-name-re "\\)\\)?=[\"']") (1 (if (match-end 2) sgml-namespace-face font-lock-variable-name-face)) (2 font-lock-variable-name-face nil t)) diff -r 06937e972ad0 -r f1d13e615070 lisp/thingatpt.el --- a/lisp/thingatpt.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/thingatpt.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; thingatpt.el --- get the `thing' at point -;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000 -;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, +;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Mike Williams ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/time-stamp.el --- a/lisp/time-stamp.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/time-stamp.el Thu Dec 07 04:14:14 2006 +0000 @@ -491,7 +491,7 @@ (or (eq ?. cur-char) (eq ?, cur-char) (eq ?: cur-char) (eq ?@ cur-char) (eq ?- cur-char) (eq ?+ cur-char) (eq ?_ cur-char) - (eq ?\ cur-char) (eq ?# cur-char) (eq ?^ cur-char) + (eq ?\s cur-char) (eq ?# cur-char) (eq ?^ cur-char) (and (eq ?\( cur-char) (not (eq prev-char ?\\)) (setq paren-level (1+ paren-level))) @@ -712,21 +712,14 @@ ;;; These functions have been obsolete since 1995 ;;; and will be removed in Emacs 23. ;;; Meanwhile, discourage other packages from using them. -(let ((obsolete-functions '(time-stamp-month-dd-yyyy - time-stamp-dd/mm/yyyy - time-stamp-mon-dd-yyyy - time-stamp-dd-mon-yy - time-stamp-yy/mm/dd - time-stamp-yyyy/mm/dd - time-stamp-yyyy-mm-dd - time-stamp-yymmdd - time-stamp-hh:mm:ss - time-stamp-hhmm))) - (while obsolete-functions - (make-obsolete (car obsolete-functions) - "use time-stamp-string or format-time-string instead." - "20.1") - (setq obsolete-functions (cdr obsolete-functions)))) +(dolist (function '(time-stamp-month-dd-yyyy time-stamp-dd/mm/yyyy + time-stamp-mon-dd-yyyy time-stamp-dd-mon-yy + time-stamp-yy/mm/dd time-stamp-yyyy/mm/dd + time-stamp-yyyy-mm-dd time-stamp-yymmdd + time-stamp-hh:mm:ss time-stamp-hhmm)) + (make-obsolete function + "use `time-stamp-string' or `format-time-string' instead." + "20.1")) ;;; pretty form, suitable for a title page diff -r 06937e972ad0 -r f1d13e615070 lisp/timezone.el --- a/lisp/timezone.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/timezone.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; timezone.el --- time zone package for GNU Emacs -;; Copyright (C) 1990, 1991, 1992, 1993, 1996, 1999, 2002, 2003, +;; Copyright (C) 1990, 1991, 1992, 1993, 1996, 1999, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Masanobu Umeda diff -r 06937e972ad0 -r f1d13e615070 lisp/tmm.el --- a/lisp/tmm.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/tmm.el Thu Dec 07 04:14:14 2006 +0000 @@ -305,7 +305,7 @@ (if char (setq tmm-short-cuts (cons char tmm-short-cuts))) (cons (concat (if char (concat (char-to-string char) tmm-mid-prompt) ;; keep them lined up in columns - (make-string (1+ (length tmm-mid-prompt)) ?\ )) + (make-string (1+ (length tmm-mid-prompt)) ?\s)) str) (cdr elt)))))) diff -r 06937e972ad0 -r f1d13e615070 lisp/tutorial.el --- a/lisp/tutorial.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/tutorial.el Thu Dec 07 04:14:14 2006 +0000 @@ -255,6 +255,7 @@ (backward-sentence [?\M-a]) (forward-sentence [?\M-e]) + (newline "\r") (beginning-of-buffer [?\M-<]) (end-of-buffer [?\M->]) @@ -280,6 +281,7 @@ ;; C-u 8 * to insert ********. (delete-backward-char [backspace]) + (delete-backward-char "\d") (delete-char [?\C-d]) (backward-kill-word [(meta backspace)]) @@ -375,7 +377,10 @@ ;;(tutorial-arg (button-get button 'tutorial-arg)) (explain-key-desc (button-get button 'explain-key-desc)) (changed-keys (with-current-buffer tutorial-buffer - (tutorial--find-changed-keys tutorial--default-keys)))) + (save-excursion + (goto-char (point-min)) + (tutorial--find-changed-keys + tutorial--default-keys))))) (when changed-keys (insert "The following key bindings used in the tutorial had been changed @@ -416,7 +421,10 @@ (when (listp where) (setq where "list")) ;; Tell where the old binding is now: - (insert (format " %-11s " where)) + (insert (format " %-11s " + (if (string= "" where) + (format "M-x %s" def-fun-txt) + where))) ;; Insert a link with more information, for example ;; current binding and keymap or information about ;; cua-mode replacements: @@ -616,14 +624,21 @@ (let ((here (point)) (case-fold-search nil) (key-desc (key-description key))) + (cond ((string= "ESC" key-desc) + (setq key-desc "")) + ((string= "RET" key-desc) + (setq key-desc "")) + ((string= "DEL" key-desc) + (setq key-desc ""))) (while (re-search-forward - (concat (regexp-quote key-desc) - "[[:space:]]") nil t) - (put-text-property (match-beginning 0) - (match-end 0) + (concat "[[:space:]]\\(" + (regexp-quote key-desc) + "\\)[[:space:]]") nil t) + (put-text-property (match-beginning 1) + (match-end 1) 'tutorial-remark 'only-colored) - (put-text-property (match-beginning 0) - (match-end 0) + (put-text-property (match-beginning 1) + (match-end 1) 'face 'tutorial-warning-face) (forward-line) (let ((s (get-lang-string tutorial--lang 'tut-chgdkey)) diff -r 06937e972ad0 -r f1d13e615070 lisp/type-break.el --- a/lisp/type-break.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/type-break.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; type-break.el --- encourage rests from typing at appropriate intervals -;; Copyright (C) 1994, 1995, 1997, 2000, 2002, 2003, +;; Copyright (C) 1994, 1995, 1997, 2000, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Noah Friedman diff -r 06937e972ad0 -r f1d13e615070 lisp/url/ChangeLog --- a/lisp/url/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/url/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,19 @@ +2006-11-26 Magnus Henoch + + * url-http.el (url-http-wait-for-headers-change-function): Use + `when' instead of `if' when possible. + (url-http): Define url-http-response-version. + (url-http-parse-response): Set it. + (url-http-parse-headers): Use it to determine keep-alive behavior. + +2006-11-23 Diane Murray + + * url-http.el (url-http-content-length-after-change-function): Use + `url-lazy-message'. + + * url-util.el (url-display-percentage): Only show a message if + `url-show-status' is non-nil. + 2006-11-15 Magnus Henoch * url-http.el (url-http): Make proxy-object buffer-local, to diff -r 06937e972ad0 -r f1d13e615070 lisp/url/url-http.el --- a/lisp/url/url-http.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/url/url-http.el Thu Dec 07 04:14:14 2006 +0000 @@ -358,14 +358,19 @@ (defun url-http-parse-response () "Parse just the response code." - (declare (special url-http-end-of-headers url-http-response-status)) + (declare (special url-http-end-of-headers url-http-response-status + url-http-response-version)) (if (not url-http-end-of-headers) (error "Trying to parse HTTP response code in odd buffer: %s" (buffer-name))) (url-http-debug "url-http-parse-response called in (%s)" (buffer-name)) (goto-char (point-min)) (skip-chars-forward " \t\n") ; Skip any blank crap (skip-chars-forward "HTTP/") ; Skip HTTP Version - (read (current-buffer)) + (setq url-http-response-version + (buffer-substring (point) + (progn + (skip-chars-forward "[0-9].") + (point)))) (setq url-http-response-status (read (current-buffer)))) (defun url-http-handle-cookies () @@ -391,6 +396,7 @@ ;; The comments after each status code handled are taken from RFC ;; 2616 (HTTP/1.1) (declare (special url-http-end-of-headers url-http-response-status + url-http-response-version url-http-method url-http-data url-http-process url-callback-function url-callback-arguments)) @@ -407,9 +413,19 @@ (mail-narrow-to-head) ;;(narrow-to-region (point-min) url-http-end-of-headers) (let ((connection (mail-fetch-field "Connection"))) - (if (and connection - (string= (downcase connection) "close")) + ;; In HTTP 1.0, keep the connection only if there is a + ;; "Connection: keep-alive" header. + ;; In HTTP 1.1 (and greater), keep the connection unless there is a + ;; "Connection: close" header + (cond + ((string= url-http-response-version "1.0") + (unless (and connection + (string= (downcase connection) "keep-alive")) (delete-process url-http-process))) + (t + (when (and connection + (string= (downcase connection) "close")) + (delete-process url-http-process))))) (let ((class nil) (success nil)) (setq class (/ url-http-response-status 100)) @@ -819,7 +835,7 @@ (progn ;; Found the end of the document! Wheee! (url-display-percentage nil nil) - (message "Reading... done.") + (url-lazy-message "Reading... done.") (if (url-http-parse-headers) (url-http-activate-callback))))) @@ -928,123 +944,121 @@ url-http-response-status)) (url-http-debug "url-http-wait-for-headers-change-function (%s)" (buffer-name)) - (if (not (bobp)) - (let ((end-of-headers nil) - (old-http nil) - (content-length nil)) - (goto-char (point-min)) - (if (and (looking-at ".*\n") ; have one line at least - (not (looking-at "^HTTP/[1-9]\\.[0-9]"))) - ;; Not HTTP/x.y data, must be 0.9 - ;; God, I wish this could die. - (setq end-of-headers t - url-http-end-of-headers 0 - old-http t) - (if (re-search-forward "^\r*$" nil t) - ;; Saw the end of the headers - (progn - (url-http-debug "Saw end of headers... (%s)" (buffer-name)) - (setq url-http-end-of-headers (set-marker (make-marker) - (point)) - end-of-headers t) - (url-http-clean-headers)))) + (when (not (bobp)) + (let ((end-of-headers nil) + (old-http nil) + (content-length nil)) + (goto-char (point-min)) + (if (and (looking-at ".*\n") ; have one line at least + (not (looking-at "^HTTP/[1-9]\\.[0-9]"))) + ;; Not HTTP/x.y data, must be 0.9 + ;; God, I wish this could die. + (setq end-of-headers t + url-http-end-of-headers 0 + old-http t) + (when (re-search-forward "^\r*$" nil t) + ;; Saw the end of the headers + (url-http-debug "Saw end of headers... (%s)" (buffer-name)) + (setq url-http-end-of-headers (set-marker (make-marker) + (point)) + end-of-headers t) + (url-http-clean-headers))) + + (if (not end-of-headers) + ;; Haven't seen the end of the headers yet, need to wait + ;; for more data to arrive. + nil + (if old-http + (message "HTTP/0.9 How I hate thee!") + (progn + (url-http-parse-response) + (mail-narrow-to-head) + ;;(narrow-to-region (point-min) url-http-end-of-headers) + (setq url-http-transfer-encoding (mail-fetch-field + "transfer-encoding") + url-http-content-type (mail-fetch-field "content-type")) + (if (mail-fetch-field "content-length") + (setq url-http-content-length + (string-to-number (mail-fetch-field "content-length")))) + (widen))) + (when url-http-transfer-encoding + (setq url-http-transfer-encoding + (downcase url-http-transfer-encoding))) - (if (not end-of-headers) - ;; Haven't seen the end of the headers yet, need to wait - ;; for more data to arrive. - nil - (if old-http - (message "HTTP/0.9 How I hate thee!") - (progn - (url-http-parse-response) - (mail-narrow-to-head) - ;;(narrow-to-region (point-min) url-http-end-of-headers) - (setq url-http-transfer-encoding (mail-fetch-field - "transfer-encoding") - url-http-content-type (mail-fetch-field "content-type")) - (if (mail-fetch-field "content-length") - (setq url-http-content-length - (string-to-number (mail-fetch-field "content-length")))) - (widen))) - (if url-http-transfer-encoding - (setq url-http-transfer-encoding - (downcase url-http-transfer-encoding))) - + (cond + ((or (= url-http-response-status 204) + (= url-http-response-status 205)) + (url-http-debug "%d response must have headers only (%s)." + url-http-response-status (buffer-name)) + (when (url-http-parse-headers) + (url-http-activate-callback))) + ((string= "HEAD" url-http-method) + ;; A HEAD request is _ALWAYS_ terminated by the header + ;; information, regardless of any entity headers, + ;; according to section 4.4 of the HTTP/1.1 draft. + (url-http-debug "HEAD request must have headers only (%s)." + (buffer-name)) + (when (url-http-parse-headers) + (url-http-activate-callback))) + ((string= "CONNECT" url-http-method) + ;; A CONNECT request is finished, but we cannot stick this + ;; back on the free connectin list + (url-http-debug "CONNECT request must have headers only.") + (when (url-http-parse-headers) + (url-http-activate-callback))) + ((equal url-http-response-status 304) + ;; Only allowed to have a header section. We have to handle + ;; this here instead of in url-http-parse-headers because if + ;; you have a cached copy of something without a known + ;; content-length, and try to retrieve it from the cache, we'd + ;; fall into the 'being dumb' section and wait for the + ;; connection to terminate, which means we'd wait for 10 + ;; seconds for the keep-alives to time out on some servers. + (when (url-http-parse-headers) + (url-http-activate-callback))) + (old-http + ;; HTTP/0.9 always signaled end-of-connection by closing the + ;; connection. + (url-http-debug + "Saw HTTP/0.9 response, connection closed means end of document.") + (setq url-http-after-change-function + 'url-http-simple-after-change-function)) + ((equal url-http-transfer-encoding "chunked") + (url-http-debug "Saw chunked encoding.") + (setq url-http-after-change-function + 'url-http-chunked-encoding-after-change-function) + (when (> nd url-http-end-of-headers) + (url-http-debug + "Calling initial chunked-encoding for extra data at end of headers") + (url-http-chunked-encoding-after-change-function + (marker-position url-http-end-of-headers) nd + (- nd url-http-end-of-headers)))) + ((integerp url-http-content-length) + (url-http-debug + "Got a content-length, being smart about document end.") + (setq url-http-after-change-function + 'url-http-content-length-after-change-function) (cond - ((or (= url-http-response-status 204) - (= url-http-response-status 205)) - (url-http-debug "%d response must have headers only (%s)." - url-http-response-status (buffer-name)) - (if (url-http-parse-headers) - (url-http-activate-callback))) - ((string= "HEAD" url-http-method) - ;; A HEAD request is _ALWAYS_ terminated by the header - ;; information, regardless of any entity headers, - ;; according to section 4.4 of the HTTP/1.1 draft. - (url-http-debug "HEAD request must have headers only (%s)." - (buffer-name)) - (if (url-http-parse-headers) - (url-http-activate-callback))) - ((string= "CONNECT" url-http-method) - ;; A CONNECT request is finished, but we cannot stick this - ;; back on the free connectin list - (url-http-debug "CONNECT request must have headers only.") - (if (url-http-parse-headers) - (url-http-activate-callback))) - ((equal url-http-response-status 304) - ;; Only allowed to have a header section. We have to handle - ;; this here instead of in url-http-parse-headers because if - ;; you have a cached copy of something without a known - ;; content-length, and try to retrieve it from the cache, we'd - ;; fall into the 'being dumb' section and wait for the - ;; connection to terminate, which means we'd wait for 10 - ;; seconds for the keep-alives to time out on some servers. - (if (url-http-parse-headers) - (url-http-activate-callback))) - (old-http - ;; HTTP/0.9 always signaled end-of-connection by closing the - ;; connection. + ((= 0 url-http-content-length) + ;; We got a NULL body! Activate the callback + ;; immediately! (url-http-debug - "Saw HTTP/0.9 response, connection closed means end of document.") - (setq url-http-after-change-function - 'url-http-simple-after-change-function)) - ((equal url-http-transfer-encoding "chunked") - (url-http-debug "Saw chunked encoding.") - (setq url-http-after-change-function - 'url-http-chunked-encoding-after-change-function) - (if (> nd url-http-end-of-headers) - (progn - (url-http-debug - "Calling initial chunked-encoding for extra data at end of headers") - (url-http-chunked-encoding-after-change-function - (marker-position url-http-end-of-headers) nd - (- nd url-http-end-of-headers))))) - ((integerp url-http-content-length) - (url-http-debug - "Got a content-length, being smart about document end.") - (setq url-http-after-change-function - 'url-http-content-length-after-change-function) - (cond - ((= 0 url-http-content-length) - ;; We got a NULL body! Activate the callback - ;; immediately! - (url-http-debug - "Got 0-length content-length, activating callback immediately.") - (if (url-http-parse-headers) - (url-http-activate-callback))) - ((> nd url-http-end-of-headers) - ;; Have some leftover data - (url-http-debug "Calling initial content-length for extra data at end of headers") - (url-http-content-length-after-change-function - (marker-position url-http-end-of-headers) - nd - (- nd url-http-end-of-headers))) - (t - nil))) + "Got 0-length content-length, activating callback immediately.") + (when (url-http-parse-headers) + (url-http-activate-callback))) + ((> nd url-http-end-of-headers) + ;; Have some leftover data + (url-http-debug "Calling initial content-length for extra data at end of headers") + (url-http-content-length-after-change-function + (marker-position url-http-end-of-headers) + nd + (- nd url-http-end-of-headers))) (t - (url-http-debug "No content-length, being dumb.") - (setq url-http-after-change-function - 'url-http-simple-after-change-function))))) + nil))) + (t + (url-http-debug "No content-length, being dumb.") + (setq url-http-after-change-function + 'url-http-simple-after-change-function))))) ;; We are still at the beginning of the buffer... must just be ;; waiting for a response. (url-http-debug "Spinning waiting for headers...")) @@ -1095,6 +1109,7 @@ url-http-content-length url-http-transfer-encoding url-http-after-change-function + url-http-response-version url-http-response-status url-http-chunked-length url-http-chunked-counter diff -r 06937e972ad0 -r f1d13e615070 lisp/url/url-util.el --- a/lisp/url/url-util.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/url/url-util.el Thu Dec 07 04:14:14 2006 +0000 @@ -244,12 +244,13 @@ ;;;###autoload (defun url-display-percentage (fmt perc &rest args) - (if (null fmt) - (if (fboundp 'clear-progress-display) - (clear-progress-display)) - (if (and (fboundp 'progress-display) perc) - (apply 'progress-display fmt perc args) - (apply 'message fmt args)))) + (when url-show-status + (if (null fmt) + (if (fboundp 'clear-progress-display) + (clear-progress-display)) + (if (and (fboundp 'progress-display) perc) + (apply 'progress-display fmt perc args) + (apply 'message fmt args))))) ;;;###autoload (defun url-percentage (x y) diff -r 06937e972ad0 -r f1d13e615070 lisp/userlock.el --- a/lisp/userlock.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/userlock.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; userlock.el --- handle file access contention between multiple users -;; Copyright (C) 1985, 1986, 2002, 2003, 2004, +;; Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -87,9 +87,9 @@ (defun ask-user-about-lock-help () (with-output-to-temp-buffer "*Help*" (princ "It has been detected that you want to modify a file that someone else has -already started modifying in EMACS. +already started modifying in Emacs. -You can teal the file; The other user becomes the +You can teal the file; the other user becomes the intruder if (s)he ever unmodifies the file and then changes it again. You can

roceed; you edit at your own (and the other user's) risk. You can uit; don't modify this file.") diff -r 06937e972ad0 -r f1d13e615070 lisp/vc-hooks.el --- a/lisp/vc-hooks.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vc-hooks.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ ;;; vc-hooks.el --- resident support for version-control -;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002, -;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel diff -r 06937e972ad0 -r f1d13e615070 lisp/vcursor.el --- a/lisp/vcursor.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vcursor.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; vcursor.el --- manipulate an alternative ("virtual") cursor -;; Copyright (C) 1994, 1996, 1998, 2002, 2003, +;; Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Peter Stephenson diff -r 06937e972ad0 -r f1d13e615070 lisp/vms-patch.el --- a/lisp/vms-patch.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vms-patch.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; vms-patch.el --- override parts of files.el for VMS -;; Copyright (C) 1986, 1992, 2002, 2003, 2004, +;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF diff -r 06937e972ad0 -r f1d13e615070 lisp/vmsproc.el --- a/lisp/vmsproc.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vmsproc.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; vmsproc.el --- run asynchronous VMS subprocesses under Emacs -;; Copyright (C) 1986, 2002, 2003, 2004, 2005, +;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Mukesh Prasad @@ -44,7 +44,7 @@ map)) (defun subprocess-input (name str) - "Handles input from a subprocess. Called by Emacs." + "Handle input from a subprocess. Called by Emacs." (if display-subprocess-window (display-buffer subprocess-buf)) (with-current-buffer subprocess-buf @@ -56,7 +56,7 @@ (setq subprocess-running nil)) (defun start-subprocess () - "Spawns an asynchronous subprocess with output redirected to + "Spawn an asynchronous subprocess with output redirected to the buffer *COMMAND*. Within this buffer, use C-m to send the last line to the subprocess or to bring another line to the end." @@ -98,7 +98,7 @@ ;; (delete-file output-filename)))) (defun subprocess-command () - "Starts asynchronous subprocess if not running and switches to its window." + "Start asynchronous subprocess if not running and switch to its window." (interactive) (if (not subprocess-running) (start-subprocess)) @@ -106,8 +106,8 @@ (progn (pop-to-buffer subprocess-buf) (goto-char (point-max))))) (defun command-send-input () - "If at last line of buffer, sends the current line to -the spawned subprocess. Otherwise brings back current + "If at last line of buffer, send the current line to +the spawned subprocess. Otherwise bring back current line to the last line for resubmission." (interactive) (beginning-of-line) @@ -134,7 +134,7 @@ current-line))))) (defun command-kill-line () - "Kills the current line. Used in command mode." + "Kill the current line. Used in command mode." (interactive) (beginning-of-line) (kill-line)) diff -r 06937e972ad0 -r f1d13e615070 lisp/vt-control.el --- a/lisp/vt-control.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vt-control.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; vt-control.el --- Common VTxxx control functions -;; Copyright (C) 1993, 1994, 2002, 2003, +;; Copyright (C) 1993, 1994, 2001, 2002, 2003, ;; 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Rob Riepel diff -r 06937e972ad0 -r f1d13e615070 lisp/vt100-led.el --- a/lisp/vt100-led.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/vt100-led.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones -;; Copyright (C) 1988, 2002, 2003, 2004, 2005, +;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Howard Gayle @@ -29,7 +29,7 @@ ;;; Code: (defvar led-state (make-vector 5 nil) - "The internal state of the LEDs. Choices are nil, t, `flash. + "The internal state of the LEDs. Choices are nil, t, `flash'. Element 0 is not used.") (defun led-flash (l) @@ -46,7 +46,7 @@ (led-update)) (defun led-on (l) - "Turn on LED l." + "Turn on LED L." (aset led-state l t) (led-update)) diff -r 06937e972ad0 -r f1d13e615070 lisp/whitespace.el --- a/lisp/whitespace.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/whitespace.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; whitespace.el --- warn about and clean bogus whitespaces in the file -;; Copyright (C) 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; Author: Rajesh Vaidheeswarran @@ -571,7 +571,7 @@ ;; Call this recursively till everything is taken care of (if whitespace-any - (whitespace-cleanup-internal) + (whitespace-cleanup-internal region-only) ;; if we are done, talk to the user (progn (unless whitespace-silent diff -r 06937e972ad0 -r f1d13e615070 lisp/wid-browse.el --- a/lisp/wid-browse.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/wid-browse.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; wid-browse.el --- functions for browsing widgets ;; -;; Copyright (C) 1997, 2002, 2003, 2004, 2005, +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen diff -r 06937e972ad0 -r f1d13e615070 lisp/widget.el --- a/lisp/widget.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/widget.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; widget.el --- a library of user interface components ;; -;; Copyright (C) 1996, 1997, 2002, 2003, 2004, +;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen diff -r 06937e972ad0 -r f1d13e615070 lisp/windmove.el --- a/lisp/windmove.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/windmove.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; windmove.el --- directional window-selection routines ;; -;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, +;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006 Free Software Foundation, Inc. ;; ;; Author: Hovav Shacham (hovav@cs.stanford.edu) diff -r 06937e972ad0 -r f1d13e615070 lisp/woman.el --- a/lisp/woman.el Thu Dec 07 00:45:27 2006 +0000 +++ b/lisp/woman.el Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,6 @@ ;;; woman.el --- browse UN*X manual pages `wo (without) man' -;; Copyright (C) 2000, 2002, 2003, 2004, 2005, +;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, ;; 2006 Free Software Foundation, Inc. ;; Author: Francis J. Wright diff -r 06937e972ad0 -r f1d13e615070 lispintro/ChangeLog --- a/lispintro/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lispintro/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,12 @@ +2006-11-27 Andreas Schwab + + * Makefile.in (usermanualdir): Define. + (emacs-lisp-intro.dvi): Pass -I options to texi2dvi instead of + using TEXINPUTS. + + * emacs-lisp-intro.texi: Input texinfo instead of ../man/texinfo + to fix building outside source directory. + 2006-11-09 Robert J. Chassell * emacs-lisp-intro.texi: Copy descriptions from detailed master diff -r 06937e972ad0 -r f1d13e615070 lispintro/Makefile.in --- a/lispintro/Makefile.in Thu Dec 07 00:45:27 2006 +0000 +++ b/lispintro/Makefile.in Thu Dec 07 04:14:14 2006 +0000 @@ -26,6 +26,7 @@ VPATH = @srcdir@ infodir = ../info +usermanualdir = $(srcdir)/../man INFO_SOURCES = ${srcdir}/emacs-lisp-intro.texi # The file name eintr must fit within 5 characters, to allow for @@ -36,7 +37,6 @@ MAKEINFO = makeinfo TEXI2DVI = texi2dvi DVIPS = dvips -ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" .SUFFIXES: .dvi .ps .texi @@ -48,7 +48,7 @@ cd $(srcdir); $(MAKEINFO) emacs-lisp-intro.texi -o $(infodir)/eintr emacs-lisp-intro.dvi: ${INFO_SOURCES} - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi + $(TEXI2DVI) -I $(srcdir) -I $(usermanualdir) $(srcdir)/emacs-lisp-intro.texi emacs-lisp-intro.html: $(INFO_SOURCES) $(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi diff -r 06937e972ad0 -r f1d13e615070 lispintro/emacs-lisp-intro.texi --- a/lispintro/emacs-lisp-intro.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispintro/emacs-lisp-intro.texi Thu Dec 07 04:14:14 2006 +0000 @@ -1,6 +1,4 @@ -\input ../man/texinfo @c -*-texinfo-*- -@c \input texinfo @c -*-texinfo-*- -@c change to \input texinfo if building on own. +\input texinfo @c -*-texinfo-*- @comment %**start of header @setfilename ../info/eintr @c setfilename emacs-lisp-intro.info diff -r 06937e972ad0 -r f1d13e615070 lispref/ChangeLog --- a/lispref/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,28 @@ +2006-12-04 Kim F. Storm + + * commands.texi (Misc Events): Update signal events. + (Event Examples): Add signal example. + +2006-11-29 Richard Stallman + + * frames.texi (Visibility of Frames): Explain visible windows + can be covered by others. Add xref for raise-frame. + +2006-11-28 Richard Stallman + + * searching.texi (Regexp Special): Update when ^ is special. + +2006-11-27 Eli Zaretskii + + * customize.texi (Customization, Common Keywords) + (Group Definitions, Variable Definitions, Composite Types) + (Type Keywords, Customization Types): Add index entries for + various customization keywords. + +2006-11-23 Stefan Monnier + + * modes.texi (Multiline Font Lock): Rephrase some parts for clarity. + 2006-11-10 Jan Dj,Ad(Brv * frames.texi (Window System Selections): Remove clipboard from diff -r 06937e972ad0 -r f1d13e615070 lispref/commands.texi --- a/lispref/commands.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/commands.texi Thu Dec 07 04:14:14 2006 +0000 @@ -1586,13 +1586,14 @@ parameters are used to display the help-echo text are described in @ref{Text help-echo}. -@cindex @code{usr1-signal} event -@cindex @code{usr2-signal} event -@item usr1-signal -@itemx usr2-signal -These events are generated when the Emacs process receives the signals -@code{SIGUSR1} and @code{SIGUSR2}. They contain no additional data -because signals do not carry additional information. +@cindex @code{signal usr1} event +@cindex @code{signal usr2} event +@cindex user signals +@item signal usr1 +@itemx signal usr2 +These event sequences are generated when the Emacs process receives +the signals @code{SIGUSR1} and @code{SIGUSR2}. They contain no +additional data because signals do not carry additional information. @end table If one of these events arrives in the middle of a key sequence---that @@ -1632,6 +1633,16 @@ -453816)) @end smallexample +To handle a SIGUSR1 signal, define an interactive function, and +bind it to the @code{signal usr1} event sequence: + +@smallexample +(defun usr1-handler () + (interactive) + (message "Got USR1 signal")) +(global-set-key [signal usr1] 'usr1-handler) +@end smallexample + @node Classifying Events @subsection Classifying Events @cindex event type diff -r 06937e972ad0 -r f1d13e615070 lispref/customize.texi --- a/lispref/customize.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/customize.texi Thu Dec 07 04:14:14 2006 +0000 @@ -7,6 +7,7 @@ @node Customization, Loading, Macros, Top @chapter Writing Customization Definitions +@cindex customization definitions This chapter describes how to declare user options for customization, and also customization groups for classifying them. We use the term @dfn{customization item} to include both kinds of customization @@ -23,6 +24,7 @@ @node Common Keywords @section Common Item Keywords +@cindex customization keywords All kinds of customization declarations (for variables and groups, and for faces) accept keyword arguments for specifying various information. This section describes some keywords that apply to all kinds. @@ -34,6 +36,7 @@ @table @code @item :tag @var{label} +@kindex tag@r{, customization keyword} Use @var{label}, a string, instead of the item's name, to label the item in customization menus and buffers. @strong{Don't use a tag which is substantially different from the item's real name; that would @@ -45,6 +48,7 @@ :tag "Cursor In Non-selected Windows" @end example +@kindex group@r{, customization keyword} @item :group @var{group} Put this customization item in group @var{group}. When you use @code{:group} in a @code{defgroup}, it makes the new group a subgroup of @@ -55,6 +59,7 @@ item. Please don't overdo this, since the result would be annoying. @item :link @var{link-data} +@kindex link@r{, customization keyword} Include an external link after the documentation string for this item. This is a sentence containing an active field which references some other documentation. @@ -114,11 +119,13 @@ none at all. @item :load @var{file} +@kindex load@r{, customization keyword} Load file @var{file} (a string) before displaying this customization item. Loading is done with @code{load-library}, and only if the file is not already loaded. @item :require @var{feature} +@kindex require@r{, customization keyword} Execute @code{(require '@var{feature})} when your saved customizations set the value of this item. @var{feature} should be a symbol. @@ -127,11 +134,13 @@ any effect unless the code which implements the mode is loaded. @item :version @var{version} +@kindex version@r{, customization keyword} This option specifies that the item was first introduced in Emacs version @var{version}, or that its default value was changed in that version. The value @var{version} must be a string. @item :package-version '(@var{package} . @var{version}) +@kindex package-version@r{, customization keyword} This option specifies that the item was first introduced in @var{package} version @var{version}, or that its meaning or default value was changed in that version. The value of @var{package} is a @@ -179,6 +188,7 @@ @node Group Definitions @section Defining Custom Groups +@cindex custom groups, how to define Each Emacs Lisp package should have one main customization group which contains all the options, faces and other groups in the package. If the package has a small number of options and faces, use just one group and @@ -221,6 +231,7 @@ @table @code @item :prefix @var{prefix} +@kindex prefix@r{, @code{defgroup} keyword} If the name of an item in the group starts with @var{prefix}, then the tag for that item is constructed (by default) by omitting @var{prefix}. @@ -249,6 +260,8 @@ @node Variable Definitions @section Defining Customization Variables +@cindex customization variables, how to define +@cindex declare user-editable variables Use @code{defcustom} to declare user-editable variables. @defmac defcustom option standard doc [keyword value]@dots{} @@ -297,6 +310,7 @@ @xref{Customization Types}, for more information. @item :options @var{list} +@kindex options@r{, @code{defcustom} keyword} Specify @var{list} as the list of reasonable values for use in this option. The user is not restricted to using only these values, but they are offered as convenient alternatives. @@ -306,6 +320,7 @@ individual types for a description of how to use @code{:options}. @item :set @var{setfunction} +@kindex set@r{, @code{defcustom} keyword} Specify @var{setfunction} as the way to change the value of this option. The function @var{setfunction} should take two arguments, a symbol (the option name) and the new value, and should do whatever is @@ -314,6 +329,7 @@ @var{setfunction} is @code{set-default}. @item :get @var{getfunction} +@kindex get@r{, @code{defcustom} keyword} Specify @var{getfunction} as the way to extract the value of this option. The function @var{getfunction} should take one argument, a symbol, and should return whatever customize should use as the @@ -327,6 +343,7 @@ that really is stored in a Lisp variable. @item :initialize @var{function} +@kindex initialize@r{, @code{defcustom} keyword} @var{function} should be a function used to initialize the variable when the @code{defcustom} is evaluated. It should take two arguments, the option name (a symbol) and the value. Here are some predefined @@ -374,6 +391,7 @@ @end table @item :set-after @var{variables} +@kindex set-after@r{, @code{defcustom} keyword} When setting variables according to saved customizations, make sure to set the variables @var{variables} before this one; in other words, delay setting this variable until after those others have been handled. Use @@ -425,11 +443,13 @@ @node Customization Types @section Customization Types +@cindex customization types When you define a user option with @code{defcustom}, you must specify its @dfn{customization type}. That is a Lisp object which describes (1) which values are legitimate and (2) how to display the value in the customization buffer for editing. +@kindex type@r{, @code{defcustom} keyword} You specify the customization type in @code{defcustom} with the @code{:type} keyword. The argument of @code{:type} is evaluated, but only once when the @code{defcustom} is executed, so it isn't useful @@ -905,10 +925,12 @@ @code{choice}. @item :match-alternatives @var{criteria} +@kindex match-alternatives@r{, customization keyword} Use @var{criteria} to match possible values. This is used only in @code{restricted-sexp}. @item :args @var{argument-list} +@kindex args@r{, customization keyword} Use the elements of @var{argument-list} as the arguments of the type construct. For instance, @code{(const :args (foo))} is equivalent to @code{(const foo)}. You rarely need to write @code{:args} explicitly, @@ -986,6 +1008,7 @@ essential to specify a valid default with @code{:value}. @item :format @var{format-string} +@kindex format@r{, customization keyword} This string will be inserted in the buffer to represent the value corresponding to the type. The following @samp{%} escapes are available for use in @var{format-string}: @@ -1024,14 +1047,18 @@ @end table @item :action @var{action} +@kindex action@r{, customization keyword} Perform @var{action} if the user clicks on a button. @item :button-face @var{face} +@kindex button-face@r{, customization keyword} Use the face @var{face} (a face name or a list of face names) for button text displayed with @samp{%[@dots{}%]}. @item :button-prefix @var{prefix} @itemx :button-suffix @var{suffix} +@kindex button-prefix@r{, customization keyword} +@kindex button-suffix@r{, customization keyword} These specify the text to display before and after a button. Each can be: @@ -1051,6 +1078,7 @@ that corresponds to this type. @item :doc @var{doc} +@kindex doc@r{, customization keyword} Use @var{doc} as the documentation string for this value (or part of the value) that corresponds to this type. In order for this to work, you must specify a value for @code{:format}, and use @samp{%d} or @samp{%h} @@ -1061,6 +1089,7 @@ @code{:choice} type or the parts of some other composite type. @item :help-echo @var{motion-doc} +@kindex help-echo@r{, customization keyword} When you move to this item with @code{widget-forward} or @code{widget-backward}, it will display the string @var{motion-doc} in the echo area. In addition, @var{motion-doc} is used as the mouse @@ -1069,6 +1098,7 @@ argument, the widget. @item :match @var{function} +@kindex match@r{, customization keyword} Specify how to decide whether a value matches the type. The corresponding value, @var{function}, should be a function that accepts two arguments, a widget and a value; it should return non-@code{nil} if diff -r 06937e972ad0 -r f1d13e615070 lispref/frames.texi --- a/lispref/frames.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/frames.texi Thu Dec 07 04:14:14 2006 +0000 @@ -1203,17 +1203,19 @@ @cindex frame visibility A window frame may be @dfn{visible}, @dfn{invisible}, or -@dfn{iconified}. If it is visible, you can see its contents. If it is -iconified, the frame's contents do not appear on the screen, but an icon -does. If the frame is invisible, it doesn't show on the screen, not -even as an icon. +@dfn{iconified}. If it is visible, you can see its contents, unless +other windows cover it. If it is iconified, the frame's contents do +not appear on the screen, but an icon does. If the frame is +invisible, it doesn't show on the screen, not even as an icon. Visibility is meaningless for terminal frames, since only the selected one is actually displayed in any case. @deffn Command make-frame-visible &optional frame -This function makes frame @var{frame} visible. If you omit @var{frame}, -it makes the selected frame visible. +This function makes frame @var{frame} visible. If you omit +@var{frame}, it makes the selected frame visible. This does not raise +the frame, but you can do that with @code{raise-frame} if you wish +(@pxref{Raising and Lowering}). @end deffn @deffn Command make-frame-invisible &optional frame force diff -r 06937e972ad0 -r f1d13e615070 lispref/modes.texi --- a/lispref/modes.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/modes.texi Thu Dec 07 04:14:14 2006 +0000 @@ -3067,16 +3067,19 @@ some cases you can do this automatically by setting the @code{font-lock-multiline} variable, which see. @item -Rely on @code{jit-lock-contextually}. This will only rehighlight the part -of the construct that follows the actual change, and will do it after -a short delay. This only works if the highlighting of the various -parts of your multiline construct never depends on text in subsequent -lines. Since @code{jit-lock-contextually} is activated by default, -this can be an attractive solution. +Make sure @code{jit-lock-contextually} is set and rely on it doing its +job. This will only rehighlight the part of the construct that +follows the actual change, and will do it after a short delay. +This only works if the highlighting of the various parts of your +multiline construct never depends on text in subsequent lines. +Since @code{jit-lock-contextually} is activated by default, this can +be an attractive solution. @item Place a @code{jit-lock-defer-multiline} property on the construct. -This works only if @code{jit-lock-contextually} is used, but it can -handle the case where highlighting depends on subsequent lines. +This works only if @code{jit-lock-contextually} is used, and with the +same delay before rehighlighting, but like @code{font-lock-multiline}, +it also handles the case where highlighting depends on +subsequent lines. @end itemize @menu @@ -3089,7 +3092,7 @@ @subsubsection Font Lock Multiline One way to ensure reliable rehighlighting of multiline Font Lock -constructs is to put on the text property @code{font-lock-multiline}. +constructs is to put on them the text property @code{font-lock-multiline}. It should be present and non-@code{nil} for text that is part of a multiline construct. diff -r 06937e972ad0 -r f1d13e615070 lispref/searching.texi --- a/lispref/searching.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/lispref/searching.texi Thu Dec 07 04:14:14 2006 +0000 @@ -438,7 +438,8 @@ beginning of the string or after a newline character. For historical compatibility reasons, @samp{^} can be used only at the -beginning of the regular expression, or after @samp{\(} or @samp{\|}. +beginning of the regular expression, or after @samp{\(}, @samp{\(?:} +or @samp{\|}. @item @samp{$} @cindex @samp{$} in regexp diff -r 06937e972ad0 -r f1d13e615070 mac/ChangeLog --- a/mac/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/mac/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,12 @@ +2006-12-04 YAMAMOTO Mitsuharu + + * inc/config.h: Sync with src/config.in. + +2006-11-24 YAMAMOTO Mitsuharu + + * INSTALL: Add descriptions about configuration and invocation. + Capitalize `Carbon'. + 2006-11-14 YAMAMOTO Mitsuharu * inc/config.h: Sync with src/config.in. diff -r 06937e972ad0 -r f1d13e615070 mac/INSTALL --- a/mac/INSTALL Thu Dec 07 00:45:27 2006 +0000 +++ b/mac/INSTALL Thu Dec 07 04:14:14 2006 +0000 @@ -29,7 +29,7 @@ must install as root using the sudo command. However, it is not recommended; see the notes section below for more details. -The --enable-carbon-app specifies that the carbon GUI application +The --enable-carbon-app specifies that the Carbon GUI application should be installed into /Application. If you want it to install in a different location, specify --enable-carbon-app= @@ -43,23 +43,31 @@ -k' instead of `make' and safely ignore the error messages and use the existing info files. -After Emacs is installed, you can run it by typing `emacs -nw' from a -terminal (make sure your path contains /usr/local/bin) or by -double-clicking on /Applications/Emacs.app in the Finder. To start -Emacs as a GUI application from the terminal, the pathname to the -executable in the bundle, i.e., +After Emacs is installed, you can run a text-only terminal version by +typing `emacs' from a terminal (make sure your path contains +/usr/local/bin) or a GUI application by double-clicking on +/Applications/Emacs.app in the Finder. Even in the terminal version, +some Carbon-specific functions such as `mac-set-file-creator' are +still meaningful. + +To start Emacs as a GUI application from the terminal, the pathname to +the executable in the bundle, i.e., /Application/Emacs.app/Contents/MacOS/Emacs must be typed to the shell to enable Emacs to locate its resources -correctly. You may want to create a symlink or alias to this path to -quickly access both the terminal and GUI versions. +correctly. You may want to create an alias to this path to quickly +access both the terminal and GUI versions. You can specify some +standard Emacs options when invoking Emacs in this way. -If you are building Emacs to run on Mac OS X and X Window System, -instead of typing `./configure' above, type +Emacs on Mac OS X is not configured to use X11 unless either it is +requested or the use of Carbon is disabled explicitly. So, if you are +building Emacs to run on X Window System, you need to specify like: ./configure --with-x +Note that the Carbon-specific functions mentioned above are not +available on the X11-enabled build. To use colors in a terminal, put the following lines in the file ~/.termcap and log in again. @@ -130,7 +138,7 @@ a script that will greatly simplify the process. It is called make-package and it is contained in this directory. It will generate a disc image containing a installer bundle. By default the installer -will place the emacs common files in /usr/local/* and the carbon +will place the emacs common files in /usr/local/* and the Carbon application in /Applications. Typical usage would be ./make-package diff -r 06937e972ad0 -r f1d13e615070 mac/inc/config.h --- a/mac/inc/config.h Thu Dec 07 00:45:27 2006 +0000 +++ b/mac/inc/config.h Thu Dec 07 04:14:14 2006 +0000 @@ -588,6 +588,9 @@ /* Define to 1 if `struct utimbuf' is declared by . */ #define HAVE_STRUCT_UTIMBUF 1 +/* Define to 1 if you have the `sync' function. */ +/* #undef HAVE_SYNC */ + /* Define to 1 if you have the `sysinfo' function. */ /* #undef HAVE_SYSINFO */ @@ -715,6 +718,9 @@ /* Define to 1 if you have the X11R6 or newer version of Xt. */ /* #undef HAVE_X11XTR6 */ +/* Define to 1 if the file /usr/lib64 exists. */ +/* #undef HAVE_X86_64_LIB64_DIR */ + /* Define to 1 if you have the Xaw3d library (-lXaw3d). */ /* #undef HAVE_XAW3D */ diff -r 06937e972ad0 -r f1d13e615070 make-dist --- a/make-dist Thu Dec 07 00:45:27 2006 +0000 +++ b/make-dist Thu Dec 07 04:14:14 2006 +0000 @@ -6,8 +6,8 @@ #### be distributed. This means that if you add a file with an odd name, #### you should make sure that this script will include it. -# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, +# 2006 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # diff -r 06937e972ad0 -r f1d13e615070 man/ChangeLog --- a/man/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/man/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,55 @@ +2006-12-06 Richard Stallman + + * text.texi (Outline Format): Say to set outline-regexp + and outline-level with major modes and file local variables. + +2006-12-05 Micha,Ak(Bl Cadilhac + + * anti.texi (Antinews): Mention the alternative to + `~/.emacs_SHELLNAME', which is `~/.emacs.d/init_SHELLNAME.sh'. + + * faq.texi (^M in the shell buffer): Ditto. + + * misc.texi (Interactive Shell): Ditto. + +2006-12-04 Eli Zaretskii + + * emacs.texi (Acknowledgments): Fix Arne J@o{}rgensen's name. + + * ack.texi (Acknowledgments): Fix Arne J@o{}rgensen's name. + +2006-12-01 Eli Zaretskii + + * mule.texi (Enabling Multibyte): Rephrase the confusing reference to a + colon in the mode line. + + * msdog.texi (Windows Processes) [@ifnottex]: Mention + w32-shell-execute. + +2006-11-26 Nick Roberts + + * building.texi (Watch Expressions): Mention SPC for expanding/ + contracting watch expressions. + +2006-11-26 Kim F. Storm + + * kmacro.texi (Basic Keyboard Macro): Mention F3/F4 more. + +2006-11-26 Nick Roberts + + * building.texi (Debugger Operation): Define text command mode. + Clarify how tooltips work. + (GDB Graphical Interface): Explain how to run in text command mode + more clearly. + +2006-11-25 Juanma Barranquero + + * mule.texi (Defining Fontsets): Fix use of `charset' and `font'. + +2006-11-22 Juanma Barranquero + + * anti.texi (Antinews): Mention --server-file and TCP sockets. + 2006-11-20 Michael Olson * erc.texi: Call this the 5.2 stable pre-release of ERC. diff -r 06937e972ad0 -r f1d13e615070 man/ack.texi --- a/man/ack.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/ack.texi Thu Dec 07 04:14:14 2006 +0000 @@ -517,7 +517,7 @@ @end itemize @item -Arne J@/orgensen wrote @file{latexenc.el}, a package to +Arne J@o{}rgensen wrote @file{latexenc.el}, a package to automatically guess the correct coding system in LaTeX files. @item diff -r 06937e972ad0 -r f1d13e615070 man/anti.texi --- a/man/anti.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/anti.texi Thu Dec 07 04:14:14 2006 +0000 @@ -66,7 +66,8 @@ We have standardized on one location for the user init file: the file named @file{.emacs} in your home directory. Emacs will not look for the init file in @file{~/.emacs.d/init.el}. Similarly, don't try -putting @file{.emacs_SHELL} in @file{~/.emacs.d}; Emacs won't find it. +putting @file{.emacs_SHELL} as @file{init_SHELL.sh} in +@file{~/.emacs.d}; Emacs won't find it. @item Emacs will not read @file{~/.abbrev_defs} automatically. If you want @@ -212,8 +213,9 @@ command and @code{server-name} user option have been eliminated. @item -The @file{emacsclient} program no longer accepts the @samp{--eval} and -@samp{--display} command line options. +The @file{emacsclient} program no longer accepts the @samp{--eval}, +@samp{--display} and @samp{--server-file} command line options, and +can only establish local connections using Unix domain sockets. @item The command @code{quail-show-key}, for showing how to input a diff -r 06937e972ad0 -r f1d13e615070 man/building.texi --- a/man/building.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/building.texi Thu Dec 07 04:14:14 2006 +0000 @@ -536,10 +536,11 @@ @subsection Debugger Operation @cindex fringes, and current execution line in GUD - When you run a debugger with GUD using the textual interface, the -debugger uses an Emacs buffer for its ordinary input and output. This -is called the GUD buffer. Input and output from the program you are -debugging also use this buffer. + Generally when you run a debugger with GUD, the debugger uses an Emacs +buffer for its ordinary input and output. This is called the GUD +buffer. Input and output from the program you are debugging also use +this buffer. We call this @dfn{text command mode}. The GDB Graphical +Interface can use further buffers (@pxref{GDB Graphical Interface}). The debugger displays the source files of the program by visiting them in Emacs buffers. An arrow in the left fringe indicates the @@ -563,13 +564,13 @@ The Tooltip facility (@pxref{Tooltips}) provides support for GUD@. You activate this feature by turning on the minor mode @code{gud-tooltip-mode}. Then you can display a variable's value in a -tooltip simply by pointing at it with the mouse. In graphical mode, -with a C program, you can also display the @code{#define} directive -associated with an identifier when the program is not executing. This -operates in the GUD buffer and in source buffers with major modes in -the list @code{gud-tooltip-modes}. If the variable -@code{gud-tooltip-echo-area} is non-@code{nil} then the variable's -value is displayed in the echo area. +tooltip simply by pointing at it with the mouse. This operates in the +GUD buffer and in source buffers with major modes in the list +@code{gud-tooltip-modes}. If the variable @code{gud-tooltip-echo-area} +is non-@code{nil} then the variable's value is displayed in the echo +area. When debugging a C program using the GDB Graphical Interface, you +can also display macro definitions associated with an identifier when +the program is not executing. GUD tooltips are disabled when you use GDB in text command mode (@pxref{GDB Graphical Interface}), because displaying an expression's @@ -828,11 +829,13 @@ @vindex gud-gdb-command-name @findex gdba You can also run GDB in text command mode, like other debuggers. To -do this, set @code{gud-gdb-command-name} to @code{"gdb --fullname"} or -edit the startup command in the minibuffer to say that. You need to -do use text command mode to run multiple debugging sessions within one -Emacs session. If you have customized @code{gud-gdb-command-name} in -that way, you can use @kbd{M-x gdba} to invoke GDB in graphical mode. +do this, replace the GDB @code{"--annotate=3"} option with +@code{"--fullname"} either in the minibuffer for the current Emacs +session, or the custom variable @code{gud-gdb-command-name} for all +future sessions. You need to use text command mode to debug multiple +programs within one Emacs session. If you have customized +@code{gud-gdb-command-name} in this way, you can use @kbd{M-x gdba} to +invoke GDB in graphical mode. @menu * GDB-UI Layout:: Control the number of displayed buffers. @@ -1097,7 +1100,7 @@ in which they were defined. To expand or contract a complex data type, click @kbd{Mouse-2} -on the tag to the left of the expression. +or press @key{SPC} on the tag to the left of the expression. @kindex D @r{(GDB speedbar)} @findex gdb-var-delete diff -r 06937e972ad0 -r f1d13e615070 man/emacs.texi --- a/man/emacs.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/emacs.texi Thu Dec 07 04:14:14 2006 +0000 @@ -1050,7 +1050,7 @@ Holst, Jeffrey C.@: Honig, Kurt Hornik, Tom Houlder, Joakim Hove, Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Pavel Janik, Paul Jarc, Ulf Jasper, Michael K. Johnson, Kyle Jones, Terry -Jones, Simon Josefsson, Arne J@/orgensen, Tomoji Kagatani, Brewster +Jones, Simon Josefsson, Arne J@o{}rgensen, Tomoji Kagatani, Brewster Kahle, Lute Kamstra, David Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, David M.@: diff -r 06937e972ad0 -r f1d13e615070 man/faq.texi --- a/man/faq.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/faq.texi Thu Dec 07 04:14:14 2006 +0000 @@ -2761,7 +2761,7 @@ endif @end example -Or put this in your @file{.emacs_tcsh} file: +Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file: @example unset edit diff -r 06937e972ad0 -r f1d13e615070 man/kmacro.texi --- a/man/kmacro.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/kmacro.texi Thu Dec 07 04:14:14 2006 +0000 @@ -46,19 +46,19 @@ @section Basic Use @table @kbd -@item C-x ( -@itemx @key{F3} +@item @key{F3} +@itemx C-x ( Start defining a keyboard macro (@code{kmacro-start-macro}). +@item @key{F4} +If a keyboard macro is being defined, end the definition; otherwise, +execute the most recent keyboard macro +(@code{kmacro-end-or-call-macro}). @item C-x ) End the definition of a keyboard macro (@code{kmacro-end-macro}). @item C-x e Execute the most recent keyboard macro (@code{kmacro-end-and-call-macro}). First end the definition of the keyboard macro, if currently defining it. To immediately execute the keyboard macro again, just repeat the @kbd{e}. -@item @key{F4} -If a keyboard macro is being defined, end the definition; otherwise, -execute the most recent keyboard macro -(@code{kmacro-end-or-call-macro}). @item C-u C-x ( Re-execute last keyboard macro, then add more keys to its definition. @item C-u C-u C-x ( @@ -68,17 +68,19 @@ (@code{apply-macro-to-region-lines}). @end table +@kindex F3 +@kindex F4 @kindex C-x ( @kindex C-x ) @kindex C-x e @findex kmacro-start-macro @findex kmacro-end-macro @findex kmacro-end-and-call-macro - To start defining a keyboard macro, type the @kbd{C-x (} command + To start defining a keyboard macro, type the @kbd{F3} or @kbd{C-x (} command (@code{kmacro-start-macro}). From then on, your keys continue to be executed, but also become part of the definition of the macro. @samp{Def} appears in the mode line to remind you of what is going on. When you are -finished, the @kbd{C-x )} command (@code{kmacro-end-macro}) terminates the +finished, the @kbd{F4} or @kbd{C-x )} command (@code{kmacro-end-macro}) terminates the definition (without becoming part of it!). For example, @example @@ -115,7 +117,14 @@ The key @key{F4} is like a combination of @kbd{C-x )} and @kbd{C-x e}. If you're defining a macro, @key{F4} ends the definition. -Otherwise it executes the last macro. +Otherwise it executes the last macro. For example, + +@example +F3 xyz F4 F4 F4 +@end example + +@noindent +inserts @samp{xyzxyzxyz} in the current buffer. If you wish to repeat an operation at regularly spaced places in the text, define a macro and include as part of the macro the commands to move @@ -152,7 +161,8 @@ macro as part of the process. After you have terminated the definition of a keyboard macro, you can add -to the end of its definition by typing @kbd{C-u C-x (}. This is equivalent +to the end of its definition by typing @kbd{C-u F3} or @kbd{C-u C-x (}. +This is equivalent to plain @kbd{C-x (} followed by retyping the whole definition so far. As a consequence it re-executes the macro as previously defined. diff -r 06937e972ad0 -r f1d13e615070 man/misc.texi --- a/man/misc.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/misc.texi Thu Dec 07 04:14:14 2006 +0000 @@ -478,7 +478,8 @@ @file{~/.emacs_@var{shellname}} as input, if it exists, where @var{shellname} is the name of the file that the shell was loaded from. For example, if you use bash, the file sent to it is -@file{~/.emacs_bash}. +@file{~/.emacs_bash}. If this file is not found, Emacs tries to fallback +on @file{~/.emacs.d/init_@var{shellname}.sh}. To specify a coding system for the shell, you can use the command @kbd{C-x @key{RET} c} immediately before @kbd{M-x shell}. You can diff -r 06937e972ad0 -r f1d13e615070 man/msdog.texi --- a/man/msdog.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/msdog.texi Thu Dec 07 04:14:14 2006 +0000 @@ -518,6 +518,16 @@ any quote characters that appear; otherwise chose a suitable escape character based on the type of the program. +@ifnottex +@findex w32-shell-execute + The function @code{w32-shell-execute} can be useful for writing +customized commands that run MS-Windows applications registered to +handle a certain standard Windows operation for a specific type of +document or file. This function is a wrapper around the Windows +@code{ShellExecute} API. See the MS-Windows API documentation for +more details. +@end ifnottex + @node Windows Printing @section Printing and MS-Windows diff -r 06937e972ad0 -r f1d13e615070 man/mule.texi --- a/man/mule.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/mule.texi Thu Dec 07 04:14:14 2006 +0000 @@ -212,11 +212,13 @@ load a Lisp file as unibyte, on any one occasion, by typing @kbd{C-x @key{RET} c raw-text @key{RET}} immediately before loading it. - The mode line indicates whether multibyte character support is enabled -in the current buffer. If it is, there are two or more characters (most -often two dashes) before the colon near the beginning of the mode line. -When multibyte characters are not enabled, nothing precedes the colon -except a single dash. + The mode line indicates whether multibyte character support is +enabled in the current buffer. If it is, there are two or more +characters (most often two dashes) near the beginning of the mode +line, before the indication of the visited file's end-of-line +convention (colon, backslash, etc.). When multibyte characters +are not enabled, nothing precedes the colon except a single dash. +@xref{Mode Line}, for more details about this. @node Language Environments @section Language Environments @@ -1302,7 +1304,7 @@ The resource value should have this form: @smallexample -@var{fontpattern}, @r{[}@var{charsetname}:@var{fontname}@r{]@dots{}} +@var{fontpattern}, @r{[}@var{charset}:@var{font}@r{]@dots{}} @end smallexample @noindent diff -r 06937e972ad0 -r f1d13e615070 man/texinfo.tex --- a/man/texinfo.tex Thu Dec 07 00:45:27 2006 +0000 +++ b/man/texinfo.tex Thu Dec 07 04:14:14 2006 +0000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2006-08-26.17} +\def\texinfoversion{2006-11-08.17} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free @@ -157,6 +157,18 @@ \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} +% sometimes characters are active, so we need control sequences. +\chardef\colonChar = `\: +\chardef\commaChar = `\, +\chardef\dashChar = `\- +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\lquoteChar= `\` +\chardef\questChar = `\? +\chardef\rquoteChar= `\' +\chardef\semiChar = `\; +\chardef\underChar = `\_ + % Ignore a token. % \def\gobble#1{} @@ -1243,6 +1255,11 @@ \HyPsdSubst{)}{\realbackslash)}{#1}% } +\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images +with PDF output, and none of those formats could be found. (.eps cannot +be supported due to the design of the PDF format; use regular TeX (DVI +output) for that.)} + \ifpdf \input pdfcolor \pdfcatalog{/PageMode /UseOutlines}% @@ -1250,6 +1267,36 @@ \def\dopdfimage#1#2#3{% \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + % + % pdftex (and the PDF format) support .png, .jpg, .pdf (among + % others). Let's try in that order. + \let\pdfimgext=\empty + \begingroup + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \errhelp = \nopdfimagehelp + \errmessage{Could not find image file #1 for pdf}% + \else + \gdef\pdfimgext{pdf}% + \fi + \else + \gdef\pdfimgext{JPG}% + \fi + \else + \gdef\pdfimgext{jpeg}% + \fi + \else + \gdef\pdfimgext{jpg}% + \fi + \else + \gdef\pdfimgext{png}% + \fi + \closein 1 + \endgroup + % % without \immediate, pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 @@ -1260,9 +1307,9 @@ \ifdim \wd0 >0pt width \imagewidth \fi \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 - #1.pdf% + #1.\pdfimgext \else - {#1.pdf}% + {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage @@ -1976,13 +2023,6 @@ % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % -\chardef\colonChar = `\: -\chardef\commaChar = `\, -\chardef\dotChar = `\. -\chardef\exclamChar= `\! -\chardef\questChar = `\? -\chardef\semiChar = `\; -% \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m @@ -2010,6 +2050,7 @@ \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% \kern-0.4pt\hrule}% \kern-.06em\raise0.4pt\hbox{\angleright}}}} +\def\key #1{{\nohyphenation \uppercase{#1}}\null} % The old definition, with no lozenge: %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} @@ -2051,11 +2092,14 @@ % and arrange explicitly to hyphenate at a dash. % -- rms. { - \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active + \catcode`\-=\active \catcode`\_=\active + \catcode`\'=\active \catcode`\`=\active % \global\def\code{\begingroup - \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active - \let'\singlequotechar + \catcode\rquoteChar=\active \catcode\lquoteChar=\active + \let'\codequoteright \let`\codequoteleft + % + \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder @@ -5410,7 +5454,7 @@ % evince), the lilypond developers report. xpdf does work with the % regular 0x27. % -\def\singlequotechar{% +\def\codequoteright{% \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else @@ -5418,6 +5462,18 @@ \fi } % +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + `% + \else + \char'22 + \fi +} +% \begingroup \catcode`\^^I=\active \gdef\tabexpand{% @@ -5431,12 +5487,15 @@ }% } \catcode`\'=\active - \gdef\quoteexpand{% - \catcode`\'=\active - \def'{\singlequotechar} - }% + \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% + % + \catcode`\`=\active + \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% + % + \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup -% + +% start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart diff -r 06937e972ad0 -r f1d13e615070 man/text.texi --- a/man/text.texi Thu Dec 07 00:45:27 2006 +0000 +++ b/man/text.texi Thu Dec 07 04:14:14 2006 +0000 @@ -1039,29 +1039,33 @@ deeper heading lines and their body lines is called a @dfn{subtree}. @vindex outline-regexp - You can customize the criterion for distinguishing heading lines -by setting the variable @code{outline-regexp}. Any line whose -beginning has a match for this regexp is considered a heading line. -Matches that start within a line (not at the left margin) do not count. -The length of the matching text determines the level of the heading; -longer matches make a more deeply nested level. Thus, for example, -if a text formatter has commands @samp{@@chapter}, @samp{@@section} -and @samp{@@subsection} to divide the document into chapters and -sections, you could make those lines count as heading lines by -setting @code{outline-regexp} to @samp{"@@chap\\|@@\\(sub\\)*section"}. -Note the trick: the two words @samp{chapter} and @samp{section} are equally + You can customize the criterion for distinguishing heading lines by +setting the variable @code{outline-regexp}. (The recommended ways to +do this are in a major mode function or with a file local variable.) +Any line whose beginning has a match for this regexp is considered a +heading line. Matches that start within a line (not at the left +margin) do not count. + + The length of the matching text determines the level of the heading; +longer matches make a more deeply nested level. Thus, for example, if +a text formatter has commands @samp{@@chapter}, @samp{@@section} and +@samp{@@subsection} to divide the document into chapters and sections, +you could make those lines count as heading lines by setting +@code{outline-regexp} to @samp{"@@chap\\|@@\\(sub\\)*section"}. Note +the trick: the two words @samp{chapter} and @samp{section} are equally long, but by defining the regexp to match only @samp{chap} we ensure that the length of the text matched on a chapter heading is shorter, -so that Outline mode will know that sections are contained in chapters. -This works as long as no other command starts with @samp{@@chap}. +so that Outline mode will know that sections are contained in +chapters. This works as long as no other command starts with +@samp{@@chap}. @vindex outline-level - You can change the rule for calculating the level of a heading line -by setting the variable @code{outline-level}. The value of -@code{outline-level} should be a function that takes no arguments and -returns the level of the current heading. Some major modes such as C, -Nroff, and Emacs Lisp mode set this variable and @code{outline-regexp} -in order to work with Outline minor mode. + You can explicitly specify a rule for calculating the level of a +heading line by setting the variable @code{outline-level}. The value +of @code{outline-level} should be a function that takes no arguments +and returns the level of the current heading. The recommended ways to +set this variable are in a major mode command or with a file local +variable. @node Outline Motion @subsection Outline Motion Commands diff -r 06937e972ad0 -r f1d13e615070 msdos/ChangeLog --- a/msdos/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/msdos/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,11 @@ +2006-12-04 Eli Zaretskii + + * sed2v2.inp (HAVE_SYNC): Define. + +2006-11-25 Eli Zaretskii + + * sed1v2.inp (CFLAGS_SOUND): Edit out. + 2006-09-15 Jay Belanger * COPYING: Replace "Library Public License" by "Lesser Public diff -r 06937e972ad0 -r f1d13e615070 msdos/sed1v2.inp --- a/msdos/sed1v2.inp Thu Dec 07 00:45:27 2006 +0000 +++ b/msdos/sed1v2.inp Thu Dec 07 04:14:14 2006 +0000 @@ -36,6 +36,7 @@ /^LIBOBJS *=/s/@[^@\n]*@/getloadavg.o/ /^GETLOADAVG_LIBS *=/s/@[^@\n]*@// /^LIBSOUND *=/s/@LIBSOUND@// +/^CFLAGS_SOUND *=/s/@CFLAGS_SOUND@// /^EXEEXT *=/s/@EXEEXT@// /^LN_S *=/s/@[^@\n]*@/ln -s/ /^M_FILE *=/s!@[^@\n]*@!m/intel386.h! diff -r 06937e972ad0 -r f1d13e615070 msdos/sed2v2.inp --- a/msdos/sed2v2.inp Thu Dec 07 00:45:27 2006 +0000 +++ b/msdos/sed2v2.inp Thu Dec 07 04:14:14 2006 +0000 @@ -51,6 +51,7 @@ /^#undef HAVE_RINDEX *$/s/^.*$/#define HAVE_RINDEX 1/ /^#undef HAVE_MKSTEMP *$/s/^.*$/#define HAVE_MKSTEMP 1/ /^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/ +/^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/ /^#undef PACKAGE_BUGREPORT/s/^.*$/#define PACKAGE_BUGREPORT ""/ /^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/ /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/ diff -r 06937e972ad0 -r f1d13e615070 src/ChangeLog --- a/src/ChangeLog Thu Dec 07 00:45:27 2006 +0000 +++ b/src/ChangeLog Thu Dec 07 04:14:14 2006 +0000 @@ -1,3 +1,147 @@ +2006-12-05 Glenn Morris + + * abbrev.c (Qforce): New Lisp_Object. + (Fdefine_abbrev): Do not overwrite non-system abbrevs with system + abbrevs, unless 'force is applied. + (syms_of_abbrev): Add Qforce. + +2006-12-04 Kim F. Storm + + * process.c (parse_signal): Rename macro from handle_signal. + (Fsignal_process): Also accept lower-case variants of signal + names (to align with signal names generated by Emacs itself). + + * emacs.c (handle_USR1_signal, handle_USR2_signal): Replace by... + (handle_user_signal): ... this, which generates two USER_SIGNAL_EVENTs + first with code == 0 [signal] and one with code == sig number. + (main): Use it as handler for SIGUR1 and SIGUSR2. + + * keyboard.c (kbd_buffer_store_event_hold): Don't throw-on-input + if first event in [signal xxx] sequence. + (lispy_user_signals, Qusr1_signal, Qusr2_signal): Remove. + (syms_of_keyboard): Don't intern and staticpro them. + (Qsignal): Declare here. + (syms_of_keyboard): Intern and staticpro it. + (make_lispy_event): Use it. Intern symbols on the fly for other + USER_SIGNAL_EVENTs events. + + * process.c (Qsignal): Declare extern. + (syms_of_process): Don't intern/staticpro it here. + + * process.c (read_process_output): Abort if carryover < 0. + +2006-12-04 YAMAMOTO Mitsuharu + + * config.in: Regenerate. + + * fileio.c [__NetBSD__]: Don't define `unix'. + (Funix_sync, syms_of_fileio): Use `#ifdef HAVE_SYNC' instead of + `#ifdef unix'. + +2006-12-04 Glenn Morris + + * Makefile.in (version): New variable, set by configure. + (bootstrapclean, mostlyclean): Also remove emacs-${version}. + +2006-12-03 Jan Dj,Ad(Brv + + * gtkutil.c (update_frame_tool_bar): Handle modifying a toolbar item + without an image. + +2006-12-01 Eli Zaretskii + + * w32fns.c (Fw32_shell_execute): Doc fix. + +2006-11-30 Chong Yidong + + * xdisp.c (move_it_to): Correctly count tab glyphs for continued + lines ending in tab. + +2006-11-30 Jan Dj,Ad(Brv + + * xterm.c (x_raise_frame): Move setting of _NET_ACTIVE_WINDOW + property ... + (XTframe_raise_lower): ... to here. + +2006-11-30 Kenichi Handa + + * regex.c (regex_compile): Fix previous change. + +2006-11-29 Juanma Barranquero + + * sound.c (Fplay_sound_internal): Remove spurious newline in docstring. + +2006-11-28 Chong Yidong + + * config.in: Regenerate. + +2006-11-28 Kenichi Handa + + * regex.c (regex_compile): Don't call SET_LIST_BIT with a + multibyte character. + +2006-11-27 Chong Yidong + + * s/aix4-2.h: Undefine _NO_PROTO. Suggested by Joe Buehler. + +2006-11-27 Kim F. Storm + + * window.c (set_window_buffer): Refactor recent changes. + +2006-11-27 Jason Rumney + + * w32term.c (w32_msg_worker): Declare correctly. + (w32_initialize): Don't cast w32_msg_worker. + + * w32fns.c (w32_msg_worker): Define as WINAPI and arg as void pointer. + +2006-11-26 Chong Yidong + + * m/amdx86-64.h: Look for standard libs in /usr/lib64 only if that + directory exists. + +2006-11-25 Eli Zaretskii + + * w16select.c (Fw16_set_clipboard_data): Fix the call to sit_for + as per the calling sequence change on 2006-07-11. + +2006-11-25 Chong Yidong + + * window.c (set_window_buffer): Use BLOCK_INPUT. + +2006-11-24 Juanma Barranquero + + * fns.c (substring_both): Add missing address operator. + +2006-11-24 Stefan Monnier + + * fns.c: Use AREF/ASIZE macros. + (concat): Provide the full ANSI prototype. + +2006-11-24 Juanma Barranquero + + * buffer.c (syms_of_buffer) : Doc fix. + +2006-11-23 William Smith (tiny change) + + * strftime.c (HAVE_SYS__MBSTATE_T_H): Fix typo. + +2006-11-02 Alfred M. Szmidt (tiny change) + + * s/openbsd.h (LD_SWITCH_SYSTEM): Remove /usr/pkg/lib and + /usr/pkg/lib from the library search path. + (LD_SWITCH_X_DEFAULT): New macro. + +2006-11-22 Chong Yidong + + * window.c (set_window_buffer): Clear mouse highlight if it is in + this window. + +2006-11-21 Chong Yidong + + * xfaces.c (realize_default_face): Check if the default font name + exists on this display before trying to use it. + 2006-11-21 Richard Stallman * fileio.c: Break line before &&, not after. @@ -18,15 +162,13 @@ 2006-11-19 Andreas Schwab - * xfaces.c (Fdisplay_supports_face_attributes_p): Initialize - supports. + * xfaces.c (Fdisplay_supports_face_attributes_p): Initialize supports. * xmenu.c (Fx_popup_menu): Initialize selection. 2006-11-18 Andreas Schwab - * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Update call to - mark_memory. + * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Update call to mark_memory. 2006-11-17 Tetsurou Okazaki (tiny change) @@ -44,8 +186,7 @@ 2006-11-14 Kenichi Handa - * coding.c (code_convert_region): Initialize - coding->heading_ascii. + * coding.c (code_convert_region): Initialize coding->heading_ascii. (decode_coding_string, code_convert_region): Likewise. 2006-11-14 YAMAMOTO Mitsuharu @@ -142,7 +283,7 @@ 2006-11-05 Mark Davies (tiny change) - * s/netbsd.h (POSIX_SIGNALS): Defined. + * s/netbsd.h (POSIX_SIGNALS): Define. 2006-11-05 Martin Rudalics @@ -175,8 +316,8 @@ (unexec_regions_merge): Don't merge if null pages of preceding region is not too small. Use long format in printf. (copy_segment, copy_data_segment): Show filesize. - (copy_data_segment): Write filesize bytes of region data. Adjust - filesize in segment command accordingly. + (copy_data_segment): Write filesize bytes of region data. + Adjust filesize in segment command accordingly. (dump_it): Use long format in printf. 2006-11-05 Juanma Barranquero @@ -275,8 +416,8 @@ `swap_nibbles' static const. (atsu_get_text_layout_with_text_ptr): Make variables `lengths', `tags', `sizes', `values' static const. - (mac_draw_string_common): Make variables `context' static. Make - variables `tags', `sizes', and `values' static const. + (mac_draw_string_common): Make variables `context' static. + Make variables `tags', `sizes', and `values' static const. (pcm_get_status, x_detect_focus_change, x_scroll_bar_handle_click) (xlfdpat_create, xlfdpat_block_match_1, xlfdpat_match) (mac_to_x_fontname, parse_x_font_name, add_mac_font_name) @@ -287,8 +428,8 @@ (fn_keycode_to_keycode_table): Make static const. (mac_load_query_font): Make variables `tags', `sizes', `values', `types', and `selectors' static const. - (mac_handle_command_event, mac_handle_window_event): Make - variables `names' and `types' static const. + (mac_handle_command_event, mac_handle_window_event): + Make variables `names' and `types' static const. (init_command_handler, install_window_handler): Make variables `specs*' static const. (mac_handle_font_event, mac_handle_text_input_event) @@ -375,12 +516,12 @@ 2006-10-19 Jan Dj,Ad(Brv * xselect.c (x_handle_selection_request): If the converted_selection - is NIL or XCDR (converted_selection) is NIL, decline the request. + is nil or XCDR (converted_selection) is nil, decline the request. 2006-10-16 Jan Dj,Ad(Brv * gtkutil.c (get_utf8_string): Remove warnings with casts. - (xg_tool_bar_button_cb): Ditto + (xg_tool_bar_button_cb): Ditto. (xg_tool_bar_callback): Ditto. 2006-10-16 YAMAMOTO Mitsuharu @@ -2480,8 +2621,8 @@ (struct sound_device): Add period_size. (wav_play, au_play): Use period_size if set. - * Makefile.in (CFLAGS_SOUND): New flags for ALSA - (ALL_CFLAGS): Add CFLAGS_SOUND + * Makefile.in (CFLAGS_SOUND): New flags for ALSA. + (ALL_CFLAGS): Add CFLAGS_SOUND. 2006-05-18 Kenichi Handa @@ -4105,8 +4246,8 @@ 2006-01-31 Jan Dj,Ad(Brv - * gtkutil.c (update_frame_tool_bar): Use new tool bar functions - (gtk_toolbar_insert) so we can have tool bars of different sizes. + * gtkutil.c (update_frame_tool_bar): Use new tool bar function + gtk_toolbar_insert() so we can have tool bars of different sizes. 2006-01-30 Luc Teirlinck @@ -4434,7 +4575,7 @@ 2005-12-27 Jan Dj,Ad(Brv - * xfns.c: x_show_hidden_files, new variable. + * xfns.c (x_show_hidden_files): New variable. (syms_of_xfns): Defvar it. * gtkutil.c (xg_toggle_visibility_cb): New function. @@ -6719,7 +6860,7 @@ * w32console.c (initialize_w32_display): Detect when the console dimensions are insane, and default to 80x25 instead. - (w32_use_full_screen_buffer): Default to NIL. + (w32_use_full_screen_buffer): Default to nil. 2005-07-06 YAMAMOTO Mitsuharu @@ -9928,7 +10069,7 @@ * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff for left and top calculations. Remove call to x_real_positions. - [Bug report by Drew Adams in November] + [Bug report by Drew Adams in November.] (x_check_expected_move): Do not set change_gravity to 1 when calling x_set_offset. @@ -9978,8 +10119,8 @@ new variables main_thread and alloc_mutex, define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread. - If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as - (UN)BLOCK_INPUT. + If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same + as (UN)BLOCK_INPUT. (emacs_blocked_free, emacs_blocked_malloc) (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC. (uninterrupt_malloc): Initialize main_thread and alloc_mutex. @@ -9989,7 +10130,7 @@ * emacs.c (Fdump_emacs): Call reset_malloc_hooks. - * keyboard.c: Conditionally include pthread.h + * keyboard.c: Conditionally include pthread.h. (handle_async_input, input_available_signalt): If not in the main thread, block signal, send signal to main thread and return. @@ -10799,7 +10940,7 @@ 2004-11-02 Kim F. Storm - * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h. + * Makefile.in (callproc.o): Depend on blockinput.h, atimer.h, systime.h. 2004-11-02 YAMAMOTO Mitsuharu @@ -10860,10 +11001,9 @@ * w32fns.c (Fx_file_dialog): Add parameter only_dir_p. Check only_dir_p instead of comparing prompt to "Dired". - * gtkutil.c (xg_get_file_with_chooser) - (xg_get_file_with_selection): New functions, only defined ifdef - HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW - respectively. + * gtkutil.c (xg_get_file_with_chooser, xg_get_file_with_selection): + New functions, only defined ifdef HAVE_GTK_FILE_CHOOSER_DIALOG_NEW + and HAVE_GTK_FILE_SELECTION_NEW respectively. (xg_get_file_name): Add parameter only_dir_p. Call xg_get_file_with_chooser or xg_get_file_with_selection depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog. @@ -10900,7 +11040,7 @@ tool_bar_items to assignment of result. * atimer.c (alarm_signal_handler): Do not call set_alarm if - pending_atmers is non-zero. + pending_atimers is non-zero. 2004-10-31 Kim F. Storm @@ -11238,7 +11378,7 @@ precedence. (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area. -2004-10-05 Jan Dj,Ad(Brv. +2004-10-05 Jan Dj,Ad(Brv * config.in: Regenerate. @@ -14515,14 +14655,14 @@ * xterm.c (handle_one_xevent): Call x_handle_dnd_message for ClientMessages. - * xselect.c: Include termhooks.h and X11/Xproto.h + * xselect.c: Include termhooks.h and X11/Xproto.h. (x_check_property_data, x_fill_property_data) (x_property_data_to_lisp, mouse_position_for_drop) (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support. (Fx_send_client_event): Move here from xfns.c. (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message. - * xfns.c (x-send-client-message): Move to xselect.c + * xfns.c (x-send-client-message): Move to xselect.c. (Fx_change_window_property): Add optional arguments TYPE, FORMAT and OUTER_P. (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P, @@ -15617,7 +15757,7 @@ Set BUF_INTERVALS (buffer)->up_obj when appropriate. Handle over_used when splitting UNDER. -2003-09-30 YAMAMOTO Mitsuharu +2003-09-30 YAMAMOTO Mitsuharu * regex.c (regex_compile): Free the stack when returning from function. @@ -18083,7 +18223,7 @@ 2003-03-23 Jan Dj,Ad(Brv - * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif + * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif. * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos. (XG_SB_RANGE): New define. @@ -18320,7 +18460,7 @@ * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos. (xg_resize_widgets): Don't call foreach(handle_fixed_child). (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos. - (scroll_bar_button_cb): Set bar->dragging to NIL on button release. + (scroll_bar_button_cb): Set bar->dragging to nil on button release. (xg_create_scroll_bar): Pass bar to button event callback. (xg_find_top_left_in_fixed): New function. (xg_update_scrollbar_pos): Don't call gdk_window_clear on @@ -18621,7 +18761,7 @@ 2003-02-25 Jan Dj,Ad(Brv * keyboard.c (cancel_hourglass_unwind): Surround with - #ifdef HAVE_X_WINDOWS + #ifdef HAVE_X_WINDOWS. 2003-02-25 Kenichi Handa @@ -19182,7 +19322,7 @@ 2003-01-21 Jan Dj,Ad(Brv - * gtkutil.c: Must include stdio.h before termhooks.h + * gtkutil.c: Must include stdio.h before termhooks.h. 2003-01-21 Dave Love @@ -19228,7 +19368,7 @@ * xterm.c (handle_one_xevent): Surround popup_activated with #ifdef:s for non-toolkit version. - * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK + * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK. (gtkutil.o): New file. (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK. (LIBW): Set to @GTK_LIBS@ if USE_GTK. @@ -19274,7 +19414,7 @@ (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK. * xmenu.c: Include gtkutil.h for USE_GTK. - (Fx_popup_menu): Use current position if x and y is NIL. + (Fx_popup_menu): Use current position if x and y are nil. (single_menu_item, single_menu_item, Fx_popup_dialog): Check for USE_GTK. (popup_widget_loop): New function for USE_GTK. @@ -19304,7 +19444,7 @@ (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK. (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK. (x_window): Call xg_create_frame_widgets for USE_GTK. - (Fx_create_frame): Check for USE_GTK + (Fx_create_frame): Check for USE_GTK. (Fx_file_dialog): New implementation for USE_GTK. * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar. @@ -19331,7 +19471,7 @@ * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Add check for USE_GTK. - * config.in: Added HAVE_GTK + * config.in: Added HAVE_GTK. * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK. @@ -19855,7 +19995,7 @@ * alloca.c: Undo ifdef change accidentally made on 12-04. -2002-12-06 Francesco Potorti` +2002-12-06 Francesco Potort,Al(B * xfns.c (png_load): Avoid double gamma correction for PNG images. @@ -20176,7 +20316,7 @@ * fns.c (Fcopy_sequence): Doc fix. (Fmap_char_table): Cast `call2'. -2002-11-14 Francesco Potorti` +2002-11-14 Francesco Potort,Al(B * s/sol2-8.h: New file. @@ -20557,7 +20697,7 @@ Only when it is non-nil, handle composition sequence. (setup_coding_system) <0>: Don't force composition handling. - * Makefile.in (lisp, shortlisp): Add utf-16.elc + * Makefile.in (lisp, shortlisp): Add utf-16.elc. 2002-09-29 Richard M. Stallman diff -r 06937e972ad0 -r f1d13e615070 src/Makefile.in --- a/src/Makefile.in Thu Dec 07 00:45:27 2006 +0000 +++ b/src/Makefile.in Thu Dec 07 04:14:14 2006 +0000 @@ -38,6 +38,7 @@ LDFLAGS=@LDFLAGS@ LN_S=@LN_S@ EXEEXT=@EXEEXT@ +version=@version@ # Substitute an assignment for the MAKE variable, because # BSD doesn't have it as a default. @SET_MAKE@ @@ -1347,11 +1348,11 @@ ${libsrc}emacstool${EXEEXT}: ${libsrc}emacstool.c cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool${EXEEXT} bootstrapclean: - rm -f bootstrap-emacs${EXEEXT} + rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT} mostlyclean: rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC - rm -f bootstrap-emacs${EXEEXT} + rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT} rm -f buildobj.lst clean: mostlyclean rm -f emacs-*${EXEEXT} emacs${EXEEXT} diff -r 06937e972ad0 -r f1d13e615070 src/abbrev.c --- a/src/abbrev.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/abbrev.c Thu Dec 07 04:14:14 2006 +0000 @@ -83,7 +83,7 @@ Lisp_Object Vpre_abbrev_expand_hook, Qpre_abbrev_expand_hook; -Lisp_Object Qsystem_type, Qcount; +Lisp_Object Qsystem_type, Qcount, Qforce; DEFUN ("make-abbrev-table", Fmake_abbrev_table, Smake_abbrev_table, 0, 0, 0, doc: /* Create a new, empty abbrev table object. */) @@ -107,7 +107,7 @@ XVECTOR (table)->contents[i] = make_number (0); return Qnil; } - + DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_abbrev, 3, 6, 0, doc: /* Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK. NAME must be a string. @@ -123,7 +123,9 @@ \(The default is zero.) SYSTEM-FLAG, if non-nil, says that this is a "system" abbreviation -which should not be saved in the user's abbreviation file. */) +which should not be saved in the user's abbreviation file. +Unless SYSTEM-FLAG is `force', a system abbreviation will not +overwrite a non-system abbreviation of the same name. */) (table, name, expansion, hook, count, system_flag) Lisp_Object table, name, expansion, hook, count, system_flag; { @@ -131,6 +133,16 @@ CHECK_VECTOR (table); CHECK_STRING (name); + /* If defining a system abbrev, do not overwrite a non-system abbrev + of the same name, unless 'force is used. */ + if (!NILP (system_flag) && !EQ (system_flag, Qforce)) + { + sym = Fintern_soft (name, table); + + if (!NILP (SYMBOL_VALUE (sym)) && + NILP (Fplist_get (XSYMBOL (sym)->plist, Qsystem_type))) return Qnil; + } + if (NILP (count)) count = make_number (0); else @@ -646,6 +658,9 @@ Qcount = intern ("count"); staticpro (&Qcount); + Qforce = intern ("force"); + staticpro (&Qforce); + DEFVAR_LISP ("abbrev-table-name-list", &Vabbrev_table_name_list, doc: /* List of symbols whose values are abbrev tables. */); Vabbrev_table_name_list = Fcons (intern ("fundamental-mode-abbrev-table"), diff -r 06937e972ad0 -r f1d13e615070 src/buffer.c --- a/src/buffer.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/buffer.c Thu Dec 07 04:14:14 2006 +0000 @@ -5934,8 +5934,8 @@ location given by the integer. Undoing an entry of this form places point at POSITION. -nil marks undo boundaries. The undo command treats the changes -between two undo boundaries as a single step to be undone. +Entries with value `nil' mark undo boundaries. The undo command treats +the changes between two undo boundaries as a single step to be undone. If the value of the variable is t, undo information is not recorded. */); diff -r 06937e972ad0 -r f1d13e615070 src/config.in --- a/src/config.in Thu Dec 07 00:45:27 2006 +0000 +++ b/src/config.in Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,7 @@ /* src/config.in. Generated from configure.in by autoheader. */ /* GNU Emacs site configuration template file. - Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006 + Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -577,6 +577,9 @@ /* Define to 1 if `struct utimbuf' is declared by . */ #undef HAVE_STRUCT_UTIMBUF +/* Define to 1 if you have the `sync' function. */ +#undef HAVE_SYNC + /* Define to 1 if you have the `sysinfo' function. */ #undef HAVE_SYSINFO @@ -700,6 +703,9 @@ /* Define to 1 if you have the X11R6 or newer version of Xt. */ #undef HAVE_X11XTR6 +/* Define to 1 if the file /usr/lib64 exists. */ +#undef HAVE_X86_64_LIB64_DIR + /* Define to 1 if you have the Xaw3d library (-lXaw3d). */ #undef HAVE_XAW3D diff -r 06937e972ad0 -r f1d13e615070 src/emacs.c --- a/src/emacs.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/emacs.c Thu Dec 07 04:14:14 2006 +0000 @@ -361,9 +361,9 @@ #endif -#ifdef SIGUSR1 +#if defined (SIGUSR1) || defined (SIGUSR2) SIGTYPE -handle_USR1_signal (sig) +handle_user_signal (sig) int sig; { struct input_event buf; @@ -374,25 +374,10 @@ buf.frame_or_window = selected_frame; kbd_buffer_store_event (&buf); -} -#endif /* SIGUSR1 */ - -#ifdef SIGUSR2 -SIGTYPE -handle_USR2_signal (sig) - int sig; -{ - struct input_event buf; - - SIGNAL_THREAD_CHECK (sig); - bzero (&buf, sizeof buf); - buf.kind = USER_SIGNAL_EVENT; - buf.code = 1; - buf.frame_or_window = selected_frame; - + buf.code = sig; kbd_buffer_store_event (&buf); } -#endif /* SIGUSR2 */ +#endif /* Handle bus errors, invalid instruction, etc. */ SIGTYPE @@ -1229,10 +1214,10 @@ signal (SIGILL, fatal_error_signal); signal (SIGTRAP, fatal_error_signal); #ifdef SIGUSR1 - signal (SIGUSR1, handle_USR1_signal); + signal (SIGUSR1, handle_user_signal); +#endif #ifdef SIGUSR2 - signal (SIGUSR2, handle_USR2_signal); -#endif + signal (SIGUSR2, handle_user_signal); #endif #ifdef SIGABRT signal (SIGABRT, fatal_error_signal); diff -r 06937e972ad0 -r f1d13e615070 src/fileio.c --- a/src/fileio.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/fileio.c Thu Dec 07 04:14:14 2006 +0000 @@ -3546,11 +3546,7 @@ return Qt; } -#ifdef __NetBSD__ -#define unix 42 -#endif - -#ifdef unix +#ifdef HAVE_SYNC DEFUN ("unix-sync", Funix_sync, Sunix_sync, 0, 0, "", doc: /* Tell Unix to finish all pending disk updates. */) () @@ -3559,7 +3555,7 @@ return Qnil; } -#endif /* unix */ +#endif /* HAVE_SYNC */ DEFUN ("file-newer-than-file-p", Ffile_newer_than_file_p, Sfile_newer_than_file_p, 2, 2, 0, doc: /* Return t if file FILE1 is newer than file FILE2. @@ -6709,7 +6705,7 @@ defsubr (&Sread_file_name); defsubr (&Snext_read_file_uses_dialog_p); -#ifdef unix +#ifdef HAVE_SYNC defsubr (&Sunix_sync); #endif } diff -r 06937e972ad0 -r f1d13e615070 src/fns.c --- a/src/fns.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/fns.c Thu Dec 07 04:14:14 2006 +0000 @@ -150,13 +150,13 @@ if (STRINGP (sequence)) XSETFASTINT (val, SCHARS (sequence)); else if (VECTORP (sequence)) - XSETFASTINT (val, XVECTOR (sequence)->size); + XSETFASTINT (val, ASIZE (sequence)); else if (CHAR_TABLE_P (sequence)) XSETFASTINT (val, MAX_CHAR); else if (BOOL_VECTOR_P (sequence)) XSETFASTINT (val, XBOOL_VECTOR (sequence)->size); else if (COMPILEDP (sequence)) - XSETFASTINT (val, XVECTOR (sequence)->size & PSEUDOVECTOR_SIZE_MASK); + XSETFASTINT (val, ASIZE (sequence) & PSEUDOVECTOR_SIZE_MASK); else if (CONSP (sequence)) { i = 0; @@ -389,9 +389,9 @@ /* "gcc -O3" enables automatic function inlining, which optimizes out the arguments for the invocations of this function, whereas it expects these values on the stack. */ -static Lisp_Object concat () __attribute__((noinline)); +static Lisp_Object concat P_ ((int nargs, Lisp_Object *args, enum Lisp_Type target_type, int last_special)) __attribute__((noinline)); #else /* !__GNUC__ */ -static Lisp_Object concat (); +static Lisp_Object concat P_ ((int nargs, Lisp_Object *args, enum Lisp_Type target_type, int last_special)); #endif /* ARGSUSED */ @@ -576,7 +576,7 @@ if (VECTORP (this)) for (i = 0; i < len; i++) { - ch = XVECTOR (this)->contents[i]; + ch = AREF (this, i); CHECK_CHARACTER (ch); this_len_byte = CHAR_BYTES (XINT (ch)); result_len_byte += this_len_byte; @@ -727,7 +727,7 @@ thisindex++; } else - elt = XVECTOR (this)->contents[thisindex++]; + elt = AREF (this, thisindex++); /* Store this element into the result. */ if (toindex < 0) @@ -737,7 +737,7 @@ tail = XCDR (tail); } else if (VECTORP (val)) - XVECTOR (val)->contents[toindex++] = elt; + AREF (val, toindex++) = elt; else { CHECK_NUMBER (elt); @@ -1180,7 +1180,7 @@ size_byte = SBYTES (string); } else - size = XVECTOR (string)->size; + size = ASIZE (string); if (NILP (to)) { @@ -1218,8 +1218,7 @@ string, make_number (0), res, Qnil); } else - res = Fvector (to_char - from_char, - XVECTOR (string)->contents + from_char); + res = Fvector (to_char - from_char, &AREF (string, from_char)); return res; } @@ -1303,7 +1302,7 @@ size_byte = SBYTES (string); } else - size = XVECTOR (string)->size; + size = ASIZE (string); if (!(0 <= from && from <= to && to <= size)) args_out_of_range_3 (string, make_number (from), make_number (to)); @@ -1317,8 +1316,7 @@ string, make_number (0), res, Qnil); } else - res = Fvector (to - from, - XVECTOR (string)->contents + from); + res = Fvector (to - from, &AREF (string, from)); return res; } @@ -2180,11 +2178,11 @@ case Lisp_Vectorlike: { register int i; - EMACS_INT size = XVECTOR (o1)->size; + EMACS_INT size = ASIZE (o1); /* Pseudovectors have the type encoded in the size field, so this test actually checks that the objects have the same type as well as the same size. */ - if (XVECTOR (o2)->size != size) + if (ASIZE (o2) != size) return 0; /* Boolvectors are compared much like strings. */ if (BOOL_VECTOR_P (o1)) @@ -2215,8 +2213,8 @@ for (i = 0; i < size; i++) { Lisp_Object v1, v2; - v1 = XVECTOR (o1)->contents [i]; - v2 = XVECTOR (o2)->contents [i]; + v1 = AREF (o1, i); + v2 = AREF (o2, i); if (!internal_equal (v1, v2, depth + 1, props)) return 0; } @@ -2257,7 +2255,7 @@ if (VECTORP (array)) { register Lisp_Object *p = XVECTOR (array)->contents; - size = XVECTOR (array)->size; + size = ASIZE (array); for (index = 0; index < size; index++) p[index] = item; } @@ -2422,14 +2420,14 @@ else GCPRO2 (fn, seq); /* We need not explicitly protect `tail' because it is used only on lists, and - 1) lists are not relocated and 2) the list is marked via `seq' so will not be freed */ + 1) lists are not relocated and 2) the list is marked via `seq' so will not + be freed */ if (VECTORP (seq)) { for (i = 0; i < leni; i++) { - dummy = XVECTOR (seq)->contents[i]; - dummy = call1 (fn, dummy); + dummy = call1 (fn, AREF (seq, i)); if (vals) vals[i] = dummy; } @@ -2440,11 +2438,7 @@ { int byte; byte = XBOOL_VECTOR (seq)->data[i / BOOL_VECTOR_BITS_PER_CHAR]; - if (byte & (1 << (i % BOOL_VECTOR_BITS_PER_CHAR))) - dummy = Qt; - else - dummy = Qnil; - + dummy = (byte & (1 << (i % BOOL_VECTOR_BITS_PER_CHAR))) ? Qt : Qnil; dummy = call1 (fn, dummy); if (vals) vals[i] = dummy; @@ -3757,7 +3751,7 @@ int i, old_size; xassert (VECTORP (vec)); - old_size = XVECTOR (vec)->size; + old_size = ASIZE (vec); xassert (new_size >= old_size); v = allocate_vector (new_size); @@ -4089,7 +4083,7 @@ if (!NILP (HASH_HASH (h, i))) { unsigned hash_code = XUINT (HASH_HASH (h, i)); - int start_of_bucket = hash_code % XVECTOR (h->index)->size; + int start_of_bucket = hash_code % ASIZE (h->index); HASH_NEXT (h, i) = HASH_INDEX (h, start_of_bucket); HASH_INDEX (h, start_of_bucket) = make_number (i); } @@ -4115,7 +4109,7 @@ if (hash) *hash = hash_code; - start_of_bucket = hash_code % XVECTOR (h->index)->size; + start_of_bucket = hash_code % ASIZE (h->index); idx = HASH_INDEX (h, start_of_bucket); /* We need not gcpro idx since it's either an integer or nil. */ @@ -4162,7 +4156,7 @@ HASH_HASH (h, i) = make_number (hash); /* Add new entry to its collision chain. */ - start_of_bucket = hash % XVECTOR (h->index)->size; + start_of_bucket = hash % ASIZE (h->index); HASH_NEXT (h, i) = HASH_INDEX (h, start_of_bucket); HASH_INDEX (h, start_of_bucket) = make_number (i); return i; @@ -4181,7 +4175,7 @@ Lisp_Object idx, prev; hash_code = h->hashfn (h, key); - start_of_bucket = hash_code % XVECTOR (h->index)->size; + start_of_bucket = hash_code % ASIZE (h->index); idx = HASH_INDEX (h, start_of_bucket); prev = Qnil; @@ -4237,8 +4231,8 @@ HASH_HASH (h, i) = Qnil; } - for (i = 0; i < XVECTOR (h->index)->size; ++i) - XVECTOR (h->index)->contents[i] = Qnil; + for (i = 0; i < ASIZE (h->index); ++i) + AREF (h->index, i) = Qnil; h->next_free = make_number (0); h->count = make_number (0); @@ -4263,7 +4257,7 @@ { int bucket, n, marked; - n = XVECTOR (h->index)->size & ~ARRAY_MARK_FLAG; + n = ASIZE (h->index) & ~ARRAY_MARK_FLAG; marked = 0; for (bucket = 0; bucket < n; ++bucket) @@ -4477,13 +4471,13 @@ Lisp_Object vec; int depth; { - unsigned hash = XVECTOR (vec)->size; + unsigned hash = ASIZE (vec); int i, n; - n = min (SXHASH_MAX_LEN, XVECTOR (vec)->size); + n = min (SXHASH_MAX_LEN, ASIZE (vec)); for (i = 0; i < n; ++i) { - unsigned hash2 = sxhash (XVECTOR (vec)->contents[i], depth + 1); + unsigned hash2 = sxhash (AREF (vec, i), depth + 1); hash = SXHASH_COMBINE (hash, hash2); } diff -r 06937e972ad0 -r f1d13e615070 src/gtkutil.c --- a/src/gtkutil.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/gtkutil.c Thu Dec 07 04:14:14 2006 +0000 @@ -3684,6 +3684,9 @@ struct image *img; Lisp_Object image; GtkWidget *wicon = iter ? GTK_WIDGET (iter->data) : 0; + GtkToolItem *ti = NULL; + GtkWidget *wvbox; + GList *chlist; if (iter) iter = g_list_next (iter); @@ -3723,22 +3726,40 @@ if (wicon) gtk_widget_hide (wicon); else + /* Insert an empty (non-image) button */ gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), gtk_tool_button_new (NULL, ""), i); continue; } - if (! wicon) + if (wicon) + { + /* The child of the tool bar is a button. Inside that button + is a vbox. Inside that vbox is the GtkImage. */ + wvbox = gtk_bin_get_child (GTK_BIN (wicon)); + chlist = gtk_container_get_children (GTK_CONTAINER (wvbox)); + if (chlist == NULL) + /* In this case, we inserted an empty button (above) with no image */ + ti = GTK_TOOL_ITEM (wicon); + } + + if (! wicon || ti != NULL) { GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL); - GtkToolItem *ti = gtk_tool_button_new (w, ""); - gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin); - gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), - ti, - i); + + if (ti == NULL) + { + ti = gtk_tool_button_new (w, ""); + + gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), ti, i); + } + else + gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (ti), w); + + /* The EMACS_INT cast avoids a warning. */ g_signal_connect (GTK_WIDGET (ti), "clicked", GTK_SIGNAL_FUNC (xg_tool_bar_callback), diff -r 06937e972ad0 -r f1d13e615070 src/keyboard.c --- a/src/keyboard.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/keyboard.c Thu Dec 07 04:14:14 2006 +0000 @@ -3784,7 +3784,8 @@ if (!NILP (Vthrow_on_input) && event->kind != FOCUS_IN_EVENT && event->kind != HELP_EVENT - && event->kind != DEICONIFY_EVENT) + && event->kind != DEICONIFY_EVENT + && !(event->kind == USER_SIGNAL_EVENT && event->code == 0)) { Vquit_flag = Vthrow_on_input; /* If we're inside a function that wants immediate quits, @@ -5073,13 +5074,7 @@ }; /* User signal events. */ -Lisp_Object Qusr1_signal, Qusr2_signal; - -Lisp_Object *lispy_user_signals[] = -{ - &Qusr1_signal, &Qusr2_signal -}; - +Lisp_Object Qsignal; /* A vector, indexed by button number, giving the down-going location of currently depressed buttons, both scroll bar and non-scroll bar. @@ -5706,7 +5701,7 @@ position = make_lispy_position (f, &event->x, &event->y, event->timestamp); - /* Set double or triple modifiers to indicate the wheel speed. */ + /* Set double or triple modifiers to indicate the wheel speed. */ { /* On window-system frames, use the value of double-click-fuzz as is. On other frames, interpret it @@ -5760,7 +5755,7 @@ if (event->modifiers & up_modifier) { - /* Emit a wheel-up event. */ + /* Emit a wheel-up event. */ event->modifiers &= ~up_modifier; symbol_num = 0; } @@ -5775,7 +5770,7 @@ the up_modifier set. */ abort (); - /* Get the symbol we should use for the wheel event. */ + /* Get the symbol we should use for the wheel event. */ head = modify_event_symbol (symbol_num, event->modifiers, Qmouse_click, @@ -5953,7 +5948,21 @@ case USER_SIGNAL_EVENT: /* A user signal. */ - return *lispy_user_signals[event->code]; + switch (event->code) + { + case 0: + return Qsignal; +#ifdef SIGUSR1 + case SIGUSR1: + return intern ("usr1"); +#endif +#ifdef SIGUSR2 + case SIGUSR2: + return intern ("usr2"); +#endif + default: + return make_number (event->code); + } case SAVE_SESSION_EVENT: return Qsave_session; @@ -11025,10 +11034,8 @@ staticpro (&Qmac_apple_event); #endif - Qusr1_signal = intern ("usr1-signal"); - staticpro (&Qusr1_signal); - Qusr2_signal = intern ("usr2-signal"); - staticpro (&Qusr2_signal); + Qsignal = intern ("signal"); + staticpro (&Qsignal); Qmenu_enable = intern ("menu-enable"); staticpro (&Qmenu_enable); diff -r 06937e972ad0 -r f1d13e615070 src/m/amdx86-64.h --- a/src/m/amdx86-64.h Thu Dec 07 00:45:27 2006 +0000 +++ b/src/m/amdx86-64.h Thu Dec 07 04:14:14 2006 +0000 @@ -128,7 +128,11 @@ #else /* !__OpenBSD__ && !__FreeBSD__ */ #undef START_FILES +#ifdef HAVE_X86_64_LIB64_DIR #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o +#else +#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o +#endif /* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. The reason is that some functions in libgcc.a call functions from libc.a, @@ -136,7 +140,11 @@ versions of ld are one-pass linkers, we need to mention -lgcc twice, or else we risk getting unresolved externals. */ #undef LIB_STANDARD +#ifdef HAVE_X86_64_LIB64_DIR #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o +#else +#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o +#endif #endif /* __FreeBSD__ */ diff -r 06937e972ad0 -r f1d13e615070 src/m/ibmrs6000.h --- a/src/m/ibmrs6000.h Thu Dec 07 00:45:27 2006 +0000 +++ b/src/m/ibmrs6000.h Thu Dec 07 04:14:14 2006 +0000 @@ -44,7 +44,7 @@ #define IBMR2AIX /* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ +/* This is desirable for most machines. */ #define NO_UNION_TYPE @@ -72,7 +72,7 @@ /* The data segment in this machine always starts at address 0x20000000. An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ + we always lose the high bits. We must tell XPNTR to add them back. */ #ifndef USG5_4 #define DATA_SEG_BITS 0x20000000 @@ -86,7 +86,7 @@ #define PURE_SEG_BITS 0x30000000 /* Use shared memory. */ -/* This is turned off because it does not always work. See etc/AIX.DUMP. */ +/* This is turned off because it does not always work. See etc/AIX.DUMP. */ /* #define HAVE_SHM */ #define SHMKEY 5305035 /* used for shared memory code segments */ #endif /* CANNOT_DUMP */ diff -r 06937e972ad0 -r f1d13e615070 src/m/pfa50.h --- a/src/m/pfa50.h Thu Dec 07 00:45:27 2006 +0000 +++ b/src/m/pfa50.h Thu Dec 07 04:14:14 2006 +0000 @@ -50,7 +50,7 @@ #define NO_REMAP /* Define TEXT_START_ADDR if your linker don't set execute point to _start. - If it needed, temacs always CORE-DUMP. */ + If it needed, temacs always CORE-DUMP. */ #define TEXT_START_ADDR __start diff -r 06937e972ad0 -r f1d13e615070 src/msdos.c --- a/src/msdos.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/msdos.c Thu Dec 07 04:14:14 2006 +0000 @@ -2639,7 +2639,7 @@ #define Ctrl 0x0200 /* ctrl scan-code */ #define Shift 0x0400 /* shift scan-code */ -static int extended_kbd; /* 101 (102) keyboard present. */ +static int extended_kbd; /* 101 (102) keyboard present. */ struct kbd_translate { unsigned char sc; diff -r 06937e972ad0 -r f1d13e615070 src/process.c --- a/src/process.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/process.c Thu Dec 07 04:14:14 2006 +0000 @@ -149,7 +149,8 @@ #include "atimer.h" Lisp_Object Qprocessp; -Lisp_Object Qrun, Qstop, Qsignal; +Lisp_Object Qrun, Qstop; +extern Lisp_Object Qsignal; Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; Lisp_Object Qlocal, Qipv4, Qdatagram; #ifdef AF_INET6 @@ -6127,8 +6128,8 @@ got_it: -#define handle_signal(NAME, VALUE) \ - else if (!strcmp (name, NAME)) \ +#define parse_signal(NAME, VALUE) \ + else if (!strcasecmp (name, NAME)) \ XSETINT (sigcode, VALUE) if (INTEGERP (sigcode)) @@ -6140,106 +6141,106 @@ CHECK_SYMBOL (sigcode); name = SDATA (SYMBOL_NAME (sigcode)); - if (!strncmp(name, "SIG", 3)) + if (!strncasecmp(name, "sig", 3)) name += 3; if (0) ; +#ifdef SIGUSR1 + parse_signal ("usr1", SIGUSR1); +#endif +#ifdef SIGUSR2 + parse_signal ("usr2", SIGUSR2); +#endif +#ifdef SIGTERM + parse_signal ("term", SIGTERM); +#endif #ifdef SIGHUP - handle_signal ("HUP", SIGHUP); + parse_signal ("hup", SIGHUP); #endif #ifdef SIGINT - handle_signal ("INT", SIGINT); + parse_signal ("int", SIGINT); #endif #ifdef SIGQUIT - handle_signal ("QUIT", SIGQUIT); + parse_signal ("quit", SIGQUIT); #endif #ifdef SIGILL - handle_signal ("ILL", SIGILL); + parse_signal ("ill", SIGILL); #endif #ifdef SIGABRT - handle_signal ("ABRT", SIGABRT); + parse_signal ("abrt", SIGABRT); #endif #ifdef SIGEMT - handle_signal ("EMT", SIGEMT); + parse_signal ("emt", SIGEMT); #endif #ifdef SIGKILL - handle_signal ("KILL", SIGKILL); + parse_signal ("kill", SIGKILL); #endif #ifdef SIGFPE - handle_signal ("FPE", SIGFPE); + parse_signal ("fpe", SIGFPE); #endif #ifdef SIGBUS - handle_signal ("BUS", SIGBUS); + parse_signal ("bus", SIGBUS); #endif #ifdef SIGSEGV - handle_signal ("SEGV", SIGSEGV); + parse_signal ("segv", SIGSEGV); #endif #ifdef SIGSYS - handle_signal ("SYS", SIGSYS); + parse_signal ("sys", SIGSYS); #endif #ifdef SIGPIPE - handle_signal ("PIPE", SIGPIPE); + parse_signal ("pipe", SIGPIPE); #endif #ifdef SIGALRM - handle_signal ("ALRM", SIGALRM); -#endif -#ifdef SIGTERM - handle_signal ("TERM", SIGTERM); + parse_signal ("alrm", SIGALRM); #endif #ifdef SIGURG - handle_signal ("URG", SIGURG); + parse_signal ("urg", SIGURG); #endif #ifdef SIGSTOP - handle_signal ("STOP", SIGSTOP); + parse_signal ("stop", SIGSTOP); #endif #ifdef SIGTSTP - handle_signal ("TSTP", SIGTSTP); + parse_signal ("tstp", SIGTSTP); #endif #ifdef SIGCONT - handle_signal ("CONT", SIGCONT); + parse_signal ("cont", SIGCONT); #endif #ifdef SIGCHLD - handle_signal ("CHLD", SIGCHLD); + parse_signal ("chld", SIGCHLD); #endif #ifdef SIGTTIN - handle_signal ("TTIN", SIGTTIN); + parse_signal ("ttin", SIGTTIN); #endif #ifdef SIGTTOU - handle_signal ("TTOU", SIGTTOU); + parse_signal ("ttou", SIGTTOU); #endif #ifdef SIGIO - handle_signal ("IO", SIGIO); + parse_signal ("io", SIGIO); #endif #ifdef SIGXCPU - handle_signal ("XCPU", SIGXCPU); + parse_signal ("xcpu", SIGXCPU); #endif #ifdef SIGXFSZ - handle_signal ("XFSZ", SIGXFSZ); + parse_signal ("xfsz", SIGXFSZ); #endif #ifdef SIGVTALRM - handle_signal ("VTALRM", SIGVTALRM); + parse_signal ("vtalrm", SIGVTALRM); #endif #ifdef SIGPROF - handle_signal ("PROF", SIGPROF); + parse_signal ("prof", SIGPROF); #endif #ifdef SIGWINCH - handle_signal ("WINCH", SIGWINCH); + parse_signal ("winch", SIGWINCH); #endif #ifdef SIGINFO - handle_signal ("INFO", SIGINFO); -#endif -#ifdef SIGUSR1 - handle_signal ("USR1", SIGUSR1); -#endif -#ifdef SIGUSR2 - handle_signal ("USR2", SIGUSR2); + parse_signal ("info", SIGINFO); #endif else error ("Undefined signal name %s", name); } -#undef handle_signal +#undef parse_signal return make_number (kill (pid, XINT (sigcode))); } @@ -6985,8 +6986,6 @@ staticpro (&Qrun); Qstop = intern ("stop"); staticpro (&Qstop); - Qsignal = intern ("signal"); - staticpro (&Qsignal); /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it here again. diff -r 06937e972ad0 -r f1d13e615070 src/regex.c --- a/src/regex.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/regex.c Thu Dec 07 04:14:14 2006 +0000 @@ -12,13 +12,13 @@ This program 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 + 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ + USA. */ /* TODO: - structure the opcode space into opcode+flag. @@ -139,7 +139,7 @@ # endif # define free xfree -/* Converts the pointer to the char to BEG-based offset from the start. */ +/* Converts the pointer to the char to BEG-based offset from the start. */ # define PTR_TO_OFFSET(d) POS_AS_IN_BUFFER (POINTER_TO_OFFSET (d)) # define POS_AS_IN_BUFFER(p) ((p) + (NILP (re_match_object) || BUFFERP (re_match_object))) @@ -565,7 +565,7 @@ # define REGEX_REALLOCATE_STACK(source, osize, nsize) \ REGEX_REALLOCATE (source, osize, nsize) -/* No need to explicitly free anything. */ +/* No need to explicitly free anything. */ # define REGEX_FREE_STACK(arg) ((void)0) # endif /* not REGEX_MALLOC */ @@ -679,7 +679,7 @@ jump, /* Followed by two-byte relative address of place to resume at - in case of failure. */ + in case of failure. */ on_failure_jump, /* Like on_failure_jump, but pushes a placeholder instead of the @@ -716,7 +716,7 @@ jump_n, /* Set the following two-byte relative address to the - subsequent two-byte number. The address *includes* the two + subsequent two-byte number. The address *includes* the two bytes of number. */ set_number_at, @@ -724,7 +724,7 @@ wordend, /* Succeeds if at word end. */ wordbound, /* Succeeds if at a word boundary. */ - notwordbound, /* Succeeds if not at a word boundary. */ + notwordbound, /* Succeeds if not at a word boundary. */ symbeg, /* Succeeds if at symbol beginning. */ symend, /* Succeeds if at symbol end. */ @@ -742,8 +742,8 @@ after_dot, /* Succeeds if after point. */ /* Matches any character whose category-set contains the specified - category. The operator is followed by a byte which contains a - category code (mnemonic ASCII character). */ + category. The operator is followed by a byte which contains a + category code (mnemonic ASCII character). */ categoryspec, /* Matches any character whose category-set does not contain the @@ -832,7 +832,7 @@ /* Store a multibyte character in three contiguous bytes starting DESTINATION, and increment DESTINATION to the byte after where the - character is stored. Therefore, DESTINATION must be an lvalue. */ + character is stored. Therefore, DESTINATION must be an lvalue. */ #define STORE_CHARACTER_AND_INCR(destination, character) \ do { \ @@ -843,7 +843,7 @@ } while (0) /* Put into DESTINATION a character stored in three contiguous bytes - starting at SOURCE. */ + starting at SOURCE. */ #define EXTRACT_CHARACTER(destination, source) \ do { \ @@ -879,13 +879,13 @@ && (p)[2 + (c) / BYTEWIDTH] & (1 << ((c) % BYTEWIDTH))) /* Return the address of end of RANGE_TABLE. COUNT is number of - ranges (which is a pair of (start, end)) in the RANGE_TABLE. `* 2' - is start of range and end of range. `* 3' is size of each start + ranges (which is a pair of (start, end)) in the RANGE_TABLE. `* 2' + is start of range and end of range. `* 3' is size of each start and end. */ #define CHARSET_RANGE_TABLE_END(range_table, count) \ ((range_table) + (count) * 2 * 3) -/* Test if C is in RANGE_TABLE. A flag NOT is negated if C is in. +/* Test if C is in RANGE_TABLE. A flag NOT is negated if C is in. COUNT is number of ranges in RANGE_TABLE. */ #define CHARSET_LOOKUP_RANGE_TABLE_RAW(not, c, range_table, count) \ do \ @@ -1692,7 +1692,7 @@ REGSTART, REGEND -- arrays of string positions. Also assumes the variables `fail_stack' and (if debugging), `bufp', - `pend', `string1', `size1', `string2', and `size2'. */ + `pend', `string1', `size1', `string2', and `size2'. */ #define POP_FAILURE_POINT(str, pat) \ do { \ @@ -1961,7 +1961,7 @@ { int *table; /* actual work area. */ int allocated; /* allocated size for work area in bytes. */ - int used; /* actually used size in words. */ + int used; /* actually used size in words. */ int bits; /* flag to record character classes */ }; @@ -2000,7 +2000,7 @@ (work_area).table[(work_area).used++] = (range_end); \ } while (0) -/* Free allocated memory for WORK_AREA. */ +/* Free allocated memory for WORK_AREA. */ #define FREE_RANGE_TABLE_WORK_AREA(work_area) \ do { \ if ((work_area).table) \ @@ -2534,7 +2534,7 @@ re_char *beg_interval; /* Address of the place where a forward jump should go to the end of - the containing expression. Each alternative of an `or' -- except the + the containing expression. Each alternative of an `or' -- except the last -- ends with a forward jump of this sort. */ unsigned char *fixup_alt_jump = 0; @@ -2609,11 +2609,11 @@ if (bufp->buffer) { /* If zero allocated, but buffer is non-null, try to realloc enough space. This loses if buffer's address is bogus, but - that is the user's responsibility. */ + that is the user's responsibility. */ RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char); } else - { /* Caller did not allocate a buffer. Do it for them. */ + { /* Caller did not allocate a buffer. Do it for them. */ bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char); } if (!bufp->buffer) FREE_STACK_RETURN (REG_ESPACE); @@ -2677,15 +2677,15 @@ p = pattern = whitespace_regexp; pend = p + strlen (p); break; - } + } case '^': { - if ( /* If at start of pattern, it's an operator. */ + if ( /* If at start of pattern, it's an operator. */ p == pattern + 1 - /* If context independent, it's an operator. */ + /* If context independent, it's an operator. */ || syntax & RE_CONTEXT_INDEP_ANCHORS - /* Otherwise, depends on what's come before. */ + /* Otherwise, depends on what's come before. */ || at_begline_loc_p (pattern, p, syntax)) BUF_PUSH ((syntax & RE_NO_NEWLINE_ANCHOR) ? begbuf : begline); else @@ -2698,7 +2698,7 @@ { if ( /* If at end of pattern, it's an operator. */ p == pend - /* If context independent, it's an operator. */ + /* If context independent, it's an operator. */ || syntax & RE_CONTEXT_INDEP_ANCHORS /* Otherwise, depends on what's next. */ || at_endline_loc_p (p, pend, syntax)) @@ -2726,14 +2726,14 @@ } { - /* 1 means zero (many) matches is allowed. */ + /* 1 means zero (many) matches is allowed. */ boolean zero_times_ok = 0, many_times_ok = 0; boolean greedy = 1; /* If there is a sequence of repetition chars, collapse it down to just one (the right one). We can't combine interval operators with these because of, e.g., `a{2}*', - which should only match an even number of `a's. */ + which should only match an even number of `a's. */ for (;;) { @@ -2773,7 +2773,7 @@ break; /* Now we know whether or not zero matches is allowed - and also whether or not two or more matches is allowed. */ + and also whether or not two or more matches is allowed. */ if (greedy) { if (many_times_ok) @@ -2880,7 +2880,7 @@ laststart = b; /* We test `*p == '^' twice, instead of using an if - statement, so we only need one BUF_PUSH. */ + statement, so we only need one BUF_PUSH. */ BUF_PUSH (*p == '^' ? charset_not : charset); if (*p == '^') p++; @@ -2888,7 +2888,7 @@ /* Remember the first position in the bracket expression. */ p1 = p; - /* Push the number of bytes in the bitmap. */ + /* Push the number of bytes in the bitmap. */ BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH); /* Clear the whole map. */ @@ -2899,7 +2899,7 @@ && (syntax & RE_HAT_LISTS_NOT_NEWLINE)) SET_LIST_BIT ('\n'); - /* Read in characters and ranges, setting map bits. */ + /* Read in characters and ranges, setting map bits. */ for (;;) { boolean escaped_char = false; @@ -2923,7 +2923,7 @@ } else { - /* Could be the end of the bracket expression. If it's + /* Could be the end of the bracket expression. If it's not (i.e., when the bracket expression is `[]' so far), the ']' character bit gets set way below. */ if (c == ']' && p2 != p1) @@ -2936,7 +2936,7 @@ if (!escaped_char && syntax & RE_CHAR_CLASSES && c == '[' && *p == ':') { - /* Leave room for the null. */ + /* Leave room for the null. */ unsigned char str[CHAR_CLASS_MAX_LENGTH + 1]; const unsigned char *class_beg; @@ -3034,7 +3034,7 @@ /* Because the `:' may starts the range, we can't simply set bit and repeat the loop. - Instead, just set it to C and handle below. */ + Instead, just set it to C and handle below. */ c = ':'; } } @@ -3095,7 +3095,7 @@ } /* Discard any (non)matching list bytes that are all 0 at the - end of the map. Decrease the map-length byte too. */ + end of the map. Decrease the map-length byte too. */ while ((int) b[-1] > 0 && b[b[-1] - 1] == 0) b[-1]--; b += b[-1]; @@ -3214,7 +3214,7 @@ } /* These are the values to restore when we hit end of this - group. They are all relative offsets, so that if the + group. They are all relative offsets, so that if the whole pattern moves because of realloc, they will still be valid. */ COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer; @@ -3270,7 +3270,7 @@ { /* We don't just want to restore into `regnum', because later groups should continue to be numbered higher, - as in `(ab)c(de)' -- the second group is #2. */ + as in `(ab)c(de)' -- the second group is #2. */ regnum_t this_group_regnum; compile_stack.avail--; @@ -3287,7 +3287,7 @@ pending_exact = 0; /* We're at the end of the group, so now we know how many - groups were inside this one. */ + groups were inside this one. */ if (this_group_regnum <= MAX_REGNUM && this_group_regnum > 0) BUF_PUSH_2 (stop_memory, this_group_regnum); } @@ -3302,7 +3302,7 @@ goto normal_char; /* Insert before the previous alternative a jump which - jumps to this alternative if the former fails. */ + jumps to this alternative if the former fails. */ GET_BUFFER_SPACE (3); INSERT_JUMP (on_failure_jump, begalt, b + 6); pending_exact = 0; @@ -3439,7 +3439,7 @@ b += 5; /* Code to initialize the lower bound. Insert - before the `succeed_n'. The `5' is the last two + before the `succeed_n'. The `5' is the last two bytes of this `set_number_at', plus 3 bytes of the following `succeed_n'. */ insert_op2 (set_number_at, laststart, 5, lower_bound, b); @@ -3509,7 +3509,7 @@ #ifdef emacs /* There is no way to specify the before_dot and after_dot - operators. rms says this is ok. --karl */ + operators. rms says this is ok. --karl */ case '=': BUF_PUSH (at_dot); break; @@ -3654,7 +3654,7 @@ /* We have only one byte following the exactn for the count. */ || *pending_exact >= (1 << BYTEWIDTH) - MAX_MULTIBYTE_LENGTH - /* If followed by a repetition operator. */ + /* If followed by a repetition operator. */ || (p != pend && (*p == '*' || *p == '^')) || ((syntax & RE_BK_PLUS_QM) ? p + 1 < pend && *p == '\\' && (p[1] == '+' || p[1] == '?') @@ -3759,7 +3759,7 @@ /* Subroutines for `regex_compile'. */ -/* Store OP at LOC followed by two-byte integer parameter ARG. */ +/* Store OP at LOC followed by two-byte integer parameter ARG. */ static void store_op1 (op, loc, arg) @@ -3911,7 +3911,7 @@ boolean not; /* If all elements for base leading-codes in fastmap is set, this - flag is set true. */ + flag is set true. */ boolean match_any_multibyte_characters = false; assert (p); @@ -3959,7 +3959,7 @@ /* Following are the cases which match a character. These end - with `break'. */ + with `break'. */ case exactn: if (fastmap) @@ -4180,7 +4180,7 @@ /* Getting here means we have found the possible starting characters for one path of the pattern -- and that the empty - string does not match. We need not follow this path further. */ + string does not match. We need not follow this path further. */ return 0; } /* while p */ @@ -4215,7 +4215,7 @@ assert (fastmap && bufp->buffer); - bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */ + bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */ bufp->fastmap_accurate = 1; /* It will be when we're done. */ analysis = analyse_first (bufp->buffer, bufp->buffer + bufp->used, @@ -4260,7 +4260,7 @@ } WEAK_ALIAS (__re_set_registers, re_set_registers) -/* Searching routines. */ +/* Searching routines. */ /* Like re_search_2, below, but only one string is specified, and doesn't let you say where to stop matching. */ @@ -4399,7 +4399,7 @@ /* If a fastmap is supplied, skip quickly over characters that cannot be the start of a match. If the pattern can match the null string, however, we don't need to skip characters; we want - the first null string. */ + the first null string. */ if (fastmap && startpos < total_size && !bufp->can_be_null) { register re_char *d; @@ -4407,7 +4407,7 @@ d = POS_ADDR_VSTRING (startpos); - if (range > 0) /* Searching forwards. */ + if (range > 0) /* Searching forwards. */ { register int lim = 0; int irange = range; @@ -4469,7 +4469,7 @@ } startpos += irange - range; } - else /* Searching backwards. */ + else /* Searching backwards. */ { int room = (startpos >= size1 ? size2 + size1 - startpos @@ -4598,7 +4598,7 @@ } \ /* Test if at very beginning or at very end of the virtual concatenation - of `string1' and `string2'. If only one string, it's `string2'. */ + of `string1' and `string2'. If only one string, it's `string2'. */ #define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2) #define AT_STRINGS_END(d) ((d) == end2) @@ -4619,7 +4619,7 @@ The DEC Alpha C compiler 3.x generates incorrect code for the test WORDCHAR_P (d - 1) != WORDCHAR_P (d) in the expansion of - AT_WORD_BOUNDARY, so this code is disabled. Expanding the + AT_WORD_BOUNDARY, so this code is disabled. Expanding the macro and introducing temporary variables works around the bug. */ #if 0 @@ -4821,7 +4821,7 @@ { /* Now, we are sure that P2 has no range table. So, for the size of bitmap in P2, `p2[1]' is - enough. But P1 may have range table, so the + enough. But P1 may have range table, so the size of bitmap table of P1 is extracted by using macro `CHARSET_BITMAP_SIZE'. @@ -4853,7 +4853,7 @@ { int idx; /* We win if the charset_not inside the loop lists - every character listed in the charset after. */ + every character listed in the charset after. */ for (idx = 0; idx < (int) p2[1]; idx++) if (! (p2[2 + idx] == 0 || (idx < CHARSET_BITMAP_SIZE (p1) @@ -4947,7 +4947,7 @@ #ifdef emacs /* In Emacs, this is the string or buffer in which we - are matching. It is used for looking up syntax properties. */ + are matching. It is used for looking up syntax properties. */ Lisp_Object re_match_object; #endif @@ -4957,11 +4957,11 @@ matching at STOP. If REGS is non-null and the `no_sub' field of BUFP is nonzero, we - store offsets for the substring each group matched in REGS. See the + store offsets for the substring each group matched in REGS. See the documentation for exactly how many groups we fill. We return -1 if no match, -2 if an internal error (such as the - failure stack overflowing). Otherwise, we return the length of the + failure stack overflowing). Otherwise, we return the length of the matched substring. */ int @@ -5011,7 +5011,7 @@ /* This is a separate function so that we can force an alloca cleanup - afterwards. */ + afterwards. */ static int re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) struct re_pattern_buffer *bufp; @@ -5030,7 +5030,7 @@ re_char *end1, *end2; /* Pointers into string1 and string2, just past the last characters in - each to consider matching. */ + each to consider matching. */ re_char *end_match_1, *end_match_2; /* Where we are in the data, and the end of the current string. */ @@ -5059,8 +5059,8 @@ the subexpressions we're currently inside, plus the number of such registers, and, finally, two char *'s. The first char * is where to resume scanning the pattern; the second one is where to resume - scanning the strings. */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ + scanning the strings. */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ fail_stack_type fail_stack; #endif #ifdef DEBUG @@ -5074,7 +5074,7 @@ #endif /* We fill all the registers internally, independent of what we - return, for use in backreferences. The number here includes + return, for use in backreferences. The number here includes an element for register zero. */ size_t num_regs = bufp->re_nsub + 1; @@ -5100,7 +5100,7 @@ /* Logically, this is `best_regend[0]'. But we don't want to have to allocate space for that if we're not allocating space for anything - else (see below). Also, we never need info about register 0 for + else (see below). Also, we never need info about register 0 for any of the other register vectors, and it seems rather a kludge to treat `best_regend' differently than the rest. So we keep track of the end of the best match so far in a separate variable. We @@ -5158,7 +5158,7 @@ regstart[reg] = regend[reg] = NULL; /* We move `string1' into `string2' if the latter's empty -- but not if - `string1' is null. */ + `string1' is null. */ if (size2 == 0 && string1 != NULL) { string2 = string1; @@ -5215,7 +5215,7 @@ DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2); DEBUG_PRINT1 ("'\n"); - /* This loops over pattern commands. It exits by returning from the + /* This loops over pattern commands. It exits by returning from the function if the match is complete, or it drops through if the match fails at this starting point in the input data. */ for (;;) @@ -5238,7 +5238,7 @@ boolean best_match_p; /* AIX compiler got confused when this was combined - with the previous declaration. */ + with the previous declaration. */ if (same_str_p) best_match_p = d > match_end; else @@ -5276,7 +5276,7 @@ end_match_1' while the restored d is in string2. For example, the pattern `x.*y.*z' against the strings `x-' and `y-z-', if the two strings are - not consecutive in memory. */ + not consecutive in memory. */ DEBUG_PRINT1 ("Restoring best registers.\n"); d = match_end; @@ -5299,7 +5299,7 @@ { /* Have the register data arrays been allocated? */ if (bufp->regs_allocated == REGS_UNALLOCATED) - { /* No. So allocate them with malloc. We need one + { /* No. So allocate them with malloc. We need one extra element beyond `num_regs' for the `-1' marker GNU code uses. */ regs->num_regs = MAX (RE_NREGS, num_regs + 1); @@ -5331,7 +5331,7 @@ else { /* These braces fend off a "empty body in an else-statement" - warning under GCC when assert expands to nothing. */ + warning under GCC when assert expands to nothing. */ assert (bufp->regs_allocated == REGS_FIXED); } @@ -5363,7 +5363,7 @@ were in the pattern, set the extra elements to -1. If we (re)allocated the registers, this is the case, because we always allocate enough to have at least one - -1 at the end. */ + -1 at the end. */ for (reg = num_regs; reg < regs->num_regs; reg++) regs->start[reg] = regs->end[reg] = -1; } /* regs && !bufp->no_sub */ @@ -5381,7 +5381,7 @@ return mcnt; } - /* Otherwise match next pattern command. */ + /* Otherwise match next pattern command. */ switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) { /* Ignore these. Used to ignore the n of succeed_n's which @@ -5394,9 +5394,9 @@ DEBUG_PRINT1 ("EXECUTING succeed.\n"); goto succeed_label; - /* Match the next n pattern characters exactly. The following + /* Match the next n pattern characters exactly. The following byte in the pattern defines n, and the n bytes after that - are the characters to match. */ + are the characters to match. */ case exactn: mcnt = *p++; DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt); @@ -5568,7 +5568,7 @@ /* The beginning of a group is represented by start_memory. The argument is the register number. The text matched within the group is recorded (in the internal - registers data structure) under the register number. */ + registers data structure) under the register number. */ case start_memory: DEBUG_PRINT2 ("EXECUTING start_memory %d:\n", *p); @@ -5617,14 +5617,14 @@ case duplicate: { register re_char *d2, *dend2; - int regno = *p++; /* Get which register to match against. */ + int regno = *p++; /* Get which register to match against. */ DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno); - /* Can't back reference a group which we've never matched. */ + /* Can't back reference a group which we've never matched. */ if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno])) goto fail; - /* Where in input to try to start matching. */ + /* Where in input to try to start matching. */ d2 = regstart[regno]; /* Remember the start point to rollback upon failure. */ @@ -5737,7 +5737,7 @@ pushes NULL as the value for the string on the stack. Then `POP_FAILURE_POINT' will keep the current value for the string, instead of restoring it. To see why, consider - matching `foo\nbar' against `.*\n'. The .* matches the foo; + matching `foo\nbar' against `.*\n'. The .* matches the foo; then the . fails against the \n. But the next thing we want to do is match the \n against the \n; if we restored the string value, we would be back at the foo. @@ -5882,7 +5882,7 @@ IMMEDIATE_QUIT_CHECK; EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */ DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt); - p += mcnt; /* Do the jump. */ + p += mcnt; /* Do the jump. */ DEBUG_PRINT2 ("(to %p).\n", p); break; @@ -5976,7 +5976,7 @@ if (/* Case 2: Only one of S1 and S2 is Sword. */ ((s1 == Sword) != (s2 == Sword)) /* Case 3: Both of S1 and S2 are Sword, and macro - WORD_BOUNDARY_P (C1, C2) returns nonzero. */ + WORD_BOUNDARY_P (C1, C2) returns nonzero. */ || ((s1 == Sword) && WORD_BOUNDARY_P (c1, c2))) not = !not; } @@ -5990,7 +5990,7 @@ /* We FAIL in one of the following cases: */ - /* Case 1: D is at the end of string. */ + /* Case 1: D is at the end of string. */ if (AT_STRINGS_END (d)) goto fail; else @@ -6023,7 +6023,7 @@ s1 = SYNTAX (c1); /* ... and S1 is Sword, and WORD_BOUNDARY_P (C1, C2) - returns 0. */ + returns 0. */ if ((s1 == Sword) && !WORD_BOUNDARY_P (c1, c2)) goto fail; } @@ -6068,7 +6068,7 @@ s2 = SYNTAX (c2); /* ... and S2 is Sword, and WORD_BOUNDARY_P (C1, C2) - returns 0. */ + returns 0. */ if ((s2 == Sword) && !WORD_BOUNDARY_P (c1, c2)) goto fail; } @@ -6080,7 +6080,7 @@ /* We FAIL in one of the following cases: */ - /* Case 1: D is at the end of string. */ + /* Case 1: D is at the end of string. */ if (AT_STRINGS_END (d)) goto fail; else @@ -6097,7 +6097,7 @@ PREFETCH (); c2 = RE_STRING_CHAR (d, dend - d); s2 = SYNTAX (c2); - + /* Case 2: S2 is neither Sword nor Ssymbol. */ if (s2 != Sword && s2 != Ssymbol) goto fail; diff -r 06937e972ad0 -r f1d13e615070 src/s/aix4-2.h --- a/src/s/aix4-2.h Thu Dec 07 00:45:27 2006 +0000 +++ b/src/s/aix4-2.h Thu Dec 07 04:14:14 2006 +0000 @@ -20,5 +20,19 @@ */ #define BROKEN_GET_CURRENT_DIR_NAME 1 +/* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler + that did not handle prototypes. On (at least) AIX 5.2, this causes + the proper prototype to be thrown away for lseek64, so compiled + Lisp files do not load correctly and compilation fails. + + The AIX compiler should have learned about function prototypes long + ago, so we can probably go ahead and undefine _NO_PROTO. However, + if someone can demonstrate that this problem still exists for AIX + 4, this should be moved into a new file (aix5.h). +*/ + +#undef _NO_PROTO + + /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 (do not change this comment) */ diff -r 06937e972ad0 -r f1d13e615070 src/s/openbsd.h --- a/src/s/openbsd.h Thu Dec 07 00:45:27 2006 +0000 +++ b/src/s/openbsd.h Thu Dec 07 04:14:14 2006 +0000 @@ -21,13 +21,18 @@ #undef LD_SWITCH_SYSTEM #ifdef __ELF__ -/* Han Boetes says this - is necessary, otherwise Emacs dumps core on elf systems. */ -#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Z -L/usr/pkg/lib -L/usr/local/lib + /* Han Boetes says this + is necessary, otherwise Emacs dumps core on elf systems. */ +#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Z + +/* The version of gcc on OpenBSD doesn't search /usr/local/lib by + default. */ +#define LD_SWITCH_X_DEFAULT -L/usr/local/lib #else - -#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -L/usr/pkg/lib -L/usr/local/lib + +#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp +#define LD_SWITCH_X_DEFAULT -L/usr/local/lib #endif diff -r 06937e972ad0 -r f1d13e615070 src/sound.c --- a/src/sound.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/sound.c Thu Dec 07 04:14:14 2006 +0000 @@ -1015,14 +1015,14 @@ val = sd->format; err = snd_pcm_hw_params_set_format (p->handle, p->hwparams, val); - if (err < 0) + if (err < 0) alsa_sound_perror ("Could not set sound format", err); uval = sd->sample_rate; err = snd_pcm_hw_params_set_rate_near (p->handle, p->hwparams, &uval, 0); if (err < 0) alsa_sound_perror ("Could not set sample rate", err); - + val = sd->channels; err = snd_pcm_hw_params_set_channels (p->handle, p->hwparams, val); if (err < 0) @@ -1072,11 +1072,11 @@ p->hwparams = NULL; snd_pcm_sw_params_free (p->swparams); p->swparams = NULL; - + err = snd_pcm_prepare (p->handle); if (err < 0) alsa_sound_perror ("Could not prepare audio interface for use", err); - + if (sd->volume > 0) { int chn; @@ -1098,7 +1098,7 @@ long pmin, pmax; snd_mixer_selem_get_playback_volume_range (e, &pmin, &pmax); long vol = pmin + (sd->volume * (pmax - pmin)) / 100; - + for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++) snd_mixer_selem_set_playback_volume (e, chn, vol); } @@ -1230,9 +1230,9 @@ err); } } - else + else alsa_sound_perror ("Error writing to sound device", err); - + } else nwritten += err * fact; @@ -1374,7 +1374,7 @@ DEFUN ("play-sound-internal", Fplay_sound_internal, Splay_sound_internal, 1, 1, 0, doc: /* Play sound SOUND. -Internal use only, use `play-sound' instead.\n */) +Internal use only, use `play-sound' instead. */) (sound) Lisp_Object sound; { diff -r 06937e972ad0 -r f1d13e615070 src/strftime.c --- a/src/strftime.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/strftime.c Thu Dec 07 04:14:14 2006 +0000 @@ -69,9 +69,9 @@ #if DO_MULTIBYTE # if HAVE_MBRLEN # include -# ifdef HAVE_SYS__MBSTATE_H /* previously tested __hpux */ -# include -# endif +# ifdef HAVE_SYS__MBSTATE_T_H /* previously tested __hpux */ +# include +# endif # if !defined (mbsinit) && !defined (HAVE_MBSINIT) # define mbsinit(ps) 1 # endif /* !defined (mbsinit) && !defined (HAVE_MBSINIT) */ diff -r 06937e972ad0 -r f1d13e615070 src/syntax.c --- a/src/syntax.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/syntax.c Thu Dec 07 04:14:14 2006 +0000 @@ -1481,7 +1481,7 @@ const unsigned char *class_beg = str + i_byte + 1; const unsigned char *class_end = class_beg; const unsigned char *class_limit = str + size_byte - 2; - /* Leave room for the null. */ + /* Leave room for the null. */ unsigned char class_name[CHAR_CLASS_MAX_LENGTH + 1]; re_wctype_t cc; diff -r 06937e972ad0 -r f1d13e615070 src/sysdep.c --- a/src/sysdep.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/sysdep.c Thu Dec 07 04:14:14 2006 +0000 @@ -3756,7 +3756,7 @@ * sdcsvax!rmr or rmr@uscd * * Severely hacked over by John Gilmore to make a 4.2BSD compatible - * subroutine. 11Mar86; hoptoad!gnu + * subroutine. 11Mar86; hoptoad!gnu * * Modified by rmtodd@uokmax 6-28-87 -- when making an already existing dir, * subroutine didn't return EEXIST. It does now. diff -r 06937e972ad0 -r f1d13e615070 src/w16select.c --- a/src/w16select.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/w16select.c Thu Dec 07 04:14:14 2006 +0000 @@ -590,7 +590,7 @@ message2 (system_error_msg, sizeof (system_error_msg) - 1, 0); break; } - sit_for (2, 0, 0, 1, 1); + sit_for (make_number (2), 0, 2); } done: diff -r 06937e972ad0 -r f1d13e615070 src/w32fns.c --- a/src/w32fns.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/w32fns.c Thu Dec 07 04:14:14 2006 +0000 @@ -2690,9 +2690,8 @@ PostThreadMessage (dwWindowsThreadId, WM_NULL, 0, 0); } -DWORD -w32_msg_worker (dw) - DWORD dw; +DWORD WINAPI +w32_msg_worker (void *arg) { MSG msg; deferred_msg dummy_buf; @@ -8107,17 +8106,39 @@ doc: /* Get Windows to perform OPERATION on DOCUMENT. This is a wrapper around the ShellExecute system function, which invokes the application registered to handle OPERATION for DOCUMENT. -OPERATION is typically \"open\", \"print\" or \"explore\" (but can be -nil for the default action), and DOCUMENT is typically the name of a -document file or URL, but can also be a program executable to run or -a directory to open in the Windows Explorer. - -If DOCUMENT is a program executable, PARAMETERS can be a string -containing command line parameters, but otherwise should be nil. - -SHOW-FLAG can be used to control whether the invoked application is hidden -or minimized. If SHOW-FLAG is nil, the application is displayed normally, -otherwise it is an integer representing a ShowWindow flag: + +OPERATION is either nil or a string that names a supported operation. +What operations can be used depends on the particular DOCUMENT and its +handler application, but typically it is one of the following common +operations: + + \"open\" - open DOCUMENT, which could be a file, a directory, or an + executable program. If it is an application, that + application is launched in the current buffer's default + directory. Otherwise, the application associated with + DOCUMENT is launched in the buffer's default directory. + \"print\" - print DOCUMENT, which must be a file + \"explore\" - start the Windows Explorer on DOCUMENT + \"edit\" - launch an editor and open DOCUMENT for editing; which + editor is launched depends on the association for the + specified DOCUMENT + \"find\" - initiate search starting from DOCUMENT which must specify + a directory + nil - invoke the default OPERATION, or \"open\" if default is + not defined or unavailable + +DOCUMENT is typically the name of a document file or a URL, but can +also be a program executable to run, or a directory to open in the +Windows Explorer. + +If DOCUMENT is a program executable, the optional arg PARAMETERS can +be a string containing command line parameters that will be passed to +the program; otherwise, PARAMETERS should be nil or unspecified. + +Second optional argument SHOW-FLAG can be used to control how the +application will be displayed when it is invoked. If SHOW-FLAG is nil +or unspceified, the application is displayed normally, otherwise it is +an integer representing a ShowWindow flag: 0 - start hidden 1 - start normally diff -r 06937e972ad0 -r f1d13e615070 src/w32term.c --- a/src/w32term.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/w32term.c Thu Dec 07 04:14:14 2006 +0000 @@ -4590,7 +4590,7 @@ /* Ignore any mouse motion that happened before this event; any subsequent mouse-movement Emacs events should reflect only motion after the - ButtonPress. */ + ButtonPress. */ f->mouse_moved = 0; } last_mouse_frame = f; @@ -6450,7 +6450,7 @@ /* Set up use of W32. */ -DWORD w32_msg_worker (); +DWORD WINAPI w32_msg_worker (void * arg); void x_flush (struct frame * f) @@ -6555,8 +6555,8 @@ PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE); hWindowsThread = CreateThread (NULL, 0, - (LPTHREAD_START_ROUTINE) w32_msg_worker, - 0, 0, &dwWindowsThreadId); + w32_msg_worker, + 0, 0, &dwWindowsThreadId); GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE); } diff -r 06937e972ad0 -r f1d13e615070 src/window.c --- a/src/window.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/window.c Thu Dec 07 04:14:14 2006 +0000 @@ -3265,6 +3265,10 @@ struct window *w = XWINDOW (window); struct buffer *b = XBUFFER (buffer); int count = SPECPDL_INDEX (); +#ifdef HAVE_WINDOW_SYSTEM + struct frame *f = XFRAME (w->frame); + Display_Info *dpyinfo; +#endif w->buffer = buffer; @@ -3345,6 +3349,15 @@ call1 (Vrun_hooks, Qwindow_configuration_change_hook); } +#ifdef HAVE_WINDOW_SYSTEM + BLOCK_INPUT; + if (f && FRAME_X_OUTPUT (f) + && (dpyinfo = FRAME_X_DISPLAY_INFO (f)) + && EQ (window, dpyinfo->mouse_face_window)) + clear_mouse_face (dpyinfo); + UNBLOCK_INPUT; +#endif + unbind_to (count, Qnil); } diff -r 06937e972ad0 -r f1d13e615070 src/xdisp.c --- a/src/xdisp.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/xdisp.c Thu Dec 07 04:14:14 2006 +0000 @@ -6986,7 +6986,12 @@ break; case MOVE_LINE_CONTINUED: - it->continuation_lines_width += it->current_x; + /* For continued lines ending in a tab, some of the glyphs + associated with the tab are displayed on the current + line. Since it->current_x does not include these glyphs, + we use it->last_visible_x instead. */ + it->continuation_lines_width += + (it->c == '\t') ? it->last_visible_x : it->current_x; break; default: @@ -17533,7 +17538,7 @@ /* Write a null-terminated, right justified decimal and "human readable" representation of the nonnegative integer D to BUF using - a minimal field width WIDTH. D should be smaller than 999.5e24. */ + a minimal field width WIDTH. D should be smaller than 999.5e24. */ static const char power_letter[] = { diff -r 06937e972ad0 -r f1d13e615070 src/xfaces.c --- a/src/xfaces.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/xfaces.c Thu Dec 07 04:14:14 2006 +0000 @@ -7534,10 +7534,18 @@ #ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_X_WINDOWS if (face->font != FRAME_FONT (f)) - /* As the font specified for the frame was not acceptable as a - font for the default face (perhaps because auto-scaled fonts - are rejected), we must adjust the frame font. */ - x_set_font (f, build_string (face->font_name), Qnil); + { + /* This can happen when making a frame on a display that does + not support the default font. */ + if (!face->font) + return 0; + + /* Otherwise, the font specified for the frame was not + acceptable as a font for the default face (perhaps because + auto-scaled fonts are rejected), so we must adjust the frame + font. */ + x_set_font (f, build_string (face->font_name), Qnil); + } #endif /* HAVE_X_WINDOWS */ #endif /* HAVE_WINDOW_SYSTEM */ return 1; diff -r 06937e972ad0 -r f1d13e615070 src/xselect.c --- a/src/xselect.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/xselect.c Thu Dec 07 04:14:14 2006 +0000 @@ -835,7 +835,7 @@ break; /* Now wait for the requester to ack this chunk by deleting the - property. This can run random lisp code or signal. */ + property. This can run random lisp code or signal. */ TRACE1 ("Waiting for increment ACK (deletion of %s)", XGetAtomName (display, reply.property)); wait_for_property_change (wait_object); @@ -2710,11 +2710,11 @@ else error ("ATOM must be a symbol or a string"); - for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) + for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) if (dpyinfo->x_dnd_atoms[i] == x_atom) return Qnil; - if (dpyinfo->x_dnd_atoms_length == dpyinfo->x_dnd_atoms_size) + if (dpyinfo->x_dnd_atoms_length == dpyinfo->x_dnd_atoms_size) { dpyinfo->x_dnd_atoms_size *= 2; dpyinfo->x_dnd_atoms = xrealloc (dpyinfo->x_dnd_atoms, @@ -2744,7 +2744,7 @@ int idata[5]; size_t i; - for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) + for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) if (dpyinfo->x_dnd_atoms[i] == event->message_type) break; if (i == dpyinfo->x_dnd_atoms_length) return 0; diff -r 06937e972ad0 -r f1d13e615070 src/xterm.c --- a/src/xterm.c Thu Dec 07 00:45:27 2006 +0000 +++ b/src/xterm.c Thu Dec 07 04:14:14 2006 +0000 @@ -9022,23 +9022,10 @@ x_raise_frame (f) struct frame *f; { - Lisp_Object frame; - const char *atom = "_NET_ACTIVE_WINDOW"; - BLOCK_INPUT; if (f->async_visible) XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); - XSETFRAME (frame, f); - /* See Window Manager Specification/Extended Window Manager Hints at - http://freedesktop.org/wiki/Standards_2fwm_2dspec */ - - Fx_send_client_event (frame, make_number (0), frame, - make_unibyte_string (atom, strlen (atom)), - make_number (32), - Fcons (make_number (1), - Fcons (make_number (time (NULL) * 1000), - Qnil))); XFlush (FRAME_X_DISPLAY (f)); UNBLOCK_INPUT; } @@ -9064,7 +9051,22 @@ int raise_flag; { if (raise_flag) - x_raise_frame (f); + { + Lisp_Object frame; + const char *atom = "_NET_ACTIVE_WINDOW"; + + x_raise_frame (f); + /* See Window Manager Specification/Extended Window Manager Hints at + http://freedesktop.org/wiki/Standards_2fwm_2dspec */ + + XSETFRAME (frame, f); + Fx_send_client_event (frame, make_number (0), frame, + make_unibyte_string (atom, strlen (atom)), + make_number (32), + Fcons (make_number (1), + Fcons (make_number (time (NULL) * 1000), + Qnil))); + } else x_lower_frame (f); } diff -r 06937e972ad0 -r f1d13e615070 update-subdirs --- a/update-subdirs Thu Dec 07 00:45:27 2006 +0000 +++ b/update-subdirs Thu Dec 07 04:14:14 2006 +0000 @@ -1,7 +1,8 @@ #!/bin/sh # Write into $1/subdirs.el a list of subdirs of directory $1. -# Copyright (C) 1994,95,97,1999,2001,2004,2006 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, 2005, +# 2006 Free Software Foundation, Inc. # # This file is part of GNU Emacs. #