diff options
290 files changed, 3683 insertions, 1986 deletions
diff --git a/.cvsignore b/.cvsignore index 839d033219b..b2b83d181d6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -10,5 +10,6 @@ config.cache Makefile emacs*.tar.gz leim*.tar.gz +lock *.xdelta autom4te.cache @@ -154,8 +154,6 @@ Andy Norman: wrote ange-ftp.el 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 --git a/ChangeLog b/ChangeLog index fefb233bc0d..210cf6b9806 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2006-12-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * configure.in (HAVE_SYNC): New test. + + * configure: Regenerate. + +2006-12-03 Glenn Morris <rgm@gnu.org> + + * Makefile.in: Fix Copyright format. + + * configure.in (AH_TOP): Add missing Copyright year. + + * update-subdirs: Add missing Copyright years. + +2006-11-27 Chris Moore <christopher.ian.moore@gmail.com> (tiny change) + + * Makefile.in: Touch only the parts of the share/emacs directory + specific to this version. + +2006-11-26 Chong Yidong <cyd@stupidchicken.com> + + * configure.in (HAVE_X86_64_LIB64_DIR): New test. + + * configure: Regenerate. + 2006-11-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * 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 <jerome@marant.org> +2005-06-19 J,Ai(Br,At(Bme Marant <jerome@marant.org> * 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 <monnier@iro.umontreal.ca> +2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca> * 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. <jan.h.d@swipnet.se> +2004-10-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * configure.in (HAVE_RANDOM_HEAPSTART): Rename HAVE_EXECSHIELD. Run test to see if heap start address is random. @@ -637,7 +662,7 @@ * configure.in <darwin>: Use fink packages if available. -2004-01-25 Jerome Marant <jmarant@free.fr> (tiny change) +2004-01-25 J,Ai(Br,At(Bme Marant <jmarant@free.fr> (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` <pot@gnu.org> +2002-11-14 Francesco Potort,Al(B <pot@gnu.org> * 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 <gerd@gnu.org> * configure.in <making srcdir absolute>: 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 <eliz@is.elta.co.il> @@ -1780,8 +1804,7 @@ 2000-08-07 Gerd Moellmann <gerd@gnu.org> - * Makefile.in (config.status): Prepend `$(srcdir)/' to - `configure'. + * Makefile.in (config.status): Prepend `$(srcdir)/' to `configure'. 2000-08-03 Gerd Moellmann <gerd@gnu.org> @@ -2147,7 +2170,7 @@ 1999-08-18 Dave Love <fx@gnu.org> - * configure.in: : Check for termcap.h. + * configure.in: Check for termcap.h. 1999-08-15 Gerd Moellmann <gerd@gnu.org> @@ -2260,8 +2283,8 @@ 1998-12-04 Andreas Schwab <schwab@delysid.gnu.org> - * 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 <rms@psilocin.ai.mit.edu> @@ -2481,7 +2504,7 @@ 1997-09-30 Karl Eichwalder <ke@suse.de> - * 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 <jik@kamens.brookline.ma.us> @@ -2493,8 +2516,7 @@ 1997-09-21 Erik Naggum <erik@naggum.no> - * 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 <handa@psilocin.gnu.ai.mit.edu> +1997-07-07 Kenichi Handa <handa@psilocin.gnu.ai.mit.edu> * 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 <handa@psilocin.gnu.ai.mit.edu> +1997-07-02 Kenichi Handa <handa@psilocin.gnu.ai.mit.edu> * Makefile.in (install-leim): New target. (install): Depend on install-leim. -1997-07-01 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> +1997-07-01 Kenichi Handa <handa@psilocin.gnu.ai.mit.edu> * Makefile.in (SUBDIR): Add leim. (SUBDIR_MAKEFILES): Add leim/Makefile. @@ -2721,16 +2743,14 @@ 1997-06-22 Dave Love <d.love@dl.ac.uk> - * 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 <rms@psilocin.gnu.ai.mit.edu> * configure.in (shutdown): Check for `shutdown' function. -1997-06-18 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> +1997-06-18 Kenichi Handa <handa@psilocin.gnu.ai.mit.edu> * update-subdirs: Include the directory "language" in subdirs. @@ -2767,15 +2787,14 @@ 1997-04-09 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> * 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 <marcus@cathcart.sysc.pdx.edu> * configure.in (DOUG_LEA_MALLOC): Define if malloc_{get,set}_state exist. -1997-03-05 Ken'ichi Handa <handa@etl.go.jp> +1997-03-05 Kenichi Handa <handa@etl.go.jp> * make-dist: Make links for files under lisp/language. @@ -2967,7 +2986,7 @@ 1996-07-11 Bill Mann <dvmann@dvncr.praxisint.com> - * 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 <kwzh@gnu.ai.mit.edu> @@ -3490,8 +3509,8 @@ 1995-06-22 Paul Eggert <eggert@twinsun.com> - * 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 <eggert@twinsun.com> @@ -3563,7 +3582,7 @@ 1995-05-22 enami tsugutomo <enami@sys.ptg.sony.co.jp> - * configure.in: pass arg to sqrt. + * configure.in: Pass arg to sqrt. 1995-05-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> @@ -3575,8 +3594,7 @@ 1995-05-09 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> - * 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 <rms@mole.gnu.ai.mit.edu> @@ -3593,9 +3611,9 @@ 1995-05-06 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> - * 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 <rms@mole.gnu.ai.mit.edu> @@ -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 <simon@lia.di.epfl.ch> * Makefile.in (install-arch-indep, dist): - look for `update-subdir' in $(srcdir). + Look for `update-subdir' in $(srcdir). 1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -3680,8 +3698,8 @@ 1995-02-02 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> - * 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 <kwzh@hal.gnu.ai.mit.edu> @@ -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. @@ -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 --git a/Makefile.in b/Makefile.in index 7bfa7900828..634a32efbe5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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-arch-indep: mkdir info ${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 \ @@ -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 @@ There are several subdirectories: 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 <levitte@lp.se> 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 --git a/admin/ChangeLog b/admin/ChangeLog index b60edd3bea9..0f01e1ae1c7 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,8 @@ +2006-11-25 Juanma Barranquero <lekktu@gmail.com> + + * admin.el (set-version): Set version number in + lib-src/makefile.w32-in. + 2006-11-06 Reiner Steib <Reiner.Steib@gmx.de> * 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 --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 68a6038cbdd..3e481810a69 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -43,11 +43,21 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. * 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? + +** 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 -** jbuehler@spirentcom.com, Nov 20: AIX 5.2 loadup failure +** Should CC mode set beginning-of-defun-function? * DOCUMENTATION diff --git a/admin/admin.el b/admin/admin.el index 6cd090c0805..c2d4eebe903 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -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 @@ Root must be the root of an Emacs source tree." (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 --git a/admin/alloc-colors.c b/admin/alloc-colors.c index 947b542005c..3ca8d4349f3 100644 --- a/admin/alloc-colors.c +++ b/admin/alloc-colors.c @@ -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 --git a/admin/build-configs b/admin/build-configs index 29fc0f0b94c..b3bbfda0cd2 100755 --- a/admin/build-configs +++ b/admin/build-configs @@ -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 --git a/admin/cus-test.el b/admin/cus-test.el index 6ff92b88c95..57e98b6f323 100644 --- a/admin/cus-test.el +++ b/admin/cus-test.el @@ -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 <markus.rost@mathematik.uni-regensburg.de> ;; Maintainer: Markus Rost <rost@math.ohio-state.edu> diff --git a/admin/diff-tar-files b/admin/diff-tar-files index da3b1911abb..c27a8df991d 100755 --- a/admin/diff-tar-files +++ b/admin/diff-tar-files @@ -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 --git a/admin/make-emacs b/admin/make-emacs index 57d04a8f625..01b8bddbd78 100755 --- a/admin/make-emacs +++ b/admin/make-emacs @@ -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 --git a/admin/revdiff b/admin/revdiff index 3b5ffaad3f1..9d419cdbfdb 100755 --- a/admin/revdiff +++ b/admin/revdiff @@ -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 --git a/config.bat b/config.bat index 9a80f5d7854..966b36d59ed 100644 --- a/config.bat +++ b/config.bat @@ -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 --git a/configure b/configure index 6dd945a539c..592fe909c80 100755 --- a/configure +++ b/configure @@ -5193,6 +5193,19 @@ fi +### 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 @@ done + 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 @@ strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ 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 --git a/configure.in b/configure.in index 5bad7de65c4..99cc2d6b6ee 100644 --- a/configure.in +++ b/configure.in @@ -1494,6 +1494,16 @@ dnl Do this early because it can frob feature test macros for Unix-98 &c. 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 @@ strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ 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 @@ if test "${REL_ALLOC}" = "yes" ; then 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 --git a/etc/ChangeLog b/etc/ChangeLog index 4d51623beff..b576c920721 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,23 @@ +2006-12-05 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> + + * 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 <lekktu@gmail.com> + + * DEVEL.HUMOR: Another entry. + +2006-08-14 Masatake YAMATO <jet@gyve.org> + + * etags.1: Added / to the end of DEVAR regex. + +2006-11-22 Juanma Barranquero <lekktu@gmail.com> + + * emacsclient.1 (DESCRIPTION): Suggest also `server-mode'. + (OPTIONS): Document `-f', `--server-file' and EMACS_SERVER_FILE. + 2006-11-20 Michael Olson <mwolson@gnu.org> * NEWS: Change M-x erc-select to M-x erc. diff --git a/etc/DEVEL.HUMOR b/etc/DEVEL.HUMOR index 9e7e4a9910b..296d03d5d54 100644 --- a/etc/DEVEL.HUMOR +++ b/etc/DEVEL.HUMOR @@ -157,3 +157,14 @@ readable? 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 @@ -310,8 +310,8 @@ displays a buffer menu. This option turns the buffer menu off. +++ ** 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-defer-contextually is renamed jit-lock-contextually and 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 @@ characters instead, depending on how the terminal (or terminal 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 @@ at point is suggested as default, but not inserted at the prompt. *** 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 @@ deleting the part of subprocess output that matches the input. ** 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 --git a/etc/emacsclient.1 b/etc/emacsclient.1 index bd641c9fc68..8852372dd75 100644 --- a/etc/emacsclient.1 +++ b/etc/emacsclient.1 @@ -29,10 +29,10 @@ default editor. 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 @@ do not visit files but instead evaluate the arguments as Emacs 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 --git a/etc/etags.1 b/etc/etags.1 index 3007d95a5c2..80fe2843b91 100644 --- a/etc/etags.1 +++ b/etc/etags.1 @@ -205,7 +205,7 @@ from shell interpretation. 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 --git a/leim/ChangeLog b/leim/ChangeLog index 3178d0df3e2..1d86928a2c8 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,12 @@ +2006-12-05 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (MISC): Add $(srcdir)/quail/sisheng.elc. + +2006-11-29 Juanma Barranquero <lekktu@gmail.com> + + * quail/greek.el ("greek-mizuochi"): Remove spurious initial newline + in docstring. + 2006-11-04 Romain Francoise <romain@orebokech.com> * Makefile.in (bootstrap-clean): New target. @@ -98,19 +107,16 @@ 2005-06-04 Eli Zaretskii <eliz@gnu.org> - * 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 <handa@m17n.org> - * 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 <handa@m17n.org> - * 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 <handa@m17n.org> @@ -170,7 +176,7 @@ 2004-07-01 David Kastrup <dak@gnu.org> - * quail/greek.el ("((") ("))"): add quotation mark shorthands. + * quail/greek.el ("((") ("))"): Add quotation mark shorthands. 2004-06-30 Andreas Schwab <schwab@suse.de> @@ -221,7 +227,7 @@ 2004-05-01 Kenichi Handa <handa@m17n.org> - * 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 --git a/leim/makefile.w32-in b/leim/makefile.w32-in index 6c9ac670db1..3b2e2fd41b5 100644 --- a/leim/makefile.w32-in +++ b/leim/makefile.w32-in @@ -119,7 +119,8 @@ MISC= \ $(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 --git a/leim/quail/greek.el b/leim/quail/greek.el index 78a788009dc..a9a97c85352 100644 --- a/leim/quail/greek.el +++ b/leim/quail/greek.el @@ -137,8 +137,8 @@ Sorry, accents and terminal sigma are not supported in JIS." ;; -(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 --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 70bd5bb6ed7..97266d8a66e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,78 @@ +2006-12-06 Christoph Conrad <christoph.conrad@gmx.de> + + * makefile.w32-in ($(BLD)/emacsclient.exe, $(BLD)/emacsclientw.exe): + Use $(USER32) for compatibility with Visual Studio .NET 2003. + +2006-11-30 Juanma Barranquero <lekktu@gmail.com> + + * 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 <mmaug@yahoo.com> + + * 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 <user42@zip.com.au> (tiny change) + + * etags.c (readline): Check for double quote after #line. + +2006-11-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> (tiny change) + + * etags.c (readline): sscanf could in principle return 2. + +2006-11-28 Francesco Potort,Al(B <pot@gnu.org> + + * 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 <lekktu@gmail.com> + + * 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 <eliz@gnu.org> + + * makefile.w32-in ($(BLD)/emacsclient.$(O)): Depend on + makefile.w32-in. + +2006-11-25 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (VERSION): New macro. + (ECLIENT_CFLAGS): Add -DVERSION. + +2006-11-25 Jason Rumney <jasonr@gnu.org> + + * emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Use isalpha(). + +2006-11-24 Michael Mauger <mmaug@yahoo.com> + + * emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Support + absolute file names with forward slashes. + +2006-11-23 Juanma Barranquero <lekktu@gmail.com> + + * emacsclient.c (print_help_and_exit): Tweak message contents and + tabs/spaces to improve alignment in message boxes. + +2006-11-22 Lennart Borgman <lennart.borgman.073@student.lu.se> + + * emacsclient.c: Include <stdarg.h>. + [WINDOWSNT]: Include <windows.h>. + (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 <jasonr@gnu.org> * emacsclient.c [WINDOWSNT]: Let config.h define HAVE_SOCKETS and diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index 3e8c56f2ce5..f05b98eccee 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -34,6 +34,7 @@ Boston, MA 02110-1301, USA. */ # include <malloc.h> # include <stdlib.h> +# include <windows.h> # define NO_SOCKETS_IN_FILE_SYSTEM @@ -58,6 +59,7 @@ Boston, MA 02110-1301, USA. */ #undef signal +#include <stdarg.h> #include <ctype.h> #include <stdio.h> #include "getopt.h" @@ -127,6 +129,9 @@ char *socket_name = NULL; /* 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 @@ struct option longopts[] = { 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 @@ decode_options (argc, argv) break; case 'V': - printf ("emacsclient %s\n", VERSION); + message (FALSE, "emacsclient %s\n", VERSION); exit (EXIT_SUCCESS); break; @@ -210,7 +262,7 @@ decode_options (argc, argv) 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 @@ decode_options (argc, argv) 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 @@ fail (argc, argv) 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 @@ main (argc, argv) 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 @@ file_name_absolute_p (filename) #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 @@ file_name_absolute_p (filename) } #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 @@ initialize_sockets () 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 @@ get_server_config (server, authentication) } else { - fprintf (stderr, "%s: invalid configuration info", progname); + message (TRUE, "%s: invalid configuration info", progname); exit (EXIT_FAILURE); } @@ -492,35 +544,13 @@ get_server_config (server, authentication) 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 @@ set_tcp_socket () 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 @@ set_tcp_socket () */ 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 @@ set_tcp_socket () */ 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 @@ set_local_socket () 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 @@ set_local_socket () 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 @@ set_local_socket () 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 @@ set_local_socket () 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 @@ set_local_socket () 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 @@ To start the server in Emacs, type \"M-x server-start\".\n", 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 @@ set_socket () 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 @@ set_socket () 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 @@ set_socket () 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 @@ main (argc, argv) 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 @@ main (argc, argv) 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 --git a/lib-src/etags.c b/lib-src/etags.c index 49a18be1df5..26dac368b4d 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -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 @@ Lua_functions (inf) 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 @@ TeX_commands (inf) 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 @@ readline (lbp, stream) /* Check whether this is a #line directive. */ if (result > 12 && strneq (lbp->buffer, "#line ", 6)) { - int start, lno; + unsigned int lno; + int start = 0; - if (DEBUG) start = 0; /* shut up the compiler */ - if (sscanf (lbp->buffer, "#line %d %n\"", &lno, &start) >= 1 - && lbp->buffer[start] == '"') + if (sscanf (lbp->buffer, "#line %u \"%n", &lno, &start) >= 1 + && start > 0) /* double quote character found */ { - char *endp = lbp->buffer + ++start; + char *endp = lbp->buffer + start; - assert (start > 0); while ((endp = etags_strchr (endp, '"')) != NULL && endp[-1] == '\\') endp++; diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index c04637056f8..65d40255ae7 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -24,11 +24,13 @@ ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacs .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 @@ $(BLD)/movemail.exe: $(MOVEMAILOBJS) getopt.h # 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 --git a/lisp/ChangeLog b/lisp/ChangeLog index 2f9bdeac426..a38ead876f0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,23 +1,533 @@ +2006-12-05 J.D. Smith <jdsmith@as.arizona.edu> + + * progmodes/idlwave.el (idlwave-xml-create-class-method-lists): + Trim out spurious class inheritance "None" entries. + +2006-12-05 Kim F. Storm <storm@cua.dk> + + * 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 <michael.cadilhac@lrde.org> + + * 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 <rgm@gnu.org> + + * 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 <lekktu@gmail.com> + + * facemenu.el (facemenu-unlisted-faces): Put obsolescence info in + the call to `make-obsolete-variable', not in the docstring. + +2006-12-04 Chong Yidong <cyd@stupidchicken.com> + + * facemenu.el (facemenu-unlisted-faces): Define as obsolete variable. + +2006-12-04 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * 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 <stephen_leake@stephe-leake.org> + + * progmodes/ada-xref.el (ada-check-current): Doc fix. + (ada-make-body-gnatstub): Doc fix. Remove redundant `progn'. + +2006-12-04 Kim F. Storm <storm@cua.dk> + + * bindings.el (global-map): Bind [signal t] to ignore, to have + user signals ignored by default. + +2006-12-04 Juanma Barranquero <lekktu@gmail.com> + + * 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 <monnier@iro.umontreal.ca> + + * 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 <dann@ics.uci.edu> + + * whitespace.el (whitespace-cleanup-internal): Use current + argument for recursive call. + +2006-12-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-methods): Add "ControlPath" and + "ControlMaster" to scp, scp1 and scp2 methods. Suggested by + Andreas Schwab <schwab@suse.de>. + (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 <nickrob@snap.net.nz> + + * 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 <rms@gnu.org> + + * 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. + <indicate-empty-lines, case-fold-search>: + Add "globally" to Help string. + <case-fold-search>: MESSAGE arg need not say "globally". + (menu-bar-edit-menu <paste-from-menu>): Rename from select-and-paste. + +2006-12-03 Liam Healy <lnp@healy.washington.dc.us> (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 <ken.manheimer@gmail.com> + + * 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 <lekktu@gmail.com> + + * 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 <rgm@gnu.org> + + * 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 <cyd@stupidchicken.com> + + * mouse.el (mouse-drag-track): Suppress automatic hscrolling for + initial down event. + +2006-12-02 Kim F. Storm <storm@cua.dk> + + * 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 <nickrob@snap.net.nz> + + * menu-bar.el (toggle-case-fold-search): Clarify doc/help string and + mini-buffer message. + +2006-12-01 Juanma Barranquero <lekktu@gmail.com> + + * descr-text.el (describe-char-unicodedata-file): Fix typo in docstring. + +2006-12-01 Ben North <ben@redfrontdoor.org> + + * 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 <viniciusjl@ig.com.br> + + * 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 <lekktu@gmail.com> + + * 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 <michael.cadilhac@lrde.org> + + * 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 <jet@gyve.org> + + * 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 <alinsoar@voila.fr> (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 <lekktu@gmail.com> + + * 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 <viniciusjl@ig.com.br> + + * 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 <jdsmith@as.arizona.edu> + + * progmodes/idlwave.el (idlwave-auto-fill): + Remove paragraph-start let to prevent auto-fill giving up. + +2006-11-28 Juanma Barranquero <lekktu@gmail.com> + + * vt100-led.el (led-state): Fix typo in previous change. + +2006-11-27 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> + + * 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 <cyd@stupidchicken.com> + + * startup.el (fancy-splash-screens): Hide initial splash buffer. + +2006-11-28 Kim F. Storm <storm@cua.dk> + + * icomplete.el (icomplete-tidy, icomplete-exhibit): Check that + icomplete-mode is enabled. + +2006-11-28 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (require): Require gnus-sum during compilation + to avoid problem with a macro call. + +2006-11-28 Glenn Morris <rgm@gnu.org> + + * 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 <rms@gnu.org> + + * 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 <monnier@iro.umontreal.ca> + + * 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 <jdsmith@as.arizona.edu> + + * progmodes/hideshow.el (hs-already-hidden-p): Move to end of + line so hidden blocks will be correctly identified. + +2006-11-27 Juanma Barranquero <lekktu@gmail.com> + + * 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 <nickrob@snap.net.nz> + + * 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 <jan.h.d@swipnet.se> + + * progmodes/cc-vars.el (c-backslash-column): Add . at end of sentence. + +2006-11-26 Stephen Leake <stephen_leake@stephe-leake.org> + + * 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 <storm@cua.dk> + + * kmacro.el: Fix commentary. + +2006-11-26 Nick Roberts <nickrob@snap.net.nz> + + * 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 <lekktu@gmail.com> + + * international/fontset.el (create-fontset-from-fontset-spec): Doc fix. + +2006-11-25 Pavel Kobiakov <pk_at_work@yahoo.com> + + * 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 <jan.h.d@swipnet.se> + + * progmodes/cc-vars.el (c-backslash-column): + Mention c-backslash-max-column in documentation for c-backslash-column. + +2006-11-24 Lars Hansen <larsh@soem.dk> + + * 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 <monnier@iro.umontreal.ca> + + * 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 <eliz@gnu.org> + + * 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 <lekktu@gmail.com> + + * 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 <monnier@iro.umontreal.ca> + + * 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 <kifer@cs.stonybrook.edu> + + * ediff-diff.el (ediff-exec-process, ediff-same-file-contents): + Remove condition-case. + +2006-11-23 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-comment-indent): Do not move point in + default case. + +2006-11-21 Romain Francoise <romain@orebokech.com> + + * 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 <lennart.borgman.073@student.lu.se> + + * 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 <rogers-emacs@rgrjr.dyndns.org> (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 <disumu@x3y2z1.net> (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 <jdsmith@as.arizona.edu> - * 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 <michael.cadilhac@lrde.org> +2006-11-19 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> * 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 <cyd@stupidchicken.com> @@ -99,7 +609,7 @@ 2006-11-17 Carsten Dominik <dominik@science.uva.nl> * 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 <storm@cua.dk> - * 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 <ken.manheimer@gmail.com> @@ -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 <carsten.dominik@gmail.com> * 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 <rgm@gnu.org> @@ -551,8 +1054,8 @@ 2006-11-08 Kenichi Handa <handa@m17n.org> - * 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 <lekktu@gmail.com> @@ -787,8 +1290,7 @@ 2006-11-04 Yoni Rabkin Katzenell <yoni-r@actcom.com> (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 <lennart.borgman.073@student.lu.se> - * 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 <agustin.martin@hispalinux.es> +2006-09-16 Agust,Am(Bn Mart,Am(Bn <agustin.martin@hispalinux.es> * 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 <dominik@science.uva.nl> @@ -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) <offer-save>: Clarify message text. Suggested by Ralf Angeli. -2006-04-08 Michael Cadilhac <michael.cadilhac@lrde.org> +2006-04-08 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> * 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` <pot@gnu.org> +2006-01-21 Francesco Potort,Al(B <pot@gnu.org> * 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 <michael.cadilhac@lrde.org> +2005-11-19 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> * 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 <michael.cadilhac-@t-lrde.epita.fr> +2005-10-25 Micha,Ak(Bl Cadilhac <michael.cadilhac-@t-lrde.epita.fr> * 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 <michael.cadilhac-@t-lrde.epita.fr> +2005-10-06 Micha,Ak(Bl Cadilhac <michael.cadilhac-@t-lrde.epita.fr> * 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 <eclig@gmx.net> +2005-09-09 Emilio C. Lopes <eclig@gmx.net> * 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 <bojohan@users.sourceforge.net> (tiny change) +2005-07-16 Johan Bockg,Ae(Brd <bojohan@users.sourceforge.net> (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 <bojohan@users.sourceforge.net> (tiny change) +2005-07-16 Johan Bockg,Ae(Brd <bojohan@users.sourceforge.net> (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 <arne@arnested.dk> (tiny change) +2005-02-05 Arne J,Ax(Brgensen <arne@arnested.dk> (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 <monnier@iro.umontreal.ca> +2005-01-01 Stefan Monnier <monnier@iro.umontreal.ca> * files.el (hack-local-variables): Cleanup prefix/suffix matching. diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 234b8230587..b0ceaa5522d 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -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 --git a/lisp/abbrevlist.el b/lisp/abbrevlist.el index d52ccffeb3c..065d4eacabc 100644 --- a/lisp/abbrevlist.el +++ b/lisp/abbrevlist.el @@ -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 --git a/lisp/add-log.el b/lisp/add-log.el index a1208d5fdd6..70345a122e1 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -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 --git a/lisp/align.el b/lisp/align.el index b40f96e7f83..b49979059a3 100644 --- a/lisp/align.el +++ b/lisp/align.el @@ -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 <johnw@gnu.org> diff --git a/lisp/allout.el b/lisp/allout.el index 74d87a00edf..954faa40232 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -162,7 +162,7 @@ The types of elements in the layout specification are: : - 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 @@ advance as follows: - 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 @@ of this var to take effect." 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 @@ String values are used as literals, not regular expressions, so 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 @@ The idea is to prevent file-system exposure of any un-encrypted stuff, and 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 @@ mostly covers both deliberate file writes and auto-saves. - 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 @@ unless optional third, non-nil element is present.") 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 @@ For details, see `allout-toggle-current-subtree-encryption's docstring." ;;;_ : 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 @@ For details, see `allout-toggle-current-subtree-encryption's docstring." (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 @@ The value would typically be set by a file local variable. For 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 @@ Works according to settings of: `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 @@ invoking it directly." (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 @@ their settings before allout-mode was started." "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 @@ So `allout-post-command-business' should not reactivate it...") 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 @@ the following two lines in your Emacs init file: ((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 @@ symbol. Allout outline mode always runs as a minor mode. 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: +In addition to typical outline navigation and exposure, allout includes: - - topic-oriented repositioning, promotion/demotion, cut, and paste - - integral outline exposure-layout + - 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 @@ Outline mode supports gpg encryption of topics, with support for 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. +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 Hot-spot operation provides a means for easy, single-keystroke outline navigation and exposure control. @@ -1765,85 +1789,108 @@ would invoke the command typically bound to \"C-c<space>C-f\" 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. +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 -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. +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: - Terminology +`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. + 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 topic. + 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. + 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." + 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 @@ OPEN: A topic that is not closed, though its offspring or body may be." 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 @@ OPEN: A topic that is not closed, though its offspring or body may be." 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 @@ Outermost is first." (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 @@ We skip anomolous low-level topics, a la `allout-aberrant-container-p'." (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 @@ We skip anomolous low-level topics, a la `allout-aberrant-container-p'." (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 @@ start point." 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 @@ start point." ;; - 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 @@ Returns the point at the beginning of the prefix, or nil if none." (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 @@ otherwise skip white space between bullet and ensuing text." (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 @@ collapsed." (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 @@ Return the start point of the new topic if successful, nil otherwise. 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 @@ reinterpreted as the corresponding control-character in the 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 @@ Offer one suitable for current depth DEPTH as default." (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 @@ the current topics' depth. 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 @@ whitespace - in which case open is done on the current line. 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 @@ All args are optional. 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 @@ this function." 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 @@ Several subsequent args are for internal recursive use by the function 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 @@ however, are left exactly like normal, non-allout-specific yanks." (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 @@ by pops to non-distinctive yanks. Bug..." "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 @@ SPEC is either a number or a list. 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 @@ Simple (numeric and null-list) specs are interpreted as follows: 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 @@ Examples: ;;;_ > 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 @@ the prefix: 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 @@ alternate presentation form: 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 @@ used verbatim." ;;;_ > 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 @@ string across LaTeX processing." "")) ;;;_ > allout-latex-verbatim-quote-curr-line () (defun allout-latex-verbatim-quote-curr-line () - "Express line for exact \(literal) representation across LaTeX processing. + "Express line for exact (literal) representation across LaTeX processing. -Adjust line contents so it is unaltered \(from the original line) +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 @@ With repeat count, copy the exposed portions of entire buffer." "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 @@ Currently only GnuPG encryption is supported. 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 @@ encryption are encrypted. See allout-encrypt-unencrypted-on-saves for 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 @@ The encryption passphrase is solicited if not currently available in the 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 @@ verifier across Emacs sessions. 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 @@ solicited whenever the passphrase is changed." ) ;;;_ > 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 @@ This activity is inhibited if either `enable-local-variables' 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 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." ;;;_ #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 --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 8af412174f4..9cfee88fc1a 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -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 <terra@gnu.org> diff --git a/lisp/array.el b/lisp/array.el index fb9e7301206..6ebbd645520 100644 --- a/lisp/array.el +++ b/lisp/array.el @@ -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 --git a/lisp/autoarg.el b/lisp/autoarg.el index 1b87c664514..16dea6d2264 100644 --- a/lisp/autoarg.el +++ b/lisp/autoarg.el @@ -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 <fx@gnu.org> @@ -119,7 +119,7 @@ then invokes the normal binding of \\[autoarg-terminate]. With ARG, turn Autoarg mode on if ARG is positive, off otherwise. \\<autoarg-kp-mode-map> 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 --git a/lisp/autoinsert.el b/lisp/autoinsert.el index 15a7461d288..4df0b39b83e 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el @@ -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 <crm@cs.duke.edu> ;; Adapted-By: Daniel Pfeiffer <occitan@esperanto.org> diff --git a/lisp/avoid.el b/lisp/avoid.el index b497c2007bd..f493392c4b0 100644 --- a/lisp/avoid.el +++ b/lisp/avoid.el @@ -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 <boris@gnu.org> diff --git a/lisp/bindings.el b/lisp/bindings.el index 40477d0310c..f6e593bfa74 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -1058,6 +1058,10 @@ language you are using." (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 --git a/lisp/case-table.el b/lisp/case-table.el index dcba1d82c2b..be4b48439f3 100644 --- a/lisp/case-table.el +++ b/lisp/case-table.el @@ -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 --git a/lisp/cdl.el b/lisp/cdl.el index 378bc993aed..4724c2f7ecc 100644 --- a/lisp/cdl.el +++ b/lisp/cdl.el @@ -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 --git a/lisp/chistory.el b/lisp/chistory.el index 3fbc068ac86..d2578c53c2d 100644 --- a/lisp/chistory.el +++ b/lisp/chistory.el @@ -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 --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el index 622612648f3..3a0c73f040d 100644 --- a/lisp/cmuscheme.el +++ b/lisp/cmuscheme.el @@ -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 <olin.shivers@cs.cmu.edu> @@ -244,7 +244,8 @@ Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters." 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 @@ is run). "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 --git a/lisp/comint.el b/lisp/comint.el index 33195204466..191807af847 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -770,7 +770,7 @@ buffer. The hook `comint-exec-hook' is run after each exec." (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 --git a/lisp/compare-w.el b/lisp/compare-w.el index 8dc0ac1e330..4aeb20b1091 100644 --- a/lisp/compare-w.el +++ b/lisp/compare-w.el @@ -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 --git a/lisp/complete.el b/lisp/complete.el index 90c1ceceb32..9083482d8fc 100644 --- a/lisp/complete.el +++ b/lisp/complete.el @@ -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 <daveg@synaptics.com> ;; Keywords: abbrev convenience diff --git a/lisp/completion.el b/lisp/completion.el index 53dfd7521a5..8d49944e19c 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -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 --git a/lisp/cus-dep.el b/lisp/cus-dep.el index b9b1a6040c9..6b455c7cf70 100644 --- a/lisp/cus-dep.el +++ b/lisp/cus-dep.el @@ -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 <abraham@dina.kvl.dk> diff --git a/lisp/cvs-status.el b/lisp/cvs-status.el index 477914293a7..7d4f687e053 100644 --- a/lisp/cvs-status.el +++ b/lisp/cvs-status.el @@ -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 <monnier@iro.umontreal.ca> diff --git a/lisp/delim-col.el b/lisp/delim-col.el index deafa19f98b..ff6c6337eb0 100644 --- a/lisp/delim-col.el +++ b/lisp/delim-col.el @@ -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 <viniciusjl@ig.com.br> diff --git a/lisp/descr-text.el b/lisp/descr-text.el index ec75610c3d7..2d5734c8170 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -206,13 +206,13 @@ otherwise." (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 @@ This function is semi-obsolete. Use `get-char-code-property'." (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 --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 01b3a5949f2..9226c537531 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -120,8 +120,8 @@ when editing big diffs)." ("\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 @@ when editing big diffs)." ("\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 --git a/lisp/dired.el b/lisp/dired.el index 5359b464579..09f4dc8425a 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1045,9 +1045,9 @@ Preserves old cursor, marks/flags, hidden-p." ;; 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 --git a/lisp/dirtrack.el b/lisp/dirtrack.el index 0744cc52964..5a508b31c5e 100644 --- a/lisp/dirtrack.el +++ b/lisp/dirtrack.el @@ -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 <pbreton@cs.umb.edu> diff --git a/lisp/disp-table.el b/lisp/disp-table.el index d1b49c0b7f0..20aae96aa94 100644 --- a/lisp/disp-table.el +++ b/lisp/disp-table.el @@ -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 <erik@naggum.no> @@ -117,7 +117,7 @@ Valid symbols are `truncation', `wrap', `escape', `control', (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 @@ Valid symbols are `truncation', `wrap', `escape', `control', (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 --git a/lisp/dos-fns.el b/lisp/dos-fns.el index 7270dc8fa27..b50a1a2ea85 100644 --- a/lisp/dos-fns.el +++ b/lisp/dos-fns.el @@ -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 <terra@diku.dk> diff --git a/lisp/dos-vars.el b/lisp/dos-vars.el index 9d00756804f..b79238fc888 100644 --- a/lisp/dos-vars.el +++ b/lisp/dos-vars.el @@ -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 --git a/lisp/dos-w32.el b/lisp/dos-w32.el index 5fb6d5a0f6b..bce5cbcdc8a 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el @@ -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 <voelker@cs.washington.edu> diff --git a/lisp/double.el b/lisp/double.el index e869ca323e7..d7ad7e5edbe 100644 --- a/lisp/double.el +++ b/lisp/double.el @@ -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 <abraham@dina.kvl.dk> diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el index 9d0a3e989fc..9ed8b93beea 100644 --- a/lisp/ebuff-menu.el +++ b/lisp/ebuff-menu.el @@ -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 <mly@ai.mit.edu> @@ -73,7 +73,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry. (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 --git a/lisp/echistory.el b/lisp/echistory.el index 2ddc7f1e7c6..a3da304fb1c 100644 --- a/lisp/echistory.el +++ b/lisp/echistory.el @@ -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 --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index d2dff294d2e..7786326bea9 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el @@ -1274,9 +1274,7 @@ delimiter regions")) ;; 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 @@ arguments to `skip-chars-forward'." "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 --git a/lisp/ediff-vers.el b/lisp/ediff-vers.el index 4cd1492a1c7..eb34e183822 100644 --- a/lisp/ediff-vers.el +++ b/lisp/ediff-vers.el @@ -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 <kifer@cs.stonybrook.edu> diff --git a/lisp/edmacro.el b/lisp/edmacro.el index 35fddc04cd0..b70e8a142b6 100644 --- a/lisp/edmacro.el +++ b/lisp/edmacro.el @@ -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 <daveg@synaptics.com> diff --git a/lisp/ehelp.el b/lisp/ehelp.el index 376f31f1ca5..39f08d51f18 100644 --- a/lisp/ehelp.el +++ b/lisp/ehelp.el @@ -197,7 +197,7 @@ BUFFER is put into `default-major-mode' (or `fundamental-mode') when we exit." (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 --git a/lisp/electric.el b/lisp/electric.el index e4506190571..ef4bff48c6f 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -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 --git a/lisp/elide-head.el b/lisp/elide-head.el index 6f14a5275a8..ef10be39623 100644 --- a/lisp/elide-head.el +++ b/lisp/elide-head.el @@ -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 <fx@gnu.org> diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 3862a0441f6..3c2d937624e 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -43,6 +43,7 @@ files.") (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 --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index adff09ece2d..b7b961f1cbb 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -264,11 +264,12 @@ facilities that have been added more recently." ;; 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 @@ If it is 'byte, then only byte-level optimizations will be logged." (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 @@ That command is designed for interactive use only" fn)) (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 --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index b22e49dac34..de8f0a91af4 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -500,7 +500,7 @@ found, do widen first and then call NARROWFUN with no args after moving." ,(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 @@ found, do widen first and then call NARROWFUN with no args after moving." (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 --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 10a052dc97e..a51493d22ea 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -147,9 +147,9 @@ See the functions `find-function' and `find-variable'." (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 --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el index 615f2f44df3..f0655c306b9 100644 --- a/lisp/emacs-lock.el +++ b/lisp/emacs-lock.el @@ -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 <twurgler@goodyear.com> @@ -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 --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 2fbd09600bd..d90d01c7879 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -317,11 +317,19 @@ If the value is nil, use a shifted prefix key to inhibit the override." :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 @@ managers, so try setting this to nil, if prefix override doesn't work." :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 @@ If global mark is active, copy from register or one character." (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 @@ of text." (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 @@ of text." ;;; 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 @@ mark, and push old mark position on local mark ring; also push mark on 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 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark." (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 --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index d7b925a6057..dfb6fc7afe8 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,29 @@ +2006-11-28 Juanma Barranquero <lekktu@gmail.com> + + * 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 <lekktu@gmail.com> + + * 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 <mwolson@gnu.org> * erc.el (erc-version-string): Call this Version 5.2 stable diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index a51cec85af8..82934f92218 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -1226,7 +1226,7 @@ add things to `%s' instead." (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 @@ add things to `%s' instead." 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 --git a/lisp/erc/erc.el b/lisp/erc/erc.el index c65600ba446..a40da6f62c0 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -474,7 +474,7 @@ Removes all users in the current channel. This is called by (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 @@ Removes all users in the current channel. This is called by (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 @@ set if some hacker is trying to flood you away." :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 @@ whose identifier matches, the message will not be processed. 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 @@ See `erc-server-flood-margin' for other flood-related parameters.") "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 @@ directory in the list." :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 @@ At this point, all modifications from prior hook functions are done. 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 @@ DOC is the documentation string to use for the minor mode. 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 @@ You should make sure that `current-buffer' is a server buffer. 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 @@ capabilities." 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 @@ If BUFFER is nil, the current buffer is used." (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 @@ Turning on `erc-mode' runs the hook `erc-mode-hook'." '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 @@ any other value - in place of the current buffer" (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 @@ SPEC should have the form 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 @@ all channel buffers on all servers." (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 @@ parameters, SERVER, PORT and NICK." (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 @@ Arguments are the same as for `erc'." (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 @@ BUFFER. HOST and PORT specify the connection target." 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 @@ This only has any effect if `erc-debug-irc-protocol' is non-nil. 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 @@ I.e. any char in it has the `invisible' property set." (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 @@ or omitted, the default ERC buffer for the `erc-session-server' is used. 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 @@ If STRING is nil, the function does nothing." (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. + "Highlight STRING according to TYPE, where erc-TYPE-face is an ERC face. -See also `erc-make-notice'" +See also `erc-make-notice'." (cond ((eq type 'notice) (erc-make-notice string)) (t @@ -2435,7 +2435,7 @@ Returns non-nil if the command is actually sent to the server, and nil otherwise. If the command in the LINE is not bound as a function `erc-cmd-<COMMAND>', -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 /<COMMAND>) then it is sent as a message. An optional FORCE argument forces sending the line when flood @@ -2661,7 +2661,7 @@ VERSION and so on. It is called with ARGS." 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 @@ LINE has the format: \"#CHANNEL NICK REASON\" or \"NICK REASON\"." (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 @@ The ban list is fetched from the server if necessary." (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 @@ Unban all currently banned users in the current channel." (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 @@ See also `erc-display-error-notice'." (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 @@ See also `erc-format-nick-function'." (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 @@ returns non-nil iff there is at least one buffer for which the 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 @@ at least one buffer for which the sender is a member or the 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 @@ returns non-nil iff there is at least one buffer for which the 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 @@ See also: `erc-echo-notice-in-user-buffers', (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 @@ The buffer where the change happened is current while this hook is called." "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 @@ struct. Any of NEW-NICK, HOST, LOGIN, FULL-NAME, INFO which are 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 @@ which USER is a member, and `t' is returned." 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 @@ information if it is not already present in the user or channel 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 @@ See also: `erc-update-user' and `erc-update-channel-member'." "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 @@ See also: `erc-update-current-channel-member'" 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 @@ So far the following TYPE/L pairs are supported: (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 @@ current position." (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 @@ See also `erc-downcase'." (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 @@ See also `erc-startup-file-list'." 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 @@ script" "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 @@ user input." "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 @@ See also `erc-emacs-time-to-erc-time'." (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 @@ displayed hostnames." "(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 @@ All windows are opened in the current frame." (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 --git a/lisp/expand.el b/lisp/expand.el index c67ed2cab77..12e0433b358 100644 --- a/lisp/expand.el +++ b/lisp/expand.el @@ -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 <Frederic.Lepied@sugix.frmug.org> diff --git a/lisp/facemenu.el b/lisp/facemenu.el index 13cf7fbd734..f767c8d4e26 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el @@ -132,6 +132,15 @@ just before \"Other\" at the end." :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 @@ This is called whenever you create a new face, and at other times." 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 --git a/lisp/ffap.el b/lisp/ffap.el index 686d761eb4d..a36ba58e577 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -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 <mic@mathcs.emory.edu> diff --git a/lisp/filecache.el b/lisp/filecache.el index 48ca2206386..27ecd1c14cd 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -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 --git a/lisp/files.el b/lisp/files.el index a84844810cb..396e4c28b36 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4081,6 +4081,11 @@ non-nil, it is called instead of rereading visited file contents." "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 --git a/lisp/find-dired.el b/lisp/find-dired.el index a2895133c27..027710f74c3 100644 --- a/lisp/find-dired.el +++ b/lisp/find-dired.el @@ -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 <roland@gnu.org>, diff --git a/lisp/find-file.el b/lisp/find-file.el index 5618ba58dbe..505789e5146 100644 --- a/lisp/find-file.el +++ b/lisp/find-file.el @@ -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 --git a/lisp/find-lisp.el b/lisp/find-lisp.el index 5cedaa60e35..2dfd8d2a6c6 100644 --- a/lisp/find-lisp.el +++ b/lisp/find-lisp.el @@ -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 --git a/lisp/flow-ctrl.el b/lisp/flow-ctrl.el index bfa86317809..f2a29cda43c 100644 --- a/lisp/flow-ctrl.el +++ b/lisp/flow-ctrl.el @@ -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 --git a/lisp/foldout.el b/lisp/foldout.el index 7666ee48bc7..540a1943271 100644 --- a/lisp/foldout.el +++ b/lisp/foldout.el @@ -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 <KevinB@bartley.demon.co.uk> diff --git a/lisp/font-core.el b/lisp/font-core.el index 85bbf60f0d9..6a3f2b7698f 100644 --- a/lisp/font-core.el +++ b/lisp/font-core.el @@ -149,7 +149,7 @@ your own function which is called when `font-lock-mode' is toggled via 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 --git a/lisp/format.el b/lisp/format.el index 357e9de2a3f..5f3c02ed7c4 100644 --- a/lisp/format.el +++ b/lisp/format.el @@ -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 <boris@gnu.org> diff --git a/lisp/forms.el b/lisp/forms.el index ab5e591938c..63e208a127f 100644 --- a/lisp/forms.el +++ b/lisp/forms.el @@ -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 <jvromans@squirrel.nl> diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 609d076d8a2..d980a1ebc89 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el @@ -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 <pbreton@cs.umb.edu> diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 196c0e6ff71..eb324178b7d 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,43 @@ +2006-12-06 Chris Moore <dooglus@gmail.com> (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 <jks@iki.fi> (tiny change) + + * mm-url.el (mm-url-predefined-programs): Call curl with correct + options. + +2006-11-30 Katsumi Yamaoka <yamaoka@jpl.org> + + * mml2015.el (mml2015-pgg-clear-verify): Replace encode-coding-string + with mm-encode-coding-string. + +2006-11-29 Katsumi Yamaoka <yamaoka@jpl.org> + + * nneething.el (nneething-decode-file-name): Replace + decode-coding-string with mm-decode-coding-string. + +2006-11-24 Juanma Barranquero <lekktu@gmail.com> + + * 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 <yamaoka@jpl.org> + + * mm-util.el (mm-string-to-multibyte): Alias to identity in XEmacs. + 2006-11-18 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> * mm-uu.el (mm-uu-pgp-signed-extract-1): Make last fix more thorough diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 733b7533cc1..64e080f5aa3 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el @@ -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 @@ downloadable." ;; 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 @@ doesn't exist, to valid the overview buffer." ;; 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 @@ articles in every agentized group? ")) (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 @@ If REREAD is not nil, downloaded articles are marked as unread." (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 @@ If REREAD is not nil, downloaded articles are marked as unread." ((= 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 @@ If REREAD is not nil, downloaded articles are marked as unread." (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 --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index bc7f27c97c8..cdb3c8950cc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -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 @@ regexp. If it matches, the text in question is not a signature." 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 @@ Otherwise, it is like ~/News/news/group/num." (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 --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index c6a0d599ac4..f004a043834 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -131,7 +131,7 @@ for the groups to be sorted. Pre-made functions include `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 @@ with some simple extensions. 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 @@ When FORCE, rebuild the tool bar." All normal editing commands are switched off. \\<gnus-group-mode-map> -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 @@ and with point over the group in question." 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 @@ ADDRESS." "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 @@ Given a prefix, create a full group." (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 @@ group line." (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 @@ and the second element is the address." (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 --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index b4867c18108..0486392818e 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -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 @@ be subscribed using `gnus-subscribe-options-newsgroup-method'." (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 @@ be subscribed using `gnus-subscribe-options-newsgroup-method'." (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 @@ it is killed." (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 @@ will not connect to the local server." (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 --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 6bf4142216d..05d5614756b 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -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 @@ have all the sub-threads as children. 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 @@ If NO-DISPLAY, don't generate a summary buffer." 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 @@ If LINE, insert the rebuilt thread starting on line LINE." ;; 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 LINE, insert the rebuilt thread starting on line LINE." (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 @@ The resulting hash table is returned, or nil if no Xrefs were found." (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 @@ The resulting hash table is returned, or nil if no Xrefs were found." ;; 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 @@ fetch-old-headers verbiage, and so on." ;; 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 --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 41a79ccc1ca..81f62d7036a 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -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 @@ non-numeric prefix - `C-u M-x gnus', in short." (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 @@ group." (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 @@ of the select method. The other elements may be the category of 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 @@ which to perform auto-expiry. This only makes sense for mail groups." "*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 @@ with some simple extensions. 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 @@ GROUP can either be a string (a group name) or a select method." (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 @@ If NEWSGROUP is nil, return the global kill file name instead." (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 --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el index 5e228f0af72..70584bdf50d 100644 --- a/lisp/gnus/mm-url.el +++ b/lisp/gnus/mm-url.el @@ -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 --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 54f5612a72d..402e824af23 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el @@ -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 @@ This is a compatibility function for different Emacsen." (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 --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el index 591ef647678..6c58272509e 100644 --- a/lisp/gnus/mml2015.el +++ b/lisp/gnus/mml2015.el @@ -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 --git a/lisp/gnus/nneething.el b/lisp/gnus/nneething.el index 92a62d12386..4b5f1871aa3 100644 --- a/lisp/gnus/nneething.el +++ b/lisp/gnus/nneething.el @@ -303,7 +303,7 @@ included.") (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 --git a/lisp/help-macro.el b/lisp/help-macro.el index cc78bd71210..971b97f71bb 100644 --- a/lisp/help-macro.el +++ b/lisp/help-macro.el @@ -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 <lrs@indetech.com> @@ -152,7 +152,7 @@ and then returns." (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 --git a/lisp/help.el b/lisp/help.el index 08899d61415..8c0f92f48ff 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -887,7 +887,7 @@ appeared on the mode-line." (cond ((= 0 (length i)) nil) - ((eq (aref i 0) ?\ ) + ((eq (aref i 0) ?\s) (substring i 1)) (t i)))) @@ -909,7 +909,7 @@ is currently activated with completion." "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 @@ is currently activated with completion." ;; 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 --git a/lisp/hexl.el b/lisp/hexl.el index 47bfc76940c..39c313cb3da 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el @@ -87,12 +87,12 @@ Quoting cannot be used, so the arguments cannot themselves contain spaces." (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 @@ Quoting cannot be used, so the arguments cannot themselves contain spaces." (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 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. (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 @@ With arg, don't unhexlify buffer." (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 @@ This function is intended to be used as eldoc callback." (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 @@ Signal error if HEX-ADDRESS is out of range." (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 @@ Signal error if HEX-ADDRESS is out of range." 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 @@ Signal error if HEX-ADDRESS is out of range." 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 @@ If there's no byte at the target address, move to the first or last line." (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 @@ This discards the buffer's undo information." ;; 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 @@ Customize the variable `hexl-follow-ascii' to disable this feature." (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 --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el index d6408412c0b..cb79f673408 100644 --- a/lisp/hilit-chg.el +++ b/lisp/hilit-chg.el @@ -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 <rsharman@pobox.com> diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el index 92fb9083cd4..28cfcf3b4ed 100644 --- a/lisp/hippie-exp.el +++ b/lisp/hippie-exp.el @@ -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 <aho@sans.kth.se> diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 6687c13275b..8c1ee3ad64c 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -216,7 +216,7 @@ Usually run by inclusion in `minibuffer-setup-hook'." "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 @@ and `minibuffer-setup-hook'." "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 --git a/lisp/ido.el b/lisp/ido.el index 8844b12f5b7..0e18c4b5fde 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -1142,6 +1142,11 @@ so that it doesn't interfere with other minibuffer usage.") (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 @@ If INITIAL is non-nil, it specifies the initial input string." (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 @@ If INITIAL is non-nil, it specifies the initial input string." ((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 @@ If INITIAL is non-nil, it specifies the initial input string." ((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 @@ for first matching file." (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 @@ For details of keybindings, do `\\[describe-function] ido-find-file'." (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 --git a/lisp/ielm.el b/lisp/ielm.el index ff0de14c3b1..3e8921934ca 100644 --- a/lisp/ielm.el +++ b/lisp/ielm.el @@ -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 <maa036@lancaster.ac.uk> diff --git a/lisp/iimage.el b/lisp/iimage.el index b5633582081..99d7ea2ce34 100644 --- a/lisp/iimage.el +++ b/lisp/iimage.el @@ -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 @@ image filename regex exsamples: (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 --git a/lisp/imenu.el b/lisp/imenu.el index ed190c24e12..fc2a27e3095 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el @@ -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 <etxaksf@aom.ericsson.se> diff --git a/lisp/indent.el b/lisp/indent.el index ee3eea8d901..38b509b849c 100644 --- a/lisp/indent.el +++ b/lisp/indent.el @@ -512,7 +512,7 @@ Use \\[edit-tab-stops] to edit them interactively." (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 @@ Use \\[edit-tab-stops] to edit them interactively." (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 --git a/lisp/info-look.el b/lisp/info-look.el index 3918eb00eee..5097f2f5fdc 100644 --- a/lisp/info-look.el +++ b/lisp/info-look.el @@ -583,7 +583,7 @@ Return nil if there is nothing appropriate in the buffer near point." (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 --git a/lisp/informat.el b/lisp/informat.el index 96dc0180418..f75460778c0 100644 --- a/lisp/informat.el +++ b/lisp/informat.el @@ -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 --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 12288e6cd04..9f09c615451 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -596,12 +596,13 @@ Return nil if PATTERN doesn't conform to XLFD." (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 @@ replaced by the corresponding fields in XLFD-FIELDS." (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 `<CHARSET_REGISTRY> field." +with \"fontset\" in `<CHARSET_REGISTRY>' field." (and (string-match xlfd-tight-regexp fontset) (string= (match-string (1+ xlfd-regexp-registry-subnum) fontset) "fontset"))) @@ -768,7 +769,7 @@ to map charsets to scripts.") &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 @@ default font name is derived from FONTSET-NAME by substituting 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 @@ which case, the corresponding script is decided by the variable 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 `<CHARSET_ENCODING>' fields of a new fontset name. If it is omitted, an appropriate name is generated automatically. diff --git a/lisp/international/mule.el b/lisp/international/mule.el index c093e56fee5..89f34d13620 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -329,8 +329,7 @@ Return t if file exists." (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 @@ Value is what BODY returns." (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 --git a/lisp/jka-compr.el b/lisp/jka-compr.el index 82c0461a3f8..07f5d068b4e 100644 --- a/lisp/jka-compr.el +++ b/lisp/jka-compr.el @@ -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 --git a/lisp/kermit.el b/lisp/kermit.el index e1bec988ccd..2b5f030b3b7 100644 --- a/lisp/kermit.el +++ b/lisp/kermit.el @@ -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 <jeff@colgate.csnet> diff --git a/lisp/kmacro.el b/lisp/kmacro.el index 2d1f5f33847..19e8735de48 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -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. - -;; 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. -;; +;; 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. + +;; 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 --git a/lisp/language/thai-word.el b/lisp/language/thai-word.el index 5584461bf4f..ee8db1f2708 100644 --- a/lisp/language/thai-word.el +++ b/lisp/language/thai-word.el @@ -10805,7 +10805,7 @@ the current word list." ;; 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 @@ the current word list." 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 @@ the current word list." (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 --git a/lisp/ledit.el b/lisp/ledit.el index 6aafdcfea4b..9cfbf5334a4 100644 --- a/lisp/ledit.el +++ b/lisp/ledit.el @@ -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 @@ Like Lisp mode, plus these special commands: \\[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 --git a/lisp/loadhist.el b/lisp/loadhist.el index 6683f8ae413..4c80619fbdc 100644 --- a/lisp/loadhist.el +++ b/lisp/loadhist.el @@ -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 <esr@snark.thyrsus.com> diff --git a/lisp/locate.el b/lisp/locate.el index 9cf37e89ee1..bb3108210ed 100644 --- a/lisp/locate.el +++ b/lisp/locate.el @@ -430,7 +430,7 @@ file name or is inside a subdirectory." (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 @@ do not work in subdirectories. ;; 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 @@ do not work in subdirectories. (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 @@ do not work in subdirectories. (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 --git a/lisp/log-edit.el b/lisp/log-edit.el index 611bab0a247..3fd877ac4b2 100644 --- a/lisp/log-edit.el +++ b/lisp/log-edit.el @@ -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 <monnier@iro.umontreal.ca> diff --git a/lisp/longlines.el b/lisp/longlines.el index ee469e1be09..af81793ce85 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -258,7 +258,7 @@ not need to be wrapped, move point to the next line and return t." (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 --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el index 3a18442ef13..7114fc61660 100644 --- a/lisp/ls-lisp.el +++ b/lisp/ls-lisp.el @@ -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 <sk@thp.uni-koeln.de> diff --git a/lisp/macros.el b/lisp/macros.el index 55916ba80d6..ea71bd0da20 100644 --- a/lisp/macros.el +++ b/lisp/macros.el @@ -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 @@ use this command, and then save the file." (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 --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el index ac87a93b7a1..271c7a76ca2 100644 --- a/lisp/mail/smtpmail.el +++ b/lisp/mail/smtpmail.el @@ -244,6 +244,11 @@ This is relative to `smtpmail-queue-dir'.") (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 @@ This is relative to `smtpmail-queue-dir'.") (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 @@ This is relative to `smtpmail-queue-dir'.") ;; 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 @@ This is relative to `smtpmail-queue-dir'.") (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 --git a/lisp/makesum.el b/lisp/makesum.el index 3e43d75191b..f34906f04f0 100644 --- a/lisp/makesum.el +++ b/lisp/makesum.el @@ -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 --git a/lisp/master.el b/lisp/master.el index adf3e92dcbe..186d67e81a3 100644 --- a/lisp/master.el +++ b/lisp/master.el @@ -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 <alex@gnu.org> ;; Maintainer: Alex Schroeder <alex@gnu.org> diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 0aa047cd9ef..72cc8521ee9 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -462,9 +462,10 @@ A large number or nil slows down menu responsiveness." "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 @@ by \"Save Options\" in Custom buffers.") (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 @@ mail status in mode line")) (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 @@ mail status in mode line")) (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 @@ Buffers menu is regenerated." 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 --git a/lisp/midnight.el b/lisp/midnight.el index d97eb83b543..d7cdb1f655d 100644 --- a/lisp/midnight.el +++ b/lisp/midnight.el @@ -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 <sds@usa.net> diff --git a/lisp/misc.el b/lisp/misc.el index e4c54092a49..76e5842e20c 100644 --- a/lisp/misc.el +++ b/lisp/misc.el @@ -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 @@ The characters copied are inserted in the buffer before point." (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 @@ The characters copied are inserted in the buffer before point." ;; 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 --git a/lisp/mouse-copy.el b/lisp/mouse-copy.el index 7703f62f336..216cc5360d6 100644 --- a/lisp/mouse-copy.el +++ b/lisp/mouse-copy.el @@ -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 <johnh@ISI.EDU> diff --git a/lisp/mouse.el b/lisp/mouse.el index 47f3aebcd18..b60552f1183 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -241,7 +241,7 @@ not it is actually displayed." (cons 'keymap (cons (concat (capitalize (subst-char-in-string - ?- ?\ (symbol-name + ?- ?\s (symbol-name minor-mode))) " Menu") (cdr menu))))) @@ -925,7 +925,11 @@ should only be used by mouse-drag-region." (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 @@ should only be used by mouse-drag-region." (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 @@ and selects that window." (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 --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index a639afeecf8..20305f2dacf 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -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 @@ Used as the first arg to `format-time-string'." (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 @@ If ARG is non-nil, prompt for a server to connect to." (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 @@ With no argument or nil as argument, use the current buffer." (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 @@ Create the buffer if it doesn't exist." (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 @@ is found by looking up RESPONSE in `rcirc-response-formats'." "%") ((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 @@ is found by looking up RESPONSE in `rcirc-response-formats'." (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 @@ record activity." (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 @@ if NICK is also on `rcirc-ignore-list-automatic'." (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 @@ show the buffer." (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 @@ show the buffer." (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 @@ Also, clear the overlay arrow if the current buffer is now hidden." (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 @@ With a prefix arg, prompt for new topic." "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 @@ nicks when no NICK is given. When listing ignored nicks, the 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 @@ ones added to the list automatically are marked with an asterisk." "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 @@ Mark KEYWORD, unmark KEYWORD if already marked, or list marked 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 @@ keywords when no KEYWORD is given." (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 @@ keywords when no KEYWORD is given." (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 @@ in this buffer.") (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 @@ Passwords are stored in `rcirc-authinfo' (which see)." (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 --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 3c6733e6dfa..a45e1a22ad5 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -326,24 +326,35 @@ This variable defaults to the value of `tramp-encoding-shell'." (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 @@ pair of the form (KEY VALUE). The following KEYs are defined: 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 @@ various functions for details." (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 @@ be ignored safely." :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 @@ corresponding PATTERN matches, the ACTION function is called." (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 @@ be a local filename. The method used must be an out-of-band method." 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 @@ be a local filename. The method used must be an out-of-band method." (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 @@ Returns nil if none was found, else the command is returned." (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 @@ The terminal type can be configured with `tramp-terminal-type'." (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 @@ The terminal type can be configured with `tramp-terminal-type'." (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 @@ arguments, and xx will be used as the host name to connect to. 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 --git a/lisp/newcomment.el b/lisp/newcomment.el index 9d089a2e164..cd22a21c9c7 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -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 @@ If CONTINUE is non-nil, use the `comment-continue' markers if any." (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 --git a/lisp/novice.el b/lisp/novice.el index 7fff480e2c2..fbd2054bcb3 100644 --- a/lisp/novice.el +++ b/lisp/novice.el @@ -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 @@ SPC to try the command just this once, but leave it disabled. (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 --git a/lisp/outline.el b/lisp/outline.el index 0cd6eaa7186..0ec527060a1 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -894,7 +894,8 @@ Show the heading too, if it is currently invisible." (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 --git a/lisp/paren.el b/lisp/paren.el index 29506174c6b..fe928045765 100644 --- a/lisp/paren.el +++ b/lisp/paren.el @@ -220,7 +220,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time." (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 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time." (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 --git a/lisp/paths.el b/lisp/paths.el index 022f12dd1fc..1d8f8c45ed7 100644 --- a/lisp/paths.el +++ b/lisp/paths.el @@ -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 --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el index 5915b5f5a9d..265110358c7 100644 --- a/lisp/pcmpl-cvs.el +++ b/lisp/pcmpl-cvs.el @@ -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 <johnw@gnu.org> diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el index 7dc7808404f..632cf6731e8 100644 --- a/lisp/pcmpl-gnu.el +++ b/lisp/pcmpl-gnu.el @@ -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 --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el index bd68d00ce76..c4e56301c7f 100644 --- a/lisp/pcmpl-linux.el +++ b/lisp/pcmpl-linux.el @@ -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 --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el index 5855a3e5d15..0a8df84a689 100644 --- a/lisp/pcmpl-rpm.el +++ b/lisp/pcmpl-rpm.el @@ -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 --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el index 35637c01363..74b162b5871 100644 --- a/lisp/pcmpl-unix.el +++ b/lisp/pcmpl-unix.el @@ -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 --git a/lisp/pcvs-defs.el b/lisp/pcvs-defs.el index d0c1950f1f8..ac224d3a18a 100644 --- a/lisp/pcvs-defs.el +++ b/lisp/pcvs-defs.el @@ -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 <monnier@iro.umontreal.ca> ;; Keywords: pcl-cvs diff --git a/lisp/pcvs-info.el b/lisp/pcvs-info.el index 085f294e6fb..b782f0b960d 100644 --- a/lisp/pcvs-info.el +++ b/lisp/pcvs-info.el @@ -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 <monnier@iro.umontreal.ca> ;; Keywords: pcl-cvs diff --git a/lisp/pcvs-parse.el b/lisp/pcvs-parse.el index bd493126532..f69f275246a 100644 --- a/lisp/pcvs-parse.el +++ b/lisp/pcvs-parse.el @@ -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 <monnier@iro.umontreal.ca> ;; Keywords: pcl-cvs diff --git a/lisp/pcvs.el b/lisp/pcvs.el index 52237005d22..001053f742a 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el @@ -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 --git a/lisp/pgg-pgp.el b/lisp/pgg-pgp.el index e53a0c2c867..aa0cfcf7cb7 100644 --- a/lisp/pgg-pgp.el +++ b/lisp/pgg-pgp.el @@ -63,9 +63,9 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (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 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (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 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." 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 @@ passphrase cache or user." (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 @@ passphrase cache or user." (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 @@ passphrase cache or user." (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 @@ passphrase cache or user." (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 @@ passphrase cache or user." "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 @@ passphrase cache or user." (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 @@ passphrase cache or user." (provide 'pgg-pgp) -;;; arch-tag: 076b7801-37b2-49a6-97c3-218fdecde33c +;; arch-tag: 076b7801-37b2-49a6-97c3-218fdecde33c ;;; pgg-pgp.el ends here diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el index ee321b44d31..2df8a9abaad 100644 --- a/lisp/play/gomoku.el +++ b/lisp/play/gomoku.el @@ -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 @@ is non-nil." ;;; ;; 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 @@ is non-nil." "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 @@ is non-nil." (/ 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 @@ that DVAL has been added on SQUARE." (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 @@ If the game is finished, this command requests for another game." (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 @@ If the game is finished, this command requests for another game." (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 @@ If the game is finished, this command requests for another game." (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 @@ If the game is finished, this command requests for another game." (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 --git a/lisp/play/landmark.el b/lisp/play/landmark.el index 1bd1c7ec48a..f947a8caeaa 100644 --- a/lisp/play/landmark.el +++ b/lisp/play/landmark.el @@ -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 --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index ccd91d3b060..c529e3a8265 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el @@ -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 @@ An example is: "*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 @@ the 4 file locations can be clicked on and jumped to." (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 --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el index 6c59560094a..9996a697bb2 100644 --- a/lisp/progmodes/ada-xref.el +++ b/lisp/progmodes/ada-xref.el @@ -117,7 +117,7 @@ the filename at the end. This is the same syntax as in the project file." " ${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 @@ Otherwise, ask the user for the name of the project file to use." :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 @@ we need to use `/d' or the drive is never changed.") \"&&\" 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 @@ we need to use `/d' or the drive is never changed.") "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 @@ project file, a (nil . default-properties) entry is created.") ;; ----------------------------------------------------------------------- (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 @@ replaced by the name including the extension." 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 @@ If ARG is not nil, ask for user confirmation." "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 @@ command, and should be either comp_cmd (default) or check_cmd." (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 @@ project file." "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 @@ the project file." (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 @@ This function attempts to find the possible declarations for the identifier 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 @@ This is a GNAT specific function that uses gnatkrunch." (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 @@ This function typically is to be hooked into `ff-file-created-hook'." ;; 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 @@ This function typically is to be hooked into `ff-file-created-hook'." (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 --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el index 53711ecb951..9c2427a71af 100644 --- a/lisp/progmodes/cc-align.el +++ b/lisp/progmodes/cc-align.el @@ -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 --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el index c93843f3f82..e2fcbd8d06b 100644 --- a/lisp/progmodes/cc-awk.el +++ b/lisp/progmodes/cc-awk.el @@ -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 <acm@muc.de> (originally based on awk-mode.el) ;; Maintainer: FSF diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index 8b2f5e57f83..1c266e8a5de 100644 --- a/lisp/progmodes/cc-cmds.el +++ b/lisp/progmodes/cc-cmds.el @@ -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 @@ With universal argument, inserts the analysis as a comment on that line." ;; 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 @@ inside a literal or a macro, nothing special happens." ;; 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 @@ function does not require the declaration to contain a brace block." (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 @@ function does not require the declaration to contain a brace block." ;; 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 @@ function does not require the declaration to contain a brace block." ((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 @@ function does not require the declaration to contain a brace block." ;; 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 @@ sentence motion in or near comments and multiline strings." (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 @@ forward." (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 @@ prefix argument is equivalent to -1. (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 @@ command to conveniently insert and align the necessary backslashes." 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 --git a/lisp/progmodes/cc-compat.el b/lisp/progmodes/cc-compat.el index d08c9fc0162..4d0266ec41c 100644 --- a/lisp/progmodes/cc-compat.el +++ b/lisp/progmodes/cc-compat.el @@ -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 --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index ecad9174e57..df2f247f048 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el @@ -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 --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 32c82eb1c1d..5cb00929007 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -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 --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index d29e75e92f0..73ea6de9b05 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el @@ -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 --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el index b925d1e653c..c54d73db513 100644 --- a/lisp/progmodes/cc-menus.el +++ b/lisp/progmodes/cc-menus.el @@ -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 --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index eb5ae4b63b6..7c48967abde 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el @@ -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 --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el index c2b9b435e4c..81048d52072 100644 --- a/lisp/progmodes/cc-styles.el +++ b/lisp/progmodes/cc-styles.el @@ -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 --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el index 0e6738710c5..0f0da939230 100644 --- a/lisp/progmodes/cc-vars.el +++ b/lisp/progmodes/cc-vars.el @@ -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 @@ then no newline is inserted." 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 --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index cc1fe1ef827..04a5cf9cad7 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -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 @@ This only affects platforms that support asynchronous processes (see ;; 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 @@ Faces `compilation-error-face', `compilation-warning-face', 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 --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 983087d07bc..14cbaf9c0f4 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -1681,9 +1681,8 @@ or as help on variables `cperl-tips', `cperl-problems', [(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 @@ or as help on variables `cperl-tips', `cperl-problems', ("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 --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index cdbc24cd391..e1cd25934f8 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el @@ -674,76 +674,78 @@ Used in the F90 entry in `hs-special-modes-alist'.") ;; 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 @@ All others return `comment-column', leaving at least one space after code." (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 --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index b37be18188c..9f5031b0e63 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -2,8 +2,8 @@ ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation -;; Author: Pavel Kobiakov <pk_at_work@yahoo.com> -;; Maintainer: Pavel Kobiakov <pk_at_work@yahoo.com> +;; Author: Pavel Kobyakov <pk_at_work@yahoo.com> +;; Maintainer: Pavel Kobyakov <pk_at_work@yahoo.com> ;; Version: 0.3 ;; Keywords: c languages tools @@ -117,6 +117,30 @@ Zero-length substrings at the beginning and end of the list are omitted." '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 @@ MENU-DATA is a list of error and warning messages returned by (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 --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el index c7a175241d5..5c97f60e204 100644 --- a/lisp/progmodes/fortran.el +++ b/lisp/progmodes/fortran.el @@ -385,8 +385,8 @@ program\\|subroutine\\)\\>[ \t]*\\(\\sw+\\)?" "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 @@ Used in the Fortran entry in `hs-special-modes-alist'.") (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 @@ See also `fortran-window-create'." (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 --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 225952366dd..48dd31b19f9 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -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 @@ type_changed=\".*?\".*?}") (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 @@ INDENT is the current indentation depth." (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 --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index b42e1b7fdc7..fc7c303c491 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -394,8 +394,6 @@ t means that there is no stack, and we are in display-file mode.") (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 @@ required by the caller." ;; 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 @@ directory and source-file directory for your debugger. By 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 @@ into one that invokes an Emacs-enabled debugging session. ;; 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 @@ and source-file directory for your debugger." ;; 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 @@ extension EXTN. Normally EXTN is given as the regular expression (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 @@ extension EXTN. Normally EXTN is given as the regular expression 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 @@ nil) (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-<initial-class-basename>*\" if there is. If the \"-classpath\" +\"*gud-<initial-class-basename>*\" 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 @@ Obeying it means displaying in another window the specified file and line." (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 --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el index e7ed67ce61c..e50a9a4dda6 100644 --- a/lisp/progmodes/hideshow.el +++ b/lisp/progmodes/hideshow.el @@ -706,6 +706,7 @@ and `case-fold-search' are both t." (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 --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 3a7d39c5db7..f33ae35ed30 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el @@ -3486,8 +3486,6 @@ if `idlwave-auto-fill-split-string' is non-nil." (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 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.") 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 --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el index 57941db9691..998b33ffbc7 100644 --- a/lisp/progmodes/octave-mod.el +++ b/lisp/progmodes/octave-mod.el @@ -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 --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 24e9f65f180..7a62cfa477c 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -408,6 +408,7 @@ The criteria are that the line isn't a comment or in string and 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 --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index ff5493de364..4b5a8bb51f1 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el @@ -847,23 +847,24 @@ Based on `comint-mode-map'.") (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 --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 60c3e1c3144..3bf4227a82f 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el @@ -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 <reto@gnu.org> ;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net> ;; Maintainer: Reto Zimmermann <reto@gnu.org> ;; 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 @@ STRING are replaced by `-' and substrings are converted to lower case." (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 --git a/lisp/register.el b/lisp/register.el index 8dea532410c..8940a887532 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -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 --git a/lisp/repeat.el b/lisp/repeat.el index b225b729def..51e9d160a4e 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -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 <seldon@eskimo.com> diff --git a/lisp/reposition.el b/lisp/reposition.el index a87b72443df..08af0dc2f20 100644 --- a/lisp/reposition.el +++ b/lisp/reposition.el @@ -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 <mernst@theory.lcs.mit.edu> diff --git a/lisp/resume.el b/lisp/resume.el index d913782e0c8..48cf9562b9f 100644 --- a/lisp/resume.el +++ b/lisp/resume.el @@ -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 <jbw@bucsf.bu.edu> @@ -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 --git a/lisp/rot13.el b/lisp/rot13.el index 449583ab8dd..a6605722d8a 100644 --- a/lisp/rot13.el +++ b/lisp/rot13.el @@ -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 @@ See also `toggle-rot13-mode'." ;;;###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 --git a/lisp/s-region.el b/lisp/s-region.el index 6bc4b481d7b..fa01dd986a1 100644 --- a/lisp/s-region.el +++ b/lisp/s-region.el @@ -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 <terra@diku.dk> diff --git a/lisp/sb-image.el b/lisp/sb-image.el index c608346cd02..ac124fbc26b 100644 --- a/lisp/sb-image.el +++ b/lisp/sb-image.el @@ -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 <zappo@gnu.org> diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el index 9e816480f38..483de88fe39 100644 --- a/lisp/scroll-all.el +++ b/lisp/scroll-all.el @@ -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 <Gary.Foster@corp.sun.com> @@ -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 --git a/lisp/select.el b/lisp/select.el index 9b711ee1d7f..642d91969a6 100644 --- a/lisp/select.el +++ b/lisp/select.el @@ -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 --git a/lisp/server.el b/lisp/server.el index bcb79d6b9ac..3ae585e9bc4 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -113,23 +113,23 @@ If set, the server accepts remote connections; otherwise it is local." (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 @@ When a buffer is marked as \"done\", it is removed from this list.") (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 @@ Only programs can do so." (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 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"." (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 --git a/lisp/shell.el b/lisp/shell.el index d3e23251a1f..2b1b6a907e4 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -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 <shivers@cs.cmu.edu> @@ -521,9 +521,9 @@ If BUFFER exists and shell process is running, just switch to BUFFER. 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 @@ Otherwise, one argument `-i' is passed to the shell. (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 --git a/lisp/simple.el b/lisp/simple.el index 8b0b591710e..293f8d25431 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -262,10 +262,10 @@ that buffer is rejected." (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 @@ The variable `selective-display' has a separate value for each buffer." (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 --git a/lisp/skeleton.el b/lisp/skeleton.el index d51fd91c3b4..d903dab461d 100644 --- a/lisp/skeleton.el +++ b/lisp/skeleton.el @@ -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 <occitan@esperanto.org> diff --git a/lisp/sort.el b/lisp/sort.el index 798d2da584a..7b90d3dcbdf 100644 --- a/lisp/sort.el +++ b/lisp/sort.el @@ -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 @@ the sort order." (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 --git a/lisp/soundex.el b/lisp/soundex.el index e48dbcf3bd6..be73d71c21a 100644 --- a/lisp/soundex.el +++ b/lisp/soundex.el @@ -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 <chris@bliss.berkeley.edu> diff --git a/lisp/speedbar.el b/lisp/speedbar.el index aa09e018803..01357cb380a 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -2681,7 +2681,15 @@ Also resets scanner functions." "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 --git a/lisp/startup.el b/lisp/startup.el index 3a2916e1d80..74101a2bea3 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1376,7 +1376,7 @@ mouse." 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 --git a/lisp/strokes.el b/lisp/strokes.el index 8d2b021ce61..c440f0df860 100644 --- a/lisp/strokes.el +++ b/lisp/strokes.el @@ -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 <cadet@alum.mit.edu> diff --git a/lisp/subr.el b/lisp/subr.el index c92ae5b3fea..9edb97c2343 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1892,7 +1892,7 @@ EXIT-CHAR it is swallowed; otherwise it is then available as 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 --git a/lisp/tabify.el b/lisp/tabify.el index de37f281eda..42d8e15f1ab 100644 --- a/lisp/tabify.el +++ b/lisp/tabify.el @@ -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 @@ The variable `tab-width' controls the spacing of tab stops." (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 --git a/lisp/talk.el b/lisp/talk.el index ef1a78f0ae5..ea29e9593b1 100644 --- a/lisp/talk.el +++ b/lisp/talk.el @@ -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 --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 024d7399ea9..f3aa86b48c3 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -361,7 +361,7 @@ MODE should be an integer which is a file mode value." ((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 @@ for this to be permanent." (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 --git a/lisp/tempo.el b/lisp/tempo.el index e65a8179518..14fdb4c969e 100644 --- a/lisp/tempo.el +++ b/lisp/tempo.el @@ -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 <davidk@lysator.liu.se> diff --git a/lisp/term.el b/lisp/term.el index 5cf0887163d..f8cf08ef37e 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -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 <per@bothner.com> @@ -1420,8 +1420,12 @@ The main purpose is to get rid of the local keymap." (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 --git a/lisp/terminal.el b/lisp/terminal.el index 51f2b37509b..b26a2643d75 100644 --- a/lisp/terminal.el +++ b/lisp/terminal.el @@ -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 <mly@eddie.mit.edu> @@ -567,10 +567,10 @@ together with a command \\<terminal-edit-map>to return to terminal emulation: \\ (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 @@ together with a command \\<terminal-edit-map>to return to terminal emulation: \\ (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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." ();(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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." (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 @@ move to start of new line, clear to end of line." (if (bolp) () (delete-region (1- (point)) (point)) - (insert ?\ ) + (insert ?\s) (forward-char -1))) ;; ^p ^g @@ -815,7 +815,7 @@ move to start of new line, clear to end of line." 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 @@ move to start of new line, clear to end of line." (- (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 @@ move to start of new line, clear to end of line." (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 --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index 30326066504..d9baad489a3 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik <dominik at science dot uva dot nl> ;; 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 --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 18f0c980929..a3341db3ae3 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -263,7 +263,10 @@ Any terminating `>' or `/' is not matched.") (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 --git a/lisp/thingatpt.el b/lisp/thingatpt.el index ee58fffce34..8526cfb717b 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -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 <mikew@gopher.dosli.govt.nz> ;; Maintainer: FSF diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el index 4a14a0197e8..770a86834c8 100644 --- a/lisp/time-stamp.el +++ b/lisp/time-stamp.el @@ -491,7 +491,7 @@ and all `time-stamp-format' compatibility." (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 @@ around literals." ;;; 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 --git a/lisp/timezone.el b/lisp/timezone.el index 2529f7da865..af30cf64988 100644 --- a/lisp/timezone.el +++ b/lisp/timezone.el @@ -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 --git a/lisp/tmm.el b/lisp/tmm.el index 86c326616aa..a2da0005b5a 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -305,7 +305,7 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'." (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 --git a/lisp/tutorial.el b/lisp/tutorial.el index 564797752fa..b171ee9a07b 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el @@ -255,6 +255,7 @@ LEFT and RIGHT are the elements to compare." (backward-sentence [?\M-a]) (forward-sentence [?\M-e]) + (newline "\r") (beginning-of-buffer [?\M-<]) (end-of-buffer [?\M->]) @@ -280,6 +281,7 @@ LEFT and RIGHT are the elements to compare." ;; 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 @@ LEFT and RIGHT are the elements to compare." ;;(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 @@ from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" ) (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 @@ CHANGED-KEYS should be a list in the format returned by (let ((here (point)) (case-fold-search nil) (key-desc (key-description key))) + (cond ((string= "ESC" key-desc) + (setq key-desc "<ESC>")) + ((string= "RET" key-desc) + (setq key-desc "<Return>")) + ((string= "DEL" key-desc) + (setq key-desc "<Delback>"))) (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 --git a/lisp/type-break.el b/lisp/type-break.el index beb7e6f3725..ae18d2eeba4 100644 --- a/lisp/type-break.el +++ b/lisp/type-break.el @@ -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 --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index bcd4eac16c2..c50dcf52897 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,19 @@ +2006-11-26 Magnus Henoch <mange@freemail.hu> + + * 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 <disumu@x3y2z1.net> + + * 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 <mange@freemail.hu> * url-http.el (url-http): Make proxy-object buffer-local, to diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 69c04c51c28..ad556c30a07 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el @@ -358,14 +358,19 @@ This allows us to use `mail-fetch-field', etc." (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 @@ should be shown to the user." ;; 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 @@ should be shown to the user." (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 @@ the callback to be triggered." (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 @@ the end of the document." 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)))) - - (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)) - (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. + (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))) + + (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 - "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) + "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 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 @@ CBARGS as the arguments." 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 --git a/lisp/url/url-util.el b/lisp/url/url-util.el index 0aeb141c017..57c0f05661d 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -244,12 +244,13 @@ Will not do anything if `url-show-status' is nil." ;;;###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 --git a/lisp/userlock.el b/lisp/userlock.el index 8a539daace8..bf35e92933c 100644 --- a/lisp/userlock.el +++ b/lisp/userlock.el @@ -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 @@ in any way you like." (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 <s>teal the file; The other user becomes the +You can <s>teal the file; the other user becomes the intruder if (s)he ever unmodifies the file and then changes it again. You can <p>roceed; you edit at your own (and the other user's) risk. You can <q>uit; don't modify this file.") diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index 8b9973acab1..b602d79383f 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -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 <spiegel@gnu.org> diff --git a/lisp/vcursor.el b/lisp/vcursor.el index a9d3fd68d74..22b1d0fdd76 100644 --- a/lisp/vcursor.el +++ b/lisp/vcursor.el @@ -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 <pws@ibmth.df.unipi.it> diff --git a/lisp/vms-patch.el b/lisp/vms-patch.el index eb365c3b580..5c65dd13976 100644 --- a/lisp/vms-patch.el +++ b/lisp/vms-patch.el @@ -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 --git a/lisp/vmsproc.el b/lisp/vmsproc.el index 649d3a22534..84ec1e2b93a 100644 --- a/lisp/vmsproc.el +++ b/lisp/vmsproc.el @@ -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 @@ the end." ;; (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 @@ the end." (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 @@ line to the last line for resubmission." 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 --git a/lisp/vt-control.el b/lisp/vt-control.el index d5bc90044b1..bc16a260b29 100644 --- a/lisp/vt-control.el +++ b/lisp/vt-control.el @@ -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 <riepel@networking.stanford.edu> diff --git a/lisp/vt100-led.el b/lisp/vt100-led.el index 541f06ef471..caf27f55b42 100644 --- a/lisp/vt100-led.el +++ b/lisp/vt100-led.el @@ -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 @@ Element 0 is not used.") (led-update)) (defun led-on (l) - "Turn on LED l." + "Turn on LED L." (aset led-state l t) (led-update)) diff --git a/lisp/whitespace.el b/lisp/whitespace.el index cdb743c1494..a5ae328f500 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -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 <rv@gnu.org> @@ -571,7 +571,7 @@ See `whitespace-buffer' docstring for a summary of the problems." ;; 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 --git a/lisp/wid-browse.el b/lisp/wid-browse.el index 887f6553592..4d0520dc4fd 100644 --- a/lisp/wid-browse.el +++ b/lisp/wid-browse.el @@ -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 <abraham@dina.kvl.dk> diff --git a/lisp/widget.el b/lisp/widget.el index 6acfdfd48d8..5d828373314 100644 --- a/lisp/widget.el +++ b/lisp/widget.el @@ -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 <abraham@dina.kvl.dk> diff --git a/lisp/windmove.el b/lisp/windmove.el index 3b62437e280..5c7ebfd74ea 100644 --- a/lisp/windmove.el +++ b/lisp/windmove.el @@ -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 --git a/lisp/woman.el b/lisp/woman.el index b25a93d86a8..e8387584ab7 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -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 <F.J.Wright@qmul.ac.uk> diff --git a/lispintro/ChangeLog b/lispintro/ChangeLog index 342c4aa342d..72772f597d3 100644 --- a/lispintro/ChangeLog +++ b/lispintro/ChangeLog @@ -1,3 +1,12 @@ +2006-11-27 Andreas Schwab <schwab@suse.de> + + * 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 <bob@rattlesnake.com> * emacs-lisp-intro.texi: Copy descriptions from detailed master diff --git a/lispintro/Makefile.in b/lispintro/Makefile.in index eacd1546918..cfc9b9b3bfd 100644 --- a/lispintro/Makefile.in +++ b/lispintro/Makefile.in @@ -26,6 +26,7 @@ srcdir = @srcdir@ 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 @@ DVI_TARGETS = emacs-lisp-intro.dvi MAKEINFO = makeinfo TEXI2DVI = texi2dvi DVIPS = dvips -ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" .SUFFIXES: .dvi .ps .texi @@ -48,7 +48,7 @@ ${infodir}/eintr: ${INFO_SOURCES} 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 --git a/lispintro/emacs-lisp-intro.texi b/lispintro/emacs-lisp-intro.texi index 81229eb3967..afa10333953 100644 --- a/lispintro/emacs-lisp-intro.texi +++ b/lispintro/emacs-lisp-intro.texi @@ -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 --git a/lispref/ChangeLog b/lispref/ChangeLog index 9f87f71416b..88aeae85b25 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,28 @@ +2006-12-04 Kim F. Storm <storm@cua.dk> + + * commands.texi (Misc Events): Update signal events. + (Event Examples): Add signal example. + +2006-11-29 Richard Stallman <rms@gnu.org> + + * frames.texi (Visibility of Frames): Explain visible windows + can be covered by others. Add xref for raise-frame. + +2006-11-28 Richard Stallman <rms@gnu.org> + + * searching.texi (Regexp Special): Update when ^ is special. + +2006-11-27 Eli Zaretskii <eliz@gnu.org> + + * 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 <monnier@iro.umontreal.ca> + + * modes.texi (Multiline Font Lock): Rephrase some parts for clarity. + 2006-11-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * frames.texi (Window System Selections): Remove clipboard from diff --git a/lispref/commands.texi b/lispref/commands.texi index 124be554b63..7188961e344 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -1586,13 +1586,14 @@ The precise meaning of the event parameters and the way these 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 @@ into another window. That produces a pair of events like these: -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 --git a/lispref/customize.texi b/lispref/customize.texi index 9e10e547b56..d47c86308c8 100644 --- a/lispref/customize.texi +++ b/lispref/customize.texi @@ -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 @@ definitions---as well as face definitions (@pxref{Defining Faces}). @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 @@ display one name. @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 @@ specify a dash where normally a hyphen would be converted to a space: :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 @@ more than one group. Displaying any of those groups will show this 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 @@ An item can have more than one external link; however, most items have 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 @@ a feature such as a minor mode, and just setting the variable won't have 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 @@ choice is the official name of the package, such as MH-E or Gnus. @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 @@ also use this keyword in @code{defgroup}: @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 @@ turn this feature back on, if someone would like to do the work. @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 @@ values are legitimate, and how to display the value. @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 @@ This is meaningful only for certain types, currently including 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 @@ mean simply setting the option as a Lisp variable). The default for @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 @@ is almost surely a mistake to specify @code{getfunction} for a value 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 @@ variables and functions will be defined, so there will not be an error. @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 @@ an expression which evaluates to the value. @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 @@ purposes. This is useful for a type that appears inside of a @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 @@ If @code{nil} is not a valid value for the alternative, then it is 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 @@ Display a literal @samp{%}. @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 @@ Use @var{tag} (a string) as the tag for the value (or part of the value) 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 @@ provide more information about the meanings of alternatives inside a @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 @@ to yield a help string. If it is a function, it is called with one 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 --git a/lispref/frames.texi b/lispref/frames.texi index 364f7d480e1..f27aa35432c 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -1203,17 +1203,19 @@ moved by the OS to the selected frame.) @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 --git a/lispref/modes.texi b/lispref/modes.texi index d6af11434b9..4f68bb5064b 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -3067,16 +3067,19 @@ will rehighlight the whole construct if any part of it is changed. In 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 @@ handle the case where highlighting depends on subsequent lines. @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 --git a/lispref/searching.texi b/lispref/searching.texi index 204cfa1d319..bc3fd9ce911 100644 --- a/lispref/searching.texi +++ b/lispref/searching.texi @@ -438,7 +438,8 @@ When matching a string instead of a buffer, @samp{^} matches at the 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 --git a/mac/ChangeLog b/mac/ChangeLog index 2632849e9e2..7c8e0ed6673 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog @@ -1,3 +1,12 @@ +2006-12-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * inc/config.h: Sync with src/config.in. + +2006-11-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * INSTALL: Add descriptions about configuration and invocation. + Capitalize `Carbon'. + 2006-11-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * inc/config.h: Sync with src/config.in. diff --git a/mac/INSTALL b/mac/INSTALL index 477f9b328c4..de9e76071c4 100644 --- a/mac/INSTALL +++ b/mac/INSTALL @@ -29,7 +29,7 @@ you try to install into /usr (with ./configure --prefix=/usr), then you 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=<mydir> @@ -43,23 +43,31 @@ GNU texinfo package are given below. Alternatively, you can type `make -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 @@ If you are intending to build a binary distribution of Emacs, there is 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 --git a/mac/inc/config.h b/mac/inc/config.h index 3af1f35e389..3dd38a2913d 100644 --- a/mac/inc/config.h +++ b/mac/inc/config.h @@ -588,6 +588,9 @@ Boston, MA 02110-1301, USA. */ /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ #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 @@ Boston, MA 02110-1301, USA. */ /* 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 --git a/make-dist b/make-dist index df27155d813..043faae93b8 100755 --- a/make-dist +++ b/make-dist @@ -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 --git a/man/ChangeLog b/man/ChangeLog index c03f678bf1a..212da90ae1b 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,55 @@ +2006-12-06 Richard Stallman <rms@gnu.org> + + * 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 <michael.cadilhac@lrde.org> + + * 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 <eliz@gnu.org> + + * 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 <eliz@gnu.org> + + * 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 <nickrob@snap.net.nz> + + * building.texi (Watch Expressions): Mention SPC for expanding/ + contracting watch expressions. + +2006-11-26 Kim F. Storm <storm@cua.dk> + + * kmacro.texi (Basic Keyboard Macro): Mention F3/F4 more. + +2006-11-26 Nick Roberts <nickrob@snap.net.nz> + + * 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 <lekktu@gmail.com> + + * mule.texi (Defining Fontsets): Fix use of `charset' and `font'. + +2006-11-22 Juanma Barranquero <lekktu@gmail.com> + + * anti.texi (Antinews): Mention --server-file and TCP sockets. + 2006-11-20 Michael Olson <mwolson@gnu.org> * erc.texi: Call this the 5.2 stable pre-release of ERC. diff --git a/man/ack.texi b/man/ack.texi index 36e9b539723..8d0b20f52f8 100644 --- a/man/ack.texi +++ b/man/ack.texi @@ -517,7 +517,7 @@ in messages, @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 --git a/man/anti.texi b/man/anti.texi index 6bb0f5e62c5..a6746312dea 100644 --- a/man/anti.texi +++ b/man/anti.texi @@ -66,7 +66,8 @@ functions. 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 @@ only be one Emacs server running at a time. The @code{server-mode} 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 --git a/man/building.texi b/man/building.texi index a92810e617d..bee9462a7f0 100644 --- a/man/building.texi +++ b/man/building.texi @@ -536,10 +536,11 @@ allowed. GUD assumes that the first argument not starting with a @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 @@ to be reflected in the debugger's tables. 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 @@ operation you must not change these values during the GDB session. @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 @@ also display the frame address as a tooltip to help identify the frame 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 --git a/man/emacs.texi b/man/emacs.texi index 22e03ed57c5..76b77f38f8b 100644 --- a/man/emacs.texi +++ b/man/emacs.texi @@ -1050,7 +1050,7 @@ Jesper Harder, Markus Heritsch, Karl Heuer, Manabu Higashida, Anders 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 --git a/man/faq.texi b/man/faq.texi index 69feaecc2b5..5ba47325271 100644 --- a/man/faq.texi +++ b/man/faq.texi @@ -2761,7 +2761,7 @@ if ($?EMACS) then 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 --git a/man/kmacro.texi b/man/kmacro.texi index 66b8c2d4588..6596adf4268 100644 --- a/man/kmacro.texi +++ b/man/kmacro.texi @@ -46,19 +46,19 @@ intelligent or general. For such things, Lisp must be used. @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 @@ Run the last keyboard macro on each line that begins in the region (@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 @@ MS-DOS, @kbd{C-@key{BREAK}}). 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 @@ you invoked the keyboard macro, it also necessarily exits the keyboard 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 --git a/man/misc.texi b/man/misc.texi index d8511354577..da8c3179b91 100644 --- a/man/misc.texi +++ b/man/misc.texi @@ -478,7 +478,8 @@ either or both of these default initializations. @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 --git a/man/msdog.texi b/man/msdog.texi index 88fdb4b6b9a..d92929ea04e 100644 --- a/man/msdog.texi +++ b/man/msdog.texi @@ -518,6 +518,16 @@ character. If the value is a character, use that character to escape 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 --git a/man/mule.texi b/man/mule.texi index 9437e30f485..3e7a35d246a 100644 --- a/man/mule.texi +++ b/man/mule.texi @@ -212,11 +212,13 @@ always load any particular Lisp file in the same way. However, you can 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 @@ menus cannot handle fontsets. 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 --git a/man/texinfo.tex b/man/texinfo.tex index 08177390672..4d47842579b 100644 --- a/man/texinfo.tex +++ b/man/texinfo.tex @@ -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 @@ where each line of input produces a line of output.} \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 @@ where each line of input produces a line of output.} \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 @@ where each line of input produces a line of output.} \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 @@ where each line of input produces a line of output.} % 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 @@ where each line of input produces a line of output.} \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 @@ where each line of input produces a line of output.} % 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 @@ where each line of input produces a line of output.} % 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 @@ where each line of input produces a line of output.} \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 @@ where each line of input produces a line of output.} }% } \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 --git a/man/text.texi b/man/text.texi index 78f35c9f8ca..e27be49248f 100644 --- a/man/text.texi +++ b/man/text.texi @@ -1039,29 +1039,33 @@ collectively an @dfn{entry}. A heading line together with all following 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 --git a/msdos/ChangeLog b/msdos/ChangeLog index 4a29b928955..7e5128387a8 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,3 +1,11 @@ +2006-12-04 Eli Zaretskii <eliz@gnu.org> + + * sed2v2.inp (HAVE_SYNC): Define. + +2006-11-25 Eli Zaretskii <eliz@gnu.org> + + * sed1v2.inp (CFLAGS_SOUND): Edit out. + 2006-09-15 Jay Belanger <belanger@truman.edu> * COPYING: Replace "Library Public License" by "Lesser Public diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp index 63f62985f52..be672842410 100644 --- a/msdos/sed1v2.inp +++ b/msdos/sed1v2.inp @@ -36,6 +36,7 @@ s/\.h\.in/.h-in/ /^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 --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index 89fae6d7a41..20e478522a7 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp @@ -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 --git a/src/ChangeLog b/src/ChangeLog index 95ea57dd51f..ce576fe4f97 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,147 @@ +2006-12-05 Glenn Morris <rgm@gnu.org> + + * 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 <storm@cua.dk> + + * 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 <mituharu@math.s.chiba-u.ac.jp> + + * 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 <rgm@gnu.org> + + * Makefile.in (version): New variable, set by configure. + (bootstrapclean, mostlyclean): Also remove emacs-${version}. + +2006-12-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * gtkutil.c (update_frame_tool_bar): Handle modifying a toolbar item + without an image. + +2006-12-01 Eli Zaretskii <eliz@gnu.org> + + * w32fns.c (Fw32_shell_execute): Doc fix. + +2006-11-30 Chong Yidong <cyd@stupidchicken.com> + + * xdisp.c (move_it_to): Correctly count tab glyphs for continued + lines ending in tab. + +2006-11-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * xterm.c (x_raise_frame): Move setting of _NET_ACTIVE_WINDOW + property ... + (XTframe_raise_lower): ... to here. + +2006-11-30 Kenichi Handa <handa@m17n.org> + + * regex.c (regex_compile): Fix previous change. + +2006-11-29 Juanma Barranquero <lekktu@gmail.com> + + * sound.c (Fplay_sound_internal): Remove spurious newline in docstring. + +2006-11-28 Chong Yidong <cyd@stupidchicken.com> + + * config.in: Regenerate. + +2006-11-28 Kenichi Handa <handa@m17n.org> + + * regex.c (regex_compile): Don't call SET_LIST_BIT with a + multibyte character. + +2006-11-27 Chong Yidong <cyd@stupidchicken.com> + + * s/aix4-2.h: Undefine _NO_PROTO. Suggested by Joe Buehler. + +2006-11-27 Kim F. Storm <storm@cua.dk> + + * window.c (set_window_buffer): Refactor recent changes. + +2006-11-27 Jason Rumney <jasonr@gnu.org> + + * 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 <cyd@stupidchicken.com> + + * m/amdx86-64.h: Look for standard libs in /usr/lib64 only if that + directory exists. + +2006-11-25 Eli Zaretskii <eliz@gnu.org> + + * 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 <cyd@stupidchicken.com> + + * window.c (set_window_buffer): Use BLOCK_INPUT. + +2006-11-24 Juanma Barranquero <lekktu@gmail.com> + + * fns.c (substring_both): Add missing address operator. + +2006-11-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * fns.c: Use AREF/ASIZE macros. + (concat): Provide the full ANSI prototype. + +2006-11-24 Juanma Barranquero <lekktu@gmail.com> + + * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix. + +2006-11-23 William Smith <William.Smith@global360.com> (tiny change) + + * strftime.c (HAVE_SYS__MBSTATE_T_H): Fix typo. + +2006-11-02 Alfred M. Szmidt <ams@gnu.org> (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 <cyd@stupidchicken.com> + + * window.c (set_window_buffer): Clear mouse highlight if it is in + this window. + +2006-11-21 Chong Yidong <cyd@stupidchicken.com> + + * 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 <rms@gnu.org> * fileio.c: Break line before &&, not after. @@ -18,15 +162,13 @@ 2006-11-19 Andreas Schwab <schwab@gnu.org> - * 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 <schwab@suse.de> - * 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 <okazaki@be.to> (tiny change) @@ -44,8 +186,7 @@ 2006-11-14 Kenichi Handa <handa@m17n.org> - * 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 <mituharu@math.s.chiba-u.ac.jp> @@ -142,7 +283,7 @@ 2006-11-05 Mark Davies <mark@mcs.vuw.ac.nz> (tiny change) - * s/netbsd.h (POSIX_SIGNALS): Defined. + * s/netbsd.h (POSIX_SIGNALS): Define. 2006-11-05 Martin Rudalics <rudalics@gmx.at> @@ -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 <lekktu@gmail.com> @@ -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 <jan.h.d@swipnet.se> * 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 <jan.h.d@swipnet.se> * 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 <mituharu@math.s.chiba-u.ac.jp> @@ -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 <handa@m17n.org> @@ -4105,8 +4246,8 @@ 2006-01-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * 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 <teirllm@auburn.edu> @@ -4434,7 +4575,7 @@ 2005-12-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * 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 <mituharu@math.s.chiba-u.ac.jp> @@ -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 <storm@cua.dk> - * 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 <mituharu@math.s.chiba-u.ac.jp> @@ -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 <storm@cua.dk> @@ -11238,7 +11378,7 @@ precedence. (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area. -2004-10-05 Jan Dj,Ad(Brv. <jan.h.d@swipnet.se> +2004-10-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * 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 <mituharu@math.s.chiba-u.ac.jp> +2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * regex.c (regex_compile): Free the stack when returning from function. @@ -18083,7 +18223,7 @@ 2003-03-23 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * 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 <jan.h.d@swipnet.se> * keyboard.c (cancel_hourglass_unwind): Surround with - #ifdef HAVE_X_WINDOWS + #ifdef HAVE_X_WINDOWS. 2003-02-25 Kenichi Handa <handa@m17n.org> @@ -19182,7 +19322,7 @@ 2003-01-21 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * gtkutil.c: Must include stdio.h before termhooks.h + * gtkutil.c: Must include stdio.h before termhooks.h. 2003-01-21 Dave Love <fx@gnu.org> @@ -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` <pot@gnu.org> +2002-12-06 Francesco Potort,Al(B <pot@gnu.org> * 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` <pot@gnu.org> +2002-11-14 Francesco Potort,Al(B <pot@gnu.org> * 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 <rms@gnu.org> diff --git a/src/Makefile.in b/src/Makefile.in index b7569b9de2a..87352d74830 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -38,6 +38,7 @@ CPPFLAGS=@CPPFLAGS@ 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 @@ ${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r ${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 --git a/src/abbrev.c b/src/abbrev.c index f47a83b0bfe..5e8c8c98862 100644 --- a/src/abbrev.c +++ b/src/abbrev.c @@ -83,7 +83,7 @@ EMACS_INT last_abbrev_point; 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 @@ DEFUN ("clear-abbrev-table", Fclear_abbrev_table, Sclear_abbrev_table, 1, 1, 0, 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 @@ usage-count, which is incremented each time the abbrev is used. \(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 @@ which should not be saved in the user's abbreviation file. */) 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 @@ syms_of_abbrev () 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 --git a/src/buffer.c b/src/buffer.c index 47877b6a37b..95f900aaf46 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5934,8 +5934,8 @@ An entry of the form POSITION indicates that point was at the buffer 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 --git a/src/config.in b/src/config.in index 10135ade386..7903c749513 100644 --- a/src/config.in +++ b/src/config.in @@ -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 @@ Boston, MA 02110-1301, USA. */ /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ #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 @@ Boston, MA 02110-1301, USA. */ /* 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 --git a/src/emacs.c b/src/emacs.c index 4e1caec3aff..935a12463dc 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -361,9 +361,9 @@ pthread_t main_thread; #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 @@ handle_USR1_signal (sig) 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 @@ main (argc, argv signal (SIGILL, fatal_error_signal); signal (SIGTRAP, fatal_error_signal); #ifdef SIGUSR1 - signal (SIGUSR1, handle_USR1_signal); -#ifdef SIGUSR2 - signal (SIGUSR2, handle_USR2_signal); + signal (SIGUSR1, handle_user_signal); #endif +#ifdef SIGUSR2 + signal (SIGUSR2, handle_user_signal); #endif #ifdef SIGABRT signal (SIGABRT, fatal_error_signal); diff --git a/src/fileio.c b/src/fileio.c index 601c5b5de9d..1cd1188cb63 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -3546,11 +3546,7 @@ Use the current time if TIME is nil. TIME is in the format of 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 @@ DEFUN ("unix-sync", Funix_sync, Sunix_sync, 0, 0, "", 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 @@ A non-nil value may result in data loss! */); defsubr (&Sread_file_name); defsubr (&Snext_read_file_uses_dialog_p); -#ifdef unix +#ifdef HAVE_SYNC defsubr (&Sunix_sync); #endif } diff --git a/src/fns.c b/src/fns.c index e6b83b8e4e1..da2c43fd6a9 100644 --- a/src/fns.c +++ b/src/fns.c @@ -150,13 +150,13 @@ To get the number of bytes, use `string-bytes'. */) 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 @@ Symbols are also allowed; their print names are used instead. */) /* "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 @@ concat (nargs, args, target_type, last_special) 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 @@ concat (nargs, args, target_type, last_special) thisindex++; } else - elt = XVECTOR (this)->contents[thisindex++]; + elt = AREF (this, thisindex++); /* Store this element into the result. */ if (toindex < 0) @@ -737,7 +737,7 @@ concat (nargs, args, target_type, last_special) tail = XCDR (tail); } else if (VECTORP (val)) - XVECTOR (val)->contents[toindex++] = elt; + AREF (val, toindex++) = elt; else { CHECK_NUMBER (elt); @@ -1180,7 +1180,7 @@ This function allows vectors as well as strings. */) size_byte = SBYTES (string); } else - size = XVECTOR (string)->size; + size = ASIZE (string); if (NILP (to)) { @@ -1218,8 +1218,7 @@ This function allows vectors as well as strings. */) 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 @@ substring_both (string, from, from_byte, to, to_byte) 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 @@ substring_both (string, from, from_byte, to, to_byte) 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 @@ internal_equal (o1, o2, depth, props) 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 @@ internal_equal (o1, o2, depth, props) 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 @@ ARRAY is a vector, string, char-table, or bool-vector. */) 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 @@ mapcar1 (leni, vals, fn, seq) 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 @@ mapcar1 (leni, vals, fn, seq) { 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 @@ larger_vector (vec, new_size, init) 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 @@ maybe_resize_hash_table (h) 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 @@ hash_lookup (h, key, hash) 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_put (h, key, value, hash) 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 @@ hash_remove (h, key) 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_clear (h) 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 @@ sweep_weak_table (h, remove_entries_p) { 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 @@ sxhash_vector (vec, depth) 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 --git a/src/gtkutil.c b/src/gtkutil.c index f7b9f8c18f9..6fd18882a74 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -3684,6 +3684,9 @@ update_frame_tool_bar (f) 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 @@ update_frame_tool_bar (f) 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) { - GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL); - GtkToolItem *ti = gtk_tool_button_new (w, ""); + /* 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); 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 --git a/src/keyboard.c b/src/keyboard.c index aca0acda24a..3a9f6f415db 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3784,7 +3784,8 @@ kbd_buffer_store_event_hold (event, hold_quit) 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 @@ Lisp_Object *scroll_bar_parts[] = { }; /* 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 @@ make_lispy_event (event) 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 @@ make_lispy_event (event) 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 @@ make_lispy_event (event) 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 @@ make_lispy_event (event) 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 @@ syms_of_keyboard () 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 --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h index 419fa131692..940ff70dbda 100644 --- a/src/m/amdx86-64.h +++ b/src/m/amdx86-64.h @@ -128,7 +128,11 @@ Boston, MA 02110-1301, USA. */ #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 @@ Boston, MA 02110-1301, USA. */ 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 --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h index 3d3e45eda81..10b43bf8246 100644 --- a/src/m/ibmrs6000.h +++ b/src/m/ibmrs6000.h @@ -44,7 +44,7 @@ Boston, MA 02110-1301, USA. */ #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 @@ Boston, MA 02110-1301, USA. */ /* 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 @@ Boston, MA 02110-1301, USA. */ #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 --git a/src/m/pfa50.h b/src/m/pfa50.h index 85d281073f1..0b1511fd8e7 100644 --- a/src/m/pfa50.h +++ b/src/m/pfa50.h @@ -50,7 +50,7 @@ Boston, MA 02110-1301, USA. */ #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 --git a/src/msdos.c b/src/msdos.c index d42e81d9d20..4a39ce75ae1 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -2639,7 +2639,7 @@ check_x (void) #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 --git a/src/process.c b/src/process.c index 7042077471c..db7fcb8b201 100644 --- a/src/process.c +++ b/src/process.c @@ -149,7 +149,8 @@ Boston, MA 02110-1301, USA. */ #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 @@ SIGCODE may be an integer, or a symbol whose name is a signal name. */) 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 @@ SIGCODE may be an integer, or a symbol whose name is a signal name. */) 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 @@ syms_of_process () 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 --git a/src/regex.c b/src/regex.c index 2eca58c23e8..b97ee7943fd 100644 --- a/src/regex.c +++ b/src/regex.c @@ -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 @@ init_syntax_once () # 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 @@ typedef enum 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 @@ typedef enum 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 @@ typedef enum 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 @@ typedef enum 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 @@ extract_number_and_incr (destination, source) /* 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 @@ extract_number_and_incr (destination, source) } 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 @@ extract_number_and_incr (destination, source) && (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 @@ do { \ 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 @@ struct range_table_work_area { 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 @@ struct range_table_work_area (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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) { 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 @@ regex_compile (pattern, size, syntax, bufp) } { - /* 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) /* 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 @@ regex_compile (pattern, size, syntax, bufp) && (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 @@ regex_compile (pattern, size, syntax, bufp) } 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) /* 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 @@ regex_compile (pattern, size, syntax, bufp) } /* 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 @@ regex_compile (pattern, size, syntax, bufp) } /* 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 @@ regex_compile (pattern, size, syntax, bufp) { /* 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) 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 @@ regex_compile (pattern, size, syntax, bufp) #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 @@ regex_compile (pattern, size, syntax, bufp) /* 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 @@ regex_compile (pattern, size, syntax, bufp) /* 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 @@ analyse_first (p, pend, fastmap, multibyte) 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 @@ analyse_first (p, pend, fastmap, multibyte) /* Following are the cases which match a character. These end - with `break'. */ + with `break'. */ case exactn: if (fastmap) @@ -4180,7 +4180,7 @@ analyse_first (p, pend, fastmap, multibyte) /* 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 @@ re_compile_fastmap (bufp) 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 @@ re_set_registers (bufp, regs, num_regs, starts, ends) } 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 @@ re_search_2 (bufp, str1, size1, str2, size2, startpos, range, regs, stop) /* 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 @@ re_search_2 (bufp, str1, size1, str2, size2, startpos, range, regs, stop) 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 @@ re_search_2 (bufp, str1, size1, str2, size2, startpos, range, regs, stop) } startpos += irange - range; } - else /* Searching backwards. */ + else /* Searching backwards. */ { int room = (startpos >= size1 ? size2 + size1 - startpos @@ -4598,7 +4598,7 @@ static int bcmp_translate _RE_ARGS((re_char *s1, re_char *s2, } \ /* 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 @@ static int bcmp_translate _RE_ARGS((re_char *s1, re_char *s2, 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 @@ mutually_exclusive_p (bufp, p1, p2) { /* 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 @@ mutually_exclusive_p (bufp, p1, p2) { 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 @@ WEAK_ALIAS (__re_match, re_match) #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 @@ Lisp_Object re_match_object; 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 @@ WEAK_ALIAS (__re_match_2, re_match_2) /* 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_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) #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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) /* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) { /* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) /* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) /* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) /* 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 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) 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 --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 02225a9226f..c23987d2d9b 100644 --- a/src/s/aix4-2.h +++ b/src/s/aix4-2.h @@ -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 --git a/src/s/openbsd.h b/src/s/openbsd.h index baba95a2b4b..3b996de7059 100644 --- a/src/s/openbsd.h +++ b/src/s/openbsd.h @@ -21,13 +21,18 @@ #undef LD_SWITCH_SYSTEM #ifdef __ELF__ -/* Han Boetes <han@mijncomputer.nl> 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 <han@mijncomputer.nl> says this + is necessary, otherwise Emacs dumps core on elf systems. */ +#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Z -#else +/* The version of gcc on OpenBSD doesn't search /usr/local/lib by + default. */ +#define LD_SWITCH_X_DEFAULT -L/usr/local/lib -#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -L/usr/pkg/lib -L/usr/local/lib +#else + +#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp +#define LD_SWITCH_X_DEFAULT -L/usr/local/lib #endif diff --git a/src/sound.c b/src/sound.c index 6f955a7d691..6f8e3ecb308 100644 --- a/src/sound.c +++ b/src/sound.c @@ -1015,14 +1015,14 @@ alsa_configure (sd) 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 @@ alsa_configure (sd) 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 @@ alsa_configure (sd) 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 @@ alsa_write (sd, buffer, nbytes) err); } } - else + else alsa_sound_perror ("Error writing to sound device", err); - + } else nwritten += err * fact; @@ -1374,7 +1374,7 @@ do_play_sound (psz_file, ui_volume) 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 --git a/src/strftime.c b/src/strftime.c index 123763d8845..88800c0d408 100644 --- a/src/strftime.c +++ b/src/strftime.c @@ -69,9 +69,9 @@ extern char *tzname[]; #if DO_MULTIBYTE # if HAVE_MBRLEN # include <wchar.h> -# ifdef HAVE_SYS__MBSTATE_H /* previously tested __hpux */ -# include <sys/_mbstate_t.h> -# endif +# ifdef HAVE_SYS__MBSTATE_T_H /* previously tested __hpux */ +# include <sys/_mbstate_t.h> +# endif # if !defined (mbsinit) && !defined (HAVE_MBSINIT) # define mbsinit(ps) 1 # endif /* !defined (mbsinit) && !defined (HAVE_MBSINIT) */ diff --git a/src/syntax.c b/src/syntax.c index a58fc70a113..a85746be362 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1481,7 +1481,7 @@ skip_chars (forwardp, string, lim, handle_iso_classes) 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 --git a/src/sysdep.c b/src/sysdep.c index 3fd134e476d..625b5d619ab 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -3756,7 +3756,7 @@ set_file_times (filename, atime, mtime) * 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 --git a/src/w16select.c b/src/w16select.c index 50c107a0789..e77d4fca806 100644 --- a/src/w16select.c +++ b/src/w16select.c @@ -590,7 +590,7 @@ DEFUN ("w16-set-clipboard-data", Fw16_set_clipboard_data, Sw16_set_clipboard_dat 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 --git a/src/w32fns.c b/src/w32fns.c index 910c395d61e..1ab44486852 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -2690,9 +2690,8 @@ cancel_all_deferred_msgs () 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 @@ DEFUN ("w32-shell-execute", Fw32_shell_execute, Sw32_shell_execute, 2, 4, 0, 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 --git a/src/w32term.c b/src/w32term.c index dda50bfac15..89be876b920 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -4590,7 +4590,7 @@ w32_read_socket (sd, expected, hold_quit) /* 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 @@ x_delete_display (dpyinfo) /* 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 @@ w32_initialize () 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 --git a/src/window.c b/src/window.c index 59463d9a71e..d687c831ef6 100644 --- a/src/window.c +++ b/src/window.c @@ -3265,6 +3265,10 @@ set_window_buffer (window, buffer, run_hooks_p, keep_margins_p) 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 @@ set_window_buffer (window, buffer, run_hooks_p, keep_margins_p) 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 --git a/src/xdisp.c b/src/xdisp.c index 40a1dfde5b2..957340674f6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -6986,7 +6986,12 @@ move_it_to (it, to_charpos, to_x, to_y, to_vpos, op) 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 @@ pint2str (buf, width, d) /* 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 --git a/src/xfaces.c b/src/xfaces.c index 6c04a91a125..9c8f02d6902 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -7534,10 +7534,18 @@ realize_default_face (f) #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 --git a/src/xselect.c b/src/xselect.c index cb76e229e55..72d6aa071ca 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -835,7 +835,7 @@ x_reply_selection_request (event, format, data, size, type) 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 @@ FRAME is on. If FRAME is nil, the selected frame is used. */) 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 @@ x_handle_dnd_message (f, event, dpyinfo, bufp) 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 --git a/src/xterm.c b/src/xterm.c index 6fdaaa83d93..277f0431a3b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9022,23 +9022,10 @@ void 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 @@ XTframe_raise_lower (f, raise_flag) 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 --git a/update-subdirs b/update-subdirs index ef259fe6f67..804097a0d06 100755 --- a/update-subdirs +++ b/update-subdirs @@ -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. # |