diff --git a/ChangeLog b/ChangeLog index d7d9b14c929..8aee7b2ce40 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-03-04 Paul Eggert + + configure: fix ncurses 'configure' issue on Solaris 10 (Bug#10677) + * configure.in (LIBS_TERMCAP): Default this to the result of + the tputs library search. Do a run-time test for the linkability + of tputs unless cross-compiling, as that's more reliable if the + link flags and libraries are messed up. Don't change LIBS as + a result of the test, as that may mess up later tests. + 2012-02-05 Christoph Scholtes * make-dist (README.W32): Include file in source tarball. (Bug#9750) @@ -2735,7 +2744,7 @@ * configure.in: Only check for m17n-flt if HAVE_LIBOTF. -2008-08-28 Adrian Robert +2008-10-03 Adrian Robert * configure.in: Report USE_TOOLKIT_SCROLLBARS as such (not mentioning "X") to avoid confusion. @@ -3897,7 +3906,7 @@ $PKG_CONFIG --exists "$2" to config.log. * configure: Regenerate. -2006-07-08 Richard Stallman +2006-07-09 Richard Stallman * INSTALL (DETAILED BUILDING AND INSTALLATION): Minor corrections. @@ -4135,7 +4144,7 @@ * configure.in (HAVE_CANCELMENUTRACKING): New test. -2005-05-11 Jérôme Marant +2005-05-19 Jérôme Marant * configure.in: Add --enable-locallisppath. @@ -4284,6 +4293,12 @@ * configure.in: Check for exec-shield. +2004-09-04 Reiner Steib + + * Makefile.in (install-arch-indep): Add pgg and sieve. + + * info/.cvsignore: Added pgg and sieve. + 2004-08-06 Andreas Schwab * Makefile.in (install-arch-indep, uninstall): Add flymake. @@ -4292,12 +4307,6 @@ * config.bat: Update URLs in the comments. -2004-08-02 Reiner Steib - - * Makefile.in (install-arch-indep): Add pgg and sieve. - - * info/.cvsignore: Added pgg and sieve. - 2004-07-05 Andreas Schwab * Makefile.in (install-arch-indep): Remove .arch-inventory files. @@ -4399,7 +4408,7 @@ * INSTALL.CVS: Renamed from INSTALL-CVS to avoid file-name clashes with install-sh on 8+3 filesystems. -2003-12-08 Miles Bader +2003-12-24 Miles Bader * .cvsignore: Add .arch-inventory. @@ -4532,19 +4541,6 @@ * configure.in: Append * to s390-*-linux-gnu case. (LIBMAIL) : Don't define. -2003-04-30 Richard M. Stallman - - * configure.in: Handle system types sysv5uw* and sysv5OpenUNIX*. - -2003-04-28 Francesco Potortì - - * configure.in: Undo last (RMS') change, as it is useless, per - Dave Love. - -2003-04-08 Richard M. Stallman - - * configure.in: Put #include of jpeglib.h at start of line. - 2003-04-30 Kai Großjohann * INSTALL (* GNU/Linux development packages): Mention Debian and @@ -4559,6 +4555,19 @@ * INSTALL (* GNU/Linux development packages): Tell people to install additional packages for compiling Emacs. +2003-04-30 Richard M. Stallman + + * configure.in: Handle system types sysv5uw* and sysv5OpenUNIX*. + +2003-04-28 Francesco Potortì + + * configure.in: Undo last (RMS') change, as it is useless, per + Dave Love. + +2003-04-08 Richard M. Stallman + + * configure.in: Put #include of jpeglib.h at start of line. + 2003-04-06 Francesco Potortì * configure.in: Use the same configuration for all aix5, not just @@ -4667,7 +4676,7 @@ * autogen.sh: New file. -2002-11-15 Dave Love +2002-11-18 Dave Love * configure.in: Tidy up various quoting issues throughout. Use AC_GNU_SOURCE. @@ -4823,7 +4832,7 @@ variable HAVE_CARBON. Also define HAVE_WINDOW_SYSTEM, HAVE_MOUSE, and HAVE_MENUS in AH_BOTTOM if HAVE_CARBON is defined. -2002-04-28 Colin Walters +2002-04-29 Colin Walters * configure.in: Delete configure check for access to the game user. @@ -10128,7 +10137,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc. + Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/README b/README index 2fa93cbf1a8..17976b3a86d 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ Copyright (C) 2001-2012 Free Software Foundation, Inc. See the end of the file for license conditions. -This directory tree holds version 24.0.93 of GNU Emacs, the extensible, +This directory tree holds version 24.0.94 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. The file INSTALL in this directory says how to build and install GNU diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 12b99e49688..99b702ad30f 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -180,12 +180,12 @@ xresources.texi cyd ** Check the Lisp manual. -abbrevs.texi +abbrevs.texi rgm advice.texi cyd anti.texi back.texi -backups.texi -buffers.texi +backups.texi cyd +buffers.texi cyd commands.texi cyd compile.texi cyd control.texi cyd @@ -194,23 +194,23 @@ debugging.texi cyd display.texi edebug.texi elisp.texi -errors.texi +errors.texi rgm eval.texi cyd files.texi cyd -frames.texi +frames.texi cyd functions.texi cyd hash.texi cyd help.texi cyd -hooks.texi +hooks.texi rgm index.texi -internals.texi +internals.texi rgm (I don't know much about this, so it would be + good if someone else could at least look at the FIXME? comments.) intro.texi cyd keymaps.texi cyd lists.texi cyd loading.texi cyd -locals.texi macros.texi cyd -maps.texi +maps.texi rgm markers.texi minibuf.texi modes.texi cyd @@ -219,7 +219,7 @@ numbers.texi cyd objects.texi cyd os.texi package.texi -positions.texi +positions.texi cyd processes.texi searching.texi sequences.texi cyd @@ -228,7 +228,7 @@ strings.texi cyd symbols.texi cyd syntax.texi cyd text.texi -tips.texi +tips.texi rgm variables.texi cyd windows.texi diff --git a/admin/notes/documentation b/admin/notes/documentation index f2e2aab73e7..09476ad6962 100644 --- a/admin/notes/documentation +++ b/admin/notes/documentation @@ -112,3 +112,6 @@ The kind of change for which the user really needs help from Antinews is where a feature works _differently_ in the previous version. In those cases, the user might have trouble figuring out how to use the old version without some sort of help. + +** To indicate possession, write Emacs's rather than Emacs'. +http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html diff --git a/admin/notes/unicode b/admin/notes/unicode index 382e3ee0f9f..dda6ec4cc93 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode @@ -1,6 +1,6 @@ -*-mode: text; coding: latin-1;-*- -Copyright (C) 2002-2012 Free Software Foundation, Inc. +Copyright (C) 2002-2012 Free Software Foundation, Inc. See the end of the file for license conditions. Problems, fixmes and other unicode-related issues @@ -62,14 +62,6 @@ regard to completeness. dumped emacs. But, those maps (char tables) generated while temacs is running can't be removed from the dumped emacs. - * Translation tables for {en,de}code currently aren't supported. - - This should be fixed by the changes of 2002-10-14. - - * Defining CCL coding systems currently doesn't work. - - This should be fixed by the changes of 2003-01-30. - * iso-2022 charsets get unified on i/o. With the change on 2003-01-06, decoding routines put `charset' @@ -88,8 +80,6 @@ regard to completeness. handle more scripts specifically ( la Devanagari). There are issues with canonicalization. - * Bidi is a separate issue with no support currently. - * We need tabular input methods, e.g. for maths symbols. (Not specific to Unicode.) @@ -102,27 +92,9 @@ regard to completeness. worry about what happens when double-width charsets covering non-CJK characters are unified. - * Emacs 20/21 .elc files are currently not loadable. It may or may - not be possible to do this properly. - - With the change on 2002-07-24, elc files generated by Emacs - 20.3 and later are correctly loaded (including those - containing multibyte characters and compressed). But, elc - files generated by 20.2 and the primer are still not loadable. - Is it really worth working on it? - - * Rmail won't work with non-ASCII text. Encoding issues for Babyl - files need sorting out, but rms says Babyl will go before this is - released. - - * Gnus still needs some attention, and we need to get changes - accepted by Gnus maintainers... - * There are type errors lurking, e.g. in Fcheck_coding_systems_region. Define ENABLE_CHECKING to find them. - * You can grep the code for lots of fixmes. - * Old auto-save files, and similar files, such as Gnus drafts, containing non-ASCII characters probably won't be re-read correctly. diff --git a/autogen/configure b/autogen/configure index 51c16695205..d3a375a2735 100755 --- a/autogen/configure +++ b/autogen/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for emacs 24.0.93. +# Generated by GNU Autoconf 2.65 for emacs 24.0.94. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -549,8 +549,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='emacs' PACKAGE_TARNAME='emacs' -PACKAGE_VERSION='24.0.93' -PACKAGE_STRING='emacs 24.0.93' +PACKAGE_VERSION='24.0.94' +PACKAGE_STRING='emacs 24.0.94' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1852,7 +1852,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures emacs 24.0.93 to adapt to many kinds of systems. +\`configure' configures emacs 24.0.94 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1926,7 +1926,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of emacs 24.0.93:";; + short | recursive ) echo "Configuration of emacs 24.0.94:";; esac cat <<\_ACEOF @@ -2088,7 +2088,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -emacs configure 24.0.93 +emacs configure 24.0.94 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2924,7 +2924,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by emacs $as_me 24.0.93, which was +It was created by emacs $as_me 24.0.94, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3756,7 +3756,7 @@ fi # Define the identity of the package. PACKAGE='emacs' - VERSION='24.0.93' + VERSION='24.0.94' cat >>confdefs.h <<_ACEOF @@ -14398,68 +14398,76 @@ done # It's better to believe a function is not available # than to expect to find it in ncurses. # Also we need tputs and friends to be able to build at all. -have_tputs_et_al=true -# Maybe curses should be tried earlier? -# See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9736#35 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tputs" >&5 $as_echo_n "checking for library containing tputs... " >&6; } -if test "${ac_cv_search_tputs+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# Run a test program that contains a call to tputs, a call that is +# never executed. This tests whether a pre-'main' dynamic linker +# works with the library. It's too much trouble to actually call +# tputs in the test program, due to portability hassles. When +# cross-compiling, assume the test program will run if it links. + +# Maybe curses should be tried earlier? +# See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9736#35 +for tputs_library in '' ncurses terminfo termcap curses; do + OLIBS=$LIBS + if test -z "$tputs_library"; then + LIBS_TERMCAP= + msg='none required' + else + LIBS_TERMCAP=-l$tputs_library + msg=$LIBS_TERMCAP + LIBS="$LIBS_TERMCAP $LIBS" + fi + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tputs (); -int -main () -{ -return tputs (); - ; - return 0; -} + extern void tputs (const char *, int, int (*)(int)); + int main (int argc, char **argv) + { + if (argc == 10000) + tputs (argv[0], 0, 0); + return 0; + } + _ACEOF -for ac_lib in '' ncurses terminfo termcap curses; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_tputs=$ac_res +if ac_fn_c_try_link "$LINENO"; then : + +else + msg=no fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_tputs+set}" = set; then : - break + conftest$ac_exeext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + extern void tputs (const char *, int, int (*)(int)); + int main (int argc, char **argv) + { + if (argc == 10000) + tputs (argv[0], 0, 0); + return 0; + } + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + msg=no fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + LIBS=$OLIBS + if test "X$msg" != Xno; then + break + fi done -if test "${ac_cv_search_tputs+set}" = set; then : - -else - ac_cv_search_tputs=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_tputs" >&5 -$as_echo "$ac_cv_search_tputs" >&6; } -ac_res=$ac_cv_search_tputs -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - have_tputs_et_al=false -fi - -if test "$have_tputs_et_al" != true; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 +$as_echo "$msg" >&6; } +if test "X$msg" = Xno; then as_fn_error "The required function \`tputs' was not found in any library. These libraries were tried: libncurses, libterminfo, libtermcap, libcurses. Please try installing whichever of these libraries is most appropriate @@ -14479,7 +14487,6 @@ HAVE_LIBNCURSES=yes ## freebsd < 40000, ms-w32, msdos, netbsd < 599002500, and ## darwin|gnu without ncurses. TERMINFO=no -LIBS_TERMCAP= case "$opsys" in ## cygwin: Fewer environment variables to go wrong, more terminal types. ## hpux10-20: Use the system provided termcap(3) library. @@ -14568,10 +14575,6 @@ if test $TERMINFO = yes; then $as_echo "#define TERMINFO 1" >>confdefs.h - - ## Default used to be -ltermcap. Add a case above if need something else. - test "x$LIBS_TERMCAP" = "x" && LIBS_TERMCAP="-lcurses" - TERMCAP_OBJ=terminfo.o fi @@ -25037,7 +25040,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by emacs $as_me 24.0.93, which was +This file was extended by emacs $as_me 24.0.94, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25103,7 +25106,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -emacs config.status 24.0.93 +emacs config.status 24.0.94 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/configure.in b/configure.in index c3678a847c1..f1493101040 100644 --- a/configure.in +++ b/configure.in @@ -22,7 +22,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with GNU Emacs. If not, see . AC_PREREQ(2.65) -AC_INIT(emacs, 24.0.93) +AC_INIT(emacs, 24.0.94) AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) AC_CONFIG_AUX_DIR(build-aux) @@ -2834,11 +2834,43 @@ AC_CHECK_FUNCS(getpt) # It's better to believe a function is not available # than to expect to find it in ncurses. # Also we need tputs and friends to be able to build at all. -have_tputs_et_al=true +AC_MSG_CHECKING([for library containing tputs]) +# Run a test program that contains a call to tputs, a call that is +# never executed. This tests whether a pre-'main' dynamic linker +# works with the library. It's too much trouble to actually call +# tputs in the test program, due to portability hassles. When +# cross-compiling, assume the test program will run if it links. +AC_DEFUN([tputs_link_source], [ + AC_LANG_SOURCE( + [[extern void tputs (const char *, int, int (*)(int)); + int main (int argc, char **argv) + { + if (argc == 10000) + tputs (argv[0], 0, 0); + return 0; + }]]) +]) # Maybe curses should be tried earlier? # See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9736#35 -AC_SEARCH_LIBS(tputs, [ncurses terminfo termcap curses], , have_tputs_et_al=false) -if test "$have_tputs_et_al" != true; then +for tputs_library in '' ncurses terminfo termcap curses; do + OLIBS=$LIBS + if test -z "$tputs_library"; then + LIBS_TERMCAP= + msg='none required' + else + LIBS_TERMCAP=-l$tputs_library + msg=$LIBS_TERMCAP + LIBS="$LIBS_TERMCAP $LIBS" + fi + AC_RUN_IFELSE([tputs_link_source], [], [msg=no], + [AC_LINK_IFELSE([tputs_link_source], [], [msg=no])]) + LIBS=$OLIBS + if test "X$msg" != Xno; then + break + fi +done +AC_MSG_RESULT([$msg]) +if test "X$msg" = Xno; then AC_MSG_ERROR([The required function `tputs' was not found in any library. These libraries were tried: libncurses, libterminfo, libtermcap, libcurses. Please try installing whichever of these libraries is most appropriate @@ -2857,7 +2889,6 @@ HAVE_LIBNCURSES=yes ## freebsd < 40000, ms-w32, msdos, netbsd < 599002500, and ## darwin|gnu without ncurses. TERMINFO=no -LIBS_TERMCAP= case "$opsys" in ## cygwin: Fewer environment variables to go wrong, more terminal types. ## hpux10-20: Use the system provided termcap(3) library. @@ -2922,10 +2953,6 @@ esac TERMCAP_OBJ=tparam.o if test $TERMINFO = yes; then AC_DEFINE(TERMINFO, 1, [Define to 1 if you use terminfo instead of termcap.]) - - ## Default used to be -ltermcap. Add a case above if need something else. - test "x$LIBS_TERMCAP" = "x" && LIBS_TERMCAP="-lcurses" - TERMCAP_OBJ=terminfo.o fi AC_SUBST(LIBS_TERMCAP) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2f3a4ee1680..5a1d1394b23 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,31 @@ +2012-03-04 Chong Yidong + + * killing.texi (Clipboard): Document clipboard manager. + +2012-02-29 Glenn Morris + + * ack.texi (Acknowledgments): Use @Tex{} in more places. + + * emacs.texi, help.texi, text.texi: Use "" quotes in menus. + + * dired.texi, emacs.texi: Use @code{} in menus when appropriate. + +2012-02-28 Glenn Morris + + * custom.texi, display.texi, emacs.texi, files.texi: + * msdog-xtra.texi, msdog.texi, vc-xtra.texi: + Standardize possessive apostrophe usage. + +2012-02-25 Jan Djärv + + * macos.texi (Mac / GNUstep Customization): Remove text about + ns-find-file and ns-drag-file (Bug#5855, Bug#10050). + +2012-02-25 Dani Moncayo (tiny change) + + * buffers.texi (Select Buffer): Mention that saving in a new file + name can switch to a different major mode. + 2012-02-23 Glenn Morris * mini.texi (Minibuffer File, Completion Options, Repetition): diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi index 2df1a6b8d5a..f3b272c359d 100644 --- a/doc/emacs/abbrevs.texi +++ b/doc/emacs/abbrevs.texi @@ -60,7 +60,8 @@ all major modes. The same abbrev can have a global definition and various mode-specific definitions for different major modes. A mode-specific definition for the current major mode overrides a global definition. - You can define abbrevs interactively during the editing session. You + You can define abbrevs interactively during the editing session, +irrespective of whether Abbrev mode is enabled. You can also save lists of abbrev definitions in files for use in later sessions. Some users keep extensive lists of abbrevs that they load in every session. diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 0a14f5119d1..be01b05fe19 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -553,7 +553,7 @@ for the Transport Layer Security protocol. @item Arne Jrgensen wrote @file{latexenc.el}, a package to -automatically guess the correct coding system in LaTeX files. +automatically guess the correct coding system in La@TeX{} files. @item Alexandre Julliard wrote @file{vc-git.el}, support for the Git version @@ -571,7 +571,7 @@ control system. Henry Kautz wrote @file{bib-mode.el}, a mode for maintaining bibliography databases compatible with @code{refer} (the @code{troff} version) and @code{lookbib}, and @file{refbib.el}, a package to convert -those databases to the format used by the LaTeX text formatting package. +those databases to the format used by the La@TeX{} text formatting package. @item Taichi Kawabata added support for Devanagari script and the Indian @@ -832,7 +832,7 @@ a directory-level front end to the CVS version control system; text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3} conflicts; @file{diff-mode.el}, a mode for viewing and editing context diffs; @file{css-mode.el} for Cascading Style Sheets; -@file{bibtex-style.el} for BibTeX Style files; @file{mpc.el}, a +@file{bibtex-style.el} for Bib@TeX{} Style files; @file{mpc.el}, a client for the ``Music Player Daemon''; @file{smie.el}, a generic indentation engine; and @file{pcase.el}, implementing ML-style pattern matching. He integrated the lexical binding code in Emacs 24. diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi index 350f16f51dc..4032c0b9882 100644 --- a/doc/emacs/arevert-xtra.texi +++ b/doc/emacs/arevert-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2012 Free Software Foundation, Inc. +@c Copyright (C) 2004-2012 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the @@ -96,6 +96,7 @@ Neither are Dired buffers for which you used shell wildcards or file arguments to list only some of the files. @samp{*Find*} and @samp{*Locate*} buffers do not auto-revert either. +@c FIXME? This should be in the elisp manual? @node Supporting additional buffers @subsection Adding Support for Auto-Reverting additional Buffers. diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index c3a778dd202..d0ec1103580 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -106,7 +106,9 @@ editing. The default value of the variable @code{major-mode} determines the new buffer's major mode; the default value is Fundamental mode. @xref{Major Modes}. One reason to create a new buffer is to use it for making temporary notes. If you try to save -it, Emacs asks for the file name to use. +it, Emacs asks for the file name to use, and the buffer's major mode +is re-established taking that file name into account (@pxref{Choosing +Modes}). @kindex C-x @key{LEFT} @kindex C-x @key{RIGHT} diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index b2215c19e75..82a7a02a9ac 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -567,7 +567,7 @@ directory specified by the variable @code{custom-theme-directory} (which defaults to @file{~/.emacs.d/}), and a directory named @file{etc/themes} in your Emacs installation (see the variable @code{data-directory}). The latter contains several Custom themes -which are distributed with Emacs, which customize Emacs' faces to fit +which are distributed with Emacs, which customize Emacs's faces to fit various color schemes. (Note, however, that Custom themes need not be restricted to this purpose; they can be used to customize variables too). diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index cce440f2bdb..e048237a4e2 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@ -40,7 +40,7 @@ you to operate on the listed files. @xref{Directories}. either one file or several files. * Shell Commands in Dired:: Running a shell command on the marked files. * Transforming File Names:: Using patterns to rename multiple files. -* Comparison in Dired:: Running `diff' by way of Dired. +* Comparison in Dired:: Running @code{diff} by way of Dired. * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. @ifnottex * Subdir Switches:: Subdirectory switches in Dired. @@ -48,7 +48,7 @@ you to operate on the listed files. @xref{Directories}. * Subdirectory Motion:: Moving across subdirectories, and up and down. * Hiding Subdirectories:: Making subdirectories visible or invisible. * Updating: Dired Updating. Discarding lines for files of no interest. -* Find: Dired and Find. Using `find' to choose the files for Dired. +* Find: Dired and Find. Using @code{find} to choose the files for Dired. * Wdired:: Operating on files by editing the Dired buffer. * Image-Dired:: Viewing image thumbnails in Dired. * Misc: Misc Dired Features. Various other features. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index d86e0049fb5..54dbc0a78e1 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -22,7 +22,7 @@ the text is displayed. * Follow Mode:: Follow mode lets two windows scroll as one. * Faces:: How to change the display style using faces. * Colors:: Specifying colors for faces. -* Standard Faces:: Emacs' predefined faces. +* Standard Faces:: The main predefined faces. * Text Scale:: Increasing or decreasing text size in a buffer. * Font Lock:: Minor mode for syntactic highlighting using faces. * Highlight Interactively:: Tell Emacs what text to highlight. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index ef438cd3067..152fa73edea 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -159,11 +159,11 @@ Major Structures of Emacs * Files:: All about handling files. * Buffers:: Multiple buffers; editing several files at once. * Windows:: Viewing multiple pieces of text in one frame. -* Frames:: Using multiple ``windows'' on your display. +* Frames:: Using multiple "windows" on your display. * International:: Using non-@acronym{ASCII} character sets. Advanced Features -* Modes:: Major and minor modes alter Emacs' basic behavior. +* Modes:: Major and minor modes alter Emacs's basic behavior. * Indentation:: Editing the white space at the beginnings of lines. * Text:: Commands and modes for editing human languages. * Programs:: Commands and modes for editing programs. @@ -273,7 +273,7 @@ Help * Language Help:: Help relating to international language support. * Misc Help:: Other help commands. * Help Files:: Commands to display auxiliary help files. -* Help Echo:: Help on active text and tooltips (`balloon help'). +* Help Echo:: Help on active text and tooltips ("balloon help"). The Mark and the Region @@ -337,7 +337,7 @@ Controlling the Display * Follow Mode:: Follow mode lets two windows scroll as one. * Faces:: How to change the display style using faces. * Colors:: Specifying colors for faces. -* Standard Faces:: Emacs' predefined faces. +* Standard Faces:: The main predefined faces. * Text Scale:: Increasing or decreasing text size in a buffer. * Font Lock:: Minor mode for syntactic highlighting using faces. * Highlight Interactively:: Tell Emacs what text to highlight. @@ -568,7 +568,7 @@ Commands for Human Languages * TeX Mode:: Editing TeX and LaTeX files. * HTML Mode:: Editing HTML and SGML files. * Nroff Mode:: Editing input to the nroff formatter. -* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc. +* Enriched Text:: Editing text "enriched" with fonts, colors, etc. * Text Based Tables:: Commands for editing text-based tables. * Two-Column:: Splitting text columns into separate windows. @@ -882,7 +882,7 @@ Dired, the Directory Editor either one file or several files. * Shell Commands in Dired:: Running a shell command on the marked files. * Transforming File Names:: Using patterns to rename multiple files. -* Comparison in Dired:: Running `diff' by way of Dired. +* Comparison in Dired:: Running @code{diff} by way of Dired. * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. @ifnottex * Subdir Switches:: Subdirectory switches in Dired. @@ -890,7 +890,7 @@ Dired, the Directory Editor * Subdirectory Motion:: Moving across subdirectories, and up and down. * Hiding Subdirectories:: Making subdirectories visible or invisible. * Dired Updating:: Discarding lines for files of no interest. -* Dired and Find:: Using `find' to choose the files for Dired. +* Dired and Find:: Using @code{find} to choose the files for Dired. * Wdired:: Operating on files by editing the Dired buffer. * Image-Dired:: Viewing image thumbnails in Dired. * Misc Dired Features:: Various other features. diff --git a/doc/emacs/emacsver.texi b/doc/emacs/emacsver.texi index d85e6c7fdee..48a0b2256a5 100644 --- a/doc/emacs/emacsver.texi +++ b/doc/emacs/emacsver.texi @@ -1,4 +1,4 @@ @c It would be nicer to generate this using configure and @version@. @c However, that would mean emacsver.texi would always be newer @c then the info files in release tarfiles. -@set EMACSVER 24.0.93 +@set EMACSVER 24.0.94 diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 3adc735154b..0d38728f7cf 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -288,7 +288,7 @@ see @ref{Drag and Drop}, and @ref{Misc Dired Features}. Each time you visit a file, Emacs automatically scans its contents to detect what character encoding and end-of-line convention it uses, -and converts these to Emacs' internal encoding and end-of-line +and converts these to Emacs's internal encoding and end-of-line convention within the buffer. When you save the buffer, Emacs performs the inverse conversion, writing the file to disk with its original encoding and end-of-line convention. @xref{Coding Systems}. diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index ed08aca5080..05a3e546322 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi @@ -71,7 +71,7 @@ meanings for it, but they all support @key{F1} for help.) * Language Help:: Help relating to international language support. * Misc Help:: Other help commands. * Help Files:: Commands to display auxiliary help files. -* Help Echo:: Help on active text and tooltips (`balloon help'). +* Help Echo:: Help on active text and tooltips ("balloon help"). @end menu @iftex diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index e76e2fafc55..270ca9e77a8 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -490,6 +490,17 @@ new yank to the clipboard. To prevent kill and yank commands from accessing the clipboard, change the variable @code{x-select-enable-clipboard} to @code{nil}. +@cindex clipboard manager +@vindex x-select-enable-clipboard-manager + Many X desktop environments support a feature called the +@dfn{clipboard manager}. If you exit Emacs while it is the current +``owner'' of the clipboard data, and there is a clipboard manager +running, Emacs transfers the clipboard data to the clipboard manager +so that it is not lost. In some circumstances, this may cause a delay +when exiting Emacs; if you wish to prevent Emacs from transferring +data to the clipboard manager, change the variable +@code{x-select-enable-clipboard-manager} to @code{nil}. + @vindex x-select-enable-primary @findex clipboard-kill-region @findex clipboard-kill-ring-save diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index fb70a462bd1..10293fe7747 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi @@ -113,18 +113,6 @@ close the altered one. Useful in this context is the listing of all faces obtained by @kbd{M-x list-faces-display}. -@subsection Open files by dragging to an Emacs window - -The default behavior when a user drags files from another application -into an Emacs frame is to insert the contents of all the dragged files -into the current buffer. To remap the @code{ns-drag-file} event to -open the dragged files in the current frame use the following line: - -@lisp -(define-key global-map [ns-drag-file] 'ns-find-file) -@end lisp - - @subsection Customization options specific to Mac OS / GNUstep The following customization options are specific to the Nextstep port. diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi index 509b9de754d..2191d799a2b 100644 --- a/doc/emacs/msdog-xtra.texi +++ b/doc/emacs/msdog-xtra.texi @@ -33,7 +33,7 @@ you use an Emacs that was built for MS-DOS. @ifnottex @xref{Text and Binary}, for information @end ifnottex -about Emacs' special handling of text files under MS-DOS (and Windows). +about Emacs's special handling of text files under MS-DOS (and Windows). @menu * Keyboard: MS-DOS Keyboard. Keyboard conventions on MS-DOS. diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 93bc5f0e4b1..2dcc1fa42f8 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -574,7 +574,7 @@ then change their minds; if this has the effect of bringing up the Windows menu, it alters the meaning of subsequent commands. Many users find this frustrating. - You can re-enable Windows' default handling of tapping the @key{ALT} + You can re-enable Windows's default handling of tapping the @key{ALT} key by setting @code{w32-pass-alt-to-system} to a non-@code{nil} value. diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 5753c256c5d..5363da7d649 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -77,7 +77,7 @@ for editing such pictures. * TeX Mode:: Editing TeX and LaTeX files. * HTML Mode:: Editing HTML and SGML files. * Nroff Mode:: Editing input to the nroff formatter. -* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc. +* Enriched Text:: Editing text "enriched" with fonts, colors, etc. * Text Based Tables:: Commands for editing text-based tables. * Two-Column:: Splitting text columns into separate windows. @end menu diff --git a/doc/emacs/vc-xtra.texi b/doc/emacs/vc-xtra.texi index 51137a273d3..f04f939cced 100644 --- a/doc/emacs/vc-xtra.texi +++ b/doc/emacs/vc-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2012 Free Software Foundation, Inc. +@c Copyright (C) 2004-2012 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included in emacs-xtra.texi when producing the printed @@ -8,7 +8,7 @@ @node Advanced VC Usage @section Advanced VC Usage - Commonly used features of Emacs' version control (VC) support are + Commonly used features of Emacs's version control (VC) support are described in the main Emacs manual (@pxref{Version Control,,,emacs, the Emacs Manual}). This chapter describes more advanced VC usage. diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index f3a95ab85ff..adac111f5f9 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2012-02-28 Glenn Morris + + * emacs-lisp-intro.texi: Standardize possessive apostrophe usage. + 2012-02-17 Glenn Morris * emacs-lisp-intro.texi (Design @value{COUNT-WORDS}, Syntax) diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index ae1e2bf0b6d..6a9927b785f 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -1015,7 +1015,7 @@ Emacs with the on-line tutorial. To use it, type @kbd{C-h t}. (This means you press and release the @key{CTRL} key and the @kbd{h} at the same time, and then press and release @kbd{t}.) -Also, I often refer to one of Emacs' standard commands by listing the +Also, I often refer to one of Emacs's standard commands by listing the keys which you press to invoke the command and then giving the name of the command in parentheses, like this: @kbd{M-C-\} (@code{indent-region}). What this means is that the @@ -1325,7 +1325,7 @@ jumps the cursor back to the matching opening parenthesis, so you can see which one it is. This is very useful, since every list you type in Lisp must have its closing parenthesis match its opening parenthesis. (@xref{Major Modes, , Major Modes, emacs, The GNU Emacs -Manual}, for more information about Emacs' modes.) +Manual}, for more information about Emacs's modes.) @node Run a Program, Making Errors, Lisp Lists, List Processing @comment node-name, next, previous, up @@ -2962,7 +2962,7 @@ have eyes. When a computer program works on a buffer, that buffer does not need to be visible on the screen. @code{switch-to-buffer} is designed for humans and does two different -things: it switches the buffer to which Emacs' attention is directed; and +things: it switches the buffer to which Emacs's attention is directed; and it switches the buffer displayed in the window to the new buffer. @code{set-buffer}, on the other hand, does only one thing: it switches the attention of the computer program to a different buffer. The buffer @@ -4642,7 +4642,7 @@ Select a buffer for Emacs to be active in and display it in the current window so users can look at it. Usually bound to @kbd{C-x b}. @item set-buffer -Switch Emacs' attention to a buffer on which programs will run. Don't +Switch Emacs's attention to a buffer on which programs will run. Don't alter what the window is showing. @item buffer-size @@ -5501,7 +5501,7 @@ Written in skeletal form, the workings of the body look like this: In summary, @code{append-to-buffer} works as follows: it saves the value of the current buffer in the variable called @code{oldbuf}. It -gets the new buffer (creating one if need be) and switches Emacs' +gets the new buffer (creating one if need be) and switches Emacs's attention to it. Using the value of @code{oldbuf}, it inserts the region of text from the old buffer into the new buffer; and then using @code{save-excursion}, it brings you back to your original buffer. @@ -6009,7 +6009,7 @@ expression in detail. The expression looks like this: @end smallexample @noindent -The expression @code{(set-buffer buffer)} changes Emacs' attention +The expression @code{(set-buffer buffer)} changes Emacs's attention from the current buffer to the one from which the text will copied. In that buffer, the variables @code{start} and @code{end} are set to the beginning and end of the buffer, using the commands @@ -15284,7 +15284,7 @@ specification. Since people worry that a computer is broken if they don't see anything going on, the first line of the body is a message. -The next line contains a @code{save-excursion} that returns Emacs' +The next line contains a @code{save-excursion} that returns Emacs's attention to the current buffer when the function completes. This is useful in case you embed this function in another function that presumes point is restored to the original buffer. @@ -16954,7 +16954,7 @@ Either of these two functions, @code{graph-body-print} or @section Need for Printed Axes A graph needs printed axes, so you can orient yourself. For a do-once -project, it may be reasonable to draw the axes by hand using Emacs' +project, it may be reasonable to draw the axes by hand using Emacs's Picture mode; but a graph drawing function may be used more than once. For this reason, I have written enhancements to the basic @@ -17002,10 +17002,10 @@ expressions in Emacs Lisp you can change or extend Emacs. @node Default Configuration, Site-wide Init, Emacs Initialization, Emacs Initialization @ifnottex -@unnumberedsec Emacs' Default Configuration +@unnumberedsec Emacs's Default Configuration @end ifnottex -There are those who appreciate Emacs' default configuration. After +There are those who appreciate Emacs's default configuration. After all, Emacs starts you in C mode when you edit a C file, starts you in Fortran mode when you edit a Fortran file, and starts you in Fundamental mode when you edit an unadorned file. This all makes @@ -17033,7 +17033,7 @@ you may. The new format is consistent with the Emacs Lisp file naming conventions; the old format saves typing.} A @file{~/.emacs} file contains Emacs Lisp code. You can write this -code yourself; or you can use Emacs' @code{customize} feature to write +code yourself; or you can use Emacs's @code{customize} feature to write the code for you. You can combine your own expressions and auto-written Customize expressions in your @file{.emacs} file. @@ -17098,7 +17098,7 @@ initialization file. @findex defcustom You can specify variables using @code{defcustom} so that you and -others can then use Emacs' @code{customize} feature to set their +others can then use Emacs's @code{customize} feature to set their values. (You cannot use @code{customize} to write function definitions; but you can write @code{defuns} in your @file{.emacs} file. Indeed, you can write any Lisp expression in your @file{.emacs} @@ -17765,7 +17765,7 @@ the keys to @code{split-window-quietly}, like this: @vindex load-path If you load many extensions, as I do, then instead of specifying the exact location of the extension file, as shown above, you can specify -that directory as part of Emacs' @code{load-path}. Then, when Emacs +that directory as part of Emacs's @code{load-path}. Then, when Emacs loads a file, it will search that directory as well as its default list of directories. (The default list is specified in @file{paths.h} when Emacs is built.) diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 575902336cd..7f11c65f9e1 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,172 @@ +2012-03-05 Chong Yidong + + * positions.texi (Text Lines): Document count-words. + +2012-03-04 Chong Yidong + + * frames.texi (Frames): Remove little-used "terminal frame" and + "window frame" terminology. + (Frame Parameters, Font and Color Parameters, Initial Parameters) + (Size and Position, Visibility of Frames): Callers changed. + (Frames): Clarify which terminals in framep are graphical. + (Initial Parameters): --geometry is not the only option which adds + to initial-frame-alist. + (Position Parameters): Note that icon-left and icon-top are for + old window managers only. + (Size Parameters): Sizes are in characters even on graphical + displays. + (Management Parameters): Note that window-id and outer-window-id + can't really be changed, and that auto-raise isn't always obeyed. + (Cursor Parameters): Document cursor-type explicitly. + (Size and Position): The aliases set-screen-height and + set-screen-width have been deleted. + (Visibility of Frames): Mention "minimization". + + * os.texi (Startup Summary): Minor clarifications. + (Startup Summary, Suspending Emacs): Standardize on "text + terminal" terminology. + + * windows.texi (Basic Windows, Coordinates and Windows) + (Coordinates and Windows): + * display.texi (Refresh Screen, Line Height, Face Attributes) + (Overlay Arrow, Beeping, Glyphless Chars): Likewise. + +2012-03-04 Glenn Morris + + * abbrevs.texi: Small copyedits throughout. + (Abbrev Mode): Remove this section, folding it into the top-level. + (Abbrev Tables): Don't mention irrelevant return values. + (Abbrev Expansion): Add cross-ref for wrapper hooks. + (Standard Abbrev Tables): Emacs Lisp mode now has its own table. + (Abbrev Table Properties): Update nil :regexp description. + +2012-03-03 Glenn Morris + + * internals.texi: Change @appendix section commands to @section. + (Building Emacs): Say less about CANNOT_DUMP platforms. + Replace deleted eval-at-startup with custom-initialize-delay. + (Pure Storage): Small changes. + (Memory Usage): Copyedit. + (Writing Emacs Primitives): Update Fcoordinates_in_window_p and For + example definitions. Give examples of things with non-nil + interactive args. Mention eval_sub. Remove old info about + strings and GCPRO. Mention cus-start.el. + (Buffer Internals, Window Internals, Process Internals): + Misc small updates and fixes for fields. + + * tips.texi: Copyedits. + (Coding Conventions): Mention autoloads. + Combine partially duplicated macro items. Fix xref. + Refer to Library Headers for copyright notice. + (Programming Tips): edit-options is long-obsolete. + (Compilation Tips): Mention loading bytecomp for byte-compile props. + (Warning Tips): Mention declare-function. + (Documentation Tips): Remove old info. + (Comment Tips): Mention comment-dwim, not indent-for-comment. + (Library Headers): General update. + +2012-03-02 Glenn Morris + + * backups.texi (Reverting): Un-duplicate revert-buffer-in-progress-p, + and relocate entry. Mention buffer-stale-function. + + * elisp.texi, vol1.texi, vol2.texi: Standardize some menu entries. + + * hooks.texi (Standard Hooks): General update. + Put related hooks together. Add and remove items. + * commands.texi (Keyboard Macros): Remove cross-ref to Standard Hooks. + * modes.texi (Hooks): Tweak cross-ref description. + +2012-03-01 Michael Albinus + + * files.texi (Kinds of Files): The return value of file-equal-p is + unspecified, if FILE1 or FILE2 does not exist. + +2012-03-01 Glenn Morris + + * hooks.texi (Standard Hooks): Remove mode-specific hooks. + + * maps.texi (Standard Keymaps): General update. + Remove mode-specific maps, talk about the more general keymaps. + * help.texi (Help Functions): Add vindex for Helper-help-map. + * keymaps.texi (Active Keymaps): Minor rephrasing. + +2012-02-29 Glenn Morris + + * elisp.texi, vol1.texi, vol2.texi: Use "" quotes in menus. + +2012-02-28 Thierry Volpiatto + + * files.texi (Kinds of Files): Rename files-equal-p to file-equal-p. + Update changed behavior of file-subdir-of-p. + +2012-02-28 Glenn Morris + + * advice.texi, anti.texi, display.texi, elisp.texi: + * processes.texi, variables.texi, vol1.texi, vol2.texi: + Standardize possessive apostrophe usage. + + * locals.texi: Remove file. + * elisp.texi, vol1.texi, vol2.texi: Don't include locals.texi. + Remove menu entry. + * errors.texi, maps.texi: Adjust node pointers. + * internals.texi (Buffer Internals): Remove cross-refs to locals.texi. + * makefile.w32-in (srcs): + * Makefile.in (srcs): Remove locals.texi. + + * frames.texi (Mouse Position): Fix cross-ref. + +2012-02-27 Chong Yidong + + * buffers.texi (Creating Buffers): Clarify that + generate-new-buffer uses generate-new-buffer-names. + (Killing Buffers): Remove bogus example duplicating buffer-live-p. + + * files.texi (Directory Names): Index entry for file name abbreviations. + (Relative File Names, File Name Expansion): Refer to it. + (Locating Files): Move locate-user-emacs-file documentation to + Standard File Names. + (Standard File Names): Add locate-user-emacs-file; update examples. + +2012-02-26 Michael Albinus + + * files.texi (Magic File Names): Add files-equal-p and file-subdir-of-p. + +2012-02-26 Chong Yidong + + * files.texi (Kinds of Files): Improve documentation of + files-equal-p and file-subdir-of-p. + +2012-02-26 Glenn Morris + + * intro.texi (Acknowledgements): Small changes. + +2012-02-25 Glenn Morris + + * errors.texi: Don't try to list _all_ the error symbols. + Add circular-list, cl-assertion-failed, compression-error. + * elisp.texi, vol1.texi, vol2.texi: + * control.texi (Error Symbols): Tweak "Standard Errors" description. + +2012-02-25 Thierry Volpiatto + + * files.texi (files-equal-p, file-subdir-of-p): New, + add initial documentation. + +2012-02-25 Chong Yidong + + * files.texi (File Attributes): Document file-selinux-context. + (Changing Files): Link to it. + (Changing Files): Document set-file-selinux-context. + + * backups.texi (Making Backups): Return value of backup-buffer is + changed. Mention default value of backup-directory-alist. + (Rename or Copy): Note that backup-by-copying-when-mismatch is t. + (Auto-Saving): New minor mode behavior for auto-save-mode. + (Reverting): Add defvar for revert-buffer-in-progress-p. + + * searching.texi (Regexp Backslash): Add index entry (Bug#10869). + 2012-02-24 Glenn Morris * errors.texi (Standard Errors): Mention dbus-error. diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 4128eb06d7f..5094a3f8ab6 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -1,6 +1,6 @@ # Makefile for the GNU Emacs Lisp Reference Manual. -# Copyright (C) 1990-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1990-1996, 1998-2012 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -70,7 +70,6 @@ srcs = \ $(srcdir)/keymaps.texi \ $(srcdir)/lists.texi \ $(srcdir)/loading.texi \ - $(srcdir)/locals.texi \ $(srcdir)/macros.texi \ $(srcdir)/maps.texi \ $(srcdir)/markers.texi \ diff --git a/doc/lispref/README b/doc/lispref/README index df808e4bcab..0230f4718c8 100644 --- a/doc/lispref/README +++ b/doc/lispref/README @@ -1,37 +1,36 @@ -Copyright (C) 2001-2012 Free Software Foundation, Inc. +Copyright (C) 2001-2012 Free Software Foundation, Inc. -*- outline -*- See the end of the file for license conditions. -README for Edition 3.0 of the Emacs Lisp Reference Manual. +README for the Emacs Lisp Reference Manual. * This directory contains the texinfo source files for the Emacs Lisp Reference Manual. -* Report bugs in the Lisp Manual or in Emacs using M-x report-emacs-bug. -To ask questions, use the newsgroup gnu.emacs.help. +* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug. +To ask questions, use the help-gnu-emacs mailing list. * The Emacs Lisp Reference Manual is quite large. It totals around 1100 pages in smallbook format; the info files total around 3.0 megabytes. -* You can format this manual either for Info or for printing hardcopy -using TeX. +* You can format this manual for Info, for printing hardcopy using TeX, +or for HTML. * You can buy nicely printed copies from the Free Software Foundation. Buying a manual from the Free Software Foundation helps support our GNU development work. See . +(At time of writing, this manual is out of print.) -* The master file for formatting this manual for Tex is called -`elisp.texi'. It contains @include commands to include all the -chapters that make up the manual. In addition, `elisp.texi' has -the title page in a new format designed by Karl Berry, using the -@titlespec command. +* The master file for formatting this manual for Tex is called `elisp.texi'. +It contains @include commands to include all the chapters that make up +the manual. * This distribution contains a Makefile that you can use with GNU Make. -** To create a DVI file with a sorted index, run `make elisp.dvi'. - ** To make an Info file, you need to install Texinfo, then run `make info'. +** Use `make elisp.pdf' or `make elisp.html' to create PDF or HTML versions. + This file is part of GNU Emacs. diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi index f7fd8b541ed..a64e8a0bd51 100644 --- a/doc/lispref/abbrevs.texi +++ b/doc/lispref/abbrevs.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/abbrevs @node Abbrevs, Processes, Syntax Tables, Top @@ -37,14 +37,15 @@ When abbrevs are saved to an abbrev file, system abbrevs are omitted. Because the symbols used for abbrevs are not interned in the usual obarray, they will never appear as the result of reading a Lisp expression; in fact, normally they are never used except by the code -that handles abbrevs. Therefore, it is safe to use them in an -extremely nonstandard way. +that handles abbrevs. Therefore, it is safe to use them in a +nonstandard way. - For the user-level commands for abbrevs, see @ref{Abbrevs,, Abbrev -Mode, emacs, The GNU Emacs Manual}. + If the minor mode Abbrev mode is enabled, the buffer-local variable +@code{abbrev-mode} is non-@code{nil}, and abbrevs are automatically +expanded in the buffer. For the user-level commands for abbrevs, see +@ref{Abbrevs,, Abbrev Mode, emacs, The GNU Emacs Manual}. @menu -* Abbrev Mode:: Setting up Emacs for abbreviation. * Tables: Abbrev Tables. Creating and working with abbrev tables. * Defining Abbrevs:: Specifying abbreviations and their expansions. * Files: Abbrev Files. Saving abbrevs in files. @@ -56,22 +57,7 @@ Mode, emacs, The GNU Emacs Manual}. Which properties have which effect. @end menu -@node Abbrev Mode, Abbrev Tables, Abbrevs, Abbrevs -@comment node-name, next, previous, up -@section Setting Up Abbrev Mode - - Abbrev mode is a minor mode controlled by the variable -@code{abbrev-mode}. - -@defopt abbrev-mode -If this variable is non-@code{nil}, abbrevs are automatically expanded -in the buffer. If the value is @code{nil}, abbrevs may be defined, -but they are not expanded automatically. - -This variable automatically becomes buffer-local when set in any fashion. -@end defopt - -@node Abbrev Tables, Defining Abbrevs, Abbrev Mode, Abbrevs +@node Abbrev Tables, Defining Abbrevs, Abbrevs, Abbrevs @section Abbrev Tables This section describes how to create and manipulate abbrev tables. @@ -90,14 +76,15 @@ abbrev table. @defun clear-abbrev-table abbrev-table This function undefines all the abbrevs in @var{abbrev-table}, leaving -it empty. It always returns @code{nil}. +it empty. +@c Don't see why this needs saying. +@c It always returns @code{nil}. @end defun @defun copy-abbrev-table abbrev-table This function returns a copy of @var{abbrev-table}---a new abbrev -table containing the same abbrev definitions. There is one difference -between the contents of @var{abbrev-table} and the returned copy: all -abbrevs in the latter have their property lists set to @code{nil}. +table containing the same abbrev definitions. It does @emph{not} copy +any property lists; only the names, values, and functions. @end defun @defun define-abbrev-table tabname definitions &optional docstring &rest props @@ -106,8 +93,7 @@ name, i.e., as a variable whose value is an abbrev table. It defines abbrevs in the table according to @var{definitions}, a list of elements of the form @code{(@var{abbrevname} @var{expansion} [@var{hook}] [@var{props}...])}. These elements are passed as -arguments to @code{define-abbrev}. The return value is always -@code{nil}. +arguments to @code{define-abbrev}. @c The return value is always @code{nil}. The optional string @var{docstring} is the documentation string of the variable @var{tabname}. The property list @var{props} is applied to @@ -115,7 +101,7 @@ the abbrev table (@pxref{Abbrev Table Properties}). If this function is called more than once for the same @var{tabname}, subsequent calls add the definitions in @var{definitions} to -@var{tabname}, rather than overriding the entire original contents. +@var{tabname}, rather than overwriting the entire original contents. (A subsequent call only overrides abbrevs explicitly redefined or undefined in @var{definitions}.) @end defun @@ -128,7 +114,7 @@ This is a list of symbols whose values are abbrev tables. @defun insert-abbrev-table-description name &optional human This function inserts before point a description of the abbrev table named @var{name}. The argument @var{name} is a symbol whose value is an -abbrev table. The return value is always @code{nil}. +abbrev table. @c The return value is always @code{nil}. If @var{human} is non-@code{nil}, the description is human-oriented. System abbrevs are listed and identified as such. Otherwise the @@ -146,7 +132,7 @@ to add these to @var{name} separately.) abbrev in an abbrev table. When a major mode defines a system abbrev, it should call -@code{define-abbrev} and specify a @code{t} for the @code{:system} +@code{define-abbrev} and specify @code{t} for the @code{:system} property. Be aware that any saved non-``system'' abbrevs are restored at startup, i.e. before some major modes are loaded. Therefore, major modes should not assume that their abbrev tables are empty when they @@ -177,12 +163,12 @@ property is non-@code{nil}, @var{hook} can explicitly control whether to insert the self-inserting input character that triggered the expansion. If @var{hook} returns non-@code{nil} in this case, that inhibits insertion of the character. By contrast, if @var{hook} -returns @code{nil}, @code{expand-abbrev} also returns @code{nil}, as -if expansion had not really occurred. +returns @code{nil}, @code{expand-abbrev} (or @code{abbrev-insert}) +also returns @code{nil}, as if expansion had not really occurred. Normally, @code{define-abbrev} sets the variable @code{abbrevs-changed} to @code{t}, if it actually changes the abbrev. -(This is so that some commands will offer to save the abbrevs.) It +This is so that some commands will offer to save the abbrevs. It does not do this for a system abbrev, since those aren't saved anyway. @end defun @@ -202,7 +188,8 @@ The abbrevs are saved in the form of a Lisp program to define the same abbrev tables with the same contents. Therefore, you can load the file with @code{load} (@pxref{How Programs Do Loading}). However, the function @code{quietly-read-abbrev-file} is provided as a more -convenient interface. +convenient interface. Emacs automatically calls this function at +startup. User-level facilities such as @code{save-some-buffers} can save abbrevs in a file automatically, under the control of variables @@ -216,17 +203,18 @@ This is the default file name for reading and saving abbrevs. This function reads abbrev definitions from a file named @var{filename}, previously written with @code{write-abbrev-file}. If @var{filename} is omitted or @code{nil}, the file specified in @code{abbrev-file-name} is -used. @code{save-abbrevs} is set to @code{t} so that changes will be -saved. +used. -This function does not display any messages. It returns @code{nil}. +As the name implies, this function does not display any messages. +@c It returns @code{nil}. @end defun @defopt save-abbrevs A non-@code{nil} value for @code{save-abbrevs} means that Emacs should -offer the user to save abbrevs when files are saved. If the value is -@code{silently}, Emacs saves the abbrevs without asking the user. -@code{abbrev-file-name} specifies the file to save the abbrevs in. +offer to save abbrevs (if any have changed) when files are saved. If +the value is @code{silently}, Emacs saves the abbrevs without asking +the user. @code{abbrev-file-name} specifies the file to save the +abbrevs in. @end defopt @defvar abbrevs-changed @@ -254,7 +242,7 @@ use for communication. @defun abbrev-symbol abbrev &optional table This function returns the symbol representing the abbrev named -@var{abbrev}. The value returned is @code{nil} if that abbrev is not +@var{abbrev}. It returns @code{nil} if that abbrev is not defined. The optional second argument @var{table} is the abbrev table in which to look it up. If @var{table} is @code{nil}, this function tries first the current buffer's local abbrev table, and second the @@ -263,8 +251,8 @@ global abbrev table. @defun abbrev-expansion abbrev &optional table This function returns the string that @var{abbrev} would expand into (as -defined by the abbrev tables used for the current buffer). If -@var{abbrev} is not a valid abbrev, the function returns @code{nil}. +defined by the abbrev tables used for the current buffer). It returns +@code{nil} if @var{abbrev} is not a valid abbrev. The optional argument @var{table} specifies the abbrev table to use, as in @code{abbrev-symbol}. @end defun @@ -274,7 +262,7 @@ This command expands the abbrev before point, if any. If point does not follow an abbrev, this command does nothing. The command returns the abbrev symbol if it did expansion, @code{nil} otherwise. -If the abbrev symbol has a hook function which is a symbol whose +If the abbrev symbol has a hook function that is a symbol whose @code{no-self-insert} property is non-@code{nil}, and if the hook function returns @code{nil} as its value, then @code{expand-abbrev} returns @code{nil} even though expansion did occur. @@ -346,14 +334,14 @@ has already been unexpanded. This contains information left by @end defvar @defvar abbrev-expand-functions -This is a special hook run @emph{around} the @code{expand-abbrev} -function. Each function on this hook is called with a single -argument: a function that performs the normal abbrev expansion. The -hook function can hence do anything it wants before and after -performing the expansion. It can also choose not to call its -argument, thus overriding the default behavior; or it may even call it -several times. The function should return the abbrev symbol if -expansion took place. +This is a wrapper hook (@pxref{Running Hooks}) run around the +@code{expand-abbrev} function. Each function on this hook is called +with a single argument: a function that performs the normal abbrev +expansion. The hook function can hence do anything it wants before +and after performing the expansion. It can also choose not to call +its argument, thus overriding the default behavior; or it may even +call it several times. The function should return the abbrev symbol +if expansion took place. @end defvar The following sample code shows a simple use of @@ -361,8 +349,7 @@ expansion took place. mode for editing certain files in which lines that start with @samp{#} are comments. You want to use Text mode abbrevs for those lines. The regular local abbrev table, @code{foo-mode-abbrev-table} is -appropriate for all other lines. Then you can put the following code -in your @file{.emacs} file. @xref{Standard Abbrev Tables}, for the +appropriate for all other lines. @xref{Standard Abbrev Tables}, for the definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}. @smallexample @@ -419,14 +406,16 @@ This is the local abbrev table used in Text mode. @end defvar @defvar lisp-mode-abbrev-table -This is the local abbrev table used in Lisp mode and Emacs Lisp mode. +This is the local abbrev table used in Lisp mode. It is the parent +of the local abbrev table used in Emacs Lisp mode. @xref{Abbrev Table +Properties}. @end defvar @node Abbrev Properties, Abbrev Table Properties, Standard Abbrev Tables, Abbrevs @section Abbrev Properties Abbrevs have properties, some of which influence the way they work. -You can provide them as arguments to @code{define-abbrev} and you can +You can provide them as arguments to @code{define-abbrev}, and manipulate them with the following functions: @defun abbrev-put abbrev prop val @@ -467,8 +456,7 @@ modifies the capitalization of the expansion. Like abbrevs, abbrev tables have properties, some of which influence the way they work. You can provide them as arguments to -@code{define-abbrev-table} and you can manipulate them with the -functions: +@code{define-abbrev-table}, and manipulate them with the functions: @defun abbrev-table-put table prop val Set the property @var{prop} of abbrev table @var{table} to value @var{val}. @@ -484,8 +472,8 @@ The following properties have special meaning: @table @code @item :enable-function This is like the @code{:enable-function} abbrev property except that -it applies to all abbrevs in the table and is used even before trying -to find the abbrev before point so it can dynamically modify the +it applies to all abbrevs in the table. It is used before even trying +to find the abbrev before point, so it can dynamically modify the abbrev table. @item :case-fixed @@ -494,15 +482,16 @@ applies to all abbrevs in the table. @item :regexp If non-@code{nil}, this property is a regular expression that -indicates how to extract the name of the abbrev before point before +indicates how to extract the name of the abbrev before point, before looking it up in the table. When the regular expression matches before point, the abbrev name is expected to be in submatch 1. -If this property is @code{nil}, @code{expand-function} defaults to -@code{"\\<\\(\\w+\\)\\W"}. This property allows the use of abbrevs -whose name contains characters of non-word syntax. +If this property is @code{nil}, the default is to use +@code{backward-word} and @code{forward-word} to find the name. This +property allows the use of abbrevs whose name contains characters of +non-word syntax. @item :parents -This property holds the list of tables from which to inherit +This property holds a list of tables from which to inherit other abbrevs. @item :abbrev-table-modiff diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi index 78b4ac9aa2d..a2f59b2ddc9 100644 --- a/doc/lispref/advice.texi +++ b/doc/lispref/advice.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/advising @node Advising Functions, Debugging, Byte Compilation, Top @@ -31,7 +31,7 @@ who debug calls to the original function may not notice that it has been modified with advice. Therefore, if you have the possibility to change the code of that function to run a hook, please solve the problem that way. Advice should be reserved for the cases where you -cannot get the function changed. In particular, Emacs' own source +cannot get the function changed. In particular, Emacs's own source files should not put advice on functions in Emacs. There are currently a few exceptions to this convention, but we aim to correct them. diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi index 6b9473e99d4..2463d6535fd 100644 --- a/doc/lispref/anti.texi +++ b/doc/lispref/anti.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1999, 2002-2012 Free Software Foundation, Inc. +@c Copyright (C) 1999, 2002-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @c This node must have no pointers. @@ -29,7 +29,7 @@ different scripts. The @code{^} interactive spec code, the function @code{handle-shift-selection}, and the variable @code{this-command-keys-shift-translated} have all been removed. -Shift-translated keys are no longer treated specially, making Emacs' +Shift-translated keys are no longer treated specially, making Emacs's handling of keybindings much more consistent. @item @@ -93,9 +93,9 @@ are always drawn using the X core font driver. @item Display terminals are no longer represented using a ``terminal'' data type; this is not necessary, because we have removed the ability to -display on graphical and text-only terminals simultaneously. For the -same reason, the @code{window-system} variable is no longer -frame-local, and the @code{window-system} function has been removed. +display on graphical and text terminals simultaneously. For the same +reason, the @code{window-system} variable is no longer frame-local, +and the @code{window-system} function has been removed. @item The functions @code{list-system-processes} and diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi index a4b3a0b9bef..a1c5f20f28c 100644 --- a/doc/lispref/backups.texi +++ b/doc/lispref/backups.texi @@ -57,12 +57,13 @@ buffer, if appropriate. It is called by @code{save-buffer} before saving the buffer the first time. If a backup was made by renaming, the return value is a cons cell of -the form (@var{modes} . @var{backupname}), where @var{modes} are the -mode bits of the original file, as returned by @code{file-modes} -(@pxref{File Attributes,, Other Information about Files}), and -@var{backupname} is the name of the backup. In all other cases, that -is, if a backup was made by copying or if no backup was made, this -function returns @code{nil}. +the form (@var{modes} @var{context} @var{backupname}), where +@var{modes} are the mode bits of the original file, as returned by +@code{file-modes} (@pxref{File Attributes,, Other Information about +Files}), @var{context} is a list describing the original file's +SELinux context (@pxref{File Attributes}), and @var{backupname} is the +name of the backup. In all other cases, that is, if a backup was made +by copying or if no backup was made, this function returns @code{nil}. @end defun @defvar buffer-backed-up @@ -139,8 +140,8 @@ For the common case of all backups going into one directory, the alist should contain a single element pairing @samp{"."} with the appropriate directory name. -If this variable is @code{nil}, or it fails to match a filename, the -backup is made in the original file's directory. +If this variable is @code{nil} (the default), or it fails to match a +filename, the backup is made in the original file's directory. On MS-DOS filesystems without long names this variable is always ignored. @@ -191,7 +192,7 @@ significance). @xref{Saving Buffers}. @defopt backup-by-copying If this variable is non-@code{nil}, Emacs always makes backup files by -copying. +copying. The default is @code{nil}. @end defopt The following three variables, when non-@code{nil}, cause the second @@ -200,7 +201,7 @@ treatment of files that don't fall into the special cases. @defopt backup-by-copying-when-linked If this variable is non-@code{nil}, Emacs makes backups by copying for -files with multiple names (hard links). +files with multiple names (hard links). The default is @code{nil}. This variable is significant only if @code{backup-by-copying} is @code{nil}, since copying is always used when that variable is @@ -208,8 +209,9 @@ non-@code{nil}. @end defopt @defopt backup-by-copying-when-mismatch -If this variable is non-@code{nil}, Emacs makes backups by copying in cases -where renaming would change either the owner or the group of the file. +If this variable is non-@code{nil} (the default), Emacs makes backups +by copying in cases where renaming would change either the owner or +the group of the file. The value has no effect when renaming would not alter the owner or group of the file; that is, for files which are owned by the user and @@ -441,10 +443,11 @@ buffer-auto-save-file-name @deffn Command auto-save-mode arg When used interactively without an argument, this command is a toggle -switch: it turns on auto-saving of the current buffer if it is off, and -vice versa. With an argument @var{arg}, the command turns auto-saving -on if the value of @var{arg} is @code{t}, a nonempty list, or a positive -integer. Otherwise, it turns auto-saving off. +switch: it turns on auto-saving of the current buffer if it is off, +and vice versa. When called from Lisp with no argument, it turns +auto-saving on. With an argument @var{arg}, it turns auto-saving on +if the value of @var{arg} is @code{t}, a nonempty list, or a positive +integer; otherwise, it turns auto-saving off. @end deffn @defun auto-save-file-name-p filename @@ -696,11 +699,13 @@ operation, reverting preserves all the markers. If they are not identical, reverting does change the buffer; in that case, it preserves the markers in the unchanged text (if any) at the beginning and end of the buffer. Preserving any additional markers would be problematical. - -This command binds @code{revert-buffer-in-progress-p} to a -non-@code{nil} value while it operates. @end deffn +@defvar revert-buffer-in-progress-p +@code{revert-buffer} binds this variable to a non-@code{nil} value +while it is working. +@end defvar + You can customize how @code{revert-buffer} does its work by setting the variables described in the rest of this section. @@ -754,3 +759,16 @@ This normal hook is run by @code{revert-buffer} after inserting the modified contents---but only if @code{revert-buffer-function} is @code{nil}. @end defvar + +@c FIXME? Move this section from arevert-xtra to here? +@defvar buffer-stale-function +The value of this variable, if non-@code{nil}, specifies a function +to call to check whether a non-file buffer needs reverting +@iftex +(@pxref{Supporting additional buffers,,, emacs-xtra, Specialized Emacs Features}). +@end iftex +@ifnottex +(@pxref{Supporting additional buffers,,, emacs}). +@end ifnottex +@end defvar + diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index c2e792cd585..125a886ecb2 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi @@ -417,7 +417,7 @@ This buffer-local variable holds the abbreviated truename of the file visited in the current buffer, or @code{nil} if no file is visited. It is a permanent local, unaffected by @code{kill-all-local-variables}. @xref{Truenames}, and -@ref{Definition of abbreviate-file-name}. +@ref{abbreviate-file-name}. @end defvar @defvar buffer-file-number @@ -502,9 +502,8 @@ buffer's recorded last file modification time as reported by last file modification time, after which @code{visited-file-modtime} returns zero. -@c Wordy to avoid overfull hbox. --rjc 16mar92 -When the function @code{set-visited-file-name} is called interactively, it -prompts for @var{filename} in the minibuffer. +When the function @code{set-visited-file-name} is called +interactively, it prompts for @var{filename} in the minibuffer. @end deffn @defvar list-buffers-directory @@ -913,7 +912,7 @@ To replace a buffer in all the windows that display it, use This command switches to the last buffer in the local buffer list of the selected frame. More precisely, it calls the function @code{switch-to-buffer} (@pxref{Switching Buffers}), to display the -buffer returned by @code{last-buffer}, see above, in the selected +buffer returned by @code{last-buffer} (see above), in the selected window. @end deffn @@ -959,11 +958,12 @@ buffer initially disables undo information recording (@pxref{Undo}). @defun generate-new-buffer name This function returns a newly created, empty buffer, but does not make -it current. If there is no buffer named @var{name}, then that is the -name of the new buffer. If that name is in use, this function adds -suffixes of the form @samp{<@var{n}>} to @var{name}, where @var{n} is an -integer. It tries successive integers starting with 2 until it finds an -available name. +it current. The name of the buffer is generated by passing @var{name} +to the function @code{generate-new-buffer-name} (@pxref{Buffer +Names}). Thus, if there is no buffer named @var{name}, then that is +the name of the new buffer; if that name is in use, a suffix of the +form @samp{<@var{n}>}, where @var{n} is an integer, is appended to +@var{name}. An error is signaled if @var{name} is not a string. @@ -985,9 +985,6 @@ An error is signaled if @var{name} is not a string. The major mode for the new buffer is set to Fundamental mode. The default value of the variable @code{major-mode} is handled at a higher level. @xref{Auto Major Mode}. - -See the related function @code{generate-new-buffer-name} in @ref{Buffer -Names}. @end defun @node Killing Buffers @@ -1005,25 +1002,26 @@ their identity, however; if you kill two distinct buffers, they remain distinct according to @code{eq} although both are dead. If you kill a buffer that is current or displayed in a window, Emacs -automatically selects or displays some other buffer instead. This means -that killing a buffer can in general change the current buffer. -Therefore, when you kill a buffer, you should also take the precautions +automatically selects or displays some other buffer instead. This +means that killing a buffer can change the current buffer. Therefore, +when you kill a buffer, you should also take the precautions associated with changing the current buffer (unless you happen to know that the buffer being killed isn't current). @xref{Current Buffer}. If you kill a buffer that is the base buffer of one or more indirect -buffers, the indirect buffers are automatically killed as well. +@iftex +buffers, +@end iftex +@ifnottex +buffers (@pxref{Indirect Buffers}), +@end ifnottex +the indirect buffers are automatically killed as well. - The @code{buffer-name} of a killed buffer is @code{nil}. You can use -this feature to test whether a buffer has been killed: - -@example -@group -(defun buffer-killed-p (buffer) - "Return t if BUFFER is killed." - (not (buffer-name buffer))) -@end group -@end example +@cindex live buffer + The @code{buffer-name} of a buffer is @code{nil} if, and only if, +the buffer is killed. A buffer that has not been killed is called a +@dfn{live} buffer. To test whether a buffer is live or killed, use +the function @code{buffer-live-p} (see below). @deffn Command kill-buffer &optional buffer-or-name This function kills the buffer @var{buffer-or-name}, freeing all its @@ -1032,9 +1030,8 @@ memory for other uses or to be returned to the operating system. If buffer. Any processes that have this buffer as the @code{process-buffer} are -sent the @code{SIGHUP} signal, which normally causes them to terminate. -(The basic meaning of @code{SIGHUP} is that a dialup line has been -disconnected.) @xref{Signals to Processes}. +sent the @code{SIGHUP} (``hangup'') signal, which normally causes them +to terminate. @xref{Signals to Processes}. If the buffer is visiting a file and contains unsaved changes, @code{kill-buffer} asks the user to confirm before the buffer is killed. @@ -1099,8 +1096,8 @@ automatically becomes buffer-local when set for any reason. @end defvar @defun buffer-live-p object -This function returns @code{t} if @var{object} is a buffer which has -not been killed, @code{nil} otherwise. +This function returns @code{t} if @var{object} is a live buffer (a +buffer which has not been killed), @code{nil} otherwise. @end defun @node Indirect Buffers diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index f4e7c922331..617f050f498 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -1,7 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 -@c Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/commands @node Command Loop, Keymaps, Minibuffers, Top @@ -3430,7 +3429,7 @@ buffer-local. @xref{Multiple Terminals}. @end defvar @defvar kbd-macro-termination-hook -This normal hook (@pxref{Standard Hooks}) is run when a keyboard -macro terminates, regardless of what caused it to terminate (reaching -the macro end or an error which ended the macro prematurely). +This normal hook is run when a keyboard macro terminates, regardless +of what caused it to terminate (reaching the macro end or an error +which ended the macro prematurely). @end defvar diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index c23c93300a6..8c45a1a4faf 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -1234,7 +1234,7 @@ make it possible to categorize errors at various levels of generality when you write an error handler. Using error symbols alone would eliminate all but the narrowest level of classification. - @xref{Standard Errors}, for a list of all the standard error symbols + @xref{Standard Errors}, for a list of the main error symbols and their conditions. @node Cleanups diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ae8a5fde29f..281ddda9cec 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/display @node Display, System Interface, Processes, Top @@ -28,7 +28,7 @@ that Emacs presents to the user. * Display Property:: Enabling special display features. * Images:: Displaying images in Emacs buffers. * Buttons:: Adding clickable buttons to Emacs buffers. -* Abstract Display:: Emacs' Widget for Object Collections. +* Abstract Display:: Emacs's Widget for Object Collections. * Blinking:: How Emacs shows the matching open parenthesis. * Usual Display:: The usual conventions for displaying nonprinting chars. * Display Tables:: How to specify other conventions. @@ -62,7 +62,7 @@ you call these functions when input is available, they don't redisplay immediately, but the requested redisplay does happen eventually---after all the input has been processed. - On text-only terminals, suspending and resuming Emacs normally also + On text terminals, suspending and resuming Emacs normally also refreshes the screen. Some terminal emulators record separate contents for display-oriented programs such as Emacs and for ordinary sequential display. If you are using such a terminal, you might want @@ -1809,7 +1809,7 @@ into a Lisp value as described above. However, in this case the numeric height value specifies the line spacing, rather than the line height. - On text-only terminals, the line spacing cannot be altered. + On text terminals, the line spacing cannot be altered. @node Faces @section Faces @@ -2058,7 +2058,7 @@ floating point and function values are not allowed. Font weight---one of the symbols (from densest to faintest) @code{ultra-bold}, @code{extra-bold}, @code{bold}, @code{semi-bold}, @code{normal}, @code{semi-light}, @code{light}, @code{extra-light}, or -@code{ultra-light}. On text-only terminals that support +@code{ultra-light}. On text terminals which support variable-brightness text, any weight greater than normal is displayed as extra bright, and any weight less than normal is displayed as half-bright. @@ -2066,8 +2066,8 @@ half-bright. @item :slant Font slant---one of the symbols @code{italic}, @code{oblique}, @code{normal}, @code{reverse-italic}, or @code{reverse-oblique}. On -text-only terminals that support variable-brightness text, slanted -text is displayed as half-bright. +text terminals that support variable-brightness text, slanted text is +displayed as half-bright. @item :foreground Foreground color, a string. The value can be a system-defined color @@ -3649,9 +3649,9 @@ this list. Each variable on this list can have properties @code{overlay-arrow-string} and @code{overlay-arrow-bitmap} that -specify an overlay arrow string (for text-only terminals) or fringe -bitmap (for graphical terminals) to display at the corresponding -overlay arrow position. If either property is not set, the default +specify an overlay arrow string (for text terminals) or fringe bitmap +(for graphical terminals) to display at the corresponding overlay +arrow position. If either property is not set, the default @code{overlay-arrow-string} or @code{overlay-arrow} fringe indicator is used. @@ -4941,7 +4941,7 @@ using @code{equal}. If @var{frame} is @code{nil}, it defaults to the selected frame. If @var{frame} is @code{t}, the image is flushed on all existing frames. -In Emacs' current implementation, each graphical terminal possesses an +In Emacs's current implementation, each graphical terminal possesses an image cache, which is shared by all the frames on that terminal (@pxref{Multiple Terminals}). Thus, refreshing an image in one frame also refreshes it in all other frames on the same terminal. @@ -6043,8 +6043,8 @@ This is a synonym for @code{ding}. @defopt visible-bell This variable determines whether Emacs should flash the screen to -represent a bell. Non-@code{nil} means yes, @code{nil} means no. This -is effective on graphical displays, and on text-only terminals +represent a bell. Non-@code{nil} means yes, @code{nil} means no. +This is effective on graphical displays, and on text terminals provided the terminal's Termcap entry defines the visible bell capability (@samp{vb}). @end defopt @@ -6340,7 +6340,7 @@ such changes affect all of Emacs display. they appear in a buffer, but in some special way (e.g. as a box containing a hexadecimal code). These include characters that cannot be displayed with any available font (on a graphical display), or that -cannot be encoded by the terminal's coding system (on a text-only +cannot be encoded by the terminal's coding system (on a text terminal). Specific characters can also be defined to be glyphless. @defvar glyphless-char-display @@ -6355,7 +6355,7 @@ Don't display the character. @item @code{thin-space} Display a thin space, 1-pixel wide on graphical displays, or -1-character wide on text-only terminals. +1-character wide on text terminals. @item @code{empty-box} Display an empty box. @@ -6374,7 +6374,7 @@ Except for @code{zero-width}, these methods display using the An entry can also be a cons cell @code{(@var{graphical} . @var{text})}, where @var{graphical} and @var{text} are the display -methods on graphical displays and text-only terminals respectively. +methods on graphical displays and text terminals respectively. The char-table has one extra slot, which determines how to display any character that cannot be displayed with any available font, or cannot diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 05245331af2..7a444ee4039 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -44,8 +44,7 @@ This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@* corresponding to Emacs version @value{EMACSVER}. -Copyright @copyright{} 1990-1996, 1998-2012 Free Software -Foundation, Inc. +Copyright @copyright{} 1990-1996, 1998-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -170,11 +169,9 @@ Appendices * Tips:: Advice and coding conventions for Emacs Lisp. * GNU Emacs Internals:: Building and dumping Emacs; internal data structures. -* Standard Errors:: List of all error symbols. -* Standard Buffer-Local Variables:: - List of variables buffer-local in all buffers. -* Standard Keymaps:: List of standard keymaps. -* Standard Hooks:: List of standard hook variables. +* Standard Errors:: List of some standard error symbols. +* Standard Keymaps:: List of some standard keymaps. +* Standard Hooks:: List of some standard hook variables. * Index:: Index including concepts, functions, variables, and other terms. @@ -908,7 +905,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -975,7 +972,7 @@ Frames * Window System Selections::Transferring text to and from other X clients. * Drag and Drop:: Internals of Drag-and-Drop implementation. * Color Names:: Getting the definitions of color names. -* Text Terminal Colors:: Defining colors for text-only terminals. +* Text Terminal Colors:: Defining colors for text terminals. * Resources:: Getting resource values from the server. * Display Feature Testing:: Determining the features of a terminal. @@ -1189,7 +1186,6 @@ Parsing Expressions Abbrevs and Abbrev Expansion -* Abbrev Mode:: Setting up Emacs for abbreviation. * Abbrev Tables:: Creating and working with abbrev tables. * Defining Abbrevs:: Specifying abbreviations and their expansions. * Abbrev Files:: Saving abbrevs in files. @@ -1266,7 +1262,7 @@ Emacs Display * Display Property:: Enabling special display features. * Images:: Displaying images in Emacs buffers. * Buttons:: Adding clickable buttons to Emacs buffers. -* Abstract Display:: Emacs' Widget for Object Collections. +* Abstract Display:: Emacs's Widget for Object Collections. * Blinking:: How Emacs shows the matching open parenthesis. * Usual Display:: The usual conventions for displaying nonprinting chars. @@ -1512,7 +1508,6 @@ Object Internals @include tips.texi @include internals.texi @include errors.texi -@include locals.texi @include maps.texi @include hooks.texi diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index fcf4ec24af7..76ab8b235f5 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi @@ -3,11 +3,11 @@ @c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/errors -@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top +@node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top @appendix Standard Errors @cindex standard errors - Here is the complete list of the error symbols in standard Emacs, + Here is a list of the more important error symbols in standard Emacs, grouped by concept. The list includes each symbol's message (on the @code{error-message} property of the symbol) and a cross reference to a description of how the error can occur. @@ -24,6 +24,15 @@ conditions, that means it has none. As a special exception, the error symbol @code{quit} does not have the condition @code{error}, because quitting is not considered an error. +@c You can grep for "(put 'foo 'error-conditions ...) to find +@c examples defined in Lisp. Eg soap-client.el, sasl.el. + Most of these error symbols are defined in C (mainly @file{data.c}), +but some are defined in Lisp. For example, the file @file{userlock.el} +defines the @code{file-locked} and @code{file-supersession} errors. +Several of the specialized Lisp libraries distributed with Emacs +define their own error symbols. We do not attempt to list of all +those here. + @xref{Errors}, for an explanation of how errors are generated and handled. @@ -54,10 +63,16 @@ sequence or buffer.@* @code{"Buffer is read-only"}@* @xref{Read Only Buffers}. -@ignore @item circular-list @code{"List contains a loop"}@* -@end ignore +This happens when some operations (e.g. resolving face names) +encounter circular structures.@* +@xref{Circular Objects}. + +@item cl-assertion-failed +@code{"Assertion failed"}@* +This happens when the @code{assert} macro fails a test.@* +@xref{Assertions,,, cl, Common Lisp Extensions}. @item coding-system-error @code{"Invalid coding system"}@* @@ -105,14 +120,23 @@ do have @code{error-message} properties, and if no data is provided, the @code{error-message} property @emph{is} used.@* @xref{Files}. +@c jka-compr.el +@item compression-error +This is a subcategory of @code{file-error}, which results from +problems handling a compressed file.@* +@xref{How Programs Do Loading}. + +@c userlock.el @item file-locked This is a subcategory of @code{file-error}.@* @xref{File Locks}. +@c userlock.el @item file-supersession This is a subcategory of @code{file-error}.@* @xref{Modification Time}. +@c net/ange-ftp.el @item ftp-error This is a subcategory of @code{file-error}, which results from problems in accessing a remote file using ftp.@* @@ -130,6 +154,7 @@ in accessing a remote file using ftp.@* @code{"Invalid regexp"}@* @xref{Regular Expressions}. +@c simple.el @item mark-inactive @code{"The mark is not active now"}@* @xref{The Mark}. @@ -139,6 +164,7 @@ in accessing a remote file using ftp.@* @xref{Catch and Throw}. @ignore +@c Not actually used for anything? Probably definition should be removed. @item protected-field @code{"Attempt to modify a protected field"} @end ignore @@ -160,6 +186,7 @@ and any symbols that start with @samp{:}, may not be changed.@* @xref{Constant Variables, , Variables that Never Change}. +@c simple.el @item text-read-only @code{"Text is read-only"}@* This is a subcategory of @code{buffer-read-only}.@* diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 69e0003a46b..77c6766dc5d 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1018,6 +1018,20 @@ a regular file (not a directory, named pipe, terminal, or other I/O device). @end defun +@defun file-equal-p file1 file2 +This function returns @code{t} if the files @var{file1} and +@var{file2} name the same file. If @var{file1} or @var{file2} does +not exist, the return value is unspecified. +@end defun + +@defun file-subdir-of-p dir1 dir2 +This function returns @code{t} if directory @var{dir1} is a +subdirectory of @var{dir2}, or if @var{dir1} and @var{dir2} are the +same directory. It compares the @code{file-truename} values of the +two directories (@pxref{Truenames}). If @var{dir2} +do not name an existing directory, the return value is @code{nil}. +@end defun + @node Truenames @subsection Truenames @cindex truename (of file) @@ -1129,6 +1143,18 @@ both others and group, and that the sticky bit is set. @xref{Changing Files}, for functions that change file permissions, such as @code{set-file-modes}. + +@cindex MS-DOS and file modes +@cindex file modes and MS-DOS +@strong{MS-DOS note:} On MS-DOS, there is no such thing as an +``executable'' file mode bit. So @code{file-modes} considers a file +executable if its name ends in one of the standard executable +extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some +others. Files that begin with the Unix-standard @samp{#!} signature, +such as shell and Perl scripts, are also considered executable. +Directories are also reported as executable, for compatibility with +Unix. These conventions are also followed by @code{file-attributes}, +below. @end defun If the @var{filename} argument to the next two functions is a @@ -1304,16 +1330,26 @@ is on the file-system device whose number is 1014478468. @end table @end defun -@cindex MS-DOS and file modes -@cindex file modes and MS-DOS - On MS-DOS, there is no such thing as an ``executable'' file mode bit. -So Emacs considers a file executable if its name ends in one of the -standard executable extensions, such as @file{.com}, @file{.bat}, -@file{.exe}, and some others. Files that begin with the Unix-standard -@samp{#!} signature, such as shell and Perl scripts, are also considered -as executable files. This is reflected in the values returned by -@code{file-modes} and @code{file-attributes}. Directories are also -reported with executable bit set, for compatibility with Unix. +@cindex SELinux context + SELinux is a Linux kernel feature which provides more sophisticated +file access controls than ordinary ``Unix-style'' file permissions. +If Emacs has been compiled with SELinux support on a system with +SELinux enabled, you can use the function @code{file-selinux-context} +to retrieve a file's SELinux security context. For the function +@code{set-file-selinux-context}, see @ref{Changing Files}. + +@defun file-selinux-context filename +This function returns the SELinux security context of the file +@var{filename}. This return value is a list of the form +@code{(@var{user} @var{role} @var{type} @var{range})}, whose elements +are the context's user, role, type, and range respectively, as Lisp +strings. See the SELinux documentation for details about what these +actually mean. + +If the file does not exist or is inaccessible, or if the system does +not support SELinux, or if Emacs was not compiled with SELinux +support, then the return value is @code{(nil nil nil nil)}. +@end defun @node Locating Files @subsection How to Locate Files in Standard Places @@ -1322,8 +1358,10 @@ reported with executable bit set, for compatibility with Unix. This section explains how to search for a file in a list of directories (a @dfn{path}), or for an executable file in the standard -list of executable file directories, or for an Emacs-specific user -configuration file. +list of executable file directories. + + To search for a user-specific configuration file, @xref{Standard +File Names}, for the @code{locate-user-emacs-file} function. @defun locate-file filename path &optional suffixes predicate This function searches for a file whose name is @var{filename} in a @@ -1370,32 +1408,6 @@ in @code{exec-path}, and tries all the file-name extensions in @code{exec-suffixes} (@pxref{Subprocess Creation}). @end defun -@defun locate-user-emacs-file base-name &optional old-name -This function returns an absolute file name for an Emacs-specific -configuration or data file. The argument @file{base-name} should be a -relative file name. The return value is the absolute name of a file -in the directory specified by @code{user-emacs-directory}; if that -directory does not exist, this function creates it. - -If the optional argument @var{old-name} is non-@code{nil}, it -specifies a file in the user's home directory, -@file{~/@var{old-name}}. If such a file exists, the return value is -the absolute name of that file, instead of the file specified by -@var{base-name}. This argument is intended to be used by Emacs -packages to provide backward compatibility. For instance, prior to -the introduction of @code{user-emacs-directory}, the abbrev file was -located in @file{~/.abbrev_defs}, so the definition of -@code{abbrev-file-name} is - -@example -(defcustom abbrev-file-name - (locate-user-emacs-file "abbrev_defs" ".abbrev_defs") - "Default name of file from which to read abbrevs." - @dots{} - :type 'file) -@end example -@end defun - @node Changing Files @section Changing File Names and Attributes @c @cindex renaming files Duplicates rename-file @@ -1528,15 +1540,9 @@ non-@code{nil}, we attempt to copy the user and group ownership of the file. This works only on some operating systems, and only if you have the correct permissions to do so. -@cindex SELinux -If the optional argument @var{preserve-selinux} is non-@code{nil}, we -attempt to copy the SELinux@footnote{@samp{Security-Enhanced Linux} -is a kernel feature that allows for finer access controls to be set on -files, and a system security policy to define who can access what. -The functions @code{file-selinux-context} and @code{set-file-selinux-context} -get and set, respectively, the SELinux properties of a file.} -context of the file. For this to work, Emacs must have been built -with libselinux support. +If the optional argument @var{preserve-selinux} is non-@code{nil}, and +Emacs has been compiled with SELinux support, this function attempts +to copy the file's SELinux context (@pxref{File Attributes}). @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists @@ -1667,6 +1673,16 @@ time and must be in the format returned by @code{current-time} (@pxref{Time of Day}). @end defun +@defun set-file-selinux-context filename context +This function sets the SELinux security context of the file +@var{filename} to @var{context}. @xref{File Attributes}, for a brief +description of SELinux contexts. The @var{context} argument should be +a list @code{(@var{user} @var{role} @var{type} @var{range})}, like the +return value of @code{file-selinux-context}. The function does +nothing if SELinux is disabled, or if Emacs was compiled without +SELinux support. +@end defun + @node File Names @section File Names @cindex file names @@ -1838,14 +1854,15 @@ not an extension. All the directories in the file system form a tree starting at the root directory. A file name can specify all the directory names -starting from the root of the tree; then it is called an @dfn{absolute} -file name. Or it can specify the position of the file in the tree -relative to a default directory; then it is called a @dfn{relative} file -name. On Unix and GNU/Linux, an absolute file name starts with a slash -or a tilde (@samp{~}), and a relative one does not. On MS-DOS and -MS-Windows, an absolute file name starts with a slash or a backslash, or -with a drive specification @samp{@var{x}:/}, where @var{x} is the -@dfn{drive letter}. +starting from the root of the tree; then it is called an +@dfn{absolute} file name. Or it can specify the position of the file +in the tree relative to a default directory; then it is called a +@dfn{relative} file name. On Unix and GNU/Linux, an absolute file +name starts with a @samp{/} or a @samp{~} +(@pxref{abbreviate-file-name}), and a relative one does not. On +MS-DOS and MS-Windows, an absolute file name starts with a slash or a +backslash, or with a drive specification @samp{@var{x}:/}, where +@var{x} is the @dfn{drive letter}. @defun file-name-absolute-p filename This function returns @code{t} if file @var{filename} is an absolute @@ -1981,8 +1998,10 @@ because this is not portable. Always use To convert a directory name to its abbreviation, use this function: +@cindex file name abbreviations +@cindex abbreviated file names @defun abbreviate-file-name filename -@anchor{Definition of abbreviate-file-name} +@anchor{abbreviate-file-name} This function returns an abbreviated form of @var{filename}. It applies the abbreviations specified in @code{directory-abbrev-alist} (@pxref{File Aliases,,File Aliases, emacs, The GNU Emacs Manual}), @@ -2000,11 +2019,15 @@ because it recognizes abbreviations even as part of the name. @subsection Functions that Expand Filenames @cindex expansion of file names - @dfn{Expansion} of a file name means converting a relative file name -to an absolute one. Since this is done relative to a default directory, -you must specify the default directory name as well as the file name to -be expanded. Expansion also simplifies file names by eliminating -redundancies such as @file{./} and @file{@var{name}/../}. + @dfn{Expanding} a file name means converting a relative file name to +an absolute one. Since this is done relative to a default directory, +you must specify the default directory name as well as the file name +to be expanded. It also involves expanding abbreviations like +@file{~/} +@ifnottex +(@pxref{abbreviate-file-name}), +@end ifnottex +and eliminating redundancies like @file{./} and @file{@var{name}/../}. @defun expand-file-name filename &optional directory This function converts @var{filename} to an absolute file name. If @@ -2369,49 +2392,60 @@ filter out a directory named @file{foo.elc}. @node Standard File Names @subsection Standard File Names - Most of the file names used in Lisp programs are entered by the user. -But occasionally a Lisp program needs to specify a standard file name -for a particular use---typically, to hold customization information -about each user. For example, abbrev definitions are stored (by -default) in the file @file{~/.abbrev_defs}; the @code{completion} -package stores completions in the file @file{~/.completions}. These are -two of the many standard file names used by parts of Emacs for certain -purposes. + Sometimes, an Emacs Lisp program needs to specify a standard file +name for a particular use---typically, to hold configuration data +specified by the current user. Usually, such files should be located +in the directory specified by @code{user-emacs-directory}, which is +@file{~/.emacs.d} by default (@pxref{Init File}). For example, abbrev +definitions are stored by default in @file{~/.emacs.d/abbrev_defs}. +The easiest way to specify such a file name is to use the function +@code{locate-user-emacs-file}. - Various operating systems have their own conventions for valid file -names and for which file names to use for user profile data. A Lisp -program which reads a file using a standard file name ought to use, on -each type of system, a file name suitable for that system. The function -@code{convert-standard-filename} makes this easy to do. +@defun locate-user-emacs-file base-name &optional old-name +This function returns an absolute file name for an Emacs-specific +configuration or data file. The argument @file{base-name} should be a +relative file name. The return value is the absolute name of a file +in the directory specified by @code{user-emacs-directory}; if that +directory does not exist, this function creates it. -@defun convert-standard-filename filename -This function alters the file name @var{filename} to fit the conventions -of the operating system in use, and returns the result as a new string. -@end defun - - The recommended way to specify a standard file name in a Lisp program -is to choose a name which fits the conventions of GNU and Unix systems, -usually with a nondirectory part that starts with a period, and pass it -to @code{convert-standard-filename} instead of using it directly. Here -is an example from the @code{completion} package: +If the optional argument @var{old-name} is non-@code{nil}, it +specifies a file in the user's home directory, +@file{~/@var{old-name}}. If such a file exists, the return value is +the absolute name of that file, instead of the file specified by +@var{base-name}. This argument is intended to be used by Emacs +packages to provide backward compatibility. For instance, prior to +the introduction of @code{user-emacs-directory}, the abbrev file was +located in @file{~/.abbrev_defs}. Here is the definition of +@code{abbrev-file-name}: @example -(defvar save-completions-file-name - (convert-standard-filename "~/.completions") - "*The file name to save completions to.") +(defcustom abbrev-file-name + (locate-user-emacs-file "abbrev_defs" ".abbrev_defs") + "Default name of file from which to read abbrevs." + @dots{} + :type 'file) @end example +@end defun - On GNU and Unix systems, and on some other systems as well, -@code{convert-standard-filename} returns its argument unchanged. On -some other systems, it alters the name to fit the system's conventions. + A lower-level function for standardizing file names, which +@code{locate-user-emacs-file} uses as a subroutine, is +@code{convert-standard-filename}. - For example, on MS-DOS the alterations made by this function include -converting a leading @samp{.} to @samp{_}, converting a @samp{_} in the -middle of the name to @samp{.} if there is no other @samp{.}, inserting -a @samp{.} after eight characters if there is none, and truncating to -three characters after the @samp{.}. (It makes other changes as well.) -Thus, @file{.abbrev_defs} becomes @file{_abbrev.def}, and -@file{.completions} becomes @file{_complet.ion}. +@defun convert-standard-filename filename +This function returns a file name based on @var{filename}, which fits +the conventions of the current operating system. + +On GNU and Unix systems, this simply returns @var{filename}. On other +operating systems, it may enforce system-specific file name +conventions; for example, on MS-DOS this function performs a variety +of changes to enforce MS-DOS file name limitations, including +converting any leading @samp{.} to @samp{_} and truncating to three +characters after the @samp{.}. + +The recommended way to use this function is to specify a name which +fits the conventions of GNU and Unix systems, and pass it to +@code{convert-standard-filename}. +@end defun @node Contents of Directories @section Contents of Directories @@ -2684,9 +2718,9 @@ first, before handlers for jobs such as remote file access. @code{file-name-nondirectory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-preserved-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-symlink-p}, -@code{file-truename}, @code{file-writable-p}, -@code{find-backup-file-name}, +@code{file-readable-p}, @code{file-regular-p}, @code{file-subdir-of-p}, +@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, +@code{file-equal-p}, @code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect},@* @code{get-file-buffer}, @code{insert-directory}, diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 27303637e42..a01ad051489 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1,7 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 -@c Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/frames @node Frames, Positions, Windows, Top @@ -24,26 +23,25 @@ into smaller windows. @xref{Splitting Windows}. more Emacs frames. In Emacs Lisp, a @dfn{terminal object} is a Lisp object that represents a terminal. @xref{Terminal Type}. -@cindex terminal frame -@cindex window frame - There are two classes of terminals: text-only terminals and -graphical terminals. Text-only terminals are non-graphics-capable -display devices, including ``terminal emulators'' such as xterm. On -text-only terminals, each frame occupies the entire terminal screen; -although you can create additional frames and switch between them, -only one frame can be shown at any given time. We refer to frames on -text-only terminals as @dfn{terminal frames}. Graphical terminals, on -the other hand, are graphics-capable windowing systems, such as the X -Window System. On a graphical terminal, Emacs can display multiple -frames simultaneously. We refer to such frames as @dfn{window -frames}. +@cindex text terminal +@cindex graphical terminal +@cindex graphical display + There are two classes of terminals: @dfn{text terminals} and +@dfn{graphical terminals}. Text terminals are non-graphics-capable +displays, including @command{xterm} and other terminal emulators. On +a text terminal, each Emacs frame occupies the terminal's entire +screen; although you can create additional frames and switch between +them, the terminal only shows one frame at a time. Graphical +terminals, on the other hand, are managed by graphical display systems +such as the X Window System, which allow Emacs to show multiple frames +simultaneously on the same display. On GNU and Unix systems, you can create additional frames on any available terminal, within a single Emacs session, regardless of -whether Emacs was started on a text-only or graphical terminal. Emacs -can display on both graphical and text-only terminals simultaneously. -This comes in handy, for instance, when you connect to the same -session from several remote locations. @xref{Multiple Terminals}. +whether Emacs was started on a text or graphical terminal. Emacs can +display on both graphical and text terminals simultaneously. This +comes in handy, for instance, when you connect to the same session +from several remote locations. @xref{Multiple Terminals}. @defun framep object This predicate returns a non-@code{nil} value if @var{object} is a @@ -51,14 +49,15 @@ frame, and @code{nil} otherwise. For a frame, the value indicates which kind of display the frame uses: @table @code -@item x -The frame is displayed in an X window. @item t -A terminal frame on a character display. +The frame is displayed on a text terminal. +@item x +The frame is displayed on an X graphical terminal. @item w32 -The frame is displayed on MS-Windows 9X/NT. +The frame is displayed on a MS-Windows graphical terminal. @item ns -The frame is displayed on a GNUstep or Macintosh Cocoa display. +The frame is displayed on a GNUstep or Macintosh Cocoa graphical +terminal. @item pc The frame is displayed on an MS-DOS terminal. @end table @@ -72,10 +71,10 @@ selected frame. @defun terminal-live-p object This predicate returns a non-@code{nil} value if @var{object} is a -terminal that is alive (i.e.@: was not deleted), and @code{nil} -otherwise. For live terminals, the return value indicates what kind -of frames are displayed on that terminal; the list of possible values -is the same as for @code{framep} above. +terminal that is live (i.e.@: not deleted), and @code{nil} otherwise. +For live terminals, the return value indicates what kind of frames are +displayed on that terminal; the list of possible values is the same as +for @code{framep} above. @end defun @menu @@ -100,7 +99,7 @@ is the same as for @code{framep} above. * Window System Selections:: Transferring text to and from other X clients. * Drag and Drop:: Internals of Drag-and-Drop implementation. * Color Names:: Getting the definitions of color names. -* Text Terminal Colors:: Defining colors for text-only terminals. +* Text Terminal Colors:: Defining colors for text terminals. * Resources:: Getting resource values from the server. * Display Feature Testing:: Determining the features of a terminal. @end menu @@ -119,7 +118,7 @@ for the new frame. @xref{Frame Parameters}. If you specify the @code{terminal} parameter in @var{alist}, the new frame is created on that terminal. Otherwise, if you specify the @code{window-system} frame parameter in @var{alist}, that determines whether the frame -should be displayed on a text-only or graphical terminal. +should be displayed on a text terminal or a graphical terminal. @xref{Window Systems}. If neither is specified, the new frame is created in the same terminal as the selected frame. @@ -164,15 +163,15 @@ frame. @cindex multiple X displays @cindex displays, multiple - Emacs represents each terminal, whether graphical or text-only, as a -@dfn{terminal object} data type (@pxref{Terminal Type}). On GNU and -Unix systems, Emacs can use multiple terminals simultaneously in each -session. On other systems, it can only use a single terminal. Each -terminal object has the following attributes: + Emacs represents each terminal as a @dfn{terminal object} data type +(@pxref{Terminal Type}). On GNU and Unix systems, Emacs can use +multiple terminals simultaneously in each session. On other systems, +it can only use a single terminal. Each terminal object has the +following attributes: @itemize @bullet @item -The name of the device used by the terminal (e.g., @samp{:0.0} or +The name of the device used by the terminal (e.g.@: @samp{:0.0} or @file{/dev/tty}). @item @@ -181,7 +180,7 @@ The terminal and keyboard coding systems used on the terminal. @item The kind of display associated with the terminal. This is the symbol -returned by the function @code{terminal-live-p} (i.e., @code{x}, +returned by the function @code{terminal-live-p} (i.e.@: @code{x}, @code{t}, @code{w32}, @code{ns}, or @code{pc}). @xref{Frames}. @item @@ -190,7 +189,7 @@ A list of terminal parameters. @xref{Terminal Parameters}. There is no primitive for creating terminal objects. Emacs creates them as needed, such as when you call @code{make-frame-on-display} -(which is described below). +(described below). @defun terminal-name &optional terminal This function returns the file name of the device used by @@ -200,7 +199,7 @@ a frame, meaning that frame's terminal. @end defun @defun terminal-list -This function returns a list of all terminal objects currently in use. +This function returns a list of all live terminal objects. @end defun @defun get-device-terminal device @@ -249,15 +248,15 @@ never be buffer-local (@pxref{Buffer-Local Variables}). On GNU and Unix systems, each X display is a separate graphical terminal. When Emacs is started from within the X window system, it -uses the X display chosen with the @code{DISPLAY} environment -variable, or with the @samp{--display} option. @xref{Initial -Options,,, emacs, The GNU Emacs Manual}. Emacs can connect to other X -displays via the command @code{make-frame-on-display}. Each X display -has its own selected frame and its own minibuffer windows; however, -only one of those frames is ``@emph{the} selected frame'' at any given -moment (@pxref{Input Focus}). Emacs can even connect to other -text-only terminals, by interacting with the @command{emacsclient} -program. @xref{Emacs Server,,, emacs, The GNU Emacs Manual}. +uses the X display specified by the @env{DISPLAY} environment +variable, or by the @samp{--display} option (@pxref{Initial Options,,, +emacs, The GNU Emacs Manual}). Emacs can connect to other X displays +via the command @code{make-frame-on-display}. Each X display has its +own selected frame and its own minibuffer windows; however, only one +of those frames is ``@emph{the} selected frame'' at any given moment +(@pxref{Input Focus}). Emacs can even connect to other text +terminals, by interacting with the @command{emacsclient} program. +@xref{Emacs Server,,, emacs, The GNU Emacs Manual}. A single X server can handle more than one display. Each X display has a three-part name, @samp{@var{host}:@var{server}.@var{screen}}. @@ -268,8 +267,8 @@ server, Emacs knows by the similarity in their names that they share a single keyboard. On some ``multi-monitor'' setups, a single X display outputs to more -than one monitor. Currently, there is no way for Emacs to distinguish -between the different physical monitors. +than one physical monitor. Currently, there is no way for Emacs to +distinguish between the different physical monitors. @deffn Command make-frame-on-display display &optional parameters This function creates and returns a new frame on @var{display}, taking @@ -278,8 +277,8 @@ the other frame parameters from the alist @var{parameters}. Before creating the frame, this function ensures that Emacs is ``set up'' to display graphics. For instance, if Emacs has not processed X -resources (e.g., if it was started on a text-only terminal), it does -so at this time. In all other respects, this function behaves like +resources (e.g.@: if it was started on a text terminal), it does so at +this time. In all other respects, this function behaves like @code{make-frame} (@pxref{Creating Frames}). @end deffn @@ -325,15 +324,15 @@ on that display (@pxref{Deleting Frames}). Just what parameters a frame has depends on what display mechanism it uses. - Frame parameters exist mostly for the sake of window systems. A -terminal frame has a few parameters, mostly for compatibility's sake; -only the @code{height}, @code{width}, @code{name}, @code{title}, -@code{menu-bar-lines}, @code{buffer-list} and @code{buffer-predicate} -parameters do something special. If the terminal supports colors, the -parameters @code{foreground-color}, @code{background-color}, -@code{background-mode} and @code{display-type} are also meaningful. -If the terminal supports frame transparency, the parameter -@code{alpha} is also meaningful. + Frame parameters exist mostly for the sake of graphical displays. +Most frame parameters have no effect when applied to a frame on a text +terminal; only the @code{height}, @code{width}, @code{name}, +@code{title}, @code{menu-bar-lines}, @code{buffer-list} and +@code{buffer-predicate} parameters do something special. If the +terminal supports colors, the parameters @code{foreground-color}, +@code{background-color}, @code{background-mode} and +@code{display-type} are also meaningful. If the terminal supports +frame transparency, the parameter @code{alpha} is also meaningful. @menu * Parameter Access:: How to change a frame's parameters. @@ -387,12 +386,13 @@ parameter values to frames that will be created henceforth. @node Initial Parameters @subsection Initial Frame Parameters -You can specify the parameters for the initial startup frame -by setting @code{initial-frame-alist} in your init file (@pxref{Init File}). +You can specify the parameters for the initial startup frame by +setting @code{initial-frame-alist} in your init file (@pxref{Init +File}). @defopt initial-frame-alist -This variable's value is an alist of parameter values used when creating -the initial window frame. You can set this variable to specify the +This variable's value is an alist of parameter values used when +creating the initial frame. You can set this variable to specify the appearance of the initial frame without altering subsequent frames. Each element has the form: @@ -444,11 +444,13 @@ Functions that display a buffer in a separate frame can override the default parameters by supplying their own parameters. @xref{Definition of special-display-frame-alist}. -If you use options that specify window appearance when you invoke Emacs, -they take effect by adding elements to @code{default-frame-alist}. One -exception is @samp{-geometry}, which adds the specified position to -@code{initial-frame-alist} instead. @xref{Emacs Invocation,, Command -Line Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}. +If you invoke Emacs with command-line options that specify frame +appearance, those options take effect by adding elements to either +@code{initial-frame-alist} or @code{default-frame-alist}. Options +which affect just the initial frame, such as @samp{-geometry} and +@samp{--maximized}, add to @code{initial-frame-alist}; the others add +to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line +Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}. @node Window Frame Parameters @subsection Window Frame Parameters @@ -459,8 +461,8 @@ it uses. This section describes the parameters that have special meanings on some or all kinds of terminals. Of these, @code{name}, @code{title}, @code{height}, @code{width}, @code{buffer-list} and @code{buffer-predicate} provide meaningful information in terminal -frames, and @code{tty-color-mode} is meaningful @emph{only} in -terminal frames. +frames, and @code{tty-color-mode} is meaningful only for frames on +text terminals. @menu * Basic Parameters:: Parameters that are fundamental. @@ -524,7 +526,7 @@ named, this parameter will be @code{nil}. @cindex window position on display Position parameters' values are normally measured in pixels, but on -text-only terminals they count characters or lines instead. +text terminals they count characters or lines instead. @table @code @vindex left, a frame parameter @@ -561,19 +563,17 @@ to the top (or bottom) edge of the screen. It works just like @vindex icon-left, a frame parameter @item icon-left -The screen position of the left edge @emph{of the frame's icon}, in -pixels, counting from the left edge of the screen. This takes effect if -and when the frame is iconified. - -If you specify a value for this parameter, then you must also specify -a value for @code{icon-top} and vice versa. The window manager may -ignore these two parameters. +The screen position of the left edge of the frame's icon, in pixels, +counting from the left edge of the screen. This takes effect when the +frame is iconified, if the window manager supports this feature. If +you specify a value for this parameter, then you must also specify a +value for @code{icon-top} and vice versa. @vindex icon-top, a frame parameter @item icon-top -The screen position of the top edge @emph{of the frame's icon}, in -pixels, counting from the top edge of the screen. This takes effect if -and when the frame is iconified. +The screen position of the top edge of the frame's icon, in pixels, +counting from the top edge of the screen. This takes effect when the +frame is iconified, if the window manager supports this feature. @vindex user-position, a frame parameter @item user-position @@ -601,8 +601,9 @@ parameters represent the user's stated preference; otherwise, use @subsubsection Size Parameters @cindex window size on display - Size parameters' values are normally measured in pixels, but on -text-only terminals they count characters or lines instead. + Frame parameters specify frame sizes in character units. On +graphical displays, the @code{default} face determines the actual +pixel sizes of these character units (@pxref{Face Attributes}). @table @code @vindex height, a frame parameter @@ -757,8 +758,9 @@ If non-@code{nil}, this frame's window is never split automatically. @subsubsection Window Management Parameters @cindex window manager interaction, and frame parameters - These frame parameters, meaningful only on window system displays, -interact with the window manager. + The following frame parameters control various aspects of the +frame's interaction with the window manager. They have no effect on +text terminals. @table @code @vindex visibility, a frame parameter @@ -769,11 +771,13 @@ iconified. @xref{Visibility of Frames}. @vindex auto-raise, a frame parameter @item auto-raise -Whether selecting the frame raises it (non-@code{nil} means yes). +If non-@code{nil}, Emacs automatically raises the frame when it is +selected. Some window managers do not allow this. @vindex auto-lower, a frame parameter @item auto-lower -Whether deselecting the frame lowers it (non-@code{nil} means yes). +If non-@code{nil}, Emacs automatically lowers the frame when it is +deselected. Some window managers do not allow this. @vindex icon-type, a frame parameter @item icon-type @@ -789,12 +793,15 @@ appears. If this is @code{nil}, the frame's title is used. @vindex window-id, a frame parameter @item window-id -The number of the window-system window used by the frame -to contain the actual Emacs windows. +The ID number which the graphical display uses for this frame. Emacs +assigns this parameter when the frame is created; changing the +parameter has no effect on the actual ID number. @vindex outer-window-id, a frame parameter @item outer-window-id -The number of the outermost window-system window used for the whole frame. +The ID number of the outermost window-system window in which the frame +exists. As with @code{window-id}, changing this parameter has no +actual effect. @vindex wait-for-wm, a frame parameter @item wait-for-wm @@ -849,9 +856,26 @@ Display a horizontal bar @var{height} pixels high. @end table @vindex cursor-type -The buffer-local variable @code{cursor-type} overrides the value of -the @code{cursor-type} frame parameter, but if it is @code{t}, that -means to use the cursor specified for the frame. +The @code{cursor-type} frame parameter may be overridden by the +variables @code{cursor-type} and +@code{cursor-in-non-selected-windows}: + +@defvar cursor-type +This buffer-local variable controls how the cursor looks in a selected +window showing the buffer. If its value is @code{t}, that means to +use the cursor specified by the @code{cursor-type} frame parameter. +Otherwise, the value should be one of the cursor types listed above, +and it overrides the @code{cursor-type} frame parameter. +@end defvar + +@defopt cursor-in-non-selected-windows +This buffer-local variable controls how the cursor looks in a window +that is not selected. It supports the same values as the +@code{cursor-type} frame parameter; also, @code{nil} means don't +display a cursor in nonselected windows, and @code{t} (the default) +means use a standard modification of the usual cursor type (solid box +becomes hollow box, and bar becomes a narrower bar). +@end defopt @defopt blink-cursor-alist This variable specifies how to blink the cursor. Each element has the @@ -867,15 +891,6 @@ variable do not take effect immediately, only when you specify the @code{cursor-type} frame parameter. @end defopt -@defopt cursor-in-non-selected-windows -This variable controls how the cursor looks in a window that is not -selected. It supports the same values as the @code{cursor-type} frame -parameter; also, @code{nil} means don't display a cursor in -nonselected windows, and @code{t} (the default) means use a standard -modification of the usual cursor type (solid box becomes hollow box, -and bar becomes a narrower bar). -@end defopt - @node Font and Color Parameters @subsubsection Font and Color Parameters @cindex font and color, frame parameters @@ -904,7 +919,7 @@ to whether the background color is a light one or a dark one. @cindex standard colors for character terminals This parameter overrides the terminal's color support as given by the system's terminal capabilities database in that this parameter's value -specifies the color mode to use in terminal frames. The value can be +specifies the color mode to use on a text terminal. The value can be either a symbol or a number. A number specifies the number of colors to use (and, indirectly, what commands to issue to produce each color). For example, @code{(tty-color-mode . 8)} specifies use of the @@ -1048,17 +1063,17 @@ selected frame. @defunx frame-pixel-width &optional frame These functions return the height and width of the main display area of @var{frame}, measured in pixels. If you don't supply @var{frame}, -they use the selected frame. For a text-only terminal, the results are -in characters rather than pixels. +they use the selected frame. For a text terminal, the results are in +characters rather than pixels. -These values include the internal borders, and windows' scroll bars and -fringes (which belong to individual windows, not to the frame itself). -The exact value of the heights depends on the window-system and toolkit -in use. With Gtk+, the height does not include any tool bar or menu -bar. With the Motif or Lucid toolkits, it includes the tool bar but -not the menu bar. In a graphical version with no toolkit, it includes -both the tool bar and menu bar. For a text-only terminal, the result -includes the menu bar. +These values include the internal borders, and windows' scroll bars +and fringes (which belong to individual windows, not to the frame +itself). The exact value of the heights depends on the window-system +and toolkit in use. With Gtk+, the height does not include any tool +bar or menu bar. With the Motif or Lucid toolkits, it includes the +tool bar but not the menu bar. In a graphical version with no +toolkit, it includes both the tool bar and menu bar. For a text +terminal, the result includes the menu bar. @end defun @defun frame-char-height &optional frame @@ -1085,13 +1100,13 @@ fit. If @var{pretend} is non-@code{nil}, then Emacs displays @var{lines} lines of output in @var{frame}, but does not change its value for the -actual height of the frame. This is only useful for a terminal frame. +actual height of the frame. This is only useful on text terminals. Using a smaller height than the terminal actually implements may be useful to reproduce behavior observed on a smaller screen, or if the terminal malfunctions when using its whole screen. Setting the frame height ``for real'' does not always work, because knowing the correct -actual size may be necessary for correct cursor positioning on a -terminal frame. +actual size may be necessary for correct cursor positioning on +text terminals. @end defun @defun set-frame-width frame width &optional pretend @@ -1100,13 +1115,6 @@ The argument @var{pretend} has the same meaning as in @code{set-frame-height}. @end defun -@findex set-screen-height -@findex set-screen-width - The older functions @code{set-screen-height} and -@code{set-screen-width} were used to specify the height and width of the -screen, in Emacs versions that did not support multiple frames. They -are semi-obsolete, but still work; they apply to the selected frame. - @node Geometry @subsection Geometry @@ -1231,9 +1239,10 @@ while processing @code{frame-title-format} or @section Deleting Frames @cindex deleting frames -Frames remain potentially visible until you explicitly @dfn{delete} -them. A deleted frame cannot appear on the screen, but continues to -exist as a Lisp object until there are no references to it. + A @dfn{live frame} is one that has not been deleted. When a frame +is deleted, it is removed from its terminal display, although it may +continue to exist as a Lisp object until there are no more references +to it. @deffn Command delete-frame &optional frame force @vindex delete-frame-functions @@ -1264,25 +1273,25 @@ calls the function @code{delete-frame}. @xref{Misc Events}. @cindex frames, scanning all @defun frame-list -The function @code{frame-list} returns a list of all the live frames, -i.e.@: those that have not been deleted. It is analogous to -@code{buffer-list} for buffers, and includes frames on all terminals. -The list that you get is newly created, so modifying the list doesn't -have any effect on the internals of Emacs. +This function returns a list of all the live frames, i.e.@: those that +have not been deleted. It is analogous to @code{buffer-list} for +buffers, and includes frames on all terminals. The list that you get +is newly created, so modifying the list doesn't have any effect on the +internals of Emacs. @end defun @defun visible-frame-list This function returns a list of just the currently visible frames. -@xref{Visibility of Frames}. (Terminal frames always count as -``visible,'' even though only the selected one is actually displayed.) +@xref{Visibility of Frames}. Frames on text terminals always count as +``visible'', even though only the selected one is actually displayed. @end defun @defun next-frame &optional frame minibuf -The function @code{next-frame} lets you cycle conveniently through all -the frames on the current display from an arbitrary starting point. It -returns the ``next'' frame after @var{frame} in the cycle. If -@var{frame} is omitted or @code{nil}, it defaults to the selected frame -(@pxref{Input Focus}). +This function lets you cycle conveniently through all the frames on +the current display from an arbitrary starting point. It returns the +``next'' frame after @var{frame} in the cycle. If @var{frame} is +omitted or @code{nil}, it defaults to the selected frame (@pxref{Input +Focus}). The second argument, @var{minibuf}, says which frames to consider: @@ -1370,20 +1379,20 @@ function @code{select-frame}. This does not alter the window system's concept of focus; rather, it escapes from the window manager's control until that control is somehow reasserted. -When using a text-only terminal, only one frame can be displayed at a -time on the terminal, so after a call to @code{select-frame}, the next +When using a text terminal, only one frame can be displayed at a time +on the terminal, so after a call to @code{select-frame}, the next redisplay actually displays the newly selected frame. This frame remains selected until a subsequent call to @code{select-frame}. Each -terminal frame has a number which appears in the mode line before the -buffer name (@pxref{Mode Line Variables}). +frame on a text terminal has a number which appears in the mode line +before the buffer name (@pxref{Mode Line Variables}). @defun select-frame-set-input-focus frame &optional norecord This function selects @var{frame}, raises it (should it happen to be obscured by other frames) and tries to give it the X server's focus. -On a text-only terminal, the next redisplay displays the new frame on -the entire terminal screen. The optional argument @var{norecord} has -the same meaning as for @code{select-frame} (see below). The return -value of this function is not significant. +On a text terminal, the next redisplay displays the new frame on the +entire terminal screen. The optional argument @var{norecord} has the +same meaning as for @code{select-frame} (see below). The return value +of this function is not significant. @end defun @defun select-frame frame &optional norecord @@ -1467,20 +1476,34 @@ position consistent with the new selected frame. @cindex visible frame @cindex invisible frame @cindex iconified frame +@cindex minimized 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, unless -other windows cover it. If it is iconified, the frame's contents do -not appear on the screen, but an icon does. (Note: because of the -way in which some window managers implement the concept of multiple -workspaces, or desktops, all frames on other workspaces may appear to -Emacs to be iconified.) If the frame is invisible, it doesn't show on -the screen, not even as an icon. +A frame on a graphical display may be @dfn{visible}, @dfn{invisible}, +or @dfn{iconified}. If it is visible, its contents are displayed in +the usual manner. If it is iconified, its contents are not displayed, +but there is a little icon somewhere to bring the frame back into view +(some window managers refer to this state as @dfn{minimized} rather +than @dfn{iconified}, but from Emacs' point of view they are the same +thing). If a frame is invisible, it is not displayed at all. -Visibility is meaningless for terminal frames, since only the selected + Visibility is meaningless on text terminals, since only the selected one is actually displayed in any case. +@defun frame-visible-p frame +This function returns the visibility status of frame @var{frame}. The +value is @code{t} if @var{frame} is visible, @code{nil} if it is +invisible, and @code{icon} if it is iconified. + +On a text terminal, all frames are considered visible, whether they +are currently being displayed or not. +@end defun + +@deffn Command iconify-frame &optional frame +This function iconifies frame @var{frame}. If you omit @var{frame}, it +iconifies the selected frame. +@end deffn + @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 does not raise @@ -1496,29 +1519,12 @@ Unless @var{force} is non-@code{nil}, this function refuses to make @var{frame} invisible if all other frames are invisible.. @end deffn -@deffn Command iconify-frame &optional frame -This function iconifies frame @var{frame}. If you omit @var{frame}, it -iconifies the selected frame. -@end deffn - -@defun frame-visible-p frame -This returns the visibility status of frame @var{frame}. The value is -@code{t} if @var{frame} is visible, @code{nil} if it is invisible, and -@code{icon} if it is iconified. - -On a text-only terminal, all frames are considered visible, whether -they are currently being displayed or not, and this function returns -@code{t} for all frames. -@end defun - The visibility status of a frame is also available as a frame parameter. You can read or change it as such. @xref{Management -Parameters}. - - The user can iconify and deiconify frames with the window manager. -This happens below the level at which Emacs can exert any control, but -Emacs does provide events that you can use to keep track of such -changes. @xref{Misc Events}. +Parameters}. The user can also iconify and deiconify frames with the +window manager. This happens below the level at which Emacs can exert +any control, but Emacs does provide events that you can use to keep +track of such changes. @xref{Misc Events}. @node Raising and Lowering @section Raising and Lowering Frames @@ -1709,7 +1715,7 @@ displayed on @var{frame} is visible; otherwise it returns @code{nil}. @var{frame} omitted or @code{nil} means the selected frame. This is useful when @code{make-pointer-invisible} is set to @code{t}: it allows to know if the pointer has been hidden. -@xref{Mouse Avoidance,,,emacs}. +@xref{Mouse Avoidance,,,emacs, The Emacs Manual}. @end defun @need 3000 @@ -2111,10 +2117,10 @@ and that name is still supported as an alias. @node Text Terminal Colors @section Text Terminal Colors -@cindex colors on text-only terminals +@cindex colors on text terminals - Text-only terminals usually support only a small number of colors, -and the computer uses small integers to select colors on the terminal. + Text terminals usually support only a small number of colors, and +the computer uses small integers to select colors on the terminal. This means that the computer cannot reliably tell what the selected color looks like; instead, you have to inform your application which small integers correspond to which colors. However, Emacs does know @@ -2128,10 +2134,10 @@ in @ref{Color Names}. These functions accept a display (either a frame or the name of a terminal) as an optional argument. We hope in the future to make -Emacs support different colors on different text-only terminals; then -this argument will specify which terminal to operate on (the default -being the selected frame's terminal; @pxref{Input Focus}). At -present, though, the @var{frame} argument has no effect. +Emacs support different colors on different text terminals; then this +argument will specify which terminal to operate on (the default being +the selected frame's terminal; @pxref{Input Focus}). At present, +though, the @var{frame} argument has no effect. @defun tty-color-define name number &optional rgb frame This function associates the color name @var{name} with @@ -2145,12 +2151,12 @@ Emacs will not know what it looks like. @end defun @defun tty-color-clear &optional frame -This function clears the table of defined colors for a text-only terminal. +This function clears the table of defined colors for a text terminal. @end defun @defun tty-color-alist &optional frame -This function returns an alist recording the known colors supported by a -text-only terminal. +This function returns an alist recording the known colors supported by +a text terminal. Each element has the form @code{(@var{name} @var{number} . @var{rgb})} or @code{(@var{name} @var{number})}. Here, @var{name} is the color @@ -2266,8 +2272,8 @@ a mouse. @defun display-graphic-p &optional display This function returns @code{t} if @var{display} is a graphic display capable of displaying several frames and several different fonts at -once. This is true for displays that use a window system such as X, and -false for text-only terminals. +once. This is true for displays that use a window system such as X, +and false for text terminals. @end defun @defun display-mouse-p &optional display diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index a98797f3618..537514d7fb9 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -636,6 +636,7 @@ in the minibuffer with the message @samp{Help (Type ? for further options)}, and then provides assistance in finding out what the key bindings are, and what the mode is intended for. It returns @code{nil}. +@vindex Helper-help-map This can be customized by changing the map @code{Helper-help-map}. @end deffn diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi index 551d9141574..0d29c25c8b1 100644 --- a/doc/lispref/hooks.texi +++ b/doc/lispref/hooks.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/hooks @node Standard Hooks, Index, Standard Keymaps, Top @@ -8,7 +8,7 @@ @cindex standard hooks @cindex hook variables, list of -The following is a list of hook variables that let you provide +The following is a list of some hook variables that let you provide functions to be called from within Emacs on suitable occasions. Most of these variables have names ending with @samp{-hook}. They are @@ -18,117 +18,92 @@ arguments and their values are completely ignored. The recommended way to put a new function on such a hook is to call @code{add-hook}. @xref{Hooks}, for more information about using hooks. -Every major mode defines a mode hook named -@samp{@var{modename}-mode-hook}. The major mode command runs this -normal hook with @code{run-mode-hooks} as the very last thing it does. -@xref{Mode Hooks}. Most minor modes have mode hooks too. Mode hooks -are omitted in the list below. - The variables whose names end in @samp{-hooks} or @samp{-functions} are usually @dfn{abnormal hooks}; their values are lists of functions, but these functions are called in a special way (they are passed arguments, or their values are used). The variables whose names end in @samp{-function} have single functions as their values. +This is not an exhaustive list, it only covers the more general hooks. +For example, every major mode defines a hook named +@samp{@var{modename}-mode-hook}. The major mode command runs this +normal hook with @code{run-mode-hooks} as the very last thing it does. +@xref{Mode Hooks}. Most minor modes have mode hooks too. + A special feature allows you to specify expressions to evaluate if and when a file is loaded (@pxref{Hooks for Loading}). That feature is not exactly a hook, but does a similar job. -@c We need to xref to where each hook is documented or else document -@c it here. +@c We need to xref to where each hook is documented or else document it here. +@c Add vindex for anything not indexed elsewhere. +@c This list is in alphabetical order, grouped by topic. +@c TODO It should probably be more thoroughly ordered by topic. @table @code -@item abbrev-expand-functions -@xref{Abbrev Expansion}. - @item activate-mark-hook +@itemx deactivate-mark-hook @xref{The Mark}. @item after-change-functions +@itemx before-change-functions +@itemx first-change-hook @xref{Change Hooks}. @item after-change-major-mode-hook +@itemx change-major-mode-after-body-hook @xref{Mode Hooks}. @item after-init-hook +@itemx before-init-hook +@itemx emacs-startup-hook @xref{Init File}. @item after-insert-file-functions +@itemx write-region-annotate-functions +@itemx write-region-post-annotation-function @xref{Format Conversion}. @item after-make-frame-functions +@itemx before-make-frame-hook @xref{Creating Frames}. +@c Not general enough? +@ignore @item after-revert-hook +@itemx before-revert-hook +@itemx buffer-stale-function +@itemx revert-buffer-function +@itemx revert-buffer-insert-file-contents-function @xref{Reverting}. +@end ignore @item after-save-hook +@itemx before-save-hook +@itemx write-contents-functions +@itemx write-file-functions @xref{Saving Buffers}. -@item auto-fill-function -@xref{Auto Filling}. +@item after-setting-font-hook +@vindex after-setting-font-hook +Hook run after a frame's font changes. @item auto-save-hook @xref{Auto-Saving}. -@item before-change-functions -@xref{Change Hooks}. - @item before-hack-local-variables-hook +@itemx hack-local-variables-hook @xref{File Local Variables}. -@item before-init-hook -@xref{Init File}. - -@item before-make-frame-hook -@xref{Creating Frames}. - -@item before-revert-hook -@xref{Reverting}. - -@item before-save-hook -@xref{Saving Buffers}. - -@item blink-paren-function -@xref{Blinking}. - @item buffer-access-fontify-functions @xref{Lazy Properties}. -@item calendar-initial-window-hook -@iftex -@inforef{Calendar Customizing,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Calendar Customizing,,, emacs}. -@end ifnottex +@item buffer-list-update-hook +@vindex buffer-list-update-hook +Hook run when the buffer list changes. -@item calendar-load-hook -@iftex -@inforef{Calendar Customizing,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Calendar Customizing,,, emacs}. -@end ifnottex - -@item calendar-today-invisible-hook -@iftex -@inforef{Calendar Customizing,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Calendar Customizing,,, emacs}. -@end ifnottex - -@item calendar-today-visible-hook -@iftex -@inforef{Calendar Customizing,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Calendar Customizing,,, emacs}. -@end ifnottex - -@item change-major-mode-after-body-hook -@xref{Mode Hooks}. +@item buffer-quit-function +@vindex buffer-quit-function +Function to call to ``quit'' the current buffer. @item change-major-mode-hook @xref{Creating Buffer-Local}. @@ -136,217 +111,175 @@ not exactly a hook, but does a similar job. @item command-line-functions @xref{Command-Line Arguments}. -@item comment-indent-function -@xref{Options for Comments,, Options Controlling Comments, emacs, the -GNU Emacs Manual}. - -@item compilation-finish-functions -Functions to call when a compilation process finishes. - -@item custom-define-hook -Hook called after defining each customize option. - -@item deactivate-mark-hook -@xref{The Mark}. +@item delayed-warnings-hook +@vindex delayed-warnings-hook +The command loop runs this soon after @code{post-command-hook} (q.v.). @item delete-frame-functions -Functions to call when Emacs deletes a frame. @xref{Deleting Frames}. +@xref{Deleting Frames}. @item delete-terminal-functions -Functions to call when Emacs deletes a terminal. @xref{Multiple -Terminals}. - -@item desktop-after-read-hook -Normal hook run after a successful @code{desktop-read}. May be used -to show a buffer list. @xref{Saving Emacs Sessions,, Saving Emacs -Sessions, emacs, the GNU Emacs Manual}. - -@item desktop-no-desktop-file-hook -Normal hook run when @code{desktop-read} can't find a desktop file. -May be used to show a dired buffer. @xref{Saving Emacs Sessions,, -Saving Emacs Sessions, emacs, the GNU Emacs Manual}. - -@item desktop-save-hook -Normal hook run before the desktop is saved in a desktop file. This -is useful for truncating history lists, for example. @xref{Saving -Emacs Sessions,, Saving Emacs Sessions, emacs, the GNU Emacs Manual}. - -@item diary-hook -List of functions called after the display of the diary. Can be used -for appointment notification. - -@item diary-list-entries-hook -@iftex -@inforef{Fancy Diary Display,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Fancy Diary Display,,, emacs}. -@end ifnottex - -@item diary-mark-entries-hook -@iftex -@inforef{Fancy Diary Display,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Fancy Diary Display,,, emacs}. -@end ifnottex - -@item diary-nongregorian-listing-hook -@iftex -@inforef{Non-Gregorian Diary,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Non-Gregorian Diary,,, emacs}. -@end ifnottex - -@item diary-nongregorian-marking-hook -@iftex -@inforef{Non-Gregorian Diary,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Non-Gregorian Diary,,, emacs}. -@end ifnottex - -@item diary-print-entries-hook -@iftex -@inforef{Diary Display,, emacs-xtra}. -@end iftex -@ifnottex -@xref{Diary Display,,, emacs}. -@end ifnottex +@xref{Multiple Terminals}. +@ignore @item disabled-command-function @xref{Disabling Commands}. +@end ignore + +@item display-buffer-function +@itemx pop-up-frame-function +@itemx special-display-function +@itemx split-window-preferred-function +@xref{Choosing Window Options}. @item echo-area-clear-hook @xref{Echo Area Customization}. -@item emacs-startup-hook -@xref{Init File}. - @item find-file-hook +@itemx find-file-not-found-functions @xref{Visiting Functions}. -@item find-file-not-found-functions -@xref{Visiting Functions}. +@item font-lock-extend-after-change-region-function +@xref{Region to Refontify}. -@item first-change-hook -@xref{Change Hooks}. - -@item font-lock-beginning-of-syntax-function -@xref{Syntactic Font Lock}. +@item font-lock-extend-region-functions +@xref{Multiline Font Lock}. @item font-lock-fontify-buffer-function +@itemx font-lock-fontify-region-function +@itemx font-lock-mark-block-function +@itemx font-lock-unfontify-buffer-function +@itemx font-lock-unfontify-region-function @xref{Other Font Lock Variables}. -@item font-lock-fontify-region-function -@xref{Other Font Lock Variables}. +@item fontification-functions +@xref{Auto Faces,, Automatic Face Assignment}. -@item font-lock-mark-block-function -@xref{Other Font Lock Variables}. - -@item font-lock-syntactic-face-function -@xref{Syntactic Font Lock}. - -@item font-lock-unfontify-buffer-function -@xref{Other Font Lock Variables}. - -@item hack-local-variables-hook -@xref{File Local Variables}. - -@item font-lock-unfontify-region-function -@xref{Other Font Lock Variables}. - -@item kbd-macro-termination-hook -@xref{Keyboard Macros}. +@item frame-auto-hide-function +@xref{Quitting Windows}. @item kill-buffer-hook -@xref{Killing Buffers}. - -@item kill-buffer-query-functions +@itemx kill-buffer-query-functions @xref{Killing Buffers}. @item kill-emacs-hook +@itemx kill-emacs-query-functions @xref{Killing Emacs}. -@item kill-emacs-query-functions -@xref{Killing Emacs}. - -@item lisp-indent-function - -@item mail-setup-hook -@xref{Mail Misc,, Mail Miscellany, emacs, the GNU Emacs Manual}. - @item menu-bar-update-hook @xref{Menu Bar}. @item minibuffer-setup-hook +@itemx minibuffer-exit-hook @xref{Minibuffer Misc}. -@item minibuffer-exit-hook -@xref{Minibuffer Misc}. +@item mouse-leave-buffer-hook +@vindex mouse-leave-buffer-hook +Hook run when about to switch windows with a mouse command. @item mouse-position-function @xref{Mouse Position}. -@item occur-hook - @item post-command-hook +@itemx pre-command-hook @xref{Command Overview}. +@item post-gc-hook +@xref{Garbage Collection}. + @item post-self-insert-hook @xref{Keymaps and Minor Modes}. -@item pre-command-hook -@xref{Command Overview}. - +@ignore @item prog-mode-hook +@itemx special-mode-hook +@vindex special-mode-hook @xref{Basic Major Modes}. - -@item resume-tty-functions -@xref{Suspending Emacs}. - -@item scheme-indent-function +@end ignore @item suspend-hook +@itemx suspend-resume-hook +@itemx suspend-tty-functions +@itemx resume-tty-functions @xref{Suspending Emacs}. -@item suspend-resume-hook -@xref{Suspending Emacs}. - -@item suspend-tty-functions -@xref{Suspending Emacs}. +@item syntax-begin-function +@itemx syntax-propertize-extend-region-functions +@itemx syntax-propertize-function +@itemx font-lock-syntactic-face-function +@xref{Syntactic Font Lock}. @xref{Syntax Properties}. @item temp-buffer-setup-hook -@xref{Temporary Displays}. - -@item temp-buffer-show-function -@xref{Temporary Displays}. - -@item temp-buffer-show-hook +@itemx temp-buffer-show-function +@itemx temp-buffer-show-hook @xref{Temporary Displays}. @item term-setup-hook @xref{Terminal-Specific}. @item window-configuration-change-hook -@xref{Window Hooks}. - -@item window-scroll-functions +@itemx window-scroll-functions +@itemx window-size-change-functions @xref{Window Hooks}. @item window-setup-hook @xref{Window Systems}. -@item window-size-change-functions -@xref{Window Hooks}. +@item window-text-change-functions +@vindex window-text-change-functions +Functions to call in redisplay when text in the window might change. -@item write-contents-functions -@xref{Saving Buffers}. - -@item write-file-functions -@xref{Saving Buffers}. - -@item write-region-annotate-functions -@xref{Format Conversion}. @end table + +@ignore +Some -hook, -function, -functions from preloaded Lisp or C files that +I thought did not need to be mentioned here: + +Lisp: +after-load-functions +auto-coding-functions +choose-completion-string-functions +completing-read-function +completion-annotate-function +completion-at-point-functions +completion-in-region-functions +completion-list-insert-choice-function +describe-current-input-method-function +filter-buffer-substring-functions +font-lock-function +inactivate-current-input-method-function +menu-bar-select-buffer-function +read-file-name-function +replace-re-search-function +replace-search-function +yank-undo-function + +C hooks: +kbd-macro-termination-hook +signal-hook-function + +C functions: +redisplay-end-trigger-functions +x-lost-selection-functions +x-sent-selection-functions + +C function: +auto-composition-function +auto-fill-function +command-error-function +compose-chars-after-function +composition-function-table +deferred-action-function +input-method-function +load-read-function +load-source-file-function +macro-declaration-function +read-buffer-function +ring-bell-function +select-safe-coding-system-function +set-auto-coding-function +show-help-function +signal-hook-function +undo-outer-limit-function + +@end ignore diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index df6193cf13b..83bbc140b13 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/internals @node GNU Emacs Internals, Standard Errors, Tips, Top @@ -21,7 +21,7 @@ internal aspects of GNU Emacs that may be of interest to C programmers. @end menu @node Building Emacs -@appendixsec Building Emacs +@section Building Emacs @cindex building Emacs @pindex temacs @@ -44,7 +44,7 @@ environment, resulting in an Emacs that is still impure but no longer bare. @cindex dumping Emacs - It takes a substantial time to load the standard Lisp files. Luckily, + It takes some time to load the standard Lisp files. Luckily, you don't have to do this each time you run Emacs; @file{temacs} can dump out an executable program called @file{emacs} that has these files preloaded. @file{emacs} starts more quickly because it does not need to @@ -61,23 +61,22 @@ The argument @samp{dump} tells @file{loadup.el} to dump a new executable named @file{emacs}. The variable @code{preloaded-file-list} stores a list of the Lisp files that were dumped with the @file{emacs} executable. - Some operating systems don't support dumping. On those systems, you -must start Emacs with the @samp{temacs -l loadup} command each time you -use it. This takes a substantial time, but since you need to start -Emacs once a day at most---or once a week if you never log out---the -extra time is not too severe a problem. + If you port Emacs to a new operating system, and are not able to +implement dumping, then Emacs must load @file{loadup.el} each time it +starts. @cindex @file{site-load.el} - You can specify additional files to preload by writing a library named -@file{site-load.el} that loads them. You may need to add a definition +@file{site-load.el} that loads them. You may need to rebuild Emacs +with an added definition @example #define SITELOAD_PURESIZE_EXTRA @var{n} @end example @noindent -to make @var{n} added bytes of pure space to hold the additional files. +to make @var{n} added bytes of pure space to hold the additional files; +see @file{src/puresize.h}. (Try adding increments of 20000 until it is big enough.) However, the advantage of preloading additional files decreases as machines get faster. On modern machines, it is usually not advisable. @@ -108,11 +107,11 @@ Load the files with @file{site-init.el}, then copy the files into the installation directory for Lisp files when you install Emacs. @item -Specify a non-@code{nil} value for -@code{byte-compile-dynamic-docstrings} as a local variable in each of these -files, and load them with either @file{site-load.el} or -@file{site-init.el}. (This method has the drawback that the -documentation strings take up space in Emacs all the time.) +Specify a @code{nil} value for @code{byte-compile-dynamic-docstrings} +as a local variable in each of these files, and load them with either +@file{site-load.el} or @file{site-init.el}. (This method has the +drawback that the documentation strings take up space in Emacs all the +time.) @end itemize It is not advisable to put anything in @file{site-load.el} or @@ -121,17 +120,27 @@ expect in an ordinary unmodified Emacs. If you feel you must override normal features for your site, do it with @file{default.el}, so that users can override your changes if they wish. @xref{Startup Summary}. - In a package that can be preloaded, it is sometimes useful to -specify a computation to be done when Emacs subsequently starts up. -For this, use @code{eval-at-startup}: + In a package that can be preloaded, it is sometimes necessary (or +useful) to delay certain evaluations until Emacs subsequently starts +up. The vast majority of such cases relate to the values of +customizable variables. For example, @code{tutorial-directory} is a +variable defined in @file{startup.el}, which is preloaded. The default +value is set based on @code{data-directory}. The variable needs to +access the value of @code{data-directory} when Emacs starts, not when +it is dumped, because the Emacs executable has probably been installed +in a different location since it was dumped. -@defmac eval-at-startup body@dots{} -This evaluates the @var{body} forms, either immediately if running in -an Emacs that has already started up, or later when Emacs does start -up. Since the value of the @var{body} forms is not necessarily -available when the @code{eval-at-startup} form is run, that form -always returns @code{nil}. -@end defmac +@defun custom-initialize-delay symbol value +This function delays the initialization of @var{symbol} to the next +Emacs start. You normally use this function by specifying it as the +@code{:initialize} property of a customizable variable. (The argument +@var{value} is unused, and is provided only for compatiblity with the +form Custom expects.) +@end defun + +In the unlikely event that you need a more general functionality than +@code{custom-initialize-delay} provides, you can use +@code{before-init-hook} (@pxref{Startup Summary}). @defun dump-emacs to-file from-file @cindex unexec @@ -144,15 +153,15 @@ you must run Emacs with @samp{-batch}. @end defun @node Pure Storage -@appendixsec Pure Storage +@section Pure Storage @cindex pure storage Emacs Lisp uses two kinds of storage for user-created Lisp objects: @dfn{normal storage} and @dfn{pure storage}. Normal storage is where -all the new data created during an Emacs session are kept; see the -following section for information on normal storage. Pure storage is -used for certain data in the preloaded standard Lisp files---data that -should never change during actual use of Emacs. +all the new data created during an Emacs session are kept +(@pxref{Garbage Collection}). Pure storage is used for certain data +in the preloaded standard Lisp files---data that should never change +during actual use of Emacs. Pure storage is allocated only while @file{temacs} is loading the standard preloaded Lisp libraries. In the file @file{emacs}, it is @@ -161,14 +170,14 @@ the memory space can be shared by all the Emacs jobs running on the machine at once. Pure storage is not expandable; a fixed amount is allocated when Emacs is compiled, and if that is not sufficient for the preloaded libraries, @file{temacs} allocates dynamic memory for -the part that didn't fit. If that happens, you should increase the -compilation parameter @code{PURESIZE} in the file -@file{src/puresize.h} and rebuild Emacs, even though the resulting -image will work: garbage collection is disabled in this situation, -causing a memory leak. Such an overflow normally won't happen unless you -try to preload additional libraries or add features to the standard -ones. Emacs will display a warning about the overflow when it -starts. +the part that didn't fit. The resulting image will work, but garbage +collection (@pxref{Garbage Collection}) is disabled in this situation, +causing a memory leak. Such an overflow normally won't happen unless +you try to preload additional libraries or add features to the +standard ones. Emacs will display a warning about the overflow when +it starts. If this happens, you should increase the compilation +parameter @code{SYSTEM_PURESIZE_EXTRA} in the file +@file{src/puresize.h} and rebuild Emacs. @defun purecopy object This function makes a copy in pure storage of @var{object}, and returns @@ -179,8 +188,7 @@ not make copies of other objects such as symbols, but just returns them unchanged. It signals an error if asked to copy markers. This function is a no-op except while Emacs is being built and dumped; -it is usually called only in the file @file{emacs/lisp/loaddefs.el}, but -a few packages call it just in case you decide to preload them. +it is usually called only in preloaded Lisp files. @end defun @defvar pure-bytes-used @@ -205,7 +213,7 @@ You should not change this flag in a running Emacs. @end defvar @node Garbage Collection -@appendixsec Garbage Collection +@section Garbage Collection @cindex garbage collection @cindex memory allocation @@ -354,7 +362,7 @@ object consists of a header and the storage for the string text itself; the latter is only allocated when the string is created.) @end table -If there was overflow in pure space (see the previous section), +If there was overflow in pure space (@pxref{Pure Storage}), @code{garbage-collect} returns @code{nil}, because a real garbage collection can not be done in this situation. @end deffn @@ -362,7 +370,7 @@ collection can not be done in this situation. @defopt garbage-collection-messages If this variable is non-@code{nil}, Emacs displays a message at the beginning and end of garbage collection. The default value is -@code{nil}, meaning there are no such messages. +@code{nil}. @end defopt @defvar post-gc-hook @@ -381,7 +389,7 @@ that the subsequent garbage collection does not happen immediately when the threshold is exhausted, but only the next time the Lisp evaluator is called. -The initial threshold value is 400,000. If you specify a larger +The initial threshold value is 800,000. If you specify a larger value, garbage collection will happen less often. This reduces the amount of time spent garbage collecting, but increases total memory use. You may want to do this when running a program that creates lots of @@ -448,7 +456,7 @@ point number. These functions and variables give information about the total amount of memory allocation that Emacs has done, broken down by data type. Note the difference between these and the values returned by -@code{(garbage-collect)}; those count objects that currently exist, but +@code{garbage-collect}; those count objects that currently exist, but these count the number or size of all allocations, including those for objects that have since been freed. @@ -494,7 +502,7 @@ Emacs session. @end defvar @node Writing Emacs Primitives -@appendixsec Writing Emacs Primitives +@section Writing Emacs Primitives @cindex primitive function internals @cindex writing Emacs primitives @@ -512,7 +520,7 @@ appearance.) @group DEFUN ("or", For, Sor, 0, UNEVALLED, 0, doc: /* Eval args until one of them yields non-nil, then return that -value. The remaining args are not evalled at all. +value. The remaining args are not evalled at all. If all args return nil, return nil. @end group @group @@ -530,7 +538,7 @@ usage: (or CONDITIONS ...) */) @group while (CONSP (args)) @{ - val = Feval (XCAR (args)); + val = eval_sub (XCAR (args)); if (!NILP (val)) break; args = XCDR (args); @@ -595,6 +603,8 @@ the argument of @code{interactive} in a Lisp function. In the case of called interactively. A value of @code{""} indicates a function that should receive no arguments when called interactively. If the value begins with a @samp{(}, the string is evaluated as a Lisp form. +For examples of the last two forms, see @code{widen} and +@code{narrow-to-region} in @file{editfns.c}. @item doc This is the documentation string. It uses C comment syntax rather @@ -633,19 +643,22 @@ have types @code{int} and @w{@code{Lisp_Object *}}. ``protect'' a variable from garbage collection---to inform the garbage collector that it must look in that variable and regard its contents as an accessible object. GC protection is necessary whenever you call -@code{Feval} or anything that can directly or indirectly call -@code{Feval}. At such a time, any Lisp object that this function may -refer to again must be protected somehow. +@code{eval_sub} (or @code{Feval}) either directly or indirectly. +At such a time, any Lisp object that this function may refer to again +must be protected somehow. It suffices to ensure that at least one pointer to each object is GC-protected; that way, the object cannot be recycled, so all pointers to it remain valid. Thus, a particular local variable can do without protection if it is certain that the object it points to will be -preserved by some other pointer (such as another local variable which -has a @code{GCPRO})@footnote{Formerly, strings were a special -exception; in older Emacs versions, every local variable that might -point to a string needed a @code{GCPRO}.}. Otherwise, the local -variable needs a @code{GCPRO}. +preserved by some other pointer (such as another local variable that +has a @code{GCPRO}). +@ignore +@footnote{Formerly, strings were a special exception; in older Emacs +versions, every local variable that might point to a string needed a +@code{GCPRO}.}. +@end ignore +Otherwise, the local variable needs a @code{GCPRO}. The macro @code{GCPRO1} protects just one local variable. If you want to protect two variables, use @code{GCPRO2} instead; repeating @@ -674,6 +687,7 @@ with initializers are allocated in an area of memory that becomes read-only (on certain operating systems) as a result of dumping Emacs. @xref{Pure Storage}. +@c FIXME is this still true? I don't think so... Do not use static variables within functions---place all static variables at top level in the file. This is necessary because Emacs on some operating systems defines the keyword @code{static} as a null @@ -688,12 +702,11 @@ store a suitable subr object in its function cell. The code looks like this: @example -defsubr (&@var{subr-structure-name}); +defsubr (&@var{sname}); @end example @noindent -Here @var{subr-structure-name} is the name you used as the third -argument to @code{DEFUN}. +Here @var{sname} is the name you used as the third argument to @code{DEFUN}. If you add a new primitive to a file that already has Lisp primitives defined in it, find the function (near the end of the file) named @@ -718,6 +731,11 @@ with a value that is either @code{t} or @code{nil}. Note that variables defined with @code{DEFVAR_BOOL} are automatically added to the list @code{byte-boolean-vars} used by the byte compiler. +@cindex defining customization variables in C + If you want to make a Lisp variables that is defined in C behave +like one declared with @code{defcustom}, add an appropriate entry to +@file{cus-start.el}. + @cindex @code{staticpro}, protection from GC If you define a file-scope C variable of type @code{Lisp_Object}, you must protect it from garbage-collection by calling @code{staticpro} @@ -734,48 +752,53 @@ of macros and functions to manipulate Lisp objects. @smallexample @group DEFUN ("coordinates-in-window-p", Fcoordinates_in_window_p, - Scoordinates_in_window_p, 2, 2, - "xSpecify coordinate pair: \nXExpression which evals to window: ", - "Return non-nil if COORDINATES is in WINDOW.\n\ -COORDINATES is a cons of the form (X . Y), X and Y being distances\n\ -... + Scoordinates_in_window_p, 2, 2, 0, + doc: /* Return non-nil if COORDINATES are in WINDOW. + ... @end group @group -If they are on the border between WINDOW and its right sibling,\n\ - `vertical-line' is returned.") - (coordinates, window) - register Lisp_Object coordinates, window; + or `right-margin' is returned. */) + (register Lisp_Object coordinates, Lisp_Object window) @{ + struct window *w; + struct frame *f; int x, y; + Lisp_Object lx, ly; @end group @group - CHECK_LIVE_WINDOW (window, 0); - CHECK_CONS (coordinates, 1); - x = XINT (Fcar (coordinates)); - y = XINT (Fcdr (coordinates)); + CHECK_LIVE_WINDOW (window); + w = XWINDOW (window); + f = XFRAME (w->frame); + CHECK_CONS (coordinates); + lx = Fcar (coordinates); + ly = Fcdr (coordinates); + CHECK_NUMBER_OR_FLOAT (lx); + CHECK_NUMBER_OR_FLOAT (ly); + x = FRAME_PIXEL_X_FROM_CANON_X (f, lx) + FRAME_INTERNAL_BORDER_WIDTH(f); + y = FRAME_PIXEL_Y_FROM_CANON_Y (f, ly) + FRAME_INTERNAL_BORDER_WIDTH(f); @end group @group - switch (coordinates_in_window (XWINDOW (window), &x, &y)) + switch (coordinates_in_window (w, x, y)) @{ - case 0: /* NOT in window at all. */ + case ON_NOTHING: /* NOT in window at all. */ return Qnil; @end group -@group - case 1: /* In text part of window. */ - return Fcons (make_number (x), make_number (y)); -@end group + ... @group - case 2: /* In mode line of window. */ + case ON_MODE_LINE: /* In mode line of window. */ return Qmode_line; @end group + ... + @group - case 3: /* On right border of window. */ - return Qvertical_line; + case ON_SCROLL_BAR: /* On scroll-bar of window. */ + /* Historically we are supposed to return nil in this case. */ + return Qnil; @end group @group @@ -806,14 +829,15 @@ number of arguments. They work by calling @code{Ffuncall}. functions. If you define a function which is side-effect free, update the code -in @file{byte-opt.el} which binds @code{side-effect-free-fns} and +in @file{byte-opt.el} that binds @code{side-effect-free-fns} and @code{side-effect-and-error-free-fns} so that the compiler optimizer knows about it. @node Object Internals -@appendixsec Object Internals +@section Object Internals @cindex object internals +@c FIXME Is this still true? Does --with-wide-int affect anything? GNU Emacs Lisp manipulates many different types of data. The actual data are stored in a heap and the only access that programs have to it is through pointers. Each pointer is 32 bits wide on 32-bit machines, @@ -838,15 +862,15 @@ explicitly using a suitable predicate (@pxref{Type Predicates}). @end menu @node Buffer Internals -@appendixsubsec Buffer Internals +@subsection Buffer Internals @cindex internals, of buffer @cindex buffer internals - Two structures are used to represent buffers in C. The -@code{buffer_text} structure contains fields describing the text of a -buffer; the @code{buffer} structure holds other fields. In the case -of indirect buffers, two or more @code{buffer} structures reference -the same @code{buffer_text} structure. + Two structures (see @file{buffer.h}) are used to represent buffers +in C. The @code{buffer_text} structure contains fields describing the +text of a buffer; the @code{buffer} structure holds other fields. In +the case of indirect buffers, two or more @code{buffer} structures +reference the same @code{buffer_text} structure. Here are some of the fields in @code{struct buffer_text}: @@ -904,8 +928,9 @@ The interval tree which records the text properties of this buffer. Some of the fields of @code{struct buffer} are: @table @code -@item next -Points to the next buffer, in the chain of all buffers (including +@item header +A @code{struct vectorlike_header} structure where @code{header.next} +points to the next buffer, in the chain of all buffers (including killed buffers). This chain is used only for garbage collection, in order to collect killed buffers properly. Note that vectors, and most kinds of objects allocated as vectors, are all on one chain, but @@ -979,6 +1004,8 @@ after the current overlay center. @xref{Managing Overlays}. and @code{overlays_after} is sorted in order of increasing beginning position. +@c FIXME? the following are now all Lisp_Object BUFFER_INTERNAL_FIELD (foo). + @item name A Lisp string that names the buffer. It is guaranteed to be unique. @xref{Buffer Names}. @@ -1001,6 +1028,7 @@ the value of the buffer-local variable @code{buffer-file-name} @item undo_list @itemx backed_up @itemx auto_save_file_name +@itemx auto_save_file_format @itemx read_only @itemx file_format @itemx file_truename @@ -1011,8 +1039,7 @@ These fields store the values of Lisp variables that are automatically buffer-local (@pxref{Buffer-Local Variables}), whose corresponding variable names have the additional prefix @code{buffer-} and have underscores replaced with dashes. For instance, @code{undo_list} -stores the value of @code{buffer-undo-list}. @xref{Standard -Buffer-Local Variables}. +stores the value of @code{buffer-undo-list}. @item mark The mark for the buffer. The mark is a marker, hence it is also @@ -1068,15 +1095,15 @@ when the buffer is not current. @itemx truncate_lines @itemx word_wrap @itemx ctl_arrow +@itemx bidi_display_reordering +@itemx bidi_paragraph_direction @itemx selective_display @itemx selective_display_ellipses @itemx overwrite_mode @itemx abbrev_mode -@itemx display_table @itemx mark_active @itemx enable_multibyte_characters @itemx buffer_file_coding_system -@itemx auto_save_file_format @itemx cache_long_line_scans @itemx point_before_scroll @itemx left_fringe_width @@ -1095,7 +1122,6 @@ These fields store the values of Lisp variables that are automatically buffer-local (@pxref{Buffer-Local Variables}), whose corresponding variable names have underscores replaced with dashes. For instance, @code{mode_line_format} stores the value of @code{mode-line-format}. -@xref{Standard Buffer-Local Variables}. @item last_selected_window This is the last window that was selected with this buffer in it, or @code{nil} @@ -1103,11 +1129,12 @@ if that window no longer displays this buffer. @end table @node Window Internals -@appendixsubsec Window Internals +@subsection Window Internals @cindex internals, of window @cindex window internals - Windows have the following accessible fields: + The fields of a window (for a complete list, see the definition of +@code{struct window} in @file{window.h}) include: @table @code @item frame @@ -1131,13 +1158,14 @@ leaves of the tree, which actually display buffers. These fields contain the window's leftmost child and its topmost child respectively. @code{hchild} is used if the window is subdivided horizontally by child windows, and @code{vchild} if it is subdivided -vertically. +vertically. In a live window, only one of @code{hchild}, @code{vchild}, +and @code{buffer} (q.v.) is non-@code{nil}. @item next @itemx prev The next sibling and previous sibling of this window. @code{next} is -@code{nil} if the window is the rightmost or bottommost in its group; -@code{prev} is @code{nil} if it is the leftmost or topmost in its +@code{nil} if the window is the right-most or bottom-most in its group; +@code{prev} is @code{nil} if it is the left-most or top-most in its group. @item left_col @@ -1208,11 +1236,19 @@ window was last updated. @item vertical_scroll_bar This window's vertical scroll bar. -@item left_margin_width -@itemx right_margin_width +@item left_margin_cols +@itemx right_margin_cols The widths of the left and right margins in this window. A value of -@code{nil} means to use the buffer's value of @code{left-margin-width} -or @code{right-margin-width}. +@code{nil} means no margin. + +@item left_fringe_width +@itemx right_fringe_width +The widths of the left and right fringes in this window. A value of +@code{nil} or @code{t} means use the values of the frame. + +@item fringes_outside_margins +A non-@code{nil} value means the fringes outside the display margins; +othersize they are between the margin and the text. @item window_end_pos This is computed as @code{z} minus the buffer position of the last glyph @@ -1228,7 +1264,7 @@ The window-relative vertical position of the line containing @item window_end_valid This field is set to a non-@code{nil} value if @code{window_end_pos} is truly -valid. This is @code{nil} if nontrivial redisplay is preempted since in that +valid. This is @code{nil} if nontrivial redisplay is pre-empted, since in that case the display that @code{window_end_pos} was computed for did not get onto the screen. @@ -1242,13 +1278,19 @@ The value of @code{cursor} as of the last redisplay that finished. A structure describing where the cursor of this window physically is. @item phys_cursor_type -The type of cursor that was last displayed on this window. +@c FIXME What is this? +@c itemx phys_cursor_ascent +@itemx phys_cursor_height +@itemx phys_cursor_width +The type, height, and width of the cursor that was last displayed on +this window. @item phys_cursor_on_p This field is non-zero if the cursor is physically on. @item cursor_off_p -Non-zero means the cursor in this window is logically on. +Non-zero means the cursor in this window is logically off. This is +used for blinking the cursor. @item last_cursor_off_p This field contains the value of @code{cursor_off_p} as of the time of @@ -1279,7 +1321,8 @@ This is used for displaying the line number of point in the mode line. @item base_line_pos The position in the buffer for which the line number is known, or -@code{nil} meaning none is known. +@code{nil} meaning none is known. If it is a buffer, don't display +the line number as long as the window shows that buffer. @item region_showing If the region (or part of it) is highlighted in this window, this field @@ -1291,18 +1334,17 @@ The column number currently displayed in this window's mode line, or @code{nil} if column numbers are not being displayed. @item current_matrix -A glyph matrix describing the current display of this window. - -@item desired_matrix -A glyph matrix describing the desired display of this window. +@itemx desired_matrix +Glyph matrices describing the current and desired display of this window. @end table @node Process Internals -@appendixsubsec Process Internals +@subsection Process Internals @cindex internals, of process @cindex process internals - The fields of a process are: + The fields of a process (for a complete list, see the definition of +@code{struct Lisp_Process} in @file{process.h}) include: @table @code @item name @@ -1314,21 +1356,24 @@ process. For a network or serial process, it is @code{nil} if the process is running or @code{t} if the process is stopped. @item filter -A function used to accept output from the process instead of a buffer, -or @code{nil}. +If non-@code{nil}, a function used to accept output from the process +instead of a buffer. @item sentinel -A function called whenever the process receives a signal, or @code{nil}. +If non-@code{nil}, a function called whenever the state of the process +changes. @item buffer The associated buffer of the process. @item pid An integer, the operating system's process @acronym{ID}. +Pseudo-processes such as network or serial connections use a value of 0. @item childp -A flag, non-@code{nil} if this is really a child process. -It is @code{nil} for a network or serial connection. +A flag, @code{t} if this is really a child process. For a network or +serial connection, it is a plist based on the arguments to +@code{make-network-process} or @code{make-serial-process}. @item mark A marker indicating the position of the end of the last output from this @@ -1339,10 +1384,8 @@ of the buffer. If this is non-zero, killing Emacs while this process is still running does not ask for confirmation about killing the process. -@item raw_status_low -@itemx raw_status_high -These two fields record 16 bits each of the process status returned by -the @code{wait} system call. +@item raw_status +The raw process status, as returned by the @code{wait} system call. @item status The process status, as @code{process-status} should return it. @@ -1363,11 +1406,6 @@ The file descriptor for input from the process. @item outfd The file descriptor for output to the process. -@item subtty -The file descriptor for the terminal that the subprocess is using. (On -some systems, there is no need to record this, so the value is -@code{nil}.) - @item tty_name The name of the terminal that the subprocess is using, or @code{nil} if it is using pipes. @@ -1387,15 +1425,14 @@ Coding-system for encoding the output to this process. @item encoding_buf A working buffer for encoding. -@item encoding_carryover -Size of carryover in encoding. - @item inherit_coding_system_flag Flag to set @code{coding-system} of the process buffer from the coding system used to decode process output. @item type Symbol indicating the type of process: @code{real}, @code{network}, -@code{serial} +@code{serial}. @end table + +@c FIXME Mention src/globals.h somewhere in this file? diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index a68bcfa0fe7..365c5f3122e 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -522,16 +522,16 @@ The minor version number of Emacs, as an integer. For Emacs version @node Acknowledgements @section Acknowledgements - This manual was written by Robert Krawitz, Bil Lewis, Dan LaLiberte, -Richard@tie{}M. Stallman and Chris Welty, the volunteers of the GNU -manual group, in an effort extending over several years. + This manual was originally written by Robert Krawitz, Bil Lewis, Dan +LaLiberte, Richard@tie{}M. Stallman and Chris Welty, the volunteers of +the GNU manual group, in an effort extending over several years. Robert@tie{}J. Chassell helped to review and edit the manual, with the support of the Defense Advanced Research Projects Agency, ARPA Order 6082, arranged by Warren@tie{}A. Hunt, Jr.@: of Computational Logic, -Inc. Additional sections were written by Miles Bader, Lars Brinkhoff, -Chong Yidong, Kenichi Handa, Lute Kamstra, Juri Linkov, Glenn Morris, -Thien-Thi Nguyen, Dan Nicolaescu, Martin Rudalics, Kim F. Storm, Luc -Teirlinck, and Eli Zaretskii. +Inc. Additional sections have since been written by Miles Bader, Lars +Brinkhoff, Chong Yidong, Kenichi Handa, Lute Kamstra, Juri Linkov, +Glenn Morris, Thien-Thi Nguyen, Dan Nicolaescu, Martin Rudalics, Kim +F. Storm, Luc Teirlinck, and Eli Zaretskii, and others. Corrections were supplied by Drew Adams, Juanma Barranquero, Karl Berry, Jim Blandy, Bard Bloom, Stephane Boucher, David Boyes, Alan @@ -546,3 +546,6 @@ Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, Per Starbck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. + + For a more complete list of contributors, please see the relevant +ChangeLog file in the Emacs sources. diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index 5652d94114e..669f058ef13 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/keymaps @node Keymaps, Modes, Command Loop, Top @@ -686,7 +686,7 @@ and exit commands. @xref{Intro to Minibuffers}. Emacs has other keymaps that are used in a different way---translating events within @code{read-key-sequence}. @xref{Translation Keymaps}. - @xref{Standard Keymaps}, for a list of standard keymaps. + @xref{Standard Keymaps}, for a list of some standard keymaps. @defun current-active-maps &optional olp position This returns the list of active keymaps that would be used by the diff --git a/doc/lispref/locals.texi b/doc/lispref/locals.texi deleted file mode 100644 index a075d955add..00000000000 --- a/doc/lispref/locals.texi +++ /dev/null @@ -1,217 +0,0 @@ -@c -*-texinfo-*- -@c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. -@c See the file elisp.texi for copying conditions. -@setfilename ../../info/locals -@node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top -@appendix Buffer-Local Variables -@c The title "Standard Buffer-Local Variables" is too long for -@c smallbook. --rjc 30mar92 -@cindex buffer-local variables, general-purpose -@cindex standard buffer-local variables - - The table below lists the general-purpose Emacs variables that -automatically become buffer-local in each buffer. Most become -buffer-local only when set; a few of them are always local in every -buffer. Many Lisp packages define such variables for their internal -use, but we don't try to list them all here. - - Every buffer-specific minor mode defines a buffer-local variable -named @samp{@var{modename}-mode}. @xref{Minor Mode Conventions}. -Minor mode variables will not be listed here. - -@table @code -@item auto-fill-function -@xref{Auto Filling}. - -@item buffer-auto-save-file-format -@xref{Format Conversion}. - -@item buffer-auto-save-file-name -@xref{Auto-Saving}. - -@item buffer-backed-up -@xref{Making Backups}. - -@item buffer-display-count -@xref{Buffers and Windows}. - -@item buffer-display-table -@xref{Active Display Table}. - -@item buffer-display-time -@xref{Buffers and Windows}. - -@item buffer-file-coding-system -@xref{Encoding and I/O}. - -@item buffer-file-format -@xref{Format Conversion}. - -@item buffer-file-name -@xref{Buffer File Name}. - -@item buffer-file-number -@xref{Buffer File Name}. - -@item buffer-file-truename -@xref{Buffer File Name}. - -@item buffer-file-type -@xref{MS-DOS File Types}. - -@item buffer-invisibility-spec -@xref{Invisible Text}. - -@item buffer-offer-save -@xref{Killing Buffers}. - -@item buffer-save-without-query -@xref{Killing Buffers}. - -@item buffer-read-only -@xref{Read Only Buffers}. - -@item buffer-saved-size -@xref{Auto-Saving}. - -@item buffer-undo-list -@xref{Undo}. - -@item cache-long-line-scans -@xref{Truncation}. - -@item case-fold-search -@xref{Searching and Case}. - -@item comment-column -@xref{Comments,,, emacs, The GNU Emacs Manual}. - -@item ctl-arrow -@xref{Usual Display}. - -@item cursor-in-non-selected-windows -@xref{Basic Windows}. - -@item cursor-type -@xref{Cursor Parameters}. - -@item default-directory -@xref{File Name Expansion}. - -@item defun-prompt-regexp -@xref{List Motion}. - -@item desktop-save-buffer -@xref{Desktop Save Mode}. - -@item enable-multibyte-characters -@ref{Text Representations}. - -@item fill-column -@xref{Margins}. - -@item fill-prefix -@xref{Margins}. - -@item font-lock-defaults -@xref{Font Lock Basics}. - -@item fringe-cursor-alist -@xref{Fringe Cursors}. - -@item fringe-indicator-alist -@xref{Fringe Indicators}. - -@item fringes-outside-margins -@xref{Fringes}. - -@item goal-column -@xref{Moving Point,,, emacs, The GNU Emacs Manual}. - -@item header-line-format -@xref{Header Lines}. - -@item indicate-buffer-boundaries -@xref{Usual Display}. - -@item indicate-empty-lines -@xref{Usual Display}. - -@item left-fringe-width -@xref{Fringe Size/Pos}. - -@item left-margin -@xref{Margins}. - -@item left-margin-width -@xref{Display Margins}. - -@item line-spacing -@xref{Line Height}. - -@item local-abbrev-table -@xref{Standard Abbrev Tables}. - -@item major-mode -@xref{Mode Help}. - -@item mark-active -@xref{The Mark}. - -@item mark-ring -@xref{The Mark}. - -@item mode-line-buffer-identification -@xref{Mode Line Variables}. - -@item mode-line-format -@xref{Mode Line Data}. - -@item mode-line-modified -@xref{Mode Line Variables}. - -@item mode-line-process -@xref{Mode Line Variables}. - -@item mode-name -@xref{Mode Line Variables}. - -@item point-before-scroll -Used for communication between mouse commands and scroll-bar commands. - -@item right-fringe-width -@xref{Fringe Size/Pos}. - -@item right-margin-width -@xref{Display Margins}. - -@item save-buffer-coding-system -@xref{Encoding and I/O}. - -@item scroll-bar-width -@xref{Scroll Bars}. - -@item scroll-down-aggressively -@itemx scroll-up-aggressively -@xref{Textual Scrolling}. - -@item selective-display -@itemx selective-display-ellipses -@xref{Selective Display}. - -@item tab-width -@xref{Usual Display}. - -@item truncate-lines -@xref{Truncation}. - -@item vertical-scroll-bar -@xref{Scroll Bars}. - -@item window-size-fixed -@xref{Resizing Windows}. - -@item write-contents-functions -@xref{Saving Buffers}. -@end table diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in index 11b6beab84d..0a4aea2d7e0 100644 --- a/doc/lispref/makefile.w32-in +++ b/doc/lispref/makefile.w32-in @@ -1,6 +1,6 @@ # -*- Makefile -*- for the GNU Emacs Lisp Reference Manual. -# Copyright (C) 2003-2012 Free Software Foundation, Inc. +# Copyright (C) 2003-2012 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -72,7 +72,6 @@ srcs = \ $(srcdir)/keymaps.texi \ $(srcdir)/lists.texi \ $(srcdir)/loading.texi \ - $(srcdir)/locals.texi \ $(srcdir)/macros.texi \ $(srcdir)/maps.texi \ $(srcdir)/markers.texi \ diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi index 24cd64a6b35..b303562028b 100644 --- a/doc/lispref/maps.texi +++ b/doc/lispref/maps.texi @@ -1,39 +1,40 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/maps -@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top +@node Standard Keymaps, Standard Hooks, Standard Errors, Top @appendix Standard Keymaps -@cindex standard keymaps +@cindex keymaps, standard -The following symbols are used as the names for various keymaps. -Some of these exist when Emacs is first started, others are -loaded only when their respective mode is used. This is not -an exhaustive list. +In this section we list some of the more general keymaps. Many of +these exist when Emacs is first started, but some are loaded only when +the respective feature is accessed. -Several keymaps are used in the minibuffer. @xref{Completion Commands}. - -Almost all of these maps are used as local maps. Indeed, of the modes -that presently exist, only Vip mode and Terminal mode ever change the -global keymap. +There are many other, more specialized, maps than these; in particular +those associated with major and minor modes. The minibuffer uses +several keymaps (@pxref{Completion Commands}). For more details on +keymaps, @pxref{Keymaps}. +@c Don't list individual major mode keymaps here, only more general things. +@c Only add vindex for things not covered elsewhere in this manual. +@c Don't add xrefs to things covered in {Keymaps}. @table @code -@item apropos-mode-map -@vindex apropos-mode-map -A sparse keymap for @code{apropos} buffers. +@item 2C-mode-map +A sparse keymap for subcommands of the prefix @kbd{C-x 6}.@* +@xref{Two-Column,, Two-Column Editing, emacs, The GNU Emacs Manual}. -@item Buffer-menu-mode-map -@vindex Buffer-menu-mode-map -A full keymap used by Buffer Menu mode. +@item abbrev-map +@vindex abbrev-map +A sparse keymap for subcommands of the prefix @kbd{C-x a}.@* +@xref{Defining Abbrevs,,, emacs, The GNU Emacs Manual}. -@item c-mode-map -@vindex c-mode-map -A sparse keymap used by C mode. +@item button-buffer-map +A sparse keymap useful for buffers containing buffers.@* +You may want to use this as a parent keymap. @xref{Buttons}. -@item command-history-map -@vindex command-history-map -A full keymap used by Command History mode. +@item button-map +A sparse keymap used by buttons. @item ctl-x-4-map A sparse keymap for subcommands of the prefix @kbd{C-x 4}. @@ -44,196 +45,155 @@ A sparse keymap for subcommands of the prefix @kbd{C-x 5}. @item ctl-x-map A full keymap for @kbd{C-x} commands. -@item custom-mode-map -A full keymap for Custom mode. - -@item debugger-mode-map -@vindex debugger-mode-map -A full keymap used by Debugger mode. - -@item dired-mode-map -@vindex dired-mode-map -A full keymap for @code{dired-mode} buffers. - -@item edit-abbrevs-map -@vindex edit-abbrevs-map -A sparse keymap used in @code{edit-abbrevs}. - -@item edit-tab-stops-map -@vindex edit-tab-stops-map -A sparse keymap used in @code{edit-tab-stops}. - -@item electric-buffer-menu-mode-map -@vindex electric-buffer-menu-mode-map -A full keymap used by Electric Buffer Menu mode. - -@item electric-history-map -@vindex electric-history-map -A full keymap used by Electric Command History mode. - -@item emacs-lisp-mode-map -@vindex emacs-lisp-mode-map -A sparse keymap used by Emacs Lisp mode. +@item ctl-x-r-map +@vindex ctl-x-r-map +A sparse keymap for subcommands of the prefix @kbd{C-x r}.@* +@xref{Registers,,, emacs, The GNU Emacs Manual}. @item esc-map A full keymap for @kbd{ESC} (or @kbd{Meta}) commands. -@item facemenu-menu -@vindex facemenu-menu -The sparse keymap that displays the Text Properties menu. +@item facemenu-keymap +A sparse keymap used for the @kbd{M-o} prefix key. -@item facemenu-background-menu -@vindex facemenu-background-menu -The sparse keymap that displays the Background Color submenu of the Text -Properties menu. - -@item facemenu-face-menu -@vindex facemenu-face-menu -The sparse keymap that displays the Face submenu of the Text Properties menu. - -@item facemenu-foreground-menu -@vindex facemenu-foreground-menu -The sparse keymap that displays the Foreground Color submenu of the Text -Properties menu. - -@item facemenu-indentation-menu -@vindex facemenu-indentation-menu -The sparse keymap that displays the Indentation submenu of the Text -Properties menu. - -@item facemenu-justification-menu -@vindex facemenu-justification-menu -The sparse keymap that displays the Justification submenu of the Text -Properties menu. - -@item facemenu-special-menu -@vindex facemenu-special-menu -The sparse keymap that displays the Special Props submenu of the Text -Properties menu. - -@item local-function-key-map -The keymap for translating key sequences to preferred alternatives.@* -If there are none, then it contains an empty sparse keymap. -@xref{Translation Keymaps}. +@item function-key-map +The parent keymap of all @code{local-function-key-map} (q.v.) instances. +@ignore +@c Doesn't exist. @item fundamental-mode-map @vindex fundamental-mode-map The sparse keymap for Fundamental mode.@* It is empty and should not be changed. +@end ignore @item global-map The full keymap containing default global key bindings.@* Modes should not modify the Global map. -@item grep-mode-map -@vindex grep-mode-map -The keymap for @code{grep-mode} buffers. +@item goto-map +A sparse keymap used for the @kbd{M-g} prefix key. @item help-map -The sparse keymap for the keys that follow the help character @kbd{C-h}. - -@item help-mode-map -@vindex help-mode-map -The sparse keymap for Help mode. +A sparse keymap for the keys following the help character @kbd{C-h}.@* +@xref{Help Functions}. @item Helper-help-map -@vindex Helper-help-map A full keymap used by the help utility package.@* -It has the same keymap in its value cell and in its function -cell. - -@item Info-edit-map -@vindex Info-edit-map -A sparse keymap used by the @code{Info-edit} command. - -@item Info-mode-map -@vindex Info-mode-map -A sparse keymap containing Info commands. +It has the same keymap in its value cell and in its function cell. @item input-decode-map The keymap for translating keypad and function keys.@* If there are none, then it contains an empty sparse keymap. @xref{Translation Keymaps}. -@item isearch-mode-map -@vindex isearch-mode-map -A keymap that defines the characters you can type within incremental -search. - @item key-translation-map A keymap for translating keys. This one overrides ordinary key bindings, unlike @code{local-function-key-map}. @xref{Translation Keymaps}. -@item kmacro-map -@vindex kmacro-map -A sparse keymap for keys that follows the @kbd{C-x C-k} prefix -search. +@item kmacro-keymap +@vindex kmacro-keymap +A sparse keymap for keys that follows the @kbd{C-x C-k} prefix search.@* +@xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}. -@item lisp-interaction-mode-map -@vindex lisp-interaction-mode-map -A sparse keymap used by Lisp Interaction mode. - -@item lisp-mode-map -@vindex lisp-mode-map -A sparse keymap used by Lisp mode. - -@item menu-bar-edit-menu -@vindex menu-bar-edit-menu -The keymap which displays the Edit menu in the menu bar. +@item local-function-key-map +The keymap for translating key sequences to preferred alternatives.@* +If there are none, then it contains an empty sparse keymap. +@xref{Translation Keymaps}. @item menu-bar-file-menu +@itemx menu-bar-edit-menu +@itemx menu-bar-options-menu +@itemx global-buffers-menu-map +@itemx menu-bar-tools-menu +@itemx menu-bar-help-menu +@cindex menu bar keymaps @vindex menu-bar-file-menu -The keymap which displays the File menu in the menu bar. - -@item menu-bar-help-menu -@vindex menu-bar-help-menu -The keymap which displays the Help menu in the menu bar. - -@item menu-bar-mule-menu -@vindex menu-bar-mule-menu -The keymap which displays the Mule menu in the menu bar. - -@item menu-bar-search-menu -@vindex menu-bar-search-menu -The keymap which displays the Search menu in the menu bar. - -@item menu-bar-tools-menu +@vindex menu-bar-options-menu +@vindex global-buffers-menu-map @vindex menu-bar-tools-menu -The keymap which displays the Tools menu in the menu bar. +@vindex menu-bar-help-menu +These keymaps display the main, top-level menus in the menu bar.@* +Some of them contain sub-menus. For example, the Edit menu contains +@code{menu-bar-search-menu}, etc. @xref{Menu Bar}. +@ignore +TODO list all submenus? +There are probably too many, and it would not be useful to do so, eg: +The Edit menu includes @code{yank-menu}, @code{menu-bar-search-menu}, +@code{menu-bar-replace-menu}, @code{menu-bar-goto-menu}, +@code{menu-bar-bookmark-map}, and @code{facemenu-menu}. +There is also mule-menu-keymap, set-coding-system-map, +setup-language-environment-map, describe-language-environment-map, +menu-bar-epatch-menu, menu-bar-ediff-merge-menu, menu-bar-ediff-menu, etc. +@end ignore + +@item minibuffer-inactive-mode-map +A full keymap used in the minibuffer when it is not active.@* +@xref{Minibuffer Edit,, Editing in the Minibuffer, emacs, The GNU Emacs Manual}. + +@item mode-line-coding-system-map +@itemx mode-line-input-method-map +@itemx mode-line-column-line-number-mode-map +@vindex mode-line-coding-system-map +@vindex mode-line-input-method-map +@vindex mode-line-column-line-number-mode-map +These keymaps control various areas of the mode line.@* +@xref{Mode Line Format}. @item mode-specific-map The keymap for characters following @kbd{C-c}. Note, this is in the -global map. This map is not actually mode specific: its name was chosen -to be informative for the user in @kbd{C-h b} (@code{display-bindings}), +global map. This map is not actually mode-specific: its name was chosen +to be informative in @kbd{C-h b} (@code{display-bindings}), where it describes the main use of the @kbd{C-c} prefix key. -@item multi-query-replace-map -A sparse keymap that extends @code{query-replace-map} for multi-buffer -replacements. @xref{Search and Replace, query-replace-map}. +@c FIXME - don't mention this one? +@item mouse-appearance-menu-map +@vindex mouse-appearance-menu-map +A sparse keymap used for the @kbd{S-mouse-1} key. -@item occur-mode-map -@vindex occur-mode-map -A sparse keymap used by Occur mode. +@item mule-keymap +The global keymap used for the @kbd{C-x @key{RET}} prefix key. + +@item narrow-map +@vindex narrow-map +A sparse keymap for subcommands of the prefix @kbd{C-x n}. + +@item prog-mode-map +The keymap used by Prog mode.@* +@xref{Basic Major Modes}. @item query-replace-map +@itemx multi-query-replace-map A sparse keymap used for responses in @code{query-replace} and related commands; also for @code{y-or-n-p} and @code{map-y-or-n-p}. The functions that use this map do not support prefix keys; they look up one event at a -time. +time. @code{multi-query-replace-map} extends @code{query-replace-map} +for multi-buffer replacements. @xref{Search and Replace, query-replace-map}. @item search-map -A sparse keymap that provides global bindings for search-related -commands. +A sparse keymap that provides global bindings for search-related commands. -@item text-mode-map -@vindex text-mode-map -A sparse keymap used by Text mode. +@item special-mode-map +The keymap used by Special mode.@* +@xref{Basic Major Modes}. @item tool-bar-map -The keymap defining the contents of the tool bar. +The keymap defining the contents of the tool bar.@* +@xref{Tool Bar}. + +@item universal-argument-map +@vindex universal-argument-map +A sparse keymap used while processing @kbd{C-u}.@* +@xref{Prefix Command Arguments}. + +@item vc-prefix-map +The global keymap used for the @kbd{C-x v} prefix key. + +@item x-alternatives-map +@vindex x-alternatives-map +@findex x-setup-function-keys +A sparse keymap used to map certain keys under graphical frames.@* +The function @code{x-setup-function-keys} uses this. -@item view-mode-map -@vindex view-mode-map -A full keymap used by View mode. @end table diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index a4ee6f8327f..b0e9d4a3139 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/modes @node Modes, Documentation, Keymaps, Top @@ -38,7 +38,7 @@ user. For related topics such as keymaps and syntax tables, see to be called on a particular occasion by an existing program. Emacs provides hooks for the sake of customization. Most often, hooks are set up in the init file (@pxref{Init File}), but Lisp programs can set them also. -@xref{Standard Hooks}, for a list of standard hook variables. +@xref{Standard Hooks}, for a list of some standard hook variables. @cindex normal hook Most of the hooks in Emacs are @dfn{normal hooks}. These variables @@ -1596,7 +1596,7 @@ where @var{get} is an expression that returns the current state, and @var{set} is a function of one argument (a state) that sets it. @item :after-hook @var{after-hook} -This defines a single lisp form which is evaluated after the mode hooks +This defines a single Lisp form which is evaluated after the mode hooks have run. It should not be quoted. @end table @@ -4030,8 +4030,3 @@ Here @var{desktop-buffer-misc} is the value returned by the function optionally bound to @code{desktop-save-buffer}. @end defvar -@ignore - Local Variables: - fill-column: 72 - End: -@end ignore diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 995a4d89352..ba4803c73f2 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -370,7 +370,7 @@ with other programming languages. Unlike some other languages, Emacs Lisp supports this syntax only in character literals and strings. @cindex @samp{\} in character constant -@cindex backslash in character constant +@cindex backslash in character constants @cindex octal character code The most general read syntax for a character represents the character code in either octal or hex. To use octal, write a question diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index e63300cfac4..f7df5f4bf87 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -101,8 +101,8 @@ even earlier than this.) It runs the normal hook @code{before-init-hook}. @item -It initializes the window frame and faces, if appropriate, and turns -on the menu bar and tool bar, if the initial frame needs them. +It initializes the initial frame's faces, and turns on the menu bar +and tool bar if needed. @item It loads the library @file{site-start}, if it exists. This is not @@ -144,7 +144,7 @@ If the buffer @samp{*scratch*} exists and is still in Fundamental mode @code{initial-major-mode}. @item -If started on a text-only terminal, it loads the terminal-specific +If started on a text terminal, it loads the terminal-specific Lisp library, which is specified by the variable @code{term-file-prefix} (@pxref{Terminal-Specific}). This is not done in @code{--batch} mode, nor if @code{term-file-prefix} is @code{nil}. @@ -600,7 +600,7 @@ directly does not run this hook. @subsection Suspending Emacs @cindex suspending Emacs - On text-only terminals, it is possible to @dfn{suspend Emacs}, which + On text terminals, it is possible to @dfn{suspend Emacs}, which means stopping Emacs temporarily and returning control to its superior process, which is usually the shell. This allows you to resume editing later in the same Emacs process, with the same buffers, the @@ -740,10 +740,10 @@ terminal object, a frame (meaning the terminal for that frame), or @deffn Command suspend-frame This command @dfn{suspends} a frame. For GUI frames, it calls -@code{iconify-frame} (@pxref{Visibility of Frames}); for text-only -frames, it calls either @code{suspend-emacs} or @code{suspend-tty}, -depending on whether the frame is displayed on the controlling -terminal device or not. +@code{iconify-frame} (@pxref{Visibility of Frames}); for frames on +text terminals, it calls either @code{suspend-emacs} or +@code{suspend-tty}, depending on whether the frame is displayed on the +controlling terminal device or not. @end deffn @node System Environment diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 29b338369e5..99722c93902 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi @@ -372,19 +372,18 @@ This function returns the number of lines between the positions 1, even if @var{start} and @var{end} are on the same line. This is because the text between them, considered in isolation, must contain at least one line unless it is empty. - -Here is an example of using @code{count-lines}: - -@example -@group -(defun current-line () - "Return the vertical position of point@dots{}" - (+ (count-lines (window-start) (point)) - (if (= (current-column) 0) 1 0))) -@end group -@end example @end defun +@deffn Command count-words start end +@cindex words in region +This function returns the number of words between the positions +@var{start} and @var{end} in the current buffer. + +This function can also be called interactively. In that case, it +prints a message reporting the number of lines, words, and characters +in the buffer, or in the region if the region is active. +@end deffn + @defun line-number-at-pos &optional pos @cindex line number This function returns the line number in the current buffer diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 8b25868cfe9..04aa50ebc84 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -2712,7 +2712,7 @@ Unsigned integer in network byte order, with length 3. @itemx dword @itemx long Unsigned integer in network byte order, with length 4. -Note: These values may be limited by Emacs' integer implementation limits. +Note: These values may be limited by Emacs's integer implementation limits. @item u16r @itemx u24r diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 3dc777897c1..5bda1940b51 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -559,6 +559,7 @@ through @samp{f} and @samp{A} through @samp{F}. @node Regexp Backslash @subsubsection Backslash Constructs in Regular Expressions +@cindex backslash in regular expressions For the most part, @samp{\} followed by any character matches only that character. However, there are several exceptions: certain diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index ad1f622bfac..5874a848807 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -58,7 +58,7 @@ Separate the prefix from the rest of the name with a hyphen, @samp{-}. This practice helps avoid name conflicts, since all global variables in Emacs Lisp share the same name space, and all functions share another name space@footnote{The benefits of a Common Lisp-style -package system are considered not to outweigh the costs.} +package system are considered not to outweigh the costs.}. Occasionally, for a command name intended for users to use, it is more convenient if some words come before the package's name prefix. And @@ -109,6 +109,17 @@ when the compiled version of @var{foo} is @emph{used}. It should be called before the first use of the macro in the file. @xref{Compiling Macros}. +@item +Avoid loading additional libraries at run time unless they are really +needed. If your file simply cannot work without some other library, +then just @code{require} that library at the top-level and be done +with it. But if your file contains several independent features, and +only one or two require the extra library, then consider putting +@code{require} statements inside the relevant functions rather than at +the top-level. Or use @code{autoload} statements to load the extra +library when needed. This way people who don't use those aspects of +your file do not need to load the extra library. + @item Please don't require the @code{cl} package of Common Lisp extensions at run time. Use of this package is optional, and it is not part of the @@ -194,11 +205,8 @@ replacements differs from that of the originals. @item Constructs that define a function or variable should be macros, -not functions, and their names should start with @samp{def}. - -@item -A macro that defines a function or variable should have a name that -starts with @samp{define-}. The macro should receive the name to be +not functions, and their names should start with @samp{define-}. +The macro should receive the name to be defined as the first argument. That will help various tools find the definition automatically. Avoid constructing the names in the macro itself, since that would confuse these tools. @@ -207,7 +215,7 @@ itself, since that would confuse these tools. In some other systems there is a convention of choosing variable names that begin and end with @samp{*}. We don't use that convention in Emacs Lisp, so please don't use it in your programs. (Emacs uses such names -only for special-purpose buffers.) The users will find Emacs more +only for special-purpose buffers.) People will find Emacs more coherent if all libraries use the same conventions. @item @@ -216,7 +224,7 @@ constants, you should make sure Emacs always decodes these characters the same way, regardless of the user's settings. The easiest way to do this is to use the coding system @code{utf-8-emacs} (@pxref{Coding System Basics}), and specify that coding in the @samp{-*-} line or the -local variables list. @xref{File variables, , Local Variables in +local variables list. @xref{File Variables, , Local Variables in Files, emacs, The GNU Emacs Manual}. @example @@ -224,8 +232,7 @@ Files, emacs, The GNU Emacs Manual}. @end example @item -Indent each function with @kbd{C-M-q} (@code{indent-sexp}) using the -default indentation parameters. +Indent the file using the default indentation parameters. @item Don't make a habit of putting close-parentheses on lines by @@ -233,29 +240,8 @@ themselves; Lisp programmers find this disconcerting. @item Please put a copyright notice and copying permission notice on the -file if you distribute copies. Use a notice like this one: +file if you distribute copies. @xref{Library Headers}. -@smallexample -;; Copyright (C) @var{year} @var{name} - -;; This program is free software: you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation, either version 3 of -;; the License, or (at your option) any later version. - -;; 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 -;; 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, see -;; . -@end smallexample - -If you have signed papers to assign the copyright to the Foundation, -then use @samp{Free Software Foundation, Inc.} as @var{name}. -Otherwise, use your name. @xref{Library Headers}. @end itemize @node Key Binding Conventions @@ -324,11 +310,11 @@ Similarly, don't bind a key sequence ending in @key{C-g}, since that is commonly used to cancel a key sequence. @item -Anything which acts like a temporary mode or state which the user can +Anything that acts like a temporary mode or state that the user can enter and leave should define @kbd{@key{ESC} @key{ESC}} or @kbd{@key{ESC} @key{ESC} @key{ESC}} as a way to escape. -For a state which accepts ordinary Emacs commands, or more generally any +For a state that accepts ordinary Emacs commands, or more generally any kind of state in which @key{ESC} followed by a function key or arrow key is potentially meaningful, then you must not define @kbd{@key{ESC} @key{ESC}}, since that would preclude recognizing an escape sequence @@ -398,8 +384,8 @@ An error message should start with a capital letter but should not end with a period. @item -A question asked in the minibuffer with @code{y-or-n-p} or -@code{yes-or-no-p} should start with a capital letter and end with +A question asked in the minibuffer with @code{yes-or-no-p} or +@code{y-or-n-p} should start with a capital letter and end with @samp{? }. @item @@ -457,10 +443,9 @@ to generate such messages. @item Try to avoid using recursive edits. Instead, do what the Rmail @kbd{e} -command does: use a new local keymap that contains one command defined -to switch back to the old local keymap. Or do what the -@code{edit-options} command does: switch to another buffer and let the -user switch back at will. @xref{Recursive Editing}. +command does: use a new local keymap that contains a command defined +to switch back to the old local keymap. Or simply switch to another +buffer and let the user switch back at will. @xref{Recursive Editing}. @end itemize @node Compilation Tips @@ -515,6 +500,10 @@ compiled specially (@pxref{Array Functions}): @end group @end example +@noindent +Note that in this case (and many others), you must first load the +@file{bytecomp} library, which defines the @code{byte-compile} property. + @item If calling a small function accounts for a substantial part of your program's running time, make the function inline. This eliminates @@ -540,6 +529,11 @@ dummy @code{defvar} definitions for these variables, like this: Such a definition has no effect except to tell the compiler not to warn about uses of the variable @code{foo} in this file. +@item +Similarly, to avoid a compiler warning about an undefined function +that you know @emph{will} be defined, use a @code{declare-function} +statement (@pxref{Declaring Functions}). + @item If you use many functions and variables from a certain file, you can add a @code{require} for that package to avoid compilation warnings @@ -561,8 +555,8 @@ functions and variables in your package. @item The last resort for avoiding a warning, when you want to do something -that usually is a mistake but it's not a mistake in this one case, -is to put a call to @code{with-no-warnings} around it. +that is usually a mistake but you know is not a mistake in your usage, +is to put it inside @code{with-no-warnings}. @xref{Compiler Errors}. @end itemize @node Documentation Tips @@ -580,11 +574,9 @@ Every command, function, or variable intended for users to know about should have a documentation string. @item -An internal variable or subroutine of a Lisp program might as well have -a documentation string. In earlier Emacs versions, you could save space -by using a comment instead of a documentation string, but that is no -longer the case---documentation strings now take up very little space in -a running Emacs. +An internal variable or subroutine of a Lisp program might as well +have a documentation string. Documentation strings take up very +little space in a running Emacs. @item Format the documentation string so that it fits in an Emacs window on an @@ -595,14 +587,14 @@ or it will look bad in the output of @code{apropos}. You can fill the text if that looks good. However, rather than blindly filling the entire documentation string, you can often make it much more readable by choosing certain line breaks with care. Use blank lines -between topics if the documentation string is long. +between sections if the documentation string is long. @item The first line of the documentation string should consist of one or two complete sentences that stand on their own as a summary. @kbd{M-x apropos} displays just the first line, and if that line's contents don't stand on their own, the result looks bad. In particular, start the -first line with a capital letter and end with a period. +first line with a capital letter and end it with a period. For a function, the first line should briefly answer the question, ``What does this function do?'' For a variable, the first line should @@ -630,7 +622,7 @@ important arguments. When a function's documentation string mentions the value of an argument of the function, use the argument name in capital letters as if it were a name for that value. Thus, the documentation string of the function -@code{eval} refers to its second argument as @samp{FORM}, because the +@code{eval} refers to its first argument as @samp{FORM}, because the actual argument name is @code{form}: @example @@ -654,7 +646,7 @@ string. If the symbol's name is @code{foo}, write ``foo,'' not This might appear to contradict the policy of writing function argument values, but there is no real contradiction; the argument -@emph{value} is not the same thing as the @emph{symbol} which the +@emph{value} is not the same thing as the @emph{symbol} that the function uses to hold the value. If this puts a lower-case letter at the beginning of a sentence @@ -825,8 +817,8 @@ In Dired, visit the file or directory named on this line. @end example @item -When you define a variable that users ought to set interactively, you -should use @code{defcustom}. @xref{Defining Variables}. +When you define a variable that represents an option users might want +to set, use @code{defcustom}. @xref{Defining Variables}. @item The documentation string for a variable that is a yes-or-no flag should @@ -839,19 +831,14 @@ all non-@code{nil} values are equivalent and indicate explicitly what @section Tips on Writing Comments @cindex comments, Lisp convention for - We recommend these conventions for where to put comments and how to -indent them: + We recommend these conventions for comments: @table @samp @item ; Comments that start with a single semicolon, @samp{;}, should all be aligned to the same column on the right of the source code. Such -comments usually explain how the code on the same line does its job. In -Lisp mode and related modes, the @kbd{M-;} (@code{indent-for-comment}) -command automatically inserts such a @samp{;} in the right place, or -aligns such a comment if it is already present. - -This and following examples are taken from the Emacs sources. +comments usually explain how the code on that line does its job. +For example: @smallexample @group @@ -873,7 +860,7 @@ at that point. For example: (prog1 (setq auto-fill-function @dots{} @dots{} - ;; update mode line + ;; Update mode line. (force-mode-line-update))) @end group @end smallexample @@ -882,17 +869,17 @@ We also normally use two semicolons for comments outside functions. @smallexample @group -;; This Lisp code is run in Emacs -;; when it is to operate as a server -;; for other processes. +;; This Lisp code is run in Emacs when it is to operate as +;; a server for other processes. @end group @end smallexample -Every function that has no documentation string (presumably one that is -used only internally within the package it belongs to), should instead -have a two-semicolon comment right before the function, explaining what -the function does and how to call it properly. Explain precisely what -each argument means and how the function interprets its possible values. +If a function has no documentation string, it should instead have a +two-semicolon comment right before the function, explaining what the +function does and how to call it properly. Explain precisely what +each argument means and how the function interprets its possible +values. It is much better to convert such comments to documentation +strings, though. @item ;;; Comments that start with three semicolons, @samp{;;;}, should start at @@ -903,7 +890,7 @@ semicolons depends on whether the comment should be considered a ``heading'' by Outline minor mode. By default, comments starting with at least three semicolons (followed by a single space and a non-whitespace character) are considered headings, comments starting -with two or less are not. +with two or fewer are not. Another use for triple-semicolon comments is for commenting out lines within a function. We use three semicolons for this precisely so that @@ -934,11 +921,11 @@ program. For example: @end table @noindent -The indentation commands of the Lisp modes in Emacs, such as @kbd{M-;} -(@code{indent-for-comment}) and @key{TAB} (@code{lisp-indent-line}), -automatically indent comments according to these conventions, -depending on the number of semicolons. @xref{Comments,, -Manipulating Comments, emacs, The GNU Emacs Manual}. +Generally speaking, the @kbd{M-;} (@code{comment-dwim}) command +automatically starts a comment of the appropriate type; or indents an +existing comment to the right place, depending on the number of +semicolons. +@xref{Comments,, Manipulating Comments, emacs, The GNU Emacs Manual}. @node Library Headers @section Conventional Headers for Emacs Libraries @@ -947,39 +934,28 @@ Manipulating Comments, emacs, The GNU Emacs Manual}. Emacs has conventions for using special comments in Lisp libraries to divide them into sections and give information such as who wrote -them. This section explains these conventions. - - We'll start with an example, a package that is included in the Emacs -distribution. - - Parts of this example reflect its status as part of Emacs; for -example, the copyright notice lists the Free Software Foundation as the -copyright holder, and the copying permission says the file is part of -Emacs. When you write a package and post it, the copyright holder would -be you (unless your employer claims to own it instead), and you should -get the suggested copying permission from the end of the GNU General -Public License itself. Don't say your file is part of Emacs -if we haven't installed it in Emacs yet! - - With that warning out of the way, on to the example: +them. Using a standard format for these items makes it easier for +tools (and people) to extract the relevant information. This section +explains these conventions, starting with an example: @smallexample @group -;;; lisp-mnt.el --- minor mode for Emacs Lisp maintainers +;;; foo.el --- Support for the Foo programming language -;; Copyright (C) 1992 Free Software Foundation, Inc. +;; Copyright (C) 2010-2012 Your Name @end group -;; Author: Eric S. Raymond -;; Maintainer: Eric S. Raymond -;; Created: 14 Jul 1992 -;; Version: 1.2 +;; Author: Your Name +;; Maintainer: Someone Else +;; Created: 14 Jul 2010 @group -;; Keywords: docs +;; Keywords: languages -;; This file is part of GNU Emacs. +;; This file is not part of GNU Emacs. + +;; This file is free software@dots{} @dots{} -;; along with GNU Emacs. If not, see . +;; along with this file. If not, see . @end group @end smallexample @@ -990,8 +966,19 @@ if we haven't installed it in Emacs yet! @end example @noindent -The description should be complete in one line. If the file +The description should be contained in one line. If the file needs a @samp{-*-} specification, put it after @var{description}. +If this would make the first line too long, use a Local Variables +section at the end of the file. + + The copyright notice usually lists your name (if you wrote the +file). If you have an employer who claims copyright on your work, you +might need to list them instead. Do not say that the copyright holder +is the Free Software Foundation (or that the file is part of GNU +Emacs) unless your file has been accepted into the Emacs distribution. +For more information on the form of copyright and license notices, see +@uref{http://www.gnu.org/licenses/gpl-howto.html, the guide on the GNU +website}. After the copyright notice come several @dfn{header comment} lines, each beginning with @samp{;; @var{header-name}:}. Here is a table of @@ -999,55 +986,55 @@ the conventional possibilities for @var{header-name}: @table @samp @item Author -This line states the name and net address of at least the principal -author of the library. - -If there are multiple authors, you can list them on continuation lines -led by @code{;;} and a tab character, like this: +This line states the name and email address of at least the principal +author of the library. If there are multiple authors, list them on +continuation lines led by @code{;;} and whitespace (this is easier +for tools to parse than having more than one author on one line). +We recommend including a contact email address, of the form +@samp{<@dots{}>}. For example: @smallexample @group -;; Author: Ashwin Ram -;; Dave Sill -;; Dave Brennan -;; Eric Raymond +;; Author: Your Name +;; Someone Else +;; Another Person @end group @end smallexample @item Maintainer -This line should contain a single name/address as in the Author line, or -an address only, or the string @samp{FSF}. If there is no maintainer -line, the person(s) in the Author field are presumed to be the -maintainers. The example above is mildly bogus because the maintainer -line is redundant. +This header has the same format as the Author header. It lists the +person(s) who currently maintain(s) the file (respond to bug reports, +etc.). -The idea behind the @samp{Author} and @samp{Maintainer} lines is to make -possible a Lisp function to ``send mail to the maintainer'' without -having to mine the name out by hand. - -Be sure to surround the network address with @samp{<@dots{}>} if -you include the person's full name as well as the network address. +If there is no maintainer line, the person(s) in the Author field +is/are presumed to be the maintainers. Some files in Emacs use +@samp{FSF} for the maintainer. This means that the original author is +no longer responsible for the file, and that it is maintained as part +of Emacs. @item Created -This optional line gives the original creation date of the -file. For historical interest only. +This optional line gives the original creation date of the file, and +is for historical interest only. @item Version -If you wish to record version numbers for the individual Lisp program, put -them in this line. - -@item Adapted-By -In this header line, place the name of the person who adapted the -library for installation (to make it fit the style conventions, for -example). +If you wish to record version numbers for the individual Lisp program, +put them in this line. Lisp files distributed with Emacs generally do +not have a @samp{Version} header, since the version number of Emacs +itself serves the same purpose. If you are distributing a collection +of multiple files, we recommend not writing the version in every file, +but only the main one. @item Keywords This line lists keywords for the @code{finder-by-keyword} help command. Please use that command to see a list of the meaningful keywords. -This field is important; it's how people will find your package when -they're looking for things by topic area. To separate the keywords, you -can use spaces, commas, or both. +This field is how people will find your package when they're looking +for things by topic. To separate the keywords, you can use spaces, +commas, or both. + +The name of this field is unfortunate, since people often assume it is +the place to write arbitrary keywords that describe their package, +rather than just the relevant Finder keywords. @item Package-Version If @samp{Version} is not suitable for use by the package manager, then @@ -1060,7 +1047,7 @@ If this exists, it names packages on which the current package depends for proper operation. @xref{Packaging Basics}. This is used by the package manager both at download time (to ensure that a complete set of packages is downloaded) and at activation time (to ensure that a -package is activated if and only if all its dependencies have been). +package is only activated if all its dependencies have been). Its format is a list of lists. The @code{car} of each sub-list is the name of a package, as a symbol. The @code{cadr} of each sub-list is @@ -1081,8 +1068,8 @@ appropriate. You can also put in header lines with other header names---they have no standard meanings, so they can't do any harm. We use additional stylized comments to subdivide the contents of the -library file. These should be separated by blank lines from anything -else. Here is a table of them: +library file. These should be separated from anything else by blank +lines. Here is a table of them: @table @samp @item ;;; Commentary: @@ -1092,16 +1079,12 @@ It should come right after the copying permissions, terminated by a text is used by the Finder package, so it should make sense in that context. -@item ;;; Documentation: -This was used in some files in place of @samp{;;; Commentary:}, -but it is deprecated. - @item ;;; Change Log: -This begins change log information stored in the library file (if you -store the change history there). For Lisp files distributed with Emacs, -the change history is kept in the file @file{ChangeLog} and not in the -source file at all; these files generally do not have a @samp{;;; Change -Log:} line. @samp{History} is an alternative to @samp{Change Log}. +This begins an optional log of changes to the file over time. Don't +put too much information in this section---it is better to keep the +detailed logs in a separate @file{ChangeLog} file (as Emacs does), +and/or to use a version control system. @samp{History} is an +alternative to @samp{Change Log}. @item ;;; Code: This begins the actual code of the program. diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 94e71c96d0a..548d2e99414 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/variables @node Variables, Functions, Control Structures, Top @@ -479,7 +479,7 @@ not the buffer-local value. (But you should not be making buffer-local bindings for a symbol that is defined with @code{defconst}.) -An example of the use of @code{defconst} is Emacs' definition of +An example of the use of @code{defconst} is Emacs's definition of @code{float-pi}---the mathematical constant @math{pi}, which ought not to be changed by anyone (attempts by the Indiana State Legislature notwithstanding). As the second form illustrates, however, diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index addc4bd6d69..a92a807b747 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi @@ -187,11 +187,9 @@ Appendices * Tips:: Advice and coding conventions for Emacs Lisp. * GNU Emacs Internals:: Building and dumping Emacs; internal data structures. -* Standard Errors:: List of all error symbols. -* Standard Buffer-Local Variables:: - List of variables buffer-local in all buffers. -* Standard Keymaps:: List of standard keymaps. -* Standard Hooks:: List of standard hook variables. +* Standard Errors:: List of some standard error symbols. +* Standard Keymaps:: List of some standard keymaps. +* Standard Hooks:: List of some standard hook variables. * Index:: Index including concepts, functions, variables, and other terms. @@ -929,7 +927,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -996,7 +994,7 @@ Frames * Window System Selections::Transferring text to and from other X clients. * Drag and Drop:: Internals of Drag-and-Drop implementation. * Color Names:: Getting the definitions of color names. -* Text Terminal Colors:: Defining colors for text-only terminals. +* Text Terminal Colors:: Defining colors for text terminals. * Resources:: Getting resource values from the server. * Display Feature Testing:: Determining the features of a terminal. @@ -1210,7 +1208,6 @@ Parsing Expressions Abbrevs and Abbrev Expansion -* Abbrev Mode:: Setting up Emacs for abbreviation. * Abbrev Tables:: Creating and working with abbrev tables. * Defining Abbrevs:: Specifying abbreviations and their expansions. * Abbrev Files:: Saving abbrevs in files. @@ -1287,7 +1284,7 @@ Emacs Display * Display Property:: Enabling special display features. * Images:: Displaying images in Emacs buffers. * Buttons:: Adding clickable buttons to Emacs buffers. -* Abstract Display:: Emacs' Widget for Object Collections. +* Abstract Display:: Emacs's Widget for Object Collections. * Blinking:: How Emacs shows the matching open parenthesis. * Usual Display:: The usual conventions for displaying nonprinting chars. @@ -1532,7 +1529,6 @@ Object Internals @c include tips.texi @c include internals.texi @c include errors.texi -@c include locals.texi @c include maps.texi @c include hooks.texi diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 0f6b020db49..97b21aba10b 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi @@ -186,11 +186,9 @@ Appendices * Tips:: Advice and coding conventions for Emacs Lisp. * GNU Emacs Internals:: Building and dumping Emacs; internal data structures. -* Standard Errors:: List of all error symbols. -* Standard Buffer-Local Variables:: - List of variables buffer-local in all buffers. -* Standard Keymaps:: List of standard keymaps. -* Standard Hooks:: List of standard hook variables. +* Standard Errors:: List of some standard error symbols. +* Standard Keymaps:: List of some standard keymaps. +* Standard Hooks:: List of some standard hook variables. * Index:: Index including concepts, functions, variables, and other terms. @@ -928,7 +926,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -995,7 +993,7 @@ Frames * Window System Selections::Transferring text to and from other X clients. * Drag and Drop:: Internals of Drag-and-Drop implementation. * Color Names:: Getting the definitions of color names. -* Text Terminal Colors:: Defining colors for text-only terminals. +* Text Terminal Colors:: Defining colors for text terminals. * Resources:: Getting resource values from the server. * Display Feature Testing:: Determining the features of a terminal. @@ -1209,7 +1207,6 @@ Parsing Expressions Abbrevs and Abbrev Expansion -* Abbrev Mode:: Setting up Emacs for abbreviation. * Abbrev Tables:: Creating and working with abbrev tables. * Defining Abbrevs:: Specifying abbreviations and their expansions. * Abbrev Files:: Saving abbrevs in files. @@ -1286,7 +1283,7 @@ Emacs Display * Display Property:: Enabling special display features. * Images:: Displaying images in Emacs buffers. * Buttons:: Adding clickable buttons to Emacs buffers. -* Abstract Display:: Emacs' Widget for Object Collections. +* Abstract Display:: Emacs's Widget for Object Collections. * Blinking:: How Emacs shows the matching open parenthesis. * Usual Display:: The usual conventions for displaying nonprinting chars. @@ -1531,7 +1528,6 @@ Object Internals @include tips.texi @include internals.texi @include errors.texi -@include locals.texi @include maps.texi @include hooks.texi diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 98263f4093c..07be7fa9079 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -68,7 +68,7 @@ window, and the contents of the selected message in another window. graphical desktop environments and window systems, such as the X Window System. When Emacs is run on X, each of its graphical X windows is an Emacs frame (containing one or more Emacs windows). -When Emacs is run on a text-only terminal, the frame fills the entire +When Emacs is run on a text terminal, the frame fills the entire terminal screen. @cindex tiled windows @@ -2964,8 +2964,8 @@ the bottommost row. Note that these are the actual outer edges of the window, including any header line, mode line, scroll bar, fringes, and display margins. -On a text-only terminal, if the window has a neighbor on its right, -its right edge includes the separator line between the window and its +On a text terminal, if the window has a neighbor on its right, its +right edge includes the separator line between the window and its neighbor. @end defun @@ -3046,8 +3046,8 @@ argument because it always uses the frame that @var{window} is on. The following functions return window positions in pixels, rather than character units. Though mostly useful on graphical displays, -they can also be called on text-only terminals, where the screen area -of each text character is taken to be ``one pixel''. +they can also be called on text terminals, where the screen area of +each text character is taken to be ``one pixel''. @defun window-pixel-edges &optional window This function returns a list of pixel coordinates for the edges of diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index c2408f5e129..d4887839157 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -1,5 +1,5 @@ .\" See section COPYING for copyright and redistribution information. -.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.93" +.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.94" . . .SH NAME diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index a11dd9d9a4d..1691c979fb6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,29 @@ +2012-03-02 Michael Albinus + + * dbus.texi (Signals): Known names will be mapped onto unique + names, when registering for signals. + +2012-02-29 Glenn Morris + + * url.texi: Fix quote usage in body text. + + * sem-user.texi, url.texi, woman.texi: Use "" quotes in menus. + + * cl.texi: Use @code{} in menus when appropriate. + +2012-02-28 Glenn Morris + + * calc.texi, cc-mode.texi, cl.texi, ebrowse.texi, ediff.texi: + * eshell.texi, gnus-faq.texi, gnus-news.texi, gnus.texi: + * idlwave.texi, info.texi, newsticker.texi, nxml-mode.texi: + * org.texi, sc.texi, vip.texi, viper.texi: + Standardize possessive apostrophe usage. + +2012-02-26 Chong Yidong + + * ediff.texi (Quick Help Commands): Add a couple of index entries + (Bug#10834). + 2012-02-17 Glenn Morris * gnus.texi (Posting Styles): diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index c42e8e6b9c0..48252ceb327 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -9819,7 +9819,7 @@ stack but resets everything else to its default state. @kindex Z ? @pindex calc-help The @kbd{?} key (@code{calc-help}) displays a series of brief help messages. -Some keys (such as @kbd{b} and @kbd{d}) are prefix keys, like Emacs' +Some keys (such as @kbd{b} and @kbd{d}) are prefix keys, like Emacs's @key{ESC} and @kbd{C-x} prefixes. You can type @kbd{?} after a prefix to see a list of commands beginning with that prefix. (If the message includes @samp{[MORE]}, press @kbd{?} again @@ -18912,7 +18912,7 @@ Computer Programming}, Volume II, contains a thorough description of the theory of random number generators and their measurement and characterization. -If @code{RandSeed} has no stored value, Calc calls Emacs' built-in +If @code{RandSeed} has no stored value, Calc calls Emacs's built-in @code{random} function to get a stream of random numbers, which it then treats in various ways to avoid problems inherent in the simple random number generators that many systems use to implement @code{random}. @@ -35252,7 +35252,7 @@ character of the prefix can simply be typed twice. Calc is controlled by many variables, most of which can be reset from within Calc. Some variables are less involved with actual -calculation and can be set outside of Calc using Emacs's +calculation and can be set outside of Calc using Emacs'ss customization facilities. These variables are listed below. Typing @kbd{M-x customize-variable RET @var{variable-name} RET} will bring up a buffer in which the variable's value can be redefined. diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index c33bdbde9e4..1a192123c3e 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -156,7 +156,7 @@ CC Mode @copying This manual is for CC Mode in Emacs. -Copyright @copyright{} 1995-2012 Free Software Foundation, Inc. +Copyright @copyright{} 1995-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -6942,7 +6942,7 @@ circumstances, can locate the top-most opening brace much more quickly than styles where these braces are hung (e.g. most JDK-derived Java styles), this hack can improve performance of the core syntax parsing routines from 3 to 60 times. However, for styles which @emph{do} conform to -Emacs' recommended style of putting top-level braces in column zero, +Emacs's recommended style of putting top-level braces in column zero, this hack can degrade performance by about as much. Thus this variable is set to @code{nil} by default, since the Emacs-friendly styles should be more common (and encouraged!). Note that this variable has no effect @@ -7053,7 +7053,7 @@ Set the variable @code{c-basic-offset}. @xref{Getting Started}. @kindex C-j @emph{Why doesn't the @kbd{RET} key indent the new line?} -Emacs' convention is that @kbd{RET} just adds a newline, and that +Emacs's convention is that @kbd{RET} just adds a newline, and that @kbd{C-j} adds a newline and indents it. You can make @kbd{RET} do this too by adding this to your @code{c-initialization-hook}: diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 594253e2c0a..d35c14acd1d 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -5,7 +5,7 @@ @copying This file documents the GNU Emacs Common Lisp emulation package. -Copyright @copyright{} 1993, 2001-2012 Free Software Foundation, Inc. +Copyright @copyright{} 1993, 2001-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -60,17 +60,17 @@ does assume a basic familiarity with Emacs Lisp. @menu * Overview:: Installation, usage, etc. -* Program Structure:: Arglists, `eval-when', `defalias' -* Predicates:: `typep' and `equalp' -* Control Structure:: `setf', `do', `loop', etc. -* Macros:: Destructuring, `define-compiler-macro' -* Declarations:: `proclaim', `declare', etc. -* Symbols:: Property lists, `gensym' +* Program Structure:: Arglists, @code{eval-when}, @code{defalias} +* Predicates:: @code{typep} and @code{equalp} +* Control Structure:: @code{setf}, @code{do}, @code{loop}, etc. +* Macros:: Destructuring, @code{define-compiler-macro} +* Declarations:: @code{proclaim}, @code{declare}, etc. +* Symbols:: Property lists, @code{gensym} * Numbers:: Predicates, functions, random numbers * Sequences:: Mapping, functions, searching, sorting -* Lists:: `caddr', `sublis', `member*', `assoc*', etc. -* Structures:: `defstruct' -* Assertions:: `check-type', `assert', `ignore-errors'. +* Lists:: @code{caddr}, @code{sublis}, @code{member*}, @code{assoc*}, etc. +* Structures:: @code{defstruct} +* Assertions:: @code{check-type}, @code{assert}, @code{ignore-errors}. * Efficiency Concerns:: Hints and techniques * Common Lisp Compatibility:: All known differences with Steele @@ -128,7 +128,7 @@ features. @item Some features conflict with existing things in Emacs Lisp. For -example, Emacs' @code{assoc} function is incompatible with the +example, Emacs's @code{assoc} function is incompatible with the Common Lisp @code{assoc}. In such cases, this package usually adds the suffix @samp{*} to the function name of the Common Lisp version of the function (e.g., @code{assoc*}). @@ -293,8 +293,8 @@ do with programs as a whole: advanced argument lists for functions, and the @code{eval-when} construct. @menu -* Argument Lists:: `&key', `&aux', `defun*', `defmacro*'. -* Time of Evaluation:: The `eval-when' construct. +* Argument Lists:: @code{&key}, @code{&aux}, @code{defun*}, @code{defmacro*}. +* Time of Evaluation:: The @code{eval-when} construct. @end menu @iftex @@ -683,8 +683,8 @@ This section describes functions for testing whether various facts are true or false. @menu -* Type Predicates:: `typep', `deftype', and `coerce' -* Equality Predicates:: `equalp' +* Type Predicates:: @code{typep}, @code{deftype}, and @code{coerce} +* Equality Predicates:: @code{equalp} @end menu @node Type Predicates, Equality Predicates, Predicates, Predicates @@ -858,14 +858,14 @@ various advanced control structures, including the powerful constructs. @menu -* Assignment:: The `psetq' form -* Generalized Variables:: `setf', `incf', `push', etc. -* Variable Bindings:: `progv', `lexical-let', `flet', `macrolet' -* Conditionals:: `case', `typecase' -* Blocks and Exits:: `block', `return', `return-from' -* Iteration:: `do', `dotimes', `dolist', `do-symbols' -* Loop Facility:: The Common Lisp `loop' macro -* Multiple Values:: `values', `multiple-value-bind', etc. +* Assignment:: The @code{psetq} form +* Generalized Variables:: @code{setf}, @code{incf}, @code{push}, etc. +* Variable Bindings:: @code{progv}, @code{lexical-let}, @code{flet}, @code{macrolet} +* Conditionals:: @code{case}, @code{typecase} +* Blocks and Exits:: @code{block}, @code{return}, @code{return-from} +* Iteration:: @code{do}, @code{dotimes}, @code{dolist}, @code{do-symbols} +* Loop Facility:: The Common Lisp @code{loop} macro +* Multiple Values:: @code{values}, @code{multiple-value-bind}, etc. @end menu @node Assignment, Generalized Variables, Control Structure, Control Structure @@ -929,9 +929,9 @@ Just as certain forms like @code{a[i]} can be lvalues in C, there is a set of forms that can be generalized variables in Lisp. @menu -* Basic Setf:: `setf' and place forms -* Modify Macros:: `incf', `push', `rotatef', `letf', `callf', etc. -* Customizing Setf:: `define-modify-macro', `defsetf', `define-setf-method' +* Basic Setf:: @code{setf} and place forms +* Modify Macros:: @code{incf}, @code{push}, @code{rotatef}, @code{letf}, @code{callf}, etc. +* Customizing Setf:: @code{define-modify-macro}, @code{defsetf}, @code{define-setf-method} @end menu @node Basic Setf, Modify Macros, Generalized Variables, Generalized Variables @@ -1540,10 +1540,10 @@ analogous to Lisp's built-in @code{let} form. are also related to variable bindings. @menu -* Dynamic Bindings:: The `progv' form -* Lexical Bindings:: `lexical-let' and lexical closures -* Function Bindings:: `flet' and `labels' -* Macro Bindings:: `macrolet' and `symbol-macrolet' +* Dynamic Bindings:: The @code{progv} form +* Lexical Bindings:: @code{lexical-let} and lexical closures +* Function Bindings:: @code{flet} and @code{labels} +* Macro Bindings:: @code{macrolet} and @code{symbol-macrolet} @end menu @node Dynamic Bindings, Lexical Bindings, Variable Bindings, Variable Bindings @@ -2094,7 +2094,7 @@ of a list. @var{list} should evaluate to a list; the body @var{forms} are executed with @var{var} bound to each element of the list in turn. Finally, the @var{result} form (or @code{nil}) is evaluated with @var{var} bound to @code{nil} to produce the result returned by -the loop. Unlike with Emacs's built in @code{dolist}, the loop is +the loop. Unlike with Emacs'ss built in @code{dolist}, the loop is surrounded by an implicit @code{nil} block. @end defspec @@ -2104,7 +2104,7 @@ of times. The body is executed with @var{var} bound to the integers from zero (inclusive) to @var{count} (exclusive), in turn. Then the @code{result} form is evaluated with @var{var} bound to the total number of iterations that were done (i.e., @code{(max 0 @var{count})}) -to get the return value for the loop form. Unlike with Emacs's built in +to get the return value for the loop form. Unlike with Emacs'ss built in @code{dolist}, the loop is surrounded by an implicit @code{nil} block. @end defspec @@ -2140,12 +2140,12 @@ construct called the ``Loop Facility'' or ``@code{loop} macro,'' with an easy-to-use but very powerful and expressive syntax. @menu -* Loop Basics:: `loop' macro, basic clause structure -* Loop Examples:: Working examples of `loop' macro -* For Clauses:: Clauses introduced by `for' or `as' -* Iteration Clauses:: `repeat', `while', `thereis', etc. -* Accumulation Clauses:: `collect', `sum', `maximize', etc. -* Other Clauses:: `with', `if', `initially', `finally' +* Loop Basics:: @code{loop} macro, basic clause structure +* Loop Examples:: Working examples of @code{loop} macro +* For Clauses:: Clauses introduced by @code{for} or @code{as} +* Iteration Clauses:: @code{repeat}, @code{while}, @code{thereis}, etc. +* Accumulation Clauses:: @code{collect}, @code{sum}, @code{maximize}, etc. +* Other Clauses:: @code{with}, @code{if}, @code{initially}, @code{finally} @end menu @node Loop Basics, Loop Examples, Loop Facility, Loop Facility @@ -2226,7 +2226,7 @@ returned by @code{buffer-list}. For each buffer @code{buf}, it calls @code{buffer-file-name} and collects the results into a list, which is then returned from the @code{loop} construct. The result is a list of the file names of all the buffers in -Emacs' memory. The words @code{for}, @code{in}, and @code{collect} +Emacs's memory. The words @code{for}, @code{in}, and @code{collect} are reserved words in the @code{loop} language. @example @@ -3184,8 +3184,8 @@ This package defines several symbol-related features that were missing from Emacs Lisp. @menu -* Property Lists:: `get*', `remprop', `getf', `remf' -* Creating Symbols:: `gensym', `gentemp' +* Property Lists:: @code{get*}, @code{remprop}, @code{getf}, @code{remf} +* Creating Symbols:: @code{gensym}, @code{gentemp} @end menu @node Property Lists, Creating Symbols, Symbols, Symbols @@ -3330,10 +3330,10 @@ This section defines a few simple Common Lisp operations on numbers which were left out of Emacs Lisp. @menu -* Predicates on Numbers:: `plusp', `oddp', `floatp-safe', etc. -* Numerical Functions:: `abs', `floor*', etc. -* Random Numbers:: `random*', `make-random-state' -* Implementation Parameters:: `most-positive-float' +* Predicates on Numbers:: @code{plusp}, @code{oddp}, @code{floatp-safe}, etc. +* Numerical Functions:: @code{abs}, @code{floor*}, etc. +* Random Numbers:: @code{random*}, @code{make-random-state} +* Implementation Parameters:: @code{most-positive-float} @end menu @iftex @@ -3630,10 +3630,10 @@ Emacs Lisp includes a few of these, notably @code{elt} and @menu * Sequence Basics:: Arguments shared by all sequence functions -* Mapping over Sequences:: `mapcar*', `mapcan', `map', `every', etc. -* Sequence Functions:: `subseq', `remove*', `substitute', etc. -* Searching Sequences:: `find', `position', `count', `search', etc. -* Sorting Sequences:: `sort*', `stable-sort', `merge' +* Mapping over Sequences:: @code{mapcar*}, @code{mapcan}, @code{map}, @code{every}, etc. +* Sequence Functions:: @code{subseq}, @code{remove*}, @code{substitute}, etc. +* Searching Sequences:: @code{find}, @code{position}, @code{count}, @code{search}, etc. +* Sorting Sequences:: @code{sort*}, @code{stable-sort}, @code{merge} @end menu @node Sequence Basics, Mapping over Sequences, Sequences, Sequences @@ -3870,7 +3870,7 @@ with @var{sequence}. As an extension to Common Lisp, @var{start} and/or @var{end} may be negative, in which case they represent a distance back from the end of the sequence. This is for compatibility with -Emacs' @code{substring} function. Note that @code{subseq} is +Emacs's @code{substring} function. Note that @code{subseq} is the @emph{only} sequence function that allows negative @var{start} and @var{end}. @@ -4059,7 +4059,7 @@ is less than (not equal to) its second argument. For example, for sorting numbers and strings, respectively; @code{>} would sort numbers into decreasing rather than increasing order. -This function differs from Emacs' built-in @code{sort} in that it +This function differs from Emacs's built-in @code{sort} in that it can operate on any type of sequence, not just lists. Also, it accepts a @code{:key} argument which is used to preprocess data fed to the @var{predicate} function. For example, @@ -4113,10 +4113,10 @@ a merged sequence which is (stably) sorted according to The functions described here operate on lists. @menu -* List Functions:: `caddr', `first', `list*', etc. -* Substitution of Expressions:: `subst', `sublis', etc. -* Lists as Sets:: `member*', `adjoin', `union', etc. -* Association Lists:: `assoc*', `rassoc*', `acons', `pairlis' +* List Functions:: @code{caddr}, @code{first}, @code{list*}, etc. +* Substitution of Expressions:: @code{subst}, @code{sublis}, etc. +* Lists as Sets:: @code{member*}, @code{adjoin}, @code{union}, etc. +* Association Lists:: @code{assoc*}, @code{rassoc*}, @code{acons}, @code{pairlis} @end menu @node List Functions, Substitution of Expressions, Lists, Lists @@ -5186,7 +5186,7 @@ variables no collision can occur.) @xref{Lexical Bindings}, for a description of the @code{lexical-let} form which establishes a Common Lisp-style lexical binding, and some -examples of how it differs from Emacs' regular @code{let}. +examples of how it differs from Emacs's regular @code{let}. @item Reader macros. Common Lisp includes a second type of macro that diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 71f60af530b..204afe7056e 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -1606,9 +1606,10 @@ D-Bus @var{bus}. @var{service} is the D-Bus service name used by the sending D-Bus object. It can be either a known name or the unique name of the D-Bus -object sending the signal. In case of a unique name, signals won't be -received any longer once the object owning this unique name has -disappeared, and a new queued object has replaced it. +object sending the signal. A known name will be mapped onto the +unique name of the object, owning @var{service} at registration time. +When the corresponding D-Bus object disappears, signals won't be +received any longer. When @var{service} is @code{nil}, related signals from all D-Bus objects shall be accepted. diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index cf716f4e031..6db27a38808 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -10,7 +10,7 @@ @copying This file documents Ebrowse, a C++ class browser for GNU Emacs. -Copyright @copyright{} 2000-2012 Free Software Foundation, Inc. +Copyright @copyright{} 2000-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -149,7 +149,7 @@ importantly you can find or view member declarations and definitions with a keystroke. @xref{Member Buffers}. These two buffer types and the commands they provide support the -navigational use of the browser. The second form resembles Emacs' Tags +navigational use of the browser. The second form resembles Emacs's Tags package for C and other procedural languages. Ebrowse's commands of this type are not confined to special buffers; they are most often used while you are editing your source code. diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 1e9ecf07a14..01349e31468 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -433,6 +433,8 @@ command (see @kbd{ga}, @kbd{gb}, and @kbd{gc}). @node Quick Help Commands,Other Session Commands,,Session Commands @section Quick Help Commands +@cindex command help +@cindex important commands @table @kbd @item ? @@ -1731,7 +1733,7 @@ faces, you can modify them when Ediff is being loaded using @end smallexample @strong{Please note:} to set Ediff's faces, use only @code{copy-face} -or @code{set/make-face-@dots{}} as shown above. Emacs' low-level +or @code{set/make-face-@dots{}} as shown above. Emacs's low-level face-manipulation functions should be avoided. @node Narrowing, Refinement of Difference Regions, Highlighting Difference Regions, Customization diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 99fbf1a4fcf..d322ca7c3e1 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -94,7 +94,7 @@ handling the sort of tasks accomplished by those tools. @cindex Eshell, what it is Eshell is a @dfn{command shell} written in Emacs Lisp. Everything it -does, it uses Emacs' facilities to do. This means that Eshell is as +does, it uses Emacs's facilities to do. This means that Eshell is as portable as Emacs itself. It also means that cooperation with Lisp code is natural and seamless. diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index ae6373e9a6e..9d075a8efac 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -161,7 +161,7 @@ Where and how to get Gnus? @subsubheading Answer Gnus is released independent from releases of Emacs and XEmacs. -Therefore, the version bundled with Emacs or the version in XEmacs' +Therefore, the version bundled with Emacs or the version in XEmacs's package system might not be up to date (e.g. Gnus 5.9 bundled with Emacs 21 is outdated). You can get the latest released version of Gnus from diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 5421e64625a..19bbe01667c 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi @@ -44,7 +44,7 @@ for more information about nntp marks. Note that downgrading isn't safe in general. @item Incompatibility when switching from Emacs 23 to Emacs 22 -In Emacs 23, Gnus uses Emacs' new internal coding system @code{utf-8-emacs} +In Emacs 23, Gnus uses Emacs's new internal coding system @code{utf-8-emacs} for saving articles drafts and @file{~/.newsrc.eld}. These files may not be read correctly in Emacs 22 and below. If you want to use Gnus across different Emacs versions, you may set @code{mm-auto-save-coding-system} @@ -333,7 +333,7 @@ in the group buffer, see the variable @code{gnus-group-update-tool-bar}. Its default value depends on your Emacs version. @c FIXME: Document this in the manual -@item You can change the location of XEmacs' toolbars in Gnus buffers. +@item You can change the location of XEmacs's toolbars in Gnus buffers. See @code{gnus-use-toolbar} and @code{message-use-toolbar}. @end itemize diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index ae2c5dbd092..c3b62f3b791 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -16696,7 +16696,7 @@ was used for mail landing on the system, but Babyl had its own internal format to which mail was converted, primarily involving creating a spool-file-like entity with a scheme for inserting Babyl-specific headers and status bits above the top of each message in the file. -Rmail was Emacs' first mail reader, it was written by Richard Stallman, +Rmail was Emacs's first mail reader, it was written by Richard Stallman, and Stallman came out of that TOPS/Babyl environment, so he wrote Rmail to understand the mail files folks already had in existence. Gnus (and VM, for that matter) continue to support this format because it's @@ -21040,7 +21040,7 @@ and `gnus-score-decay-scale'." (* (abs score) gnus-score-decay-scale))))))) (if (and (featurep 'xemacs) - ;; XEmacs' floor can handle only the floating point + ;; XEmacs's floor can handle only the floating point ;; number below the half of the maximum integer. (> (abs n) (lsh -1 -2))) (string-to-number diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index 5423ff2e74f..736c6ce7f91 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -4193,7 +4193,7 @@ installed. Many Emacsen come with an older bundled copy of IDLWAVE (e.g. v4.7 for Emacs 21.x), which is likely what's being used instead. You need to make sure your Emacs @emph{load-path} contains the directory where IDLWAVE is installed (@file{/usr/local/share/emacs/site-lisp}, by -default), @emph{before} Emacs' default search directories. You can +default), @emph{before} Emacs's default search directories. You can accomplish this by putting the following in your @file{.emacs}: @lisp diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 3316e9883d8..ed00e8da028 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -14,8 +14,7 @@ This file describes how to use Info, the on-line, menu-driven GNU documentation system. -Copyright @copyright{} 1989, 1992, 1996-2012 -Free Software Foundation, Inc. +Copyright @copyright{} 1989, 1992, 1996-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -1108,7 +1107,7 @@ In the stand-alone reader, @kbd{0} goes through the last menu item; this is so you need not count how many entries are there. If your display supports multiple fonts, colors or underlining, and -you are using Emacs' Info mode to read Info files, the third, sixth +you are using Emacs's Info mode to read Info files, the third, sixth and ninth menu items have a @samp{*} that stands out, either in color or in some other attribute, such as underline; this makes it easy to see at a glance which number to use for an item. diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index 9b61e8f6f3a..919ca21cc3e 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -13,8 +13,7 @@ This manual is for Newsticker (version @value{VERSION}, @value{UPDATED}). @noindent -Copyright @copyright{} 2004-2012 -Free Software Foundation, Inc. +Copyright @copyright{} 2004-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -128,7 +127,7 @@ requires an XML-parser (@file{xml.el}) which is part of GNU Emacs. If you are using XEmacs you want to get the @file{net-utils} package which contains @file{xml.el} for XEmacs. -Newsticker retrieves headlines either via Emacs' built-in retrieval +Newsticker retrieves headlines either via Emacs's built-in retrieval functions, by an arbitrary external program that retrieves files via http and prints them to stdout (like @uref{http://www.gnu.org/software/wget/wget.html, wget}, or -- on a @@ -215,7 +214,7 @@ retrieved. @item @vindex newsticker-retrieval-method @code{newsticker-retrieval-method} defines how headlines are -retrieved. This is either done using Emacs' built-in download +retrieved. This is either done using Emacs's built-in download capabilities or using an external tool. @item @vindex newsticker-retrieval-interval diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index 5141ed0e93d..73af1ace245 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -8,8 +8,7 @@ This manual documents nxml-mode, an Emacs major mode for editing XML with RELAX NG support. -Copyright @copyright{} 2007-2012 -Free Software Foundation, Inc. +Copyright @copyright{} 2007-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -355,7 +354,7 @@ Otherwise, it is a paragraph boundary. @chapter Outlining nXML mode allows you to display all or part of a buffer as an -outline, in a similar way to Emacs' outline mode. An outline in nXML +outline, in a similar way to Emacs's outline mode. An outline in nXML mode is based on recognizing two kinds of element: sections and headings. There is one heading for every section and one section for every heading. A section contains its heading as or within its first diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 8da6cd96525..2a41d6b9301 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -265,7 +265,7 @@ @copying This manual is for Org version @value{VERSION}. -Copyright @copyright{} 2004-2012 Free Software Foundation, Inc. +Copyright @copyright{} 2004-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -6162,7 +6162,7 @@ applying it to another one. By customizing the variable @code{org-clock-idle-time} to some integer, such as 10 or 15, Emacs can alert you when you get back to your computer after being idle for that many minutes@footnote{On computers using Mac OS X, -idleness is based on actual user idleness, not just Emacs' idle time. For +idleness is based on actual user idleness, not just Emacs's idle time. For X11, you can install a utility program @file{x11idle.c}, available in the UTILITIES directory of the Org git distribution, to get the same general treatment of idleness. On other systems, idle time refers to Emacs idle time diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 6874828d427..b921882af67 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -204,7 +204,7 @@ When the original message is cited by @code{sc-cite-original}, it will (optionally) be filled by Supercite. However, if you manually edit the cited text and want to re-fill it, you must use an add-on package such as @cite{filladapt} or @cite{gin-mode}. These packages can recognize -Supercited text and will fill them appropriately. Emacs' built-in +Supercited text and will fill them appropriately. Emacs's built-in filling routines, e.g@. @code{fill-paragraph}, do not recognize cited text and will not re-fill them properly because it cannot guess the @code{fill-prefix} being used. @@ -786,7 +786,7 @@ pertaining to the MUAs you are using. One final note. After Supercite is loaded into your Emacs session, it runs the hook @code{sc-load-hook}. You can put any customizations into this hook since it is only run once. This will not work, however, if -your Emacs maintainer has put Supercite into your dumped Emacs' image. +your Emacs maintainer has put Supercite into your dumped Emacs image. In that case, you can use the @code{sc-pre-hook} variable, but this will get executed every time @code{sc-cite-original} is called. @xref{Reply Buffer Initialization}.@refill @@ -1008,7 +1008,7 @@ fill each cited paragraph in the reply buffer. I usually run with both these variables containing their default values. When Supercite's automatic filling breaks on a particular message, I -will use Emacs' undo feature to undo back before the citation was +will use Emacs's undo feature to undo back before the citation was applied to the original message. Then I'll toggle the variables and manually cite those paragraphs that I don't want to fill or collapse whitespace on. @xref{Variable Toggling Shortcuts}.@refill @@ -1688,7 +1688,7 @@ Toggles the variable @code{sc-fixup-whitespace-p}. @findex set-variable The following commands let you set the value of multi-value variables, -in the same way that Emacs' @code{set-variable} does: +in the same way that Emacs's @code{set-variable} does: @table @kbd @item C-c C-p C-t a @@ -1777,7 +1777,7 @@ old information is lost.@refill @findex open-line @kindex C-c C-p o @item @code{sc-open-line} (@kbd{C-c C-p o}) -Similar to Emacs' standard @code{open-line} commands, but inserts the +Similar to Emacs's standard @code{open-line} commands, but inserts the citation string in front of the new line. As with @code{open-line}, an optional numeric argument inserts that many new lines.@refill @end table diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index e223f98d46a..9f4dc72fea3 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi @@ -1,6 +1,6 @@ @c This file is included by semantic.texi -@c Copyright (C) 1999-2005, 2007, 2009-2012 Free Software Foundation, Inc. +@c Copyright (C) 1999-2005, 2007, 2009-2012 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this @c document under the terms of the GNU Free Documentation License, @@ -31,7 +31,7 @@ File,,,emacs,Emacs manual}. * Analyzer:: Semantic tools for analyzing code. * Speedbar:: Using @semantic{} with the Speedbar. * SymRef:: Interface to symbol reference tools. -* MRU Bookmarks:: Managing tag ``bookmarks''. +* MRU Bookmarks:: Managing tag "bookmarks". * Sticky Func Mode:: Showing declarations in the header line. * Highlight Func Mode:: Highlight the current function declaration. * Tag Decoration Mode:: Minor mode to decorate tags. diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 771430251b6..680f1921479 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -96,7 +96,7 @@ where @samp{@r{[}} and @samp{@r{]}} delimit optional parts. but you should beware of the security risks of sending cleartext passwords. @var{hostname} may be a domain name or a dotted decimal address. If the @samp{:@var{port}} is omitted then the library will -use the `well known' port for that service when accessing URLs. With +use the ``well known'' port for that service when accessing URLs. With the possible exception of @code{telnet}, it is rare for ports to be specified, and it is possible using a non-standard port may have undesired consequences if a different service is listening on that @@ -145,7 +145,7 @@ is the host name associated with it, or @code{nil}; @item port is the port number associated with it, or @code{nil}; @item file -is the `file' part of it, or @code{nil}. This doesn't necessarily +is the ``file'' part of it, or @code{nil}. This doesn't necessarily actually refer to a file; @item target is the target part, or @code{nil}; @@ -228,7 +228,7 @@ controls the number of concurrent processes, and the option @menu * http/https:: Hypertext Transfer Protocol. * file/ftp:: Local files and FTP archives. -* info:: Emacs `Info' pages. +* info:: Emacs "Info" pages. * mailto:: Sending email. * news/nntp/snews:: Usenet news. * rlogin/telnet/tn3270:: Remote host connectivity. @@ -472,7 +472,7 @@ The form of a mailto URL is @var{header} is @samp{body}, then @var{contents} is put in the body otherwise a @var{header} header field is created with @var{contents} as its contents. Note that the URL library does not consider any -headers `dangerous' so you should check them before sending the +headers ``dangerous'' so you should check them before sending the message. @c Fixme: update @@ -1009,7 +1009,7 @@ This the @samp{nslookup} program. It is @code{"nslookup"} by default. In some circumstances it is desirable to suppress making network connections. A typical case is when rendering HTML in a mail user agent, when external URLs should not be activated, particularly to -avoid `bugs' which `call home' by fetch single-pixel images and the +avoid ``bugs'' which ``call home'' by fetch single-pixel images and the like. To arrange this, bind the following variable for the duration of such processing. @@ -1062,7 +1062,7 @@ automatically via @code{url-do-setup} when it is configured to be on. Note that the size of the history list is currently not limited. @vindex url-history-hash-table -The history `list' is actually a hash table, +The history ``list'' is actually a hash table, @code{url-history-hash-table}. It contains access times keyed by URL strings. The times are in the format returned by @code{current-time}. diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 4b4bbfe5091..0d9bb286330 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -1705,7 +1705,7 @@ expressions}. For example, a typical forward search would be invoked by @var{pat} you must preceded it by @samp{\}. VIP strips off these @kbd{\}'s before @kbd{/} and the resulting @var{pat} becomes the actual search pattern. Emacs provides a different and richer class or regular -expressions than Vi/Ex, and VIP uses Emacs' regular expressions. See GNU +expressions than Vi/Ex, and VIP uses Emacs's regular expressions. See GNU Emacs Manual for details of regular expressions. Several Ex commands can be entered in a line by separating them by a pipe diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index a660cfb6b9d..86455524b1f 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -687,7 +687,7 @@ Insert state. For instance, Emacs has a @dfn{yank} command, @kbd{C-y}, which is similar to Vi's @kbd{p}. However, unlike @kbd{p}, @kbd{C-y} can be used in Insert state of Viper. Emacs also has a kill ring where it keeps pieces of text you deleted while editing buffers. The command @kbd{M-y} is -used to delete the text previously put back by Emacs' @kbd{C-y} or by Vi's +used to delete the text previously put back by Emacs's @kbd{C-y} or by Vi's @kbd{p} command and reinsert text that was placed on the kill-ring earlier. This works both in Vi and Insert states. @@ -1289,7 +1289,7 @@ the following example: The above discussion of the meaning of Viper's words concerns only Viper's movement commands. In regular expressions, words remain the same as in Emacs. That is, the expressions @code{\w}, @code{\>}, @code{\<}, etc., use -Emacs' idea of what is a word, and they don't look into the value of +Emacs's idea of what is a word, and they don't look into the value of variable @code{viper-syntax-preference}. This is because Viper doesn't change syntax tables in fear of upsetting the various major modes that set these tables. @@ -2504,7 +2504,7 @@ major modes. @item viper-minibuffer-emacs-face 'viper-minibuffer-emacs-face These faces control the appearance of the minibuffer text in the corresponding Viper states. You can change the appearance of these faces -through Emacs' customization widget, which is accessible through the +through Emacs's customization widget, which is accessible through the menubar. Viper is located in this widget under the @emph{Emulations} customization @@ -3205,7 +3205,7 @@ in the appropriate major mode hooks. The above discussion concerns only the movement commands. In regular expressions, words remain the same as in Emacs. That is, the expressions -@code{\w}, @code{\>}, @code{\<}, etc., use Emacs' idea of what is a word, +@code{\w}, @code{\>}, @code{\<}, etc., use Emacs's idea of what is a word, and they don't look into the value of variable @code{viper-syntax-preference}. This is because Viper avoids changing syntax tables in order to not thwart the various major modes that set these diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 1ad741d3d30..b8b15a13c76 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -432,7 +432,7 @@ slow. @xref{Cache, , The WoMan Topic Cache}, for further details. @menu * Cache:: The WoMan Topic Cache -* Word at point:: Using the ``Word at Point'' as a Topic Suggestion +* Word at point:: Using the "Word at Point" as a Topic Suggestion @end menu @node Cache, Word at point, Topic, Topic @@ -472,7 +472,7 @@ time it is run in a new Emacs session. @node Word at point, , Cache, Topic @comment node-name, next, previous, up -@subsection Using the ``Word at Point'' as a Topic Suggestion +@subsection Using the "Word at Point" as a Topic Suggestion @cindex word at point @cindex point, word at diff --git a/etc/AUTHORS b/etc/AUTHORS index a0a32959420..79c1cc01eb4 100644 --- a/etc/AUTHORS +++ b/etc/AUTHORS @@ -3,8 +3,6 @@ Foundation's distribution of GNU Emacs. To show our appreciation for their public spirit, we list here in alphabetical order a condensed list of their contributions. -Aaa Bbb: changed org-archive.el - Aaron Ecay: changed nsterm.m Aaron Larson: co-wrote bibtex.el @@ -53,8 +51,6 @@ and changed nsterm.m nsfns.m nsfont.m nsterm.h Makefile.in nsmenu.m Agustín Martín: changed ispell.el flyspell.el fixit.texi -Agustín Martín Domingo: changed flyspell.el ispell.el - Aidan Kehoe: changed ipa.el lread.c mm-util.el erc-log.el erc.el gnus-sum.el gnus-util.el latin-ltx.el nnfolder.el ob-tangle.el objects.texi @@ -72,10 +68,10 @@ Alakazam Petrofsky: changed hanoi.el Alan Mackenzie: wrote cc-awk.el and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el cc-langs.el cc-mode.el cc-styles.el cc-vars.el -and changed cc-mode.texi lread.c programs.texi isearch.el lisp.el - cc-subword.el display.texi font-lock.el modes.texi os.texi search.texi - startup.el subr.el text.texi INSTALL.BZR add-log.el buffers.texi - bytecomp.el callint.c cc-fix.el cc-menus.el and 21 other files +and changed cc-mode.texi lread.c programs.texi font-lock.el font-core.el + isearch.el lisp.el modes.texi cc-subword.el display.texi os.texi + search.texi startup.el subr.el text.texi INSTALL.BZR add-log.el + buffers.texi bytecomp.el callint.c cc-fix.el and 22 other files Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el @@ -89,9 +85,6 @@ Aleksei Gusev: changed progmodes/compile.el Alex Coventry: changed files.el -Alex Harsanyi: changed soap-client.el emacs3.py soap-inspect.el - vc-hooks.el vc.el xml.el - Alex Ott: changed TUTORIAL.ru ru-refcard.tex ispell.el ru-refcard.ps Alex Rezinsky: wrote which-func.el @@ -99,7 +92,7 @@ Alex Rezinsky: wrote which-func.el Alex Schroeder: wrote ansi-color.el cus-theme.el erc-compat.el erc-hecomplete.el erc-join.el erc-lang.el erc-ring.el master.el spam-stat.el sql.el -and co-wrote longlines.el rmailmm.el +and co-wrote longlines.el mail/rmailmm.el and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el erc-autoaway.el erc-nickserv.el rcirc.texi erc-autojoin.el erc-fill.el erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el rmail.el @@ -117,7 +110,7 @@ Alexander Kreuzer: changed nnrss.el Alexander L. Belikoff: wrote erc.el -Alexander Pohoyda: co-wrote rmailmm.el +Alexander Pohoyda: co-wrote mail/rmailmm.el and changed rmailsum.el man.el rmail.el sendmail.el Alexander Shopov: changed code-pages.el @@ -133,6 +126,7 @@ and changed unexelf.c format.el iris4d.h iris5d.h regex.c unexsgi.c Alexandre Veyrenc: changed fr-refcard.tex Alexandru Harsanyi: wrote soap-client.el soap-inspect.el +and changed emacs3.py vc-hooks.el vc.el xml.el Alfred Correira: changed generic-x.el @@ -147,6 +141,8 @@ Alin C. Soare: changed lisp-mode.el hexl.el Allen S. Rout: changed org-capture.el +Alon Albert: wrote rcompile.el + Alp Aker: changed nsfont.m nsterm.h nsterm.m buff-menu.el configure.in nsfns.m nsmenu.m @@ -197,7 +193,7 @@ Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c alloc.c process.c coding.c files.el keyboard.c xterm.c editfns.c emacs.c fns.c print.c eval.c fileio.c lread.c sysdep.c dired.el xfns.c buffer.c - and 573 other files + and 577 other files Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el @@ -260,8 +256,8 @@ Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el Ari Roponen: changed atimer.c doc.c mule.texi startup.el time-date.el Arisawa Akihiro: changed characters.el coding.c epa-file.el japan-util.el - message.el mm-decode.el mm-view.el ps-print.el tai-viet.el term.c - tibetan.el time.el utf-8.el + language/tibetan.el message.el mm-decode.el mm-view.el ps-print.el + tai-viet.el term.c time.el utf-8.el Arnaud Giersch: changed gnus-sum.el @@ -294,13 +290,13 @@ and changed c++-mode.el cplus-md1.el syntax.c syntax.h Barry Fishman: changed gnu-linux.h -Bastien Guerry: wrote gnus-bookmark.el org-latex.el org-protocol.el -and co-wrote org-bibtex.el org-list.el org-src.el +Bastien Guerry: wrote gnus-bookmark.el org-latex.el +and co-wrote org-bibtex.el org-list.el org-protocol.el org-src.el and changed org.el org-agenda.el org-html.el org-clock.el org-exp.el org.texi org-table.el org-capture.el org-publish.el org-timer.el org-export-latex.el org-archive.el ob.el org-ascii.el org-mobile.el bookmark.el info.el org-attach.el org-colview.el org-crypt.el - org-eshell.el and 31 other files + org-eshell.el and 32 other files Ben A. Mesander: co-wrote erc-dcc.el @@ -431,9 +427,7 @@ Brian Preble: changed abbrev.el apropos.el asm-mode.el awk-mode.el compare-w.el compile.el dabbrev.el debug.el diary.el diff.el dired.el doctex.el doctor.el ebuff-menu.el echistory.el and 129 other files -Brian Sniffen: changed gnus-draft.el mm-decode.el - -Brian T. Sniffen: changed imap.el +Brian Sniffen: changed gnus-draft.el imap.el mm-decode.el Bruno Haible: co-wrote po.el and changed INSTALL emacs.1 epaths.in info.el paths.el @@ -498,9 +492,9 @@ Chong Yidong: wrote compile-tests.el dichromacy-theme.el font-parse-tests.el redisplay-testsuite.el tabulated-list.el and co-wrote longlines.el tango-dark-theme.el tango-theme.el and changed xdisp.c simple.el display.texi files.el frames.texi - cus-edit.el files.texi keyboard.c startup.el custom.el package.el - text.texi emacs.texi misc.texi xterm.c faces.el subr.el image.c - mouse.el custom.texi progmodes/compile.el and 837 other files + cus-edit.el files.texi keyboard.c custom.el startup.el package.el + text.texi xterm.c emacs.texi faces.el misc.texi subr.el image.c + mouse.el custom.texi xfns.c and 841 other files Chris Chase: co-wrote idlw-shell.el idlwave.el @@ -564,11 +558,11 @@ Christoph Bauer: changed configure.in Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in qp.el -Christoph Scholtes: changed makefile.w32-in progmodes/python.el stdint.h - INSTALL README.W32 maintaining.texi zipdist.bat admin.el bookmark.el - config.nt configure.bat control.texi cua-base.el help-mode.el help.el - ido.el makedist.bat menu.c minibuf.c process.c progmodes/grep.el - and 3 other files +Christoph Scholtes: changed makefile.w32-in README.W32 + progmodes/python.el stdint.h INSTALL maintaining.texi zipdist.bat + admin.el bookmark.el config.nt configure.bat control.texi cua-base.el + gmake.defs help-mode.el help.el ido.el make-dist makedist.bat menu.c + minibuf.c and 6 other files Christoph Wedler: wrote antlr-mode.el and changed format.el gnus-art.el gnus-picon.el message.el register.el @@ -665,7 +659,7 @@ and changed vc.el Makefile.in configure.in vc-hg.el vc-git.el vc-bzr.el Dan Rosenberg: changed movemail.c -Dani Moncayo: changed lists.texi buffers.texi text.texi +Dani Moncayo: changed buffers.texi lists.texi makefile.w32-in text.texi Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el @@ -685,7 +679,7 @@ Daniel Elliott: changed octave-mod.el Daniel Engeler: changed sysdep.c elisp.texi emacs.texi internals.texi misc.texi process.c process.h processes.texi term.el w32.c w32.h -Daniel Hackney: changed emacsclient.c process.c +Daniel Hackney: changed emacsclient.c package.el process.c Daniel Jensen: changed apropos.el @@ -695,7 +689,7 @@ and changed mlconvert.el eval-region.el Daniel M Coffman: changed arc-mode.el -Daniel M German: wrote org-protocol.el +Daniel M German: co-wrote org-protocol.el Daniel Néri: changed message.el @@ -727,30 +721,29 @@ Darren Stalder: changed gnus-util.el Darrin B. Jewell: changed etags.c lisp.h -Dave Abrahams: changed gnus-sum.el org-agenda.el gnus-registry.el - gnus.texi nnimap.el nnir.el nnmairix.el nnregistry.el org-clock.el - Dave Detlefs: co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el Dave Lambert: changed sol2-5.h xfns.c xterm.c xterm.h Dave Love: wrote autoarg.el autoconf.el benchmark.el cap-words.el - cfengine.el elide-head.el georgian.el hl-line.el latin1-disp.el - progmodes/python.el refill.el rfc1345.el sgml-input.el smiley.el - sym-comp.el tool-bar.el uni-input.el utf-7.el utf-8-lang.el vc-bzr.el - welsh.el + cfengine.el elide-head.el hl-line.el language/georgian.el + latin1-disp.el progmodes/python.el quail/georgian.el refill.el + rfc1345.el sgml-input.el smiley.el sym-comp.el tool-bar.el uni-input.el + utf-7.el utf-8-lang.el vc/vc-bzr.el welsh.el and co-wrote latin-ltx.el socks.el and changed Makefile.in configure.in help.el mule-cmds.el fortran.el - mule-conf.el xterm.c browse-url.el mule.el coding.c cyrillic.el - european.el fns.c mule-diag.el simple.el wid-edit.el cus-edit.el - cus-start.el files.el keyboard.c byte-opt.el and 759 other files + mule-conf.el xterm.c browse-url.el mule.el coding.c european.el fns.c + mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el files.el + keyboard.c byte-opt.el info.el and 770 other files Dave Pearson: wrote 5x5.el quickurl.el David A. Capello: changed etags.c -David Abrahams: changed coding.c ediff-init.el mairix.el +David Abrahams: changed gnus-sum.el org-agenda.el coding.c ediff-init.el + gnus-registry.el gnus.texi mairix.el nnimap.el nnir.el nnmairix.el + nnregistry.el org-clock.el David Bakhash: wrote strokes.el @@ -771,9 +764,9 @@ David Edmondson: changed message.el gnus-cite.el imap.el mm-view.el David Engster: wrote mairix.el nnmairix.el and changed gnus.texi insert.el registry.el gnus-msg.el analyze/complete.el base.el bovine-grammar.el cedet/srecode.el - cpp-root.el custom.el db-find.el db-typecache.el db.el dictionary.el - display.texi document.el ede-grammar.el files.el filters.el generic.el - gnus-registry.el and 22 other files + cpp-root.el db-find.el db-typecache.el db.el dictionary.el display.texi + document.el ede-grammar.el ede/custom.el ede/generic.el files.el + filters.el gnus-registry.el and 22 other files David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el calc-comb.el calc-cplx.el calc-embed.el calc-ext.el calc-fin.el @@ -807,10 +800,10 @@ David J. MacKenzie: changed configure.in etags.c Makefile.in fakemail.c b2m.c config.in digest-doc.c emacsclient.c emacsserver.c emacstool.c etags-vmslib.c fortran.el hexl.c and 14 other files -David Kastrup: changed greek.el replace.el faq.texi search.c ange-ftp.el - calc.el help.el keymaps.texi mouse.el subr.el woman.el Makefile.in - desktop.el gnus-art.el keymap.c keymap.h lisp-mnt.el meta-mode.el - mpuz.el process.c search.texi and 79 other files +David Kastrup: changed quail/greek.el replace.el faq.texi search.c + ange-ftp.el calc.el help.el keymaps.texi mouse.el subr.el woman.el + Makefile.in desktop.el gnus-art.el keymap.c keymap.h lisp-mnt.el + meta-mode.el mpuz.el process.c search.texi and 79 other files David Kågedal: wrote tempo.el and changed sendmail.el xmenu.c @@ -853,6 +846,7 @@ David Mosberger-Tang: changed alpha.h unexelf.c cm.h config.in sysdep.c terminfo.c unexelf1.c yow.c David O'Toole: wrote org-publish.el +and co-wrote ob-lisp.el David Ponce: wrote bovine-grammar.el cedet.el comp.el grammar-wy.el grammar.el java-tags.el mode-local.el recentf.el ruler-mode.el @@ -876,8 +870,6 @@ David Robinson: changed menu-bar.el x-win.el David S. Goldberg: changed gnus-art.el message.el -David T. O'Toole: co-wrote ob-lisp.el - David Vazquez: changed m4-mode.el David Z. Maze: changed nnml.el nnrss.el @@ -904,7 +896,7 @@ Denis Stünkel: changed ibuf-ext.el Deniz Dogan: changed rcirc.el simple.el css-mode.el commands.texi image.el iswitchb.el lisp-mode.el process.c progmodes/python.el - quickurl.el rcirc.texi vc-bzr.el wdired.el window.el + quickurl.el rcirc.texi vc/vc-bzr.el wdired.el window.el Dennis Gilmore: changed sparc.h @@ -920,7 +912,7 @@ Derek Upham: changed nxml-mode.el Detlev Zundel: wrote re-builder.el -Devon Sean Mccullough: changed comint.el +Devon Sean McCullough: changed comint.el Dhruva Krishnamurthy: changed makefile.w32-in emacsclient.c fontset.c sound.c w32proc.c @@ -960,6 +952,8 @@ Dmitry Bolshakov: changed hideshow.el Dmitry Dzhus: changed gdb-mi.el gud.el fadr.el all.xpm building.texi emacs.texi process.c thread.xpm +Dmitry Gutov: changed lisp.el + Dmitry Kurochkin: changed isearch.el Dominique de Waleffe: changed pcvs-info.el @@ -991,8 +985,8 @@ Ed L. Cashin: changed gnus-sum.el imap.el Ed Swarthout: changed hexl.el textmodes/table.el Eduard Wiebe: changed dired.el browse-url.el flymake.texi footnote.el - javascript.el korean.el locate.el mule-conf.el nxml-mode.texi - objects.texi ps-print.el vc-rcs.el + javascript.el jit-lock.el korean.el locate.el mule-conf.el + nxml-mode.texi objects.texi ps-print.el vc-rcs.el Eduardo Muñoz: changed dired.el ls-lisp.el @@ -1013,8 +1007,6 @@ and changed erc.el erc-viper.el erc-log.el erc-track.el viper.el Edward Trumbo: changed Makefile.in -Edward Wiebe: changed jit-lock.el - Edwin Steiner: changed gnus-nocem.el Ehud Karni: changed rmail.el aviion-intel.h complete.el configure.in @@ -1030,8 +1022,8 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c] bidi.c rxvt.el tty-colors.el and changed makefile.w32-in msdos.c xdisp.c Makefile.in files.el config.bat fileio.c simple.el msdos.h info.el mainmake.v2 rmail.el - sed1v2.inp display.texi w32.c process.c pc-win.el dispnew.c startup.el - dispextern.h dired.c and 697 other files + sed1v2.inp display.texi w32.c pc-win.el process.c dispnew.c startup.el + dispextern.h dired.c and 700 other files Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el gnus.el @@ -1078,16 +1070,16 @@ Eric M. Ludlam: wrote analyze.el analyze/complete.el analyze/debug.el args.el auto.el autoconf-edit.el base.el bovine.el bovine/debug.el bovine/el.el bovine/make.el c.el cedet-cscope.el cedet-files.el cedet-global.el cedet-idutils.el cedet-utests.el cedet/semantic.el - cedet/srecode.el checkdoc.el cpp-root.el cscope.el custom.el - data-debug.el db-debug.el db-el.el db-file.el db-find.el db-global.el - db-mode.el db-ref.el db-typecache.el db.el decorate.el decorate/mode.el - dep.el dframe.el dictionary.el doc.el document.el ede-grammar.el - ede-tests.el ede.el ede/dired.el ede/files.el ede/linux.el - ede/locate.el ede/make.el ede/shell.el ede/simple.el ede/speedbar.el - ede/srecode.el ede/util.el edit.el eieio-base.el eieio-custom.el - eieio-datadebug.el eieio-opt.el eieio-speedbar.el eieio.el - emacs-lisp/chart.el emacs.el expandproto.el extract.el ezimage.el - fcn.el fields.el filter.el filters.el fw.el gcc.el generic.el getset.el + cedet/srecode.el checkdoc.el cpp-root.el cscope.el data-debug.el + db-debug.el db-el.el db-file.el db-find.el db-global.el db-mode.el + db-ref.el db-typecache.el db.el decorate.el decorate/mode.el dep.el + dframe.el dictionary.el doc.el document.el ede-grammar.el ede-tests.el + ede.el ede/custom.el ede/dired.el ede/files.el ede/generic.el + ede/linux.el ede/locate.el ede/make.el ede/shell.el ede/simple.el + ede/speedbar.el ede/srecode.el ede/util.el edit.el eieio-base.el + eieio-custom.el eieio-datadebug.el eieio-opt.el eieio-speedbar.el + eieio.el emacs-lisp/chart.el emacs.el expandproto.el extract.el + ezimage.el fcn.el fields.el filter.el filters.el fw.el gcc.el getset.el global.el html.el ia-sb.el ia.el idle.el idutils.el include.el insert.el inversion.el javascript.el lex-spp.el lex.el list.el makefile-edit.el map.el mru-bookmark.el pconf.el pmake.el @@ -1162,7 +1154,7 @@ Ethan Ligon: changed org-docbook.el org-html.el Eugene Exarevsky: changed sql.el -Evangelos Evangelou: changed f90.el +Evangelos Evangelou: changed progmodes/f90.el Evgeni Dobrev: changed man.el @@ -1315,7 +1307,7 @@ Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el rx.el tooltip.el and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c window.c keyboard.c lisp.h Makefile.in faces.el alloc.c buffer.c startup.el xterm.h fns.c simple.el term.c frame.c xmenu.c emacs.c - and 615 other files + and 617 other files Gergely Nagy: changed erc.el @@ -1332,12 +1324,11 @@ Giuliano Procida: changed perl-mode.el Giuseppe Scrivano: changed browse-url.el buffer.c configure.in sysdep.c xsmfns.c -Glenn Morris: wrote check-declare.el f90.el vc-bzr.el +Glenn Morris: wrote automated/f90.el automated/vc-bzr.el check-declare.el and changed Makefile.in configure.in calendar.el diary-lib.el rmail.el - files.el cal-menu.el appt.el cal-hebrew.el fortran.el bytecomp.el - holidays.el make-dist calendar.texi emacs.texi simple.el sed1v2.inp - cal-islam.el cal-bahai.el makefile.w32-in dired-x.el - and 1210 other files + progmodes/f90.el files.el cal-menu.el appt.el cal-hebrew.el fortran.el + bytecomp.el holidays.el calendar.texi emacs.texi make-dist simple.el + ack.texi sed1v2.inp cal-islam.el dired-x.el and 1242 other files Glynn Clements: wrote gamegrid.el snake.el tetris.el @@ -1407,8 +1398,8 @@ Helmut Eller: changed cl-macs.el emacs-lisp/debug.el process.c Helmut Waitzmann: changed gnus-sum.el gnus.texi Henrik Enberg: changed rmailout.el gnus-art.el gnus-msg.el lread.c - rmail.el rmailedit.el rmailkwd.el rmailmm.el rmailmsc.el rmailsort.el - rmailsum.el xfaces.c + mail/rmailmm.el rmail.el rmailedit.el rmailkwd.el rmailmsc.el + rmailsort.el rmailsum.el xfaces.c Henrique Martins: changed mh-mime.el mh-xface.el @@ -1531,8 +1522,8 @@ Jaeyoun Chung: changed hangul3.el hanja3.el gnus-mule.el hangul.el Jambunathan K: wrote org-lparse.el org-odt.el and changed org.el org-exp.el org-inlinetask.el org.texi - OrgOdtContentTemplate.xml OrgOdtStyles.xml indian.el org-footnote.el - org-html.el package-x.el tar-mode.el + OrgOdtContentTemplate.xml OrgOdtStyles.xml org-footnote.el org-html.el + package-x.el quail/indian.el tar-mode.el James Clark: wrote nxml-enc.el nxml-glyph.el nxml-maint.el nxml-mode.el nxml-ns.el nxml-outln.el nxml-parse.el nxml-rap.el nxml-uchnm.el @@ -1572,7 +1563,7 @@ Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el and changed gtkutil.c xterm.c xfns.c configure.in xmenu.c xterm.h gtkutil.h nsterm.m x-win.el keyboard.c Makefile.in frames.texi xsettings.c emacs.c frame.c nsfns.m xselect.c process.c xlwmenu.c - config.in cus-start.el and 302 other files + config.in cus-start.el and 303 other files Jan Moringen: co-wrote srecode/cpp.el tango-dark-theme.el tango-theme.el and changed dbus.el dbus.texi dbusbind.c eieio.el log-edit.el zeroconf.el @@ -1614,10 +1605,10 @@ and changed w32fns.c w32term.c w32font.c makefile.w32-in w32menu.c font.c image.c w32font.h w32gui.h and 160 other files Jay Belanger: changed calc.texi calc.el calc-ext.el calc-aent.el - calc-units.el calc-embed.el calc-lang.el calc-prog.el calc-help.el + calc-units.el calc-embed.el calc-help.el calc-lang.el calc-prog.el calc-math.el calccomp.el calc-arith.el calc-graph.el calc-forms.el calc-misc.el calc-store.el calc-yank.el calcalg2.el calc-bin.el - calc-alg.el calc-vec.el and 39 other files + calc-alg.el calc-vec.el and 40 other files Jay K. Adams: wrote jka-cmpr-hook.el jka-compr.el @@ -1648,11 +1639,12 @@ Jens Krinke: changed smime.el Jens Lautenbacher: changed gnus.el Jens Petersen: wrote find-func.el -and changed ffap.el mule-cmds.el pcmpl-rpm.el +and changed mule-cmds.el pcmpl-rpm.el Jens Toivo Berger Thielemann: changed word-help.el -Jens-Ulrik Holger Petersen: changed cus-edit.el find-func.el gnus.el +Jens-Ulrik Holger Petersen: changed cus-edit.el ffap.el find-func.el + gnus.el Jeramey Crawford: changed amdx86-64.h configure.in @@ -1684,7 +1676,7 @@ and co-wrote wyse50.el and changed keyboard.c xterm.c xfns.c Makefile.in window.c process.c ymakefile dispnew.c xdisp.c sysdep.c configure.in lisp.h keymap.c configure make-dist buffer.c frame.c screen.c simple.el alloc.c emacs.c - and 387 other files + and 388 other files Jim Kingdon: changed emacsclient.c emacs.tex functions.texinfo hp300bsd.h rmail.el @@ -1692,7 +1684,7 @@ Jim Kingdon: changed emacsclient.c emacs.tex functions.texinfo hp300bsd.h Jim Meyering: changed lread.c w32.c copyright.el ebrowse.c emacs.c make-docfile.c nsfont.m term.c w32font.c xfaces.c xselect.c Makefile.in alloc.c artist.el autoinsert.el buffer.h character.h charset.c - configure configure.in doprnt.c and 52 other files + configure configure.in doprnt.c and 53 other files Jim Radford: changed gnus-start.el @@ -1773,8 +1765,6 @@ John F. Carr: changed dired.c John F. Whitehead: changed mule-cmds.el mule-diag.el -John Foerch: changed display.texi - John Fremlin: changed gnus-msg.el message.el John Grabowski: changed xfaces.c xfns.c @@ -1785,9 +1775,10 @@ John Heidemann: wrote mouse-copy.el mouse-drag.el John Hughes: changed term.c -John J Foerch: changed erc-stamp.el org.el progmodes/compile.el +John J Foerch: changed display.texi erc-stamp.el org.el + progmodes/compile.el -John Mongan: changed f90.el +John Mongan: changed progmodes/f90.el John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el help-fns.el rmail.el files.el thumbs.el bindings.el fns.c xfns.c arc-mode.el @@ -1798,16 +1789,17 @@ John Sullivan: changed window.c John Tobey: changed gud.el -John W. Eaton: wrote octave-inf.el octave-mod.el +John W. Eaton: co-wrote octave-mod.el +and changed octave-inf.el John Wiegley: wrote align.el cal-bahai.el em-alias.el em-banner.el em-basic.el em-cmpl.el em-dirs.el em-glob.el em-hist.el em-ls.el em-pred.el em-prompt.el em-rebind.el em-script.el em-smart.el em-term.el em-unix.el em-xtra.el erc-identd.el esh-arg.el esh-cmd.el esh-ext.el esh-io.el esh-mode.el esh-module.el esh-opt.el esh-proc.el - esh-util.el esh-var.el eshell.el eudcb-mab.el isearchb.el org-attach.el - org-crypt.el org-habit.el pcmpl-cvs.el pcomplete.el remember.el - timeclock.el + esh-util.el esh-var.el eshell/eshell.el eudcb-mab.el isearchb.el + org-attach.el org-crypt.el org-habit.el pcmpl-cvs.el pcomplete.el + remember.el test/eshell.el timeclock.el and co-wrote org-mac-message.el org-pcomplete.el and changed org-clock.el org-agenda.el erc-chess.el org.el erc.el iswitchb.el ido.el esh-test.el Makefile.in allout.el cal-menu.el @@ -1881,10 +1873,10 @@ Juan Pechiar: wrote ob-mscgen.el and changed ob-octave.el Juanma Barranquero: wrote emacs-lock.el -and changed makefile.w32-in subr.el w32fns.c files.el server.el - emacsclient.c bs.el help-fns.el faces.el org.el simple.el buffer.c - xdisp.c keyboard.c desktop.el process.c w32term.c window.c ido.el w32.c - allout.el and 1086 other files +and changed makefile.w32-in subr.el w32fns.c files.el server.el bs.el + emacsclient.c help-fns.el faces.el org.el simple.el buffer.c xdisp.c + keyboard.c desktop.el process.c w32term.c window.c ido.el w32.c + allout.el and 1089 other files Juergen Kreileder: changed imap.el nnimap.el @@ -1917,7 +1909,7 @@ and changed info.el isearch.el simple.el replace.el progmodes/grep.el dired-aux.el progmodes/compile.el dired.el startup.el faces.el files.el display.texi menu-bar.el descr-text.el bindings.el cus-edit.el image-mode.el ispell.el man.el dired-x.el log-view.el - and 337 other files + and 338 other files Justin Bogner: changed fortune.el @@ -2001,7 +1993,7 @@ Karl Pflästerer: changed gnus-art.el gnus-score.el mml.el spam-stat.el Katsuhiro Hermit Endo: changed gnus-group.el gnus-spec.el Katsumi Yamaoka: wrote canlock.el -and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el +and changed gnus-art.el gnus-sum.el message.el gnus.texi mm-decode.el mm-util.el mm-view.el gnus-group.el mml.el rfc2047.el gnus-util.el gnus-start.el gnus-msg.el gnus.el shr.el nntp.el gnus-agent.el nnrss.el mm-uu.el nnmail.el gnus-html.el and 135 other files @@ -2033,9 +2025,9 @@ Ken Brush: changed emacsclient.c Ken Laprade: changed simple.el Ken Manheimer: wrote allout-widgets.el allout.el icomplete.el -and changed pgg-gpg.el pgg.el progmodes/python.el encrypted-locked.xpm - pgg-pgp.el pgg-pgp5.el unlocked-encrypted.png unlocked-encrypted.xpm - README edebug.el pgg.texi tips.texi +and changed pgg-gpg.el pgg.el progmodes/python.el locked-encrypted.png + locked-encrypted.xpm pgg-pgp.el pgg-pgp5.el unlocked-encrypted.png + unlocked-encrypted.xpm README edebug.el pgg.texi tips.texi Ken Raeburn: changed lisp.h lread.c Makefile.in alloc.c buffer.c fns.c keyboard.c minibuf.c coding.c editfns.c fileio.c keymap.c xdisp.c @@ -2044,13 +2036,13 @@ Ken Raeburn: changed lisp.h lread.c Makefile.in alloc.c buffer.c fns.c Ken Stevens: wrote ispell.el -Kenichi Handa: wrote composite.el cyrillic.el isearch-x.el ps-bdf.el - py-punct.el pypunct-b5.el thai-word.el +Kenichi Handa: wrote composite.el isearch-x.el language/cyrillic.el + ps-bdf.el py-punct.el pypunct-b5.el thai-word.el and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el and changed coding.c mule-cmds.el mule.el fontset.c charset.c xdisp.c fontset.el font.c xterm.c Makefile.in fileio.c mule-conf.el characters.el fns.c ftfont.c mule-diag.el charset.h ccl.c coding.h - xfaces.c japanese.el and 379 other files + xfaces.c editfns.c and 388 other files Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el @@ -2139,7 +2131,8 @@ Kristoffer Grönlund: wrote wombat-theme.el Kurt B. Kaiser: changed message.el -Kurt Hornik: wrote octave-inf.el octave-mod.el +Kurt Hornik: wrote octave-inf.el +and co-wrote octave-mod.el and changed battery.el ielm.el octave-hlp.el term.el Kurt Swanson: changed gnus-art.el gnus-salt.el gnus-sum.el gnus-ems.el @@ -2167,15 +2160,11 @@ Lars Hansen: changed desktop.el tramp.el info.el mh-e.el dired-x.el hilit-chg.el misc.texi url-auth.el url-cache.el url-dired.el url-ftp.el url-irc.el url-misc.el url-news.el url-privacy.el and 39 other files -Lars Ingebrigtsen: changed nnimap.el gnus-art.el gnus-sum.el shr.el - gnus.texi gnus-start.el auth-source.el nntp.el message.el gnus-draft.el - gnus-group.el gnus-agent.el gnus-html.el gnus-util.el macros.texi - nnfolder.el nnmail.el proto-stream.el gnus-demon.el gnus-gravatar.el - gnus-int.el and 10 other files - Lars Lindberg: wrote msb.el and co-wrote dabbrev.el imenu.el +Lars Ljung: changed esh-ext.el + Lars Magne Ingebrigtsen: wrote compface.el dns.el ecomplete.el format-spec.el gnus-agent.el gnus-art.el gnus-async.el gnus-bcklg.el gnus-cache.el gnus-demon.el gnus-draft.el gnus-dup.el gnus-eform.el @@ -2192,11 +2181,10 @@ and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el rfc2047.el time-date.el -and changed gnus.texi gnus-cite.el pop3.el gnus-xmas.el smtpmail.el - proto-stream.el auth-source.el subr.el xml.c dired.el editfns.c - nnultimate.el gnus-nocem.el gnutls.c imap.el nnkiboze.el nnrss.el - nnslashdot.el spam-report.el url-http.el gnus-cus.el - and 207 other files +and changed gnus.texi gnus-cite.el pop3.el smtpmail.el gnus-xmas.el + auth-source.el proto-stream.el url-http.el gnutls.c subr.el xml.c + dired.el editfns.c nnultimate.el gnus-nocem.el imap.el nnkiboze.el + nnrss.el nnslashdot.el simple.el spam-report.el and 210 other files Lars Rasmusson: changed ebrowse.c @@ -2209,7 +2197,7 @@ and changed erc.el org-latex.el org.el erc-match.el erc-nets.el erc-nickserv.el org-exp.el browse-url.el erc-button.el erc-compat.el erc-dcc.el erc-fill.el erc-list.el erc-track.el ielm.el ob.el org-html.el cl-macs.el erc-autoaway.el erc-autojoin.el erc-bbdb.el - and 22 other files + and 23 other files Lawrence R. Dodd: co-wrote dired-x.el and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el @@ -2227,10 +2215,10 @@ and changed nxml-mode.el tutorial.el window.el ada-xref.el buff-menu.el Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c -Leo Liu: changed rcirc.el ido.el makefile.w32-in abbrev.el Makefile.in - deps.mk dnd.el em-hist.el erc.el files.el fns.c footnote.el gl-comp.m4 - gnulib.mk help-mode.el iswitchb.el minibuf.c minibuffer.el register.el - replace.el subr.el and 47 other files +Leo Liu: changed rcirc.el ido.el makefile.w32-in abbrev.el subr.el + Makefile.in deps.mk diff-mode.el dnd.el em-hist.el erc.el files.el + fns.c footnote.el gl-comp.m4 gnulib.mk help-mode.el iswitchb.el + minibuf.c minibuffer.el register.el and 57 other files Leonard H. Tower Jr.: changed rnews.el rnewspost.el emacsbug.el rmailout.el sendmail.el @@ -2269,11 +2257,11 @@ Lukas Huonker: changed tetris.el Łukasz Stelmach: changed cookie1.el message.el org-agenda.el org-bbdb.el org-exp.el org-html.el org.el -Lute Kamstra: changed modes.texi generic.el emacs-lisp/debug.el - generic-x.el font-lock.el simple.el subr.el Makefile.in battery.el - debugging.texi easy-mmode.el elisp.texi hl-line.el info.el basic.texi - bindings.el calc.el cmdargs.texi diff-mode.el doclicense.texi - edebug.texi and 290 other files +Lute Kamstra: changed modes.texi emacs-lisp/debug.el generic-x.el + generic.el font-lock.el simple.el subr.el Makefile.in battery.el + debugging.texi easy-mmode.el elisp.texi emacs-lisp/generic.el + hl-line.el info.el basic.texi bindings.el calc.el cmdargs.texi + diff-mode.el doclicense.texi and 291 other files Lynn Slater: wrote help-macro.el @@ -2281,8 +2269,9 @@ Maciek Pasternacki: changed nnrss.el Magnus Henoch: changed url-http.el ispell.el url.el dbusbind.c dns.el url-gw.el url-parse.el url-proxy.el autoinsert.el cl.texi configure.in - cyrillic.el dbus.el gnus.texi hashcash.el log-edit.el message.el - org-clock.el org-latex.el org-table.el process.c and 10 other files + dbus.el gnus.texi hashcash.el log-edit.el message.el org-clock.el + org-latex.el org-table.el process.c quail/cyrillic.el + and 10 other files Malcolm Purvis: changed spam-stat.el @@ -2423,7 +2412,7 @@ Martin Pohlack: changed iimage.el pc-select.el Martin Rudalics: changed window.el window.c windows.texi frame.c buffer.c help.el window.h cus-start.el frame.el cus-edit.el files.el buffers.texi dired.el subr.el add-log.el xdisp.c font-lock.el - help-fns.el lisp.h mouse.el wid-edit.el and 135 other files + help-fns.el lisp.h mouse.el wid-edit.el and 136 other files Martin Stjernholm: wrote cc-bytecomp.el and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el @@ -2452,15 +2441,13 @@ and co-wrote cc-guess.el and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el xfaces.c simple.el vc.el wid-edit.el add-log.el etags.c faces.el pcvs.el progmodes/compile.el register.el ruler-mode.el buffer.c - cus-face.el dired-x.el dispextern.h and 71 other files + cc-langs.el cus-face.el dired-x.el and 73 other files Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el make-mode.el Masayuki Fujii: changed dnd.el w32-win.el -Mastake Yamato: changed cc-guess.el cc-langs.el cc-mode.el cc-styles.el - Mathias Dahl: wrote image-dired.el and changed tumme.el dired.el dired.texi @@ -2636,8 +2623,9 @@ Mike Woolley: changed gnus-sum.el Mikio Nakajima: changed ring.el viper-util.el -Milan Zamazal: wrote czech.el glasses.el tildify.el -and co-wrote prolog.el slovak.el +Milan Zamazal: wrote glasses.el language/czech.el quail/czech.el + tildify.el +and co-wrote language/slovak.el prolog.el quail/slovak.el and changed abbrev.el filecache.el files.el mm-view.el org.el progmodes/compile.el @@ -2770,9 +2758,7 @@ Nobuyuki Hikichi: changed news-risc.h Noel Cragg: changed mh-junk.el Noorul Islam: changed org-latex.el org-html.el org.el org.texi - org-capture.el org-gnus.el org-habit.el - -Noorul Islam K M: changed package.el + org-capture.el org-gnus.el org-habit.el package.el Norbert Koch: changed gnus-msg.el gnus-score.el @@ -2783,7 +2769,7 @@ Nuutti Kotivuori: changed gnus-sum.el flow-fill.el gnus-cache.el Odd Gripenstam: wrote dcl-mode.el -Ognyan Kulev: changed TUTORIAL.bg cyrillic.el +Ognyan Kulev: changed TUTORIAL.bg quail/cyrillic.el Okazaki Tetsurou: changed cc-fonts.el @@ -2791,7 +2777,8 @@ Olaf Sylvester: wrote bs.el Ole Aamot: changed compile.el -Oleg S. Tihonov: changed cyrillic.el ispell.el map-ynp.el subr.el +Oleg S. Tihonov: changed ispell.el language/cyrillic.el map-ynp.el + quail/cyrillic.el subr.el Oleksandr Gavenko: changed generic-x.el progmodes/grep.el @@ -2846,7 +2833,7 @@ and co-wrote cal-dst.el and changed lisp.h Makefile.in editfns.c alloc.c xdisp.c configure.in fileio.c image.c process.c fns.c xterm.c dispextern.h keyboard.c data.c lread.c sysdep.c xfns.c eval.c emacs.c config.in print.c - and 568 other files + and 573 other files Paul Fisher: changed fns.c @@ -2866,7 +2853,7 @@ Paul Pogonyshev: changed progmodes/python.el subr.el which-func.el Paul Reilly: changed dgux.h lwlib-Xm.c lwlib.c xlwmenu.c configure.in mail-utils.el process.c rmail.el xfns.c Makefile.in dgux5-4R2.h dgux5-4R3.h files.el keyboard.c lwlib-Xaw.c lwlib-Xm.h lwlib-int.h - lwlib.h rmailedit.el rmailkwd.el rmailmm.el and 10 other files + lwlib.h mail/rmailmm.el rmailedit.el rmailkwd.el and 10 other files Paul Rivier: changed ada-mode.el mixal-mode.el reftex-vars.el reftex.el @@ -2881,7 +2868,7 @@ Paul Stodghill: changed gnus-agent.el gnus-util.el Pavel Janík: changed keyboard.c xterm.c COPYING xdisp.c Makefile.in process.c emacs.c lisp.h menu-bar.el ldap.el make-dist xfns.c buffer.c coding.c eval.c fileio.c flyspell.el fns.c indent.c callint.c - cus-start.el and 700 other files + cus-start.el and 710 other files Pavel Kobiakov: wrote flymake.el and changed flymake.texi @@ -2915,8 +2902,9 @@ Pete Kazmier: changed gnus-art.el Pete Ware: changed message.el -Peter Breton: wrote dirtrack.el filecache.el find-lisp.el generic-x.el - generic.el locate.el net-utils.el +Peter Breton: wrote dirtrack.el emacs-lisp/generic.el filecache.el + find-lisp.el generic-x.el locate.el net-utils.el +and changed generic.el Peter Danenberg: changed scheme.el @@ -2926,7 +2914,7 @@ Peter Dyballa: changed calendar.el Peter Heslin: changed flyspell.el outline.el -Peter J. Weisberg: changed picture.el simple.el +Peter J. Weisberg: changed help.el picture.el simple.el Peter Jolly: changed arc-mode.el ftfont.c @@ -2978,24 +2966,26 @@ Phil Sung: changed follow.el progmodes/python.el wdired.el Philip Jackson: wrote find-cmd.el org-irc.el +Philipp Haselwarter: changed gnus-agent.el gnus.texi + Philippe Schnoebelen: wrote gomoku.el mpuz.el Philippe Waroquiers: changed etags.el term.c Pierre Poissinger: changed charset.c -Piet Van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el +Piet van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el Pieter E.J. Pareit: wrote mixal-mode.el Pieter Praet: changed org-crypt.el +Pieter Schoenmakers: changed TUTORIAL.nl + Pinku Surana: changed sql.el Piotr Zielinski: wrote org-mouse.el -Pj Weisberg: changed help.el - Prestoo Ten: changed screen.el Primoz Peterlin: changed TUTORIAL.sl @@ -3034,8 +3024,6 @@ and changed w32fns.c gnus-art.el reftex-cite.el reftex-toc.el reftex.el Ralf Fassel: changed dabbrev.el files.el fill.el iso-acc.el tar-mode.el -Ralf Scheidhauer And Michael Mehl: wrote prolog.el - Ralph Schleicher: wrote battery.el info-look.el and changed libc.el browse-url.el fileio.c info.el mm-decode.el nnultimate.el perl-mode.el which-func.el @@ -3102,7 +3090,7 @@ and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-langs.el and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el Makefile.in fileio.c process.c sysdep.c buffer.c xfns.c window.c configure.in subr.el startup.el emacs.c sendmail.el editfns.c info.el - dispnew.c and 1347 other files + dispnew.c and 1350 other files Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el rfc822.el terminal.el yow.el @@ -3195,7 +3183,7 @@ Ron Schnell: wrote dunnet.el Ronan Waide: changed smtpmail.el -Ross Patterson: wrote org-protocol.el +Ross Patterson: co-wrote org-protocol.el Roy Liu: changed ns-win.el @@ -3283,11 +3271,11 @@ Scott M. Meyers: changed cmacexp.el Sean Neakums: changed gnus-msg.el gnus-uu.el supercite.el +Sean O'Halpin: changed ob.el + Sean O'Rourke: changed complete.el comint.el dabbrev.el find-func.el ibuf-ext.el pcomplete.el register.el tramp.el -Sean O'halpin: changed ob.el - Sean Sieger: changed emacs-lisp-intro.texi Sebastian Freundt: changed nnmaildir.el @@ -3298,15 +3286,13 @@ Sebastian Kremer: wrote dired-aux.el dired.el ls-lisp.el and co-wrote dired-x.el find-dired.el and changed add-log.el -Sebastian Rose: wrote org-protocol.el +Sebastian Rose: co-wrote org-protocol.el and changed org-publish.el ftfont.c org-jsinfo.el Sebastian Tennant: changed desktop.el Sebastien Kirche: changed mail-extr.el -Sebastien Vauban: changed org-agenda.el org-html.el - Seiji Zenitani: changed nsfns.m frame.c xterm.c Info.plist PkgInfo document.icns find-func.el frame.h help-fns.el macfns.c nsfont.m nsterm.m w32fns.c xdisp.c xfns.c @@ -3380,7 +3366,7 @@ and co-wrote comint.el shell.el and changed font-lock.el rmail.el fortran.el sendmail.el subr.el dired.el sh-script.el texinfo.el add-log.el compile.el outline.el help.el menu-bar.el perl-mode.el ps-print.el rmailsum.el bytecomp.el - cc-fonts.el data.c faces.el lisp-mode.el and 55 other files + cc-fonts.el data.c faces.el lisp-mode.el and 56 other files Simon South: co-wrote delphi.el @@ -3408,9 +3394,9 @@ Stefan Monnier: wrote bibtex-style.el bzrmerge.el css-mode.el pcvs-util.el reveal.el smerge-mode.el smie.el vc-mtn.el and co-wrote font-lock.el and changed vc.el subr.el simple.el lisp.h keyboard.c files.el - bytecomp.el Makefile.in keymap.c progmodes/compile.el xdisp.c pcvs.el + bytecomp.el keymap.c Makefile.in progmodes/compile.el xdisp.c pcvs.el alloc.c newcomment.el vc-hooks.el tex-mode.el buffer.c fileio.c eval.c - sh-script.el fill.el and 1032 other files + sh-script.el fill.el and 1033 other files Stefan Reichör: changed gnus-agent.el @@ -3512,7 +3498,7 @@ and changed emacsclient.c server.el Sun Yijiang: changed TUTORIAL.cn -Sundar Narasimhan: changed rnews.el rnewspost.el +Sundar Narasimhan: changed rnews.el Suvayu Ali: changed org-exp.el org-inlinetask.el org.texi @@ -3527,16 +3513,15 @@ Syver Enstad: changed gud.el Sébastien Delafond: changed org.el -Sébastien Vauban: changed org.el org-agenda.el org-latex.el +Sébastien Vauban: changed org-agenda.el org.el org-html.el org-latex.el -T. V. Raman: changed completion.el files.el json.el +T.V. Raman: changed completion.el files.el json.el mairix.el mspools.el + xml.c -T.V. Raman: changed mairix.el mspools.el xml.c - -Taichi Kawabata: wrote indian.el ucs-normalize.el +Taichi Kawabata: wrote quail/indian.el ucs-normalize.el and changed devanagari.el ind-util.el Makefile.in devan-util.el - characters.el fontset.el malayalam.el mlm-util.el mule-conf.el tamil.el - tml-util.el + language/indian.el characters.el fontset.el malayalam.el mlm-util.el + mule-conf.el tamil.el tml-util.el Takaaki Ota: wrote textmodes/table.el and changed appt.el dired.c etags.c ldap.el makefile.w32-in @@ -3544,8 +3529,8 @@ and changed appt.el dired.c etags.c ldap.el makefile.w32-in Takahashi Kaoru: changed texinfmt.el -Takahashi Naoto: wrote cyrillic.el ethio-util.el ethiopic.el - latin-post.el robin.el +Takahashi Naoto: wrote ethio-util.el language/ethiopic.el latin-post.el + quail/cyrillic.el quail/ethiopic.el robin.el and co-wrote latin-ltx.el quail.el and changed fontset.el mule-conf.el @@ -3562,7 +3547,7 @@ and changed subword.el image-mode.el Makefile.in cc-cmds.el emacsbug.el gnus-art.el gnus.texi nnimap.el files.el gnus-sum.el info.el org-footnote.el org.el reftex-ref.el simple.el tsdh-dark-theme.el tsdh-light-theme.el ack.texi bindings.el bookmark.el cc-mode.el - and 23 other files + and 24 other files Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el @@ -3573,7 +3558,8 @@ Ted Phelps: changed mh-search.el mh-tool-bar.el Teemu Likonen: changed dired.el gnus-agent.el message.el Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-sync.el - gnus-tests.el gnutls.el registry.el spam-report.el url-future.el + gnus-tests.el gnutls.el registry.el spam-report.el url-future-tests.el + url-future.el and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el gnus-util.el auth.texi netrc.el gnus-start.el gnutls.c message.el spam-stat.el encrypt.el nnir.el nnmail.el imap.el mail-source.el nnmairix.el nntp.el @@ -3602,9 +3588,10 @@ and changed ewoc.el vc.el zone.el info.el Makefile.in processes.texi Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el -Thierry Volpiatto: changed bookmark.el eshell.el gnus-sum.el - image-mode.el info.el man.el woman.el dired-aux.el dired.el doc-view.el - files.el find-func.el gnus-art.el image-dired.el vc-rcs.el +Thierry Volpiatto: changed bookmark.el eshell/eshell.el files.el + gnus-sum.el dired-aux.el image-mode.el info.el man.el woman.el dired.el + doc-view.el files.texi find-func.el gnus-art.el image-dired.el + vc-rcs.el Thomas Baumann: wrote org-mhe.el and co-wrote org-bbdb.el @@ -3615,7 +3602,7 @@ Thomas Deweese: changed x-win.el Thomas Dorner: changed ange-ftp.el -Thomas Dye: changed org.texi ob-R.el +Thomas Dye: changed org.texi org-bibtex.el ob-R.el org.el Thomas Horsley: changed cxux-crt0.s cxux.h cxux7.h emacs.c nh3000.h nh4000.h simple.el sysdep.c xterm.c @@ -3644,9 +3631,9 @@ Thorsten Ohl: changed lread.c next.h Tiago Saboga: changed files.el -Tibor Šimko: co-wrote slovak.el +Tibor Šimko: co-wrote language/slovak.el quail/slovak.el -Tijs Van Bakel: changed erc.el +Tijs van Bakel: changed erc.el Tim Cross: changed keymaps.texi @@ -3677,8 +3664,6 @@ and co-wrote org-wl.el Tom Breton: changed autoinsert.el cus-edit.el gnus-agent.el lread.c -Tom Dye: changed org.texi org-bibtex.el org.el - Tom Hageman: changed etags.c Tom Houlder: wrote mantemp.el @@ -3709,11 +3694,12 @@ Tomoji Kagatani: wrote smtpmail.el Torbjörn Axelsson: changed options.el -Torbjörn Einarsson: wrote f90.el +Torbjörn Einarsson: wrote progmodes/f90.el +and changed f90.el Torsten Bronger: changed latin-ltx.el -Toru Tomabechi: wrote tibet-util.el tibetan.el +Toru Tomabechi: wrote language/tibetan.el quail/tibetan.el tibet-util.el Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el cus-start.el fileio.c files.el lisp.h tramp.el w32fns.c @@ -3777,10 +3763,11 @@ Vagn Johansen: changed gnus-cache.el vc-svn.el Valentin Wüstholz: changed org.el -Valery Alexeev: changed cyril-util.el cyrillic.el +Valery Alexeev: changed cyril-util.el quail/cyrillic.el -Vasily Korytov: changed cyrillic.el message.el cperl-mode.el gnus-art.el - gnus-dired.el gnus-msg.el gnus-util.el mail-source.el smiley.el +Vasily Korytov: changed message.el quail/cyrillic.el cperl-mode.el + gnus-art.el gnus-dired.el gnus-msg.el gnus-util.el mail-source.el + smiley.el Victor Zandy: wrote zone.el @@ -3822,10 +3809,11 @@ Wang Diancheng: changed gdb-mi.el nnml.el Werner Benger: changed keyboard.c Werner Lemberg: wrote sisheng.el vntelex.el -and changed Makefile.in TUTORIAL.de calc.texi chinese.el czech.el emacs.1 - european.el idlwave.el reftex-vars.el reftex.el reftex.texi slovak.el - supercite.el advice.el calc-forms.el calc-sel.el calendar.el - china-util.el cl-macs.el cl.texi complete.el and 50 other files +and changed Makefile.in TUTORIAL.de calc.texi chinese.el emacs.1 + european.el idlwave.el language/czech.el language/slovak.el + reftex-vars.el reftex.el reftex.texi supercite.el advice.el + calc-forms.el calc-sel.el calendar.el china-util.el cl-macs.el cl.texi + complete.el and 50 other files Werner Meisner: changed lwlib-Xm.c @@ -3864,8 +3852,6 @@ and changed files.el Wim Nieuwenhuizen: changed TUTORIAL.nl -Wj Carpenter: changed feedmail.el - Wlodzimierz Bzyl: co-wrote ogonek.el and changed latin-pre.el pl-refcard.ps pl-refcard.tex refcard-pl.ps refcard-pl.tex survival.tex @@ -3894,7 +3880,7 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el Yagi Tatsuya: changed gnus-art.el gnus-start.el -Yair F: changed hebrew.el +Yair F: changed quail/hebrew.el Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h macmenu.c macgui.h image.c xdisp.c macselect.c keyboard.c xterm.c @@ -3910,7 +3896,7 @@ Yavor Doganov: changed configure.in Info-gnustep.plist Makefile.in Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el -Yong Lu: changed charset.c coding.c greek.el +Yong Lu: changed charset.c coding.c language/greek.el Yoni Rabkin: changed faces.el net-utils.el artist.el bs.el cmacexp.el ediff.el files.el hilit19.el ps-mode.el simula.el vera-mode.el diff --git a/etc/NEWS b/etc/NEWS index 96896ec2343..fd4f7afa863 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -302,9 +302,9 @@ This requires Emacs to be linked with libselinux at build time. +++ *** Emacs preserves the SELinux file context when backing up, and -optionally when copying files. To this end, copy-file has an extra -optional argument, and backup-buffer and friends include the SELinux -context in their return values. +optionally when copying files. To this end, `copy-file' has an extra +optional argument, and the return value of `backup-buffer' now +includes the SELinux context. +++ *** The new functions file-selinux-context and set-file-selinux-context @@ -483,9 +483,12 @@ isearch-yank-kill. +++ ** New commands `count-words-region' and `count-words'. - -*** `count-lines-region' is now an alias for `count-words-region', -bound to M-=, which shows the number of lines, words, and characters. ++++ +*** M-= is bound to `count-words-region', not `count-lines-region'. +The `count-words-region' command, when called interactively, reports +the number of lines, words, and characters in the region. It is a +superset of the old `count-lines-region', which is now an obsolete +alias for it. +++ ** The default value of `backup-by-copying-when-mismatch' is now t. @@ -542,7 +545,6 @@ point motion, do not alter the primary selection. *** mouse-2 is now bound to `mouse-yank-primary'. This pastes from the primary selection, ignoring the kill-ring. Previously, mouse-2 was bound to `mouse-yank-at-click'. - +++ *** `x-select-enable-clipboard' now defaults to t on all platforms. +++ @@ -569,7 +571,7 @@ between applications. +++ *** Support for X cut buffers has been removed. - ++++ *** X clipboard managers are now supported. To inhibit this, change `x-select-enable-clipboard-manager' to nil. @@ -1019,6 +1021,14 @@ for buffers with dead inferior processes has been generalized. * Incompatible Lisp Changes in Emacs 24.1 ++++ +** The return value of `backup-buffer' has changed. +It is now a list of three elements, where the second element is a list +describing the original file's SELinux context. If Emacs or the +system lacks SELinux cupport, the context list is (nil nil nil nil). +See the "Basic SELinux support" entry under "Changes in Emacs 24.1", +above. + --- ** `char-direction-table' and the associated function `char-direction' were deleted. They were buggy and inferior to the new support of @@ -1042,12 +1052,21 @@ of the header line. ** Support for "old-style" backquotes, which have been obsolete for more than 10 years, has been further reduced. Now a backquote not followed by a space is always treated as a "new-style" backquote. -Please consider completely removing all "old-style" backquotes from -your code as a matter of some urgency. If your code uses backquotes -as documented in the Elisp manual, and compiles without warning, then -you have nothing to do in this regard. Code not following the -appropriate conventions may fail to compile. The most common cause of -trouble seems to be an old-style backquote followed by a newline. +Please remove all "old-style" backquotes from your code. If your code +uses backquotes as documented in the Elisp manual, and compiles +without warning, then you have nothing to do in this regard. Code not +following the appropriate conventions may fail to compile. + +The most common cause of trouble seems to be an old-style backquote +followed by a newline. Another cause of trouble is vector notation +for key sequence notation: instead of [(control ,)] and [(control ')], +you should write [(control ?,)] and [(control ?')], which will work in +older Emacs too. + ++++ +** The macro `eval-at-startup' was removed in Emacs 23.2, but this +was not advertised at the time. The function `custom-initialize-delay' +replaced all known uses. --- ** view-buffer now treats special mode-class in the same way that @@ -1105,7 +1124,9 @@ x-make-font-unitalic (make-face-unitalic), mldrag-drag-mode-line (mouse-drag-mode-line), mldrag-drag-vertical-line (mouse-drag-vertical-line), iswitchb-default-keybindings (iswitchb-mode), char-bytes (== 1), -isearch-return-char (isearch-printing-char), make-local-hook (not needed) +isearch-return-char (isearch-printing-char), make-local-hook (not needed), +set-screen-height (set-frame-height), set-screen-width (set-frame-width) + +++ ** The following obsolete (mostly since at least 21.1) variables and varaliases @@ -1123,6 +1144,11 @@ sc.el, x-menu.el, rnews.el, rnewspost.el mechanism is now based on the package concept. The variable finder-package-info is replaced by package--builtins and finder-keywords-hash. +--- +** When generating autoloads, `update-directory-autoloads' no longer +assumes every inspected file is in your `load-path'. It instead +generates relative names according to the current `load-path'. + * Lisp changes in Emacs 24.1 @@ -1413,6 +1439,9 @@ Trashing is performed if TRASH and `delete-by-moving-to-trash' are both non-nil. Interactively, TRASH defaults to t, unless a prefix argument is supplied (see Trash changes, above). ++++ +** New file predicate functions: file-equal-p, file-subdir-of-p. + +++ ** Tool-bars can display separators. Tool-bar separators are handled like menu separators in menu-bar maps, @@ -1567,6 +1596,10 @@ and also when HOME is set to C:\ by default. ** Customize ns-auto-hide-menu-bar to have the menu-bar hidden, but reappear on mouse-over. (Requires OS X 10.6 or later.) ++++ +** On Mac OS X, dragging a file into Emacs visits the file, like on +other platforms, rather than inserting its contents into the buffer. + ---------------------------------------------------------------------- This file is part of GNU Emacs. diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 675644f5654..75627f084cd 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -1357,6 +1357,28 @@ single copies. You do not need any other drivers or options. Option "Device" "/dev/input/mice" EndSection +*** Emacs is slow to exit in X + +After you use e.g. C-x C-c to exit, it takes many seconds before the +Emacs window disappears. If Emacs was started from a terminal, you +see the message: + + Error saving to X clipboard manager. + If the problem persists, set `x-select-enable-clipboard-manager' to nil. + +As the message suggests, this problem occurs when Emacs thinks you +have a clipboard manager program running, but has trouble contacting it. +If you don't want to use a clipboard manager, you can set the +suggested variable. Or you can make Emacs not wait so long by +reducing the value of `x-selection-timeout', either in .emacs or with +X resources. + +Sometimes this problem is due to a bug in your clipboard manager. +Updating to the latest version of the manager can help. +For example, in the Xfce 4.8 desktop environment, the clipboard +manager in versions of xfce4-settings-helper before 4.8.2 is buggy; +https://bugzilla.xfce.org/show_bug.cgi?id=7588 . + * Runtime problems on character terminals ** The meta key does not work on xterm. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 46d8ca44a0a..6a9b1808cdf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,273 @@ +2012-03-06 Thien-Thi Nguyen + + * info.el (Info-insert-dir): Also try "dir.gz". + +2012-03-06 Glenn Morris + + * files.el (dir-locals-find-file): + Ignore non-readable or non-regular files. (Bug#10928) + + * files.el (locate-dominating-file): Doc fix. + +2012-03-06 Adam Spiers (tiny change) + + * calendar/calendar.el (calendar-set-mode-line): + `getenv' returns a string. (Bug#10951) + +2012-03-05 Leo Liu + + * simple.el (backward-delete-char-untabify): Constrain point to + field (Bug#10939). + + * eshell/em-cmpl.el (eshell-cmpl-initialize): Fix shift-tab key. + +2012-03-05 Chong Yidong + + * simple.el (count-words): If called from Lisp, return the word + count, for symmetry with `count-lines'. Arglist changed. + (count-words--message): Args changed. Consolidate counting code + from count-words and count-words-region. + (count-words-region): Caller changed. + (count-lines-region): Make it an obsolete alias. + +2012-03-04 Tassilo Horn + + * saveplace.el (save-place-to-alist) + (save-place-ignore-files-regexp): Allow value nil to disable this + feature. + +2012-03-04 Chong Yidong + + * faces.el (face-spec-reset-face): For the default face, reset the + attributes to default values (Bug#10748). + +2012-03-04 Lars Magne Ingebrigtsen + + * mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in + previous patch: Check `message-send-mail-function', and not the + default function (bug#10897). + +2012-03-04 Michael Albinus + + * notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Check for unique service name of + incoming event. Fix error in removing entry. + (top): Register for signals with wildcard service name. + (notifications-notify): Use daemon unique service name for map entries. + +2012-03-04 Chong Yidong + + * cus-start.el: Make x-select-enable-clipboard-manager + customizable. + +2012-03-04 Glenn Morris + + * abbrev.el (copy-abbrev-table, abbrev-table-p) + (abbrev-minor-mode-table-alist, define-abbrev, abbrev-insert) + (expand-abbrev, define-abbrev-table): Doc fixes. + +2012-03-03 Lars Magne Ingebrigtsen + + * mail/emacsbug.el (report-emacs-bug-hook): Look at the value of + `message-default-send-mail-function' and not `send-mail-function' + when doing the prompting for `sendmail-query-once' before sending + in Message buffers (bug#10897). + + * net/tls.el (open-tls-stream): Don't set the dont-query-on-exit flag. + This is inconsistent with all the other stream functions, which leave + the setting up to the higher levels (if so wanted) (bug#10931). + +2012-03-02 Alan Mackenzie + + Depessimize the handling of very large macros. + + * progmodes/cc-engine.el (c-macro-cache, c-macro-cache-start-pos): + (c-macro-cache-syntactic): New variables to implement a one + element macro cache. + (c-invalidate-macro-cache): New function. + (c-beginning-of-macro, c-end-of-macro, c-syntactic-end-of-macro): + Adapt to use the new cache. + (c-state-safe-place): Use better the cache of safe positions. + (c-state-semi-nonlit-pos-cache) + (c-state-semi-nonlit-pos-cache-limit): + New variables for... + (c-state-semi-safe-place): New function. Here, in a macro is "safe". + (c-invalidate-state-cache-1): New stuff for c-state-semi-safe-place. + (c-in-literal, c-literal-limits, c-determine-limit-get-base): Use + c-state-semi-safe-place. + + * progmodes/cc-langs.el (c-get-state-before-change-functions): Add + c-invalidate-macro-cache to the C, C++, Obj entries. + +2012-03-02 Michael Albinus + + * jka-compr.el (jka-compr-call-process): Apply + `file-accessible-directory-p' only when the default directory is + not remote. + +2012-03-01 Michael Albinus + + * files.el (file-equal-p): Fix docstring. Avoid unnecessary + access of FILE2, if FILE1 does not exist. + + * net/tramp-sh.el (tramp-remote-process-environment): Add "PAGER=\"\"". + Reported by Robert Lupton the Good . + + * vc/vc-git.el (vc-git--call): Enable `inhibit-null-byte-detection'. + Add "PAGER=" to `process-environment'. + +2012-03-01 Michael R. Mauger + + * progmodes/sql.el: Bug fix + (sql-get-login-ext): Save login values in globals. + (sql-get-login): Use new version of `sql-get-login-ext'. + (sql-interactive-mode): Set global `sql-connection' to nil. + (sql-connect): Set global values for connection. + (sql-product-interactive): Save global values as buffer local. + +2012-02-29 Leo Liu + + * abbrev.el (define-abbrevs): Reset sys to nil. + +2012-02-28 Thierry Volpiatto + + * files.el (file-equal-p): Rename from `files-equal-p'. + Return nil when one or both files don't exist. + (file-subdir-of-p): Now only top directory must exists, + return nil if it doesn't. + (copy-directory): No need to test with `file-subdir-of-p' after + creating dir. + * net/tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' + to `file-equal-p'. + +2012-02-28 Glenn Morris + + * shell.el (shell-mode): + * progmodes/vhdl-mode.el (wildcard-to-regexp, file-expand-wildcards): + * play/landmark.el (landmark-font-lock-face-O): + * play/handwrite.el (handwrite): + * play/gomoku.el (gomoku-O): + * net/browse-url.el (browse-url-browser-display): + * international/mule.el (define-charset): + * htmlfontify.el (hfy-etags-cmd, hfy-face-attr-for-class): + * filesets.el (filesets-find-file-delay): + * eshell/em-xtra.el (eshell-xtra): + * eshell/em-unix.el (eshell-grep): + * emulation/viper.el (viper-mode): + * emacs-lisp/regexp-opt.el (regexp-opt-group): + * emacs-lisp/easymenu.el (easy-menu-define): + * calendar/timeclock.el (timeclock-use-display-time): + * bs.el (bs-mode): + * bookmark.el (bookmark-save-flag): + Doc fix (standardize possessive apostrophe usage). + +2012-02-27 Chong Yidong + + * emulation/viper-cmd.el (viper-intercept-ESC-key): + Fix key-binding lookup for ESC key (Bug#9146). + + * font-lock.el (font-lock-specified-p): Rename from + font-lock-spec-present. Callers changed. + +2012-02-27 Daniel Hackney + + * emacs-lisp/package.el (package-compute-transaction): + Handle holding a package version to t in package-load-list. + +2012-02-26 Michael Albinus + + * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. + (tramp-get-inode, tramp-get-device): Use cached values. + +2012-02-26 Alan Mackenzie + + Check there is a font-lock specification before doing initial + fontification. + + * font-core.el (font-lock-mode): Move the conditional from + :after-hook to font-lock-initial-fontify. + (font-lock-default-function): Move the check for a specification + to font-lock-spec-present. + + * font-lock.el (font-lock-initial-fontify): call ... + (font-lock-spec-present): New function. + +2012-02-26 Jim Blandy + + * progmodes/gdb-mi.el (gdb-mi-quote): New function. + (gdb-send): Apply it to the operand of the '-interpreter-exec + console' command, so that we can pass arguments with (say) quotes + in them. Store exact string sent in gdb-debug-log (Bug#10765). + +2012-02-26 Chong Yidong + + * help-fns.el (describe-function-1): Clarify description of + remapping (Bug#10844). + + * files.el (files-equal-p): Doc fix. + (file-subdir-of-p): Doc fix. Convert loop macro to plain Lisp, + and quit the loop once a mismatch is found. + +2012-02-25 Juanma Barranquero + + * bs.el (bs--show-with-configuration): Don't throw an error + if the window cannot be split; otherwise, subsequent calls to + bs-show fail, restoring a stale window config. (Bug#10882) + +2012-02-25 Jan Djärv + + * term/ns-win.el (global-map): Bind ns-drag-file to + ns-find-file (Bug#5855, Bug#10050). + +2012-02-25 Andreas Schwab + + * calendar/parse-time.el (parse-time-string): Allow extractor to + return nil. + +2012-02-25 Michael Albinus + + * net/tramp.el (tramp-file-name-for-operation): + Add `files-equal-p' and `file-subdir-of-p'. + + * net/tramp-sh.el (tramp-sh-handle-copy-directory): + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Add COPY-CONTENTS argument. + +2012-02-25 Chong Yidong + + Add custom groups for VC backends, for consistency with vc-bzr. + + * vc/vc-arch.el (vc-arch): + * vc/vc-cvs.el (vc-cvs): + * vc/vc-git.el (vc-git): + * vc/vc-hg.el (vc-hg): + * vc/vc-mtn.el (vc-mtn): + * vc/vc-rcs.el (vc-rcs): + * vc/vc-sccs.el (vc-sccs): + * vc/vc-svn.el (vc-svn): New customization group (Bug#10871). + All relevant defcustoms reassigned. + +2012-02-25 Chong Yidong + + * newcomment.el (comment-styles): Add autoload (Bug#10868). + + * term/x-win.el (x-initialize-window-system): Reduce default for + x-selection-timeout to 5 seconds (Bug#8869). + +2012-02-24 Thierry Volpiatto + + * files.el (file-subdir-of-p): Fix typo. + +2012-02-24 Thierry Volpiatto + + * files.el (files-equal-p, file-subdir-of-p): New functions. + (copy-directory): Error when trying to copy a directory on itself. + Add missing copy-contents arg to tramp handler. + * dired-aux.el (dired-copy-file-recursive): Same. + (dired-create-files): Modify destination when source is equal to + dest when copying files. + Return also when dest is a subdir of source. (Bug#10489) + 2012-02-24 Michael Albinus * net/ange-ftp.el (ange-ftp-parse-netrc): Suppress comment lines. @@ -10,9 +280,9 @@ the execution of the mode hooks. * font-lock.el (font-lock-initial-fontify): New function extracted - from font-lock-mode-interal. + from font-lock-mode-internal. - * font-core.el (font-lock-mode): call font-lock-initial-fontify in + * font-core.el (font-lock-mode): Call font-lock-initial-fontify in :after-hook. 2012-02-23 Stefan Monnier @@ -378,7 +648,7 @@ * mail/emacsbug.el (report-emacs-bug-hook): Query the user first about SMTP before checking the From header. - * mail/sendmail.el (sendmail-query-user-about-smtp): Refacored out + * mail/sendmail.el (sendmail-query-user-about-smtp): Refactor out into own function for reuse by emacsbug.el. 2012-02-10 Leo Liu @@ -392,7 +662,7 @@ * emacs-lisp/package.el (package-refresh-contents) (package-menu-execute): * desktop.el (desktop-create-buffer): - * font-lock.el (lisp-font-lock-keywords-2): caller changed. + * font-lock.el (lisp-font-lock-keywords-2): Caller changed. 2012-02-10 Glenn Morris @@ -3290,7 +3560,7 @@ 2011-10-08 Thierry Volpiatto - * lisp/eshell/eshell.el (eshell-command): Avoid using hooks. + * eshell/eshell.el (eshell-command): Avoid using hooks. 2011-10-07 Chong Yidong diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index dd1d113d665..0b4e62f9e91 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 @@ -7234,7 +7234,7 @@ 2004-05-10 Miles Bader - * lisp/progmodes/gud.el (gud-common-init): Only consider an existing + * progmodes/gud.el (gud-common-init): Only consider an existing buffer an error if the debugger process is actually running. 2004-05-10 Juanma Barranquero @@ -7529,7 +7529,7 @@ 2004-05-03 Michael Mauger - * emacs/lisp/progmodes/sql.el (sql-xemacs-p, sql-emacs19-p) + * progmodes/sql.el (sql-xemacs-p, sql-emacs19-p) (sql-emacs20-p): Remove. (sql-mode-syntax-table): Use shared GNU Emacs/XEmacs syntax. (sql-builtin-face, sql-doc-face): Remove. diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15 index f354050389e..bf7a24a5b67 100644 --- a/lisp/ChangeLog.15 +++ b/lisp/ChangeLog.15 @@ -779,9 +779,9 @@ 2011-02-17 Ken Manheimer - * lisp/allout-widgets.el (allout-widgets-icons-light-subdir) + * allout-widgets.el (allout-widgets-icons-light-subdir) (allout-widgets-icons-dark-subdir): Track relocations of icons. - * lisp/allout.el: Remove commentary about remove encryption + * allout.el: Remove commentary about remove encryption passphrase mnemonic support and verification. (allout-encrypt-string): Recognize epg failure to decrypt gpg2 armored text using gpg1, and indicate that the gpg version *might* diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5 index 5bc0474c58b..4de10683352 100644 --- a/lisp/ChangeLog.5 +++ b/lisp/ChangeLog.5 @@ -8048,7 +8048,7 @@ 1994-07-23 enami tsugutomo - * lisp/add-log.el (add-log-current-defun): Skip doc string + * add-log.el (add-log-current-defun): Skip doc string correctly even if it ends with line that starts space. 1994-07-22 Ed Reingold diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index 425268909ea..9976c45b307 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 @@ -5859,8 +5859,7 @@ 1998-03-05 Sam Steingold - * lisp/simple.el (backward-delete-char-untabify-method): - New user option. + * simple.el (backward-delete-char-untabify-method): New user option. (backward-delete-char-untabify): Obey it. This implements "hungry" delete. @@ -7798,10 +7797,10 @@ 1997-12-03 Kyle Jones - * lisp/mail/sendmail.el (sendmail-send-it): Parse folded - Resent-To header properly; don't ignore folded lines. + * mail/sendmail.el (sendmail-send-it): + Parse folded Resent-To header properly; don't ignore folded lines. - * lisp/mail/mail-utils.el (mail-parse-comma-list): + * mail/mail-utils.el (mail-parse-comma-list): Treat newlines and tabs as whitespace. 1997-12-03 Richard Stallman diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8 index 897c56f2b77..ccc9b473de3 100644 --- a/lisp/ChangeLog.8 +++ b/lisp/ChangeLog.8 @@ -3571,7 +3571,7 @@ 1999-08-15 Yoshiki Hayashi - * lisp/texinfmt.el: Handle @ifnottex. + * texinfmt.el: Handle @ifnottex. 1999-08-15 Eli Zaretskii @@ -8708,7 +8708,7 @@ 1998-10-21 Markus Rost - * lisp/info.el (Info-next-menu-item): Stay on top of node. + * info.el (Info-next-menu-item): Stay on top of node. * mail/rmailout.el (rmail-output): Insert newline only if necessary. @@ -9181,7 +9181,7 @@ * gnus-art.el (gnus-article-x-face-too-ugly): Fix type. (gnus-saved-headers): Fix type. - * lisp/textmodes/fill.el (fill-individual-paragraphs-prefix): + * textmodes/fill.el (fill-individual-paragraphs-prefix): Avoid nil value of `two-lines-citation-part'. 1998-09-30 Roman Belenov diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9 index ba90274edf0..b9b6cd5a03d 100644 --- a/lisp/ChangeLog.9 +++ b/lisp/ChangeLog.9 @@ -6100,7 +6100,7 @@ 2001-01-25 Dave Love - * lisp/international/mule-diag.el (describe-char-after): Doc fix. + * international/mule-diag.el (describe-char-after): Doc fix. (describe-coding-system): Tweak the English text. * loadup.el: Preload international/ccl for utf-8. @@ -15884,8 +15884,8 @@ 2000-07-16 John Wiegley - * lisp/align.el (align-newline-and-indent): - Adding new function. for auto-aligning blocks of code on RET. + * align.el (align-newline-and-indent): Adding new function, + for auto-aligning blocks of code on RET. (align-region): Fixed badly formatted minibuffer message. 2000-07-17 Kenichi Handa @@ -18753,8 +18753,7 @@ (network-connection-mode-setup): New function, saves host and service information in local variables. - * lisp/locate.el: - (locate-word-at-point): Added this function. + * locate.el (locate-word-at-point): Added this function. (locate): Default to using locate-word-at-point as input Run dired-mode-hook diff --git a/lisp/abbrev.el b/lisp/abbrev.el index ade36f2f9a0..3845c4ce4e6 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -1,6 +1,6 @@ ;;; abbrev.el --- abbrev mode commands for Emacs -*- lexical-binding: t -*- -;; Copyright (C) 1985-1987, 1992, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1985-1987, 1992, 2001-2012 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: abbrev convenience @@ -81,7 +81,8 @@ be replaced by its expansion." (clear-abbrev-table (symbol-value tablesym)))) (defun copy-abbrev-table (table) - "Make a new abbrev-table with the same abbrevs as TABLE." + "Make a new abbrev-table with the same abbrevs as TABLE. +Does not copy property lists." (let ((new-table (make-abbrev-table))) (mapatoms (lambda (symbol) @@ -191,7 +192,8 @@ the ones defined from the buffer now." (not (eolp))) (setq name (read buf) count (read buf)) (if (equal count '(sys)) - (setq sys t count (read buf))) + (setq sys t count (read buf)) + (setq sys nil)) (setq exp (read buf)) (skip-chars-backward " \t\n\f") (setq hook (if (not (eolp)) (read buf))) @@ -446,6 +448,7 @@ PROPS is a list of properties." table)) (defun abbrev-table-p (object) + "Return non-nil if OBJECT is an abbrev table." (and (vectorp object) (numberp (abbrev-table-get object :abbrev-table-modiff)))) @@ -471,7 +474,8 @@ for any particular abbrev defined in both.") (defvar abbrev-minor-mode-table-alist nil "Alist of abbrev tables to use for minor modes. Each element looks like (VARIABLE . ABBREV-TABLE); -ABBREV-TABLE is active whenever VARIABLE's value is non-nil.") +ABBREV-TABLE is active whenever VARIABLE's value is non-nil. +ABBREV-TABLE can also be a list of abbrev tables.") (defvar fundamental-mode-abbrev-table (let ((table (make-abbrev-table))) @@ -547,6 +551,12 @@ If EXPANSION is not a string (and not nil), the abbrev is a special one, which does not expand in the usual way but only runs HOOK. +If HOOK is a non-nil symbol with a non-nil `no-self-insert' property, +it can control whether the character that triggered abbrev expansion +is inserted. If such a HOOK returns non-nil, the character is not +inserted. If such a HOOK returns nil, then so does `abbrev-insert' +\(and `expand-abbrev'), as if no abbrev expansion had taken place. + PROPS is a property list. The following properties are special: - `:count': the value for the abbrev's usage-count, which is incremented each time the abbrev is used (the default is zero). @@ -745,7 +755,9 @@ If non-nil, NAME is the name by which this abbrev was found. If non-nil, WORDSTART is the place where to insert the abbrev. If WORDEND is non-nil, the abbrev replaces the previous text between WORDSTART and WORDEND. -Return ABBREV if the expansion should be considered as having taken place." +Return ABBREV if the expansion should be considered as having taken place. +The return value can be influenced by a `no-self-insert' property; +see `define-abbrev' for details." (unless name (setq name (symbol-name abbrev))) (unless wordstart (setq wordstart (point))) (unless wordend (setq wordend wordstart)) @@ -810,7 +822,8 @@ the abbrev symbol if expansion took place.") (defun expand-abbrev () "Expand the abbrev before point, if there is an abbrev there. Effective when explicitly called even when `abbrev-mode' is nil. -Returns the abbrev symbol, if expansion took place." +Returns the abbrev symbol, if expansion took place. (The actual +return value is that of `abbrev-insert'.)" (interactive) (run-hooks 'pre-abbrev-expand-hook) (with-wrapper-hook abbrev-expand-functions () @@ -933,9 +946,11 @@ Properties with special meaning: abbreviations. - `:case-fixed' non-nil means that abbreviations are looked up without case-folding, and the expansion is not capitalized/upcased. -- `:regexp' describes the form of abbrevs. It defaults to \\=\\<\\(\\w+\\)\\W* which - means that an abbrev can only be a single word. The submatch 1 is treated - as the potential name of an abbrev. +- `:regexp' is a regular expression that specifies how to extract the + name of the abbrev before point. The submatch 1 is treated + as the potential name of an abbrev. If :regexp is nil, the default + behavior uses `backward-word' and `forward-word' to extract the name + of the abbrev, which can therefore only be a single word. - `:enable-function' can be set to a function of no argument which returns non-nil if and only if the abbrevs in this table should be used for this instance of `expand-abbrev'." diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 20a4e52810b..33b91fd7db2 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1,6 +1,6 @@ ;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later -;; Copyright (C) 1993-1997, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993-1997, 2001-2012 Free Software Foundation, Inc. ;; Author: Karl Fogel ;; Maintainer: Karl Fogel @@ -65,7 +65,7 @@ --> t means save bookmarks when Emacs is killed. --> Otherwise, it should be a number that is the frequency with which the bookmark list is saved (i.e.: the number of times which - Emacs' bookmark list may be modified before it is automatically + Emacs's bookmark list may be modified before it is automatically saved.). If it is a number, Emacs will also automatically save bookmarks when it is killed. diff --git a/lisp/bs.el b/lisp/bs.el index 2e0089d153f..64c1183b64d 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -1,6 +1,6 @@ ;;; bs.el --- menu for selecting and displaying buffers -*- lexical-binding: t -*- -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Author: Olaf Sylvester ;; Maintainer: Olaf Sylvester ;; Keywords: convenience @@ -618,7 +618,7 @@ Used from `window-size-change-functions'." (put 'bs-mode 'mode-class 'special) (define-derived-mode bs-mode nil "Buffer-Selection-Menu" - "Major mode for editing a subset of Emacs' buffers. + "Major mode for editing a subset of Emacs's buffers. \\ Aside from two header lines each line describes one buffer. Move to a line representing the buffer you want to edit and select @@ -1414,7 +1414,8 @@ for buffer selection." (bs--restore-window-config) (setq bs--window-config-coming-from (current-window-configuration)) (when (> (window-height (selected-window)) 7) - (select-window (split-window-below)))) + ;; Errors would mess with the window configuration (bug#10882). + (ignore-errors (select-window (split-window-below))))) (bs-show-in-buffer liste) (bs-message-without-log "%s" (bs--current-config-message))))) diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 24c284350a3..0c351c6072f 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -2602,7 +2602,7 @@ If called by a mouse-event, pops up a menu with the result." ;; If no frame exists yet, we have no idea what width to use. (and (= width 10) (not window-system) - (setq width (or (getenv "COLUMNS") 80))) + (setq width (string-to-number (or (getenv "COLUMNS") "80")))) (setq mode-line-format (if buffer-file-name `("-" mode-line-modified diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el index ab513517452..baf92065550 100644 --- a/lisp/calendar/parse-time.el +++ b/lisp/calendar/parse-time.el @@ -193,28 +193,29 @@ unknown are returned as nil." (predicate (pop rule)) (parse-time-val)) (when (and (not (nth (car slots) time)) ;not already set - (setq parse-time-val (cond ((and (consp predicate) - (not (eq (car predicate) - 'lambda))) - (and (numberp parse-time-elt) - (<= (car predicate) parse-time-elt) - (<= parse-time-elt (cadr predicate)) - parse-time-elt)) - ((symbolp predicate) - (cdr (assoc parse-time-elt - (symbol-value predicate)))) - ((funcall predicate))))) + (setq parse-time-val + (cond ((and (consp predicate) + (not (eq (car predicate) + 'lambda))) + (and (numberp parse-time-elt) + (<= (car predicate) parse-time-elt) + (<= parse-time-elt (cadr predicate)) + parse-time-elt)) + ((symbolp predicate) + (cdr (assoc parse-time-elt + (symbol-value predicate)))) + ((funcall predicate))))) (setq exit t) (while slots - (let ((new-val (and rule - (let ((this (pop rule))) - (if (vectorp this) - (parse-integer - parse-time-elt - (aref this 0) (aref this 1)) - (funcall this)))))) - (rplaca (nthcdr (pop slots) time) - (or new-val parse-time-val))))))))) + (let ((new-val (if rule + (let ((this (pop rule))) + (if (vectorp this) + (parse-integer + parse-time-elt + (aref this 0) (aref this 1)) + (funcall this))) + parse-time-val))) + (rplaca (nthcdr (pop slots) time) new-val)))))))) time)) (provide 'parse-time) diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el index 9b766e17d5c..7f9b46dfd82 100644 --- a/lisp/calendar/timeclock.el +++ b/lisp/calendar/timeclock.el @@ -1,6 +1,6 @@ ;;; timeclock.el --- mode for keeping track of how much you work -;; Copyright (C) 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Created: 25 Mar 1999 @@ -150,7 +150,7 @@ This variable only has effect if set with \\[customize]." (defcustom timeclock-use-display-time t "If non-nil, use `display-time-hook' for doing modeline updates. The advantage of this is that one less timer has to be set running -amok in Emacs' process space. The disadvantage is that it requires +amok in Emacs's process space. The disadvantage is that it requires you to have `display-time' running. If you don't want to use `display-time', but still want the modeline to show how much time is left, set this variable to nil. Changing the value of this variable diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 361ccba10cc..4dc5fe4df21 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog @@ -1,3 +1,8 @@ +2012-02-28 Glenn Morris + + * semantic/db.el (semanticdb-search-results-table): + Doc fix (standardize possessive apostrophe usage). + 2012-02-09 Juanma Barranquero * ede/auto.el (ede-directory-safe-p, ede-add-project-to-global-list): diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 1f07867bac5..0ed031019be 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el @@ -1,6 +1,6 @@ ;;; semantic.el --- Semantic buffer evaluator. -;; Copyright (C) 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Keywords: syntax tools @@ -623,7 +623,7 @@ was marked unparseable, then do nothing, and return the cache." ;;;; Parse the whole system. ((semantic-parse-tree-needs-rebuild-p) - ;; Use Emacs' built-in progress-reporter + ;; Use Emacs's built-in progress-reporter (let ((semantic--progress-reporter (and (>= (point-max) semantic-minimum-working-buffer-size) (eq semantic-working-type 'percent) @@ -762,7 +762,7 @@ This function returns semantic tags without overlays." ;; Designated to ignore. (setq stream (car nontermsym)) (if stream - ;; Use Emacs' built-in progress reporter: + ;; Use Emacs's built-in progress reporter: (and (boundp 'semantic--progress-reporter) semantic--progress-reporter (eq semantic-working-type 'percent) diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el index ce6f33f0d18..23410b1eb1b 100644 --- a/lisp/cedet/semantic/db-el.el +++ b/lisp/cedet/semantic/db-el.el @@ -1,6 +1,6 @@ ;;; semantic/db-el.el --- Semantic database extensions for Emacs Lisp -;;; Copyright (C) 2002-2012 Free Software Foundation, Inc. +;;; Copyright (C) 2002-2012 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Keywords: tags @@ -132,7 +132,7 @@ For Emacs Lisp system DB, there isn't one." "Convert one TAG, originating from Emacs OBJ, into standardized form. If Emacs cannot resolve this symbol to a particular file, then return nil." ;; Here's the idea. For each tag, get the name, then use - ;; Emacs' `symbol-file' to get the source. Once we have that, + ;; Emacs's `symbol-file' to get the source. Once we have that, ;; we can use more typical semantic searching techniques to ;; get a regularly parsed tag. (let* ((type (cond ((semantic-tag-of-class-p tag 'function) diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el index d6e4fff83c8..4e09f9fc3f2 100644 --- a/lisp/cedet/semantic/db.el +++ b/lisp/cedet/semantic/db.el @@ -1,6 +1,6 @@ ;;; semantic/db.el --- Semantic tag database manager -;; Copyright (C) 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 2000-2012 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Keywords: tags @@ -205,7 +205,7 @@ If one doesn't exist, create it." ) "Table used for search results when there is no file or table association. Examples include search results from external sources such as from -Emacs' own symbol table, or from external libraries.") +Emacs's own symbol table, or from external libraries.") (defmethod semanticdb-refresh-table ((obj semanticdb-search-results-table) &optional force) "If the tag list associated with OBJ is loaded, refresh it. diff --git a/lisp/cus-start.el b/lisp/cus-start.el index a5032cf99e7..a2ac7aa91e6 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -460,6 +460,8 @@ since it could result in memory overflow and make Emacs crash." (x-use-underline-position-properties display boolean "22.1") (x-underline-at-descent-line display boolean "22.1") (x-stretch-cursor display boolean "21.1") + ;; xselect.c + (x-select-enable-clipboard-manager killing boolean "24.1") ;; xsettings.c (font-use-system-font font-selection boolean "23.2"))) this symbol group type standard version native-p rest prop propval diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 2d05be312eb..d6a4a7816d6 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -1264,6 +1264,8 @@ Special value `always' suppresses confirmation." (defun dired-copy-file-recursive (from to ok-flag &optional preserve-time top recursive) + (when (file-subdir-of-p to from) + (error "Cannot copy `%s' into its subdirectory `%s'" from to)) (let ((attrs (file-attributes from))) (if (and recursive (eq t (car attrs)) @@ -1430,10 +1432,30 @@ ESC or `q' to not overwrite any of the remaining files, (cond ((integerp marker-char) marker-char) (marker-char (dired-file-marker from)) ; slow (t nil)))) - (when (and (file-directory-p from) - (file-directory-p to) - (eq file-creator 'dired-copy-file)) - (setq to (file-name-directory to))) + ;; Handle the `dired-copy-file' file-creator specially + ;; When copying a directory to another directory or + ;; possibly to itself or one of its subdirectories. + ;; e.g "~/foo/" => "~/test/" + ;; or "~/foo/" =>"~/foo/" + ;; or "~/foo/ => ~/foo/bar/") + ;; In this case the 'name-constructor' have set the destination + ;; TO to "~/test/foo" because the old emacs23 behavior + ;; of `copy-directory' was to not create the subdirectory + ;; and instead copy the contents. + ;; With the new behavior of `copy-directory' + ;; (similar to the `cp' shell command) we don't + ;; need such a construction of the target directory, + ;; so modify the destination TO to "~/test/" instead of "~/test/foo/". + (let ((destname (file-name-directory to))) + (when (and (file-directory-p from) + (file-directory-p to) + (eq file-creator 'dired-copy-file)) + (setq to destname)) + ;; If DESTNAME and FROM are the same directory or + ;; If DESTNAME is a subdirectory of FROM, return error. + (and (file-subdir-of-p destname from) + (error "Cannot copy `%s' into its subdirectory `%s'" + from to))) (condition-case err (progn (funcall file-creator from to dired-overwrite-confirmed) diff --git a/lisp/dired.el b/lisp/dired.el index c087f65eaeb..57bf3c88322 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3732,7 +3732,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "e77c506a0dd793230c5856a67e408fc6") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "cab9b84177ac3555c24cf8e870a64095") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index f12beed3271..22e0ade987d 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -1,4 +1,4 @@ -;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: utf-8;-*- +;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*-coding: utf-8;-*- ;; Copyright (C) 2000-2012 Free Software Foundation, Inc. @@ -25,7 +25,7 @@ ;;; Commentary: ;; Use M-x authors RET to create an *Authors* buffer that can used as -;; or merged with Emacs' AUTHORS file. +;; or merged with Emacs's AUTHORS file. ;;; Code: diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el index 2ced0e8a466..b3e54b415d8 100644 --- a/lisp/emacs-lisp/easymenu.el +++ b/lisp/emacs-lisp/easymenu.el @@ -99,7 +99,7 @@ KEYS is expanded with `substitute-command-keys' before it is used. KEYS is nil, a string or a vector; nil or a keyboard equivalent to this menu item. -This is a hint that will considerably speed up Emacs' first display of +This is a hint that will considerably speed up Emacs's first display of a menu. Use `:key-sequence nil' when you know that this menu item has no keyboard equivalent. diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el index be8eb77f170..9cbe29bf322 100644 --- a/lisp/emacs-lisp/ert.el +++ b/lisp/emacs-lisp/ert.el @@ -862,7 +862,7 @@ run. DEBUGGER-ARGS are the arguments to `debugger'." (make-ert-test-failed :condition condition :backtrace backtrace :infos infos)))) - ;; Work around Emacs' heuristic (in eval.c) for detecting + ;; Work around Emacs's heuristic (in eval.c) for detecting ;; errors in the debugger. (incf num-nonmacro-input-events) ;; FIXME: We should probably implement more fine-grained diff --git a/lisp/emacs-lisp/ewoc.el b/lisp/emacs-lisp/ewoc.el index eed25ecfb85..4fd87209b38 100644 --- a/lisp/emacs-lisp/ewoc.el +++ b/lisp/emacs-lisp/ewoc.el @@ -26,7 +26,7 @@ ;;; Commentary: ;; Ewoc Was Once Cookie -;; But now it's Emacs' Widget for Object Collections +;; But now it's Emacs's Widget for Object Collections ;; As the name implies this derives from the `cookie' package (part ;; of Elib). The changes are pervasive though mostly superficial: diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index d80454ba269..fd0eb029fc3 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -4,7 +4,7 @@ ;; Author: Tom Tromey ;; Created: 10 Mar 2007 -;; Version: 0.9 +;; Version: 1.0 ;; Keywords: tools ;; This file is part of GNU Emacs. @@ -750,7 +750,8 @@ not included in this list." hold) (when (setq hold (assq next-pkg package-load-list)) (setq hold (cadr hold)) - (cond ((eq hold nil) + (cond ((eq hold t)) + ((eq hold nil) (error "Required package '%s' is disabled" (symbol-name next-pkg))) ((null (stringp hold)) diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el index ac391fed2c2..6d12fe19277 100644 --- a/lisp/emacs-lisp/regexp-opt.el +++ b/lisp/emacs-lisp/regexp-opt.el @@ -143,7 +143,7 @@ This means the number of non-shy regexp grouping constructs "Return a regexp to match a string in the sorted list STRINGS. If PAREN non-nil, output regexp parentheses around returned regexp. If LAX non-nil, don't output parentheses if it doesn't require them. -Merges keywords to avoid backtracking in Emacs' regexp matcher." +Merges keywords to avoid backtracking in Emacs's regexp matcher." ;; The basic idea is to find the shortest common prefix or suffix, remove it ;; and recurse. If there is no prefix, we divide the list into two so that ;; \(at least) one half will have at least a one-character common prefix. diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index a7cc40cea4b..9e7be0f670d 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -1,6 +1,6 @@ ;;; cua-base.el --- emulate CUA key bindings -;; Copyright (C) 1997-2012 Free Software Foundation, Inc. +;; Copyright (C) 1997-2012 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Keywords: keyboard emulations convenience cua @@ -116,7 +116,7 @@ ;; CUA register support ;; -------------------- -;; Emacs' standard register support is also based on a separate set of +;; Emacs's standard register support is also based on a separate set of ;; "register commands". ;; ;; CUA's register support is activated by providing a numeric @@ -134,7 +134,7 @@ ;; CUA rectangle support ;; --------------------- -;; Emacs' normal rectangle support is based on interpreting the region +;; Emacs's normal rectangle support is based on interpreting the region ;; between the mark and point as a "virtual rectangle", and using a ;; completely separate set of "rectangle commands" [C-x r ...] on the ;; region to copy, kill, fill a.s.o. the virtual rectangle. diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index 305e3e73be0..eaf88ccdf85 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el @@ -1,6 +1,6 @@ ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT -;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc. ;; Author: Rob Riepel ;; Maintainer: Rob Riepel @@ -89,7 +89,7 @@ ;; details. ;; Like TPU, Emacs uses multiple buffers. Some buffers are used to hold -;; files you are editing; other "internal" buffers are used for Emacs' own +;; files you are editing; other "internal" buffers are used for Emacs's own ;; purposes (like showing you help). Here are some commands for dealing ;; with buffers. @@ -197,7 +197,7 @@ ;; ; Emacs uses Control-s and Control-q. Problems can occur when using ;; ; Emacs on terminals that use these codes for flow control (Xon/Xoff -;; ; flow control). These lines disable Emacs' use of these characters. +;; ; flow control). These lines disable Emacs's use of these characters. ;; (global-unset-key "\C-s") ;; (global-unset-key "\C-q") diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 503fd2c66d5..68f40349454 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -1086,8 +1086,17 @@ as a Meta key and any number of multiple escapes are allowed." (defun viper-intercept-ESC-key () "Function that implements ESC key in Viper emulation of Vi." (interactive) - (let ((cmd (or (key-binding (viper-envelop-ESC-key)) - (lambda () (interactive) (error "Viper bell"))))) + ;; `key-binding' needs to be called in a context where Viper's + ;; minor-mode map(s) have been temporarily disabled so the ESC + ;; binding to viper-intercept-ESC-key doesn't hide the binding we're + ;; looking for (Bug#9146): + (let* ((event (viper-envelop-ESC-key)) + (cmd (cond ((equal event viper-ESC-key) + 'viper-intercept-ESC-key) + ((let ((emulation-mode-map-alists nil)) + (key-binding event))) + (t + (error "Viper bell"))))) ;; call the actual function to execute ESC (if no other symbols followed) ;; or the key bound to the ESC sequence (if the sequence was issued diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index 7cba5441c23..cdeef733bc5 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el @@ -1,6 +1,6 @@ ;;; viper-util.el --- Utilities used by viper.el -;; Copyright (C) 1994-1997, 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1994-1997, 1999-2012 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Package: viper @@ -295,7 +295,7 @@ Otherwise return the normal value." result)) ;; Emacs used to count each multibyte character as several positions in the buffer, -;; so we had to use Emacs' chars-in-region to count characters. Since 20.3, +;; so we had to use Emacs's chars-in-region to count characters. Since 20.3, ;; Emacs counts multibyte characters as 1 position. XEmacs has always been ;; counting each char as just one pos. So, now we can simply subtract beg from ;; end to determine the number of characters in a region. @@ -1112,7 +1112,7 @@ Otherwise return the normal value." lis))) -;; Smooths out the difference between Emacs' unread-command-events +;; Smooths out the difference between Emacs's unread-command-events ;; and XEmacs unread-command-event. Arg is a character, an event, a list of ;; events or a sequence of keys. ;; diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index d304a247bb8..12c186e234e 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el @@ -87,7 +87,7 @@ ;; facility in the original Vi. ;; First, one can execute any Emacs command while defining a ;; macro, not just the Vi commands. Second, macros are defined in a -;; WYSYWYG mode, using an interface to Emacs' WYSIWYG style of defining +;; WYSYWYG mode, using an interface to Emacs's WYSIWYG style of defining ;; macros. Third, in Viper, one can define macros that are specific to ;; a given buffer, a given major mode, or macros defined for all buffers. ;; The same macro name can have several different definitions: @@ -561,7 +561,7 @@ and improving upon much of it. use Emacs productively, you are advised to reach user level 3 or higher. At user level 2 or higher, ^X and ^C have Emacs, not Vi, bindings; - ^Z toggles Vi/Emacs states; ^G is Emacs' keyboard-quit (like ^C in Vi). + ^Z toggles Vi/Emacs states; ^G is Emacs's keyboard-quit (like ^C in Vi). 2. Vi exit functions (e.g., :wq, ZZ) work on INDIVIDUAL files -- they do not cause Emacs to quit, except at user level 1 (for a novice). diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index 4057d1eabc2..1fb3930091e 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -1,6 +1,6 @@ ;;; erc-compat.el --- ERC compatibility code for XEmacs -;; Copyright (C) 2002-2003, 2005-2012 Free Software Foundation, Inc. +;; Copyright (C) 2002-2003, 2005-2012 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; URL: http://www.emacswiki.org/cgi-bin/wiki/ERC @@ -70,7 +70,7 @@ See `erc-encoding-coding-alist'." are placed. Note that this should end with a directory separator.") -;; XEmacs' `replace-match' does not replace matching subexpressions in strings. +;; XEmacs's `replace-match' does not replace matching subexpressions in strings. (defun erc-replace-match-subexpression-in-string (newtext string match subexp start &optional fixedcase literal) "Replace the subexpression SUBEXP of the last match in STRING with NEWTEXT. diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index f997d47f665..a5e1b6194c7 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el @@ -299,8 +299,7 @@ to writing a completion function." ;; jww (1999-10-19): Will this work on anything but X? (if (featurep 'xemacs) (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse) - (define-key eshell-mode-map [(shift iso-lefttab)] 'pcomplete-reverse) - (define-key eshell-mode-map [(shift control ?i)] 'pcomplete-reverse)) + (define-key eshell-mode-map [backtab] 'pcomplete-reverse)) (define-key eshell-mode-map [(meta ??)] 'pcomplete-list)) (defun eshell-completion-command-name () diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index 6ac53e30e86..1875506fe9d 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el @@ -1,6 +1,6 @@ ;;; em-unix.el --- UNIX command aliases -;; Copyright (C) 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -712,7 +712,7 @@ available..." (defun eshell-grep (command args &optional maybe-use-occur) "Generic service function for the various grep aliases. -It calls Emacs' grep utility if the command is not redirecting output, +It calls Emacs's grep utility if the command is not redirecting output, and if it's not part of a command pipeline. Otherwise, it calls the external command." (if (and maybe-use-occur eshell-no-grep-available) diff --git a/lisp/eshell/em-xtra.el b/lisp/eshell/em-xtra.el index 4f9b921d5ef..3dfb33d37e3 100644 --- a/lisp/eshell/em-xtra.el +++ b/lisp/eshell/em-xtra.el @@ -1,6 +1,6 @@ ;;; em-xtra.el --- extra alias functions -;; Copyright (C) 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -32,7 +32,7 @@ (eshell-defgroup eshell-xtra nil "This module defines some extra alias functions which are entirely optional. They can be viewed as samples for how to write Eshell alias -functions, or as aliases which make some of Emacs' behavior more +functions, or as aliases which make some of Emacs's behavior more naturally accessible within Emacs." :tag "Extra alias functions" :group 'eshell-module) diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el index e4478aefd6d..224451eacba 100644 --- a/lisp/eshell/eshell.el +++ b/lisp/eshell/eshell.el @@ -140,12 +140,12 @@ ;; paragraph wasn't discovered until two months after I wrote the ;; text; it was not intentional). ;; -;; @ Emacs' register and bookmarking facilities can be used for +;; @ Emacs's register and bookmarking facilities can be used for ;; remembering where you've been, and what you've seen -- to varying ;; levels of persistence. They could perhaps even be tied to ;; specific "moments" during eshell execution, which would include ;; the environment at that time, as well as other variables. -;; Although this would require functionality orthogonal to Emacs' +;; Although this would require functionality orthogonal to Emacs's ;; own bookmarking facilities, the interface used could be made to ;; operate very similarly. ;; diff --git a/lisp/faces.el b/lisp/faces.el index cd7f92bfad4..0011e0357a1 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1513,12 +1513,23 @@ If SPEC is nil, return nil." (defun face-spec-reset-face (face &optional frame) "Reset all attributes of FACE on FRAME to unspecified." - (unless (eq face 'default) - (let (reset-args) - (dolist (attr-and-name face-attribute-name-alist) - (push 'unspecified reset-args) - (push (car attr-and-name) reset-args)) - (apply 'set-face-attribute face frame reset-args)))) + (apply 'set-face-attribute face frame + (if (eq face 'default) + ;; For the default face, avoid making any attribute + ;; unspecifed. Instead, set attributes to default values + ;; (see also realize_default_face in xfaces.c). + (append + '(:underline nil :overline nil :strike-through nil + :box nil :inverse-video nil :stipple nil :inherit nil) + (unless (display-graphic-p frame) + '(:family "default" :foundry "default" :width normal + :height 1 :weight normal :slant normal + :foreground "unspecified-fg" + :background "unspecified-bg"))) + ;; For all other faces, unspecify all attributes. + (apply 'append + (mapcar (lambda (x) (list (car x) 'unspecified)) + face-attribute-name-alist))))) (defun face-spec-set (face spec &optional for-defface) "Set FACE's face spec, which controls its appearance, to SPEC. diff --git a/lisp/files.el b/lisp/files.el index 87218c9a6e8..fae834daefe 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -22,7 +22,7 @@ ;;; Commentary: -;; Defines most of Emacs's file- and directory-handling functions, +;; Defines most of Emacs'ss file- and directory-handling functions, ;; including basic file visiting, backup generation, link handling, ;; ITS-id version control, load- and write-hook handling, and the like. @@ -880,7 +880,10 @@ or mount points potentially requiring authentication as a different user.") (defun locate-dominating-file (file name) "Look up the directory hierarchy from FILE for a file named NAME. Stop at the first parent directory containing a file NAME, -and return the directory. Return nil if not found." +and return the directory. Return nil if not found. + +This function only tests if FILE exists. If you care about whether +it is readable, regular, etc., you should test the result." ;; We used to use the above locate-dominating-files code, but the ;; directory-files call is very costly, so we're much better off doing ;; multiple calls using the code in here. @@ -907,6 +910,10 @@ and return the directory. Return nil if not found." ;; (setq user (nth 2 (file-attributes file))) ;; (and prev-user (not (equal user prev-user)))) (string-match locate-dominating-stop-dir-regexp file))) + ;; FIXME? maybe this function should (optionally?) + ;; use file-readable-p instead. In many cases, an unreadable + ;; FILE is no better than a non-existent one. + ;; See eg dir-locals-find-file. (setq try (file-exists-p (expand-file-name name file))) (cond (try (setq root file)) ((equal file (setq file (file-name-directory @@ -3566,8 +3573,14 @@ of no valid cache entry." (locals-file (locate-dominating-file file dir-locals-file-name)) (dir-elt nil)) ;; `locate-dominating-file' may have abbreviated the name. - (if locals-file - (setq locals-file (expand-file-name dir-locals-file-name locals-file))) + (and locals-file + (setq locals-file (expand-file-name dir-locals-file-name locals-file)) + ;; FIXME? is it right to silently ignore an unreadable file? + ;; Maybe we'd want to keep searching in that case. + ;; That is a locate-dominating-file issue. + (or (not (file-readable-p locals-file)) + (not (file-regular-p locals-file))) + (setq locals-file nil)) ;; Find the best cached value in `dir-locals-directory-cache'. (dolist (elt dir-locals-directory-cache) (when (and (eq t (compare-strings file nil (length (car elt)) @@ -4985,6 +4998,42 @@ given. With a prefix argument, TRASH is nil." directory 'full directory-files-no-dot-files-regexp))) (delete-directory-internal directory))))) +(defun file-equal-p (file1 file2) + "Return non-nil if files FILE1 and FILE2 name the same file. +If FILE1 or FILE2 does not exist, the return value is unspecified." + (let ((handler (or (find-file-name-handler file1 'file-equal-p) + (find-file-name-handler file2 'file-equal-p)))) + (if handler + (funcall handler 'file-equal-p file1 file2) + (let (f1-attr f2-attr) + (and (setq f1-attr (file-attributes (file-truename file1))) + (setq f2-attr (file-attributes (file-truename file2))) + (equal f1-attr f2-attr)))))) + +(defun file-subdir-of-p (dir1 dir2) + "Return non-nil if DIR1 is a subdirectory of DIR2. +A directory is considered to be a subdirectory of itself. +Return nil if top directory DIR2 is not an existing directory." + (let ((handler (or (find-file-name-handler dir1 'file-subdir-of-p) + (find-file-name-handler dir2 'file-subdir-of-p)))) + (if handler + (funcall handler 'file-subdir-of-p dir1 dir2) + (when (file-directory-p dir2) ; Top dir must exist. + (setq dir1 (file-truename dir1) + dir2 (file-truename dir2)) + (let ((ls1 (or (split-string dir1 "/" t) '("/"))) + (ls2 (or (split-string dir2 "/" t) '("/"))) + (root (if (string-match "\\`/" dir1) "/" "")) + (mismatch nil)) + (while (and ls1 ls2 (not mismatch)) + (if (string-equal (car ls1) (car ls2)) + (setq root (concat root (car ls1) "/")) + (setq mismatch t)) + (setq ls1 (cdr ls1) + ls2 (cdr ls2))) + (unless mismatch + (file-equal-p root dir2))))))) + (defun copy-directory (directory newname &optional keep-time parents copy-contents) "Copy DIRECTORY to NEWNAME. Both args must be strings. This function always sets the file modes of the output files to match @@ -5011,12 +5060,16 @@ directly into NEWNAME instead." (format "Copy directory %s to: " dir) default-directory default-directory nil nil) current-prefix-arg t nil))) + (when (file-subdir-of-p newname directory) + (error "Cannot copy `%s' into its subdirectory `%s'" + directory newname)) ;; If default-directory is a remote directory, make sure we find its ;; copy-directory handler. (let ((handler (or (find-file-name-handler directory 'copy-directory) (find-file-name-handler newname 'copy-directory)))) (if handler - (funcall handler 'copy-directory directory newname keep-time parents) + (funcall handler 'copy-directory directory + newname keep-time parents copy-contents) ;; Compute target name. (setq directory (directory-file-name (expand-file-name directory)) @@ -5214,7 +5267,7 @@ non-nil, it is called instead of rereading visited file contents." (unlock-buffer))) (widen) (let ((coding-system-for-read - ;; Auto-saved file should be read by Emacs' + ;; Auto-saved file should be read by Emacs's ;; internal coding. (if auto-save-p 'auto-save-coding (or coding-system-for-read diff --git a/lisp/filesets.el b/lisp/filesets.el index cecf14753f4..86ebe47580b 100644 --- a/lisp/filesets.el +++ b/lisp/filesets.el @@ -1,6 +1,6 @@ ;;; filesets.el --- handle group of files -;; Copyright (C) 2002-2012 Free Software Foundation, Inc. +;; Copyright (C) 2002-2012 Free Software Foundation, Inc. ;; Author: Thomas Link ;; Maintainer: FSF @@ -518,7 +518,7 @@ Caveat: Changes will take effect after rebuilding the menu." This is for calls via `filesets-find-or-display-file' or `filesets-find-file'. -Set this to 0, if you don't use XEmacs' buffer tabs." +Set this to 0, if you don't use XEmacs's buffer tabs." :set (function filesets-set-default) :type 'number :group 'filesets) diff --git a/lisp/font-core.el b/lisp/font-core.el index 9b655319bc9..fc647a3727b 100644 --- a/lisp/font-core.el +++ b/lisp/font-core.el @@ -138,7 +138,7 @@ The above is the default behavior of `font-lock-mode'; you may specify your own function which is called when `font-lock-mode' is toggled via `font-lock-function'. " nil nil nil - :after-hook (if font-lock-mode (font-lock-initial-fontify)) + :after-hook (font-lock-initial-fontify) ;; 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) ?\s)) @@ -192,13 +192,7 @@ this function onto `change-major-mode-hook'." ;; Only do hard work if the mode has specified stuff in ;; `font-lock-defaults'. - (when (or font-lock-defaults - (if (boundp 'font-lock-keywords) font-lock-keywords) - (and mode - (boundp 'font-lock-set-defaults) - font-lock-set-defaults - font-lock-major-mode - (not (eq font-lock-major-mode major-mode)))) + (when (font-lock-specified-p mode) (font-lock-mode-internal mode))) (defun turn-on-font-lock () diff --git a/lisp/font-lock.el b/lisp/font-lock.el index a65a2c94c7d..4222791705b 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -1,6 +1,6 @@ ;;; font-lock.el --- Electric font lock mode -;; Copyright (C) 1992-2012 Free Software Foundation, Inc. +;; Copyright (C) 1992-2012 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Richard Stallman @@ -67,7 +67,7 @@ ;; ;; The syntactic keyword pass places `syntax-table' text properties in the ;; buffer according to the variable `font-lock-syntactic-keywords'. It is -;; necessary because Emacs' syntax table is not powerful enough to describe all +;; necessary because Emacs's syntax table is not powerful enough to describe all ;; the different syntactic constructs required by the sort of people who decide ;; that a single quote can be syntactic or not depending on the time of day. ;; (What sort of person could decide to overload the meaning of a quote?) @@ -629,17 +629,32 @@ Major/minor modes can set this variable if they know which option applies.") ;; Shut up the byte compiler. (defvar font-lock-face-attributes)) ; Obsolete but respected if set. +(defun font-lock-specified-p (mode) + "Return non-nil if the current buffer is ready for fontification. +The MODE argument, if non-nil, means Font Lock mode is about to +be enabled." + (or font-lock-defaults + (and (boundp 'font-lock-keywords) + font-lock-keywords) + (and mode + (boundp 'font-lock-set-defaults) + font-lock-set-defaults + font-lock-major-mode + (not (eq font-lock-major-mode major-mode))))) + (defun font-lock-initial-fontify () ;; The first fontification after turning the mode on. This must ;; only be called after the mode hooks have been run. - (let ((max-size (font-lock-value-in-major-mode font-lock-maximum-size))) - (cond (font-lock-fontified - nil) - ((or (null max-size) (> max-size (buffer-size))) - (font-lock-fontify-buffer)) - (font-lock-verbose - (message "Fontifying %s...buffer size greater than font-lock-maximum-size" - (buffer-name)))))) + (when (and font-lock-mode + (font-lock-specified-p t)) + (let ((max-size (font-lock-value-in-major-mode font-lock-maximum-size))) + (cond (font-lock-fontified + nil) + ((or (null max-size) (> max-size (buffer-size))) + (font-lock-fontify-buffer)) + (font-lock-verbose + (message "Fontifying %s...buffer size greater than font-lock-maximum-size" + (buffer-name))))))) (defun font-lock-mode-internal (arg) ;; Turn on Font Lock mode. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index e58b6cc7773..a4c1513926d 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,12 @@ +2012-03-04 Thierry Volpiatto + + * gnus-msg.el (gnus-msg-mail): Call `message-mail' correctly when Gnus + isn't running (bug#10897). + +2012-02-25 Lars Magne Ingebrigtsen + + * shr.el (shr-column-specs): Protect against TDs with "width: 0%". + 2012-02-23 Katsumi Yamaoka * nntp.el (nntp-send-authinfo): Work for secure nntp entry in authinfo. diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el index 347f34b3228..975b83370ba 100644 --- a/lisp/gnus/gmm-utils.el +++ b/lisp/gnus/gmm-utils.el @@ -1,6 +1,6 @@ ;;; gmm-utils.el --- Utility functions for Gnus, Message and MML -;; Copyright (C) 2006-2012 Free Software Foundation, Inc. +;; Copyright (C) 2006-2012 Free Software Foundation, Inc. ;; Author: Reiner Steib ;; Keywords: news @@ -352,7 +352,7 @@ compatibility with versions of Emacs that lack the variable dir (expand-file-name "../" dir)))) (setq image-directory-load-path dir)) - ;; If `image-directory-load-path' isn't Emacs' image directory, + ;; If `image-directory-load-path' isn't Emacs's image directory, ;; it's probably a user preference, so use it. Then use a ;; relative setting if possible; otherwise, use ;; `image-directory-load-path'. @@ -383,7 +383,7 @@ compatibility with versions of Emacs that lack the variable ;; Set it to nil if image is not found. (cond ((file-exists-p (expand-file-name image d2ei)) d2ei) ((file-exists-p (expand-file-name image d1ei)) d1ei))))) - ;; Use Emacs' image directory. + ;; Use Emacs's image directory. (image-directory-load-path (setq image-directory image-directory-load-path)) (no-error diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 5178220af8f..bbd3c95265d 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el @@ -1,6 +1,6 @@ ;;; gnus-agent.el --- unplugged support for Gnus -;; Copyright (C) 1997-2012 Free Software Foundation, Inc. +;; Copyright (C) 1997-2012 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -602,7 +602,7 @@ manipulated as follows: (make-mode-line-mouse-map mouse-button mouse-func) 'mouse-face (if (and (featurep 'xemacs) - ;; XEmacs' `facep' only checks for a face + ;; XEmacs's `facep' only checks for a face ;; object, not for a face name, so it's useless ;; to check with `facep'. (find-face 'modeline)) diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index bf75f94c195..7c8d194f26b 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el @@ -478,7 +478,8 @@ Thank you for your help in stamping out bugs. ;;;###autoload (defun gnus-msg-mail (&optional to subject other-headers continue - switch-action yank-action send-actions return-action) + switch-action yank-action send-actions + return-action) "Start editing a mail message to be sent. Like `message-mail', but with Gnus paraphernalia, particularly the Gcc: header for archiving purposes. @@ -486,7 +487,8 @@ If Gnus isn't running, a plain `message-mail' setup is used instead." (interactive) (if (not (gnus-alive-p)) - (message-mail) + (message-mail to subject other-headers continue + nil yank-action send-actions return-action) (let ((buf (current-buffer)) mail-buf) (gnus-setup-message 'message diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index 8f06359ace8..f86b6f837a7 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el @@ -3028,7 +3028,7 @@ If ADAPT, return the home adaptive file instead." (* (abs score) gnus-score-decay-scale))))))) (if (and (featurep 'xemacs) - ;; XEmacs' floor can handle only the floating point + ;; XEmacs's floor can handle only the floating point ;; number below the half of the maximum integer. (> (abs n) (lsh -1 -2))) (string-to-number diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 09617384049..4a6da2d437c 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -1,6 +1,6 @@ ;;; mm-decode.el --- Functions for decoding MIME things -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko @@ -1493,7 +1493,7 @@ be determined." (let ((image (mm-get-image handle))) (or (not image) (if (featurep 'xemacs) - ;; XEmacs' glyphs can actually tell us about their width, so + ;; XEmacs's glyphs can actually tell us about their width, so ;; let's be nice and smart about them. (or mm-inline-large-images (and (<= (glyph-width image) (window-pixel-width)) diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 0f60fdd756b..621aece8920 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el @@ -1254,11 +1254,9 @@ If SEND-IF-FORCE, only send authinfo to the server if the (auth-info (nth 0 (auth-source-search :max 1 - :host (list nntp-address - (nnoo-current-server 'nntp)) - :port (or (cdr (assoc (format "%s" nntp-port-number) - '(("563" . ("563" "nntps" "snews"))))) - '("119" "nntp"))))) + :host (list nntp-address (nnoo-current-server 'nntp)) + :port `("119" "nntp" ,(format "%s" nntp-port-number) + "563" "nntps" "snews")))) (auth-user (plist-get auth-info :user)) (auth-force (plist-get auth-info :force)) (auth-passwd (plist-get auth-info :secret)) diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index dd0f1599c36..41f12243971 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el @@ -1364,10 +1364,10 @@ ones, in case fg and bg are nil." (when (memq (car column) '(td th)) (let ((width (cdr (assq :width (cdr column))))) (when (and width - (string-match "\\([0-9]+\\)%" width)) - (aset columns i - (/ (string-to-number (match-string 1 width)) - 100.0)))) + (string-match "\\([0-9]+\\)%" width) + (not (zerop (setq width (string-to-number + (match-string 1 width)))))) + (aset columns i (/ width 100.0)))) (setq i (1+ i))))))) columns)) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 0175ffa4d9a..ed52be6cc1e 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -482,12 +482,14 @@ suitable file is found, return nil." (if (member (event-modifiers (aref key 0)) '(nil (shift))) (push key non-modified-keys))) (when remapped - (princ "It is remapped to `") + (princ "Its keys are remapped to `") (princ (symbol-name remapped)) - (princ "'")) + (princ "'.\n")) (when keys - (princ (if remapped ", which is bound to " "It is bound to ")) + (princ (if remapped + "Without this remapping, it would be bound to " + "It is bound to ")) ;; If lots of ordinary text characters run this command, ;; don't mention them one by one. (if (< (length non-modified-keys) 10) diff --git a/lisp/help.el b/lisp/help.el index a38211332c6..1a6aa9d13d2 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1,7 +1,6 @@ ;;; help.el --- help commands for Emacs -;; Copyright (C) 1985-1986, 1993-1994, 1998-2012 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985-1986, 1993-1994, 1998-2012 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: help, internal @@ -24,7 +23,7 @@ ;;; Commentary: -;; This code implements GNU Emacs' on-line help system, the one invoked by +;; This code implements GNU Emacs's on-line help system, the one invoked by ;; `M-x help-for-help'. ;;; Code: diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index 4c811d885d7..b94d4293fa7 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el @@ -1,6 +1,6 @@ ;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks -;; Copyright (C) 2002-2003, 2009-2012 Free Software Foundation, Inc. +;; Copyright (C) 2002-2003, 2009-2012 Free Software Foundation, Inc. ;; Emacs Lisp Archive Entry ;; Package: htmlfontify @@ -376,7 +376,7 @@ commands in `hfy-etags-cmd-alist'." "The etags equivalent command to run in a source directory to generate a tags file for the whole source tree from there on down. The command should emit the etags output on stdout.\n -Two canned commands are provided - they drive Emacs' etags and +Two canned commands are provided - they drive Emacs's etags and exuberant-ctags' etags respectively." :group 'htmlfontify :tag "etags-command" @@ -859,13 +859,13 @@ If CLASS is set, it must be a `defface' alist key [see below], in which case the first face specification returned by `hfy-combined-face-spec' which *doesn't* clash with CLASS is returned.\n \(A specification with a class of t is considered to match any class you -specify - this matches Emacs' behavior when deciding on which face attributes +specify - this matches Emacs's behavior when deciding on which face attributes to use, to the best of my understanding).\n If CLASS is nil, then you just get whatever `face-attr-construct' returns, ie the current specification in effect for FACE.\n *NOTE*: This function forces any face that is not 'default and which has no :inherit property to inherit from 'default (this is because 'default -is magical in that Emacs' fonts behave as if they inherit implicitly from +is magical in that Emacs's fonts behave as if they inherit implicitly from 'default, but no such behavior exists in HTML/CSS).\n See also `hfy-display-class' for details of valid values for CLASS." (let ((face-spec diff --git a/lisp/image.el b/lisp/image.el index ab3f437a971..162cc8bb0ed 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -1,6 +1,6 @@ ;;; image.el --- image API -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: multimedia @@ -163,7 +163,7 @@ compatibility with versions of Emacs that lack the variable dir (expand-file-name "../" dir)))) (setq image-directory-load-path dir)) - ;; If `image-directory-load-path' isn't Emacs' image directory, + ;; If `image-directory-load-path' isn't Emacs's image directory, ;; it's probably a user preference, so use it. Then use a ;; relative setting if possible; otherwise, use ;; `image-directory-load-path'. @@ -194,7 +194,7 @@ compatibility with versions of Emacs that lack the variable ;; Set it to nil if image is not found. (cond ((file-exists-p (expand-file-name image d2ei)) d2ei) ((file-exists-p (expand-file-name image d1ei)) d1ei))))) - ;; Use Emacs' image directory. + ;; Use Emacs's image directory. (image-directory-load-path (setq image-directory image-directory-load-path)) (no-error diff --git a/lisp/info.el b/lisp/info.el index a8cb141114c..b7e2d1eedbe 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1165,6 +1165,12 @@ a case-insensitive match is tried." (progn (setq file (expand-file-name "dir.info" truename)) (file-attributes file)) (progn (setq file (expand-file-name "DIR.INFO" truename)) + (file-attributes file)) + ;; Shouldn't really happen, but sometimes does, + ;; eg on Debian systems with buggy packages; + ;; so may as well try it. + ;; http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00005.html + (progn (setq file (expand-file-name "dir.gz" truename)) (file-attributes file))))) (setq dirs-done (cons truename diff --git a/lisp/international/mule.el b/lisp/international/mule.el index d4dd4e4cf24..7bf15009687 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -1,6 +1,6 @@ ;;; mule.el --- basic commands for multilingual environment -;; Copyright (C) 1997-2012 Free Software Foundation, Inc. +;; Copyright (C) 1997-2012 Free Software Foundation, Inc. ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 ;; National Institute of Advanced Industrial Science and Technology (AIST) @@ -165,7 +165,7 @@ compatibility. VALUE must be a nonnegative integer that can be used as an invalid code point of the charset. If the minimum code is 0 and the maximum -code is greater than Emacs' maximum integer value, `:invalid-code' +code is greater than Emacs's maximum integer value, `:invalid-code' should not be omitted. `:code-offset' diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el index 8a8d7cdbb52..7e50ae57b19 100644 --- a/lisp/jka-compr.el +++ b/lisp/jka-compr.el @@ -203,6 +203,7 @@ to keep: LEN chars starting BEG chars from the beginning." ;; call-process barfs if default-directory is inaccessible. (let ((default-directory (if (and default-directory + (not (file-remote-p default-directory)) (file-accessible-directory-p default-directory)) default-directory (file-name-directory infile)))) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 9d5e69ba9d9..718c27499cf 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -253,7 +253,7 @@ old-style time formats for entries are supported. ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice ;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) -;;;;;; "advice" "emacs-lisp/advice.el" (20229 34587)) +;;;;;; "advice" "emacs-lisp/advice.el" (20277 28925)) ;;; Generated autoloads from emacs-lisp/advice.el (defvar ad-redefinition-action 'warn "\ @@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes. ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation ;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from allout.el (autoload 'allout-auto-activation-helper "allout" "\ @@ -850,7 +850,7 @@ for details on preparing Emacs for automatic allout activation. ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation ;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from allout-widgets.el (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads)))) @@ -910,7 +910,7 @@ outline hot-spot navigation (see `allout-mode'). ;;;*** ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" -;;;;;; "net/ange-ftp.el" (20261 10951)) +;;;;;; "net/ange-ftp.el" (20295 29120)) ;;; Generated autoloads from net/ange-ftp.el (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir) @@ -965,7 +965,7 @@ the buffer *Birthday-Present-for-Name*. ;;;*** ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) -;;;;;; "ansi-color" "ansi-color.el" (20229 34587)) +;;;;;; "ansi-color" "ansi-color.el" (20290 11197)) ;;; Generated autoloads from ansi-color.el (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\ @@ -991,7 +991,7 @@ This is a good function to put in `comint-output-filter-functions'. ;;;*** ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) -;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20229 34587)) +;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20300 47034)) ;;; Generated autoloads from progmodes/antlr-mode.el (autoload 'antlr-show-makefile-rules "antlr-mode" "\ @@ -1158,8 +1158,8 @@ Returns list of symbols and documentation found. ;;;*** -;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from arc-mode.el (autoload 'archive-mode "arc-mode" "\ @@ -1486,7 +1486,7 @@ Special commands: ;;;*** ;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el" -;;;;;; (20236 48737)) +;;;;;; (20279 40897)) ;;; Generated autoloads from gnus/auth-source.el (defvar auth-source-cache-expiry 7200 "\ @@ -1792,7 +1792,7 @@ definition of \"random distance\".) ;;;*** ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from battery.el (put 'battery-mode-line-string 'risky-local-variable t) @@ -1861,7 +1861,7 @@ For non-interactive use see also `benchmark-run' and ;;;*** ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) -;;;;;; "bibtex" "textmodes/bibtex.el" (20261 10951)) +;;;;;; "bibtex" "textmodes/bibtex.el" (20276 64704)) ;;; Generated autoloads from textmodes/bibtex.el (autoload 'bibtex-initialize "bibtex" "\ @@ -2110,7 +2110,7 @@ a reflection. ;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert ;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate ;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" -;;;;;; "bookmark.el" (20229 34587)) +;;;;;; "bookmark.el" (20300 47034)) ;;; Generated autoloads from bookmark.el (define-key ctl-x-r-map "b" 'bookmark-jump) (define-key ctl-x-r-map "m" 'bookmark-set) @@ -2311,7 +2311,7 @@ Incremental search of bookmarks, hiding the non-matches as we go. ;;;;;; browse-url-xdg-open browse-url-at-mouse browse-url-at-point ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-browser-function) -;;;;;; "browse-url" "net/browse-url.el" (20229 34587)) +;;;;;; "browse-url" "net/browse-url.el" (20300 47034)) ;;; Generated autoloads from net/browse-url.el (defvar browse-url-browser-function 'browse-url-default-browser "\ @@ -2380,9 +2380,11 @@ to use. \(fn EVENT)" t nil) (autoload 'browse-url-xdg-open "browse-url" "\ +Pass the specified URL to the \"xdg-open\" command. +xdg-open is a desktop utility that calls your preferred web browser. +The optional argument IGNORED is not used. - -\(fn URL &optional NEW-WINDOW)" t nil) +\(fn URL &optional IGNORED)" t nil) (autoload 'browse-url-netscape "browse-url" "\ Ask the Netscape WWW browser to load URL. @@ -2641,7 +2643,7 @@ Return a vector containing the lines from `bruce-phrases-file'. ;;;*** ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) -;;;;;; "bs" "bs.el" (20229 34587)) +;;;;;; "bs" "bs.el" (20300 47034)) ;;; Generated autoloads from bs.el (autoload 'bs-cycle-next "bs" "\ @@ -2727,7 +2729,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings. ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile ;;;;;; compile-defun byte-compile-file byte-recompile-directory ;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning) -;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20230 55355)) +;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20276 33121)) ;;; Generated autoloads from emacs-lisp/bytecomp.el (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) @@ -2869,7 +2871,7 @@ and corresponding effects. ;;;*** ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el" -;;;;;; (20229 34587)) +;;;;;; (20284 58812)) ;;; Generated autoloads from calendar/cal-hebrew.el (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\ @@ -2885,8 +2887,8 @@ from the cursor position. ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc -;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20229 -;;;;;; 34587)) +;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from calc/calc.el (define-key ctl-x-map "*" 'calc-dispatch) @@ -2993,8 +2995,8 @@ See the documentation for `calculator-mode' for more information. ;;;*** -;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20230 -;;;;;; 18463)) +;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20287 +;;;;;; 5356)) ;;; Generated autoloads from calendar/calendar.el (autoload 'calendar "calendar" "\ @@ -3103,7 +3105,7 @@ Obsoletes `c-forward-into-nomenclature'. ;;;*** ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" -;;;;;; (20264 31805)) +;;;;;; (20279 40897)) ;;; Generated autoloads from progmodes/cc-engine.el (autoload 'c-guess-basic-syntax "cc-engine" "\ @@ -3115,7 +3117,7 @@ Return the syntactic context of the current line. ;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region ;;;;;; c-guess-buffer-no-install c-guess-buffer c-guess-no-install -;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20229 34587)) +;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20275 43867)) ;;; Generated autoloads from progmodes/cc-guess.el (defvar c-guess-guessed-offsets-alist nil "\ @@ -3215,7 +3217,7 @@ the absolute file name of the file if STYLE-NAME is nil. ;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode ;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" -;;;;;; (20247 64512)) +;;;;;; (20293 38510)) ;;; Generated autoloads from progmodes/cc-mode.el (autoload 'c-initialize-cc-mode "cc-mode" "\ @@ -3443,7 +3445,7 @@ and exists only for compatibility reasons. ;;;*** -;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20229 34587)) +;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20279 40897)) ;;; Generated autoloads from progmodes/cc-vars.el (put 'c-basic-offset 'safe-local-variable 'integerp) (put 'c-backslash-column 'safe-local-variable 'integerp) @@ -4073,7 +4075,7 @@ a future Emacs interpreter will be able to use it.") ;;;*** ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from emacs-lisp/cl-indent.el (autoload 'common-lisp-indent-function "cl-indent" "\ @@ -4215,10 +4217,10 @@ If FRAME cannot display COLOR, return nil. ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" -;;;;;; (20229 34587)) +;;;;;; (20290 11197)) ;;; Generated autoloads from comint.el -(defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ +(defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ Functions to call after output is inserted into the buffer. One possible function is `comint-postoutput-scroll-to-bottom'. These functions get one argument, a string containing the text as originally @@ -4347,8 +4349,8 @@ on third call it again advances points to the next difference and so on. ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start ;;;;;; compile compilation-disable-input compile-command compilation-search-path ;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook -;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20265 -;;;;;; 7997)) +;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20275 +;;;;;; 43867)) ;;; Generated autoloads from progmodes/compile.el (defvar compilation-mode-hook nil "\ @@ -4528,7 +4530,7 @@ This is the value of `next-error-function' in Compilation buffers. ;;;*** ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55691)) ;;; Generated autoloads from completion.el (defvar dynamic-completion-mode nil "\ @@ -4541,7 +4543,10 @@ or call the function `dynamic-completion-mode'.") (custom-autoload 'dynamic-completion-mode "completion" nil) (autoload 'dynamic-completion-mode "completion" "\ -Enable dynamic word-completion. +Toggle dynamic word-completion on or off. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -5069,7 +5074,7 @@ Major mode to edit Cascading Style Sheets. ;;;*** ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from emulation/cua-base.el (defvar cua-mode nil "\ @@ -5129,7 +5134,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. ;;;;;; customize-mode customize customize-push-and-save customize-save-variable ;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically ;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically) -;;;;;; "cus-edit" "cus-edit.el" (20259 55615)) +;;;;;; "cus-edit" "cus-edit.el" (20271 46782)) ;;; Generated autoloads from cus-edit.el (defvar custom-browse-sort-alphabetically nil "\ @@ -5445,8 +5450,8 @@ The format is suitable for use with `easy-menu-define'. ;;;*** ;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme -;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20229 -;;;;;; 34587)) +;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from cus-theme.el (autoload 'customize-create-theme "cus-theme" "\ @@ -5489,7 +5494,7 @@ Mode used for cvs status output. ;;;*** ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode) -;;;;;; "cwarn" "progmodes/cwarn.el" (20263 52669)) +;;;;;; "cwarn" "progmodes/cwarn.el" (20273 55692)) ;;; Generated autoloads from progmodes/cwarn.el (autoload 'cwarn-mode "cwarn" "\ @@ -5501,7 +5506,9 @@ Note, in addition to enabling this minor mode, the major mode must be included in the variable `cwarn-configuration'. By default C and C++ modes are included. -With ARG, turn CWarn mode on if and only if arg is positive. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -6051,7 +6058,7 @@ relevant to POS. ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir ;;;;;; desktop-load-default desktop-read desktop-remove desktop-save ;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" -;;;;;; "desktop.el" (20229 34587)) +;;;;;; "desktop.el" (20277 28925)) ;;; Generated autoloads from desktop.el (defvar desktop-save-mode nil "\ @@ -6271,7 +6278,7 @@ Deuglify broken Outlook (Express) articles and redisplay. ;;;*** ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" -;;;;;; "calendar/diary-lib.el" (20229 34587)) +;;;;;; "calendar/diary-lib.el" (20287 5356)) ;;; Generated autoloads from calendar/diary-lib.el (autoload 'diary "diary-lib" "\ @@ -6358,7 +6365,7 @@ This requires the external program `diff' to be in your `exec-path'. ;;;*** ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from vc/diff-mode.el (autoload 'diff-mode "diff-mode" "\ @@ -6402,7 +6409,7 @@ Optional arguments are passed to `dig-invoke'. ;;;*** ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window -;;;;;; dired dired-listing-switches) "dired" "dired.el" (20259 55615)) +;;;;;; dired dired-listing-switches) "dired" "dired.el" (20296 49978)) ;;; Generated autoloads from dired.el (defvar dired-listing-switches (purecopy "-al") "\ @@ -6524,7 +6531,7 @@ Keybindings: ;;;*** ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55691)) ;;; Generated autoloads from dirtrack.el (autoload 'dirtrack-mode "dirtrack" "\ @@ -6757,8 +6764,8 @@ Locate SOA record and increment the serial field. ;;;*** ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe -;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20229 -;;;;;; 34587)) +;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from doc-view.el (autoload 'doc-view-mode-p "doc-view" "\ @@ -6842,7 +6849,7 @@ Switch to *dungeon* buffer and start game. ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap ;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" -;;;;;; "emacs-lisp/easy-mmode.el" (20264 40969)) +;;;;;; "emacs-lisp/easy-mmode.el" (20294 38748)) ;;; Generated autoloads from emacs-lisp/easy-mmode.el (defalias 'easy-mmode-define-minor-mode 'define-minor-mode) @@ -6853,6 +6860,14 @@ This defines the toggle command MODE and (by default) a control variable MODE (you can override this with the :variable keyword, see below). DOC is the documentation for the mode toggle command. +The defined mode command takes one optional (prefix) argument. +Interactively with no prefix argument it toggles the mode. +With a prefix argument, it enables the mode if the argument is +positive and otherwise disables it. When called from Lisp, it +enables the mode if the argument is omitted or nil, and toggles +the mode if the argument is `toggle'. If DOC is nil this +function adds a basic doc-string stating these facts. + Optional INIT-VALUE is the initial value of the mode's variable. Optional LIGHTER is displayed in the modeline when the mode is on. Optional KEYMAP is the default keymap bound to the mode keymap. @@ -6890,6 +6905,8 @@ BODY contains code to execute each time the mode is enabled or disabled. the new state, and sets it. If you specify a :variable, this function does not define a MODE variable (nor any of the terms used in :variable). +:after-hook A single lisp form which is evaluated after the mode hooks + have been run. It should not be quoted. For example, you could write (define-minor-mode foo-mode \"If enabled, foo on you!\" @@ -6958,8 +6975,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). ;;;*** ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define -;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20229 -;;;;;; 34587)) +;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20300 +;;;;;; 47034)) ;;; Generated autoloads from emacs-lisp/easymenu.el (autoload 'easy-menu-define "easymenu" "\ @@ -7016,7 +7033,7 @@ KEYS is expanded with `substitute-command-keys' before it is used. KEYS is nil, a string or a vector; nil or a keyboard equivalent to this menu item. -This is a hint that will considerably speed up Emacs' first display of +This is a hint that will considerably speed up Emacs's first display of a menu. Use `:key-sequence nil' when you know that this menu item has no keyboard equivalent. @@ -7940,7 +7957,7 @@ Display Ediff's registry. ;;;*** ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) -;;;;;; "ediff-util" "vc/ediff-util.el" (20229 34587)) +;;;;;; "ediff-util" "vc/ediff-util.el" (20300 47034)) ;;; Generated autoloads from vc/ediff-util.el (autoload 'ediff-toggle-multiframe "ediff-util" "\ @@ -8112,7 +8129,7 @@ Emacs Lisp mode) that support ElDoc.") ;;;*** ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode) -;;;;;; "electric" "electric.el" (20229 34587)) +;;;;;; "electric" "electric.el" (20275 12572)) ;;; Generated autoloads from electric.el (defvar electric-indent-chars '(10) "\ @@ -8133,9 +8150,9 @@ With a prefix argument ARG, enable Electric Indent mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. -Electric Indent mode is a global minor mode. When enabled, -reindentation is triggered whenever you insert a character listed -in `electric-indent-chars'. +This is a global minor mode. When enabled, it reindents whenever +the hook `electric-indent-functions' returns non-nil, or you +insert a character from `electric-indent-chars'. \(fn &optional ARG)" t nil) @@ -8158,6 +8175,8 @@ Electric Pair mode is a global minor mode. When enabled, typing an open parenthesis automatically inserts the corresponding closing parenthesis. (Likewise for brackets, etc.) +See options `electric-pair-pairs' and `electric-pair-skip-self'. + \(fn &optional ARG)" t nil) (defvar electric-layout-mode nil "\ @@ -8171,6 +8190,10 @@ or call the function `electric-layout-mode'.") (autoload 'electric-layout-mode "electric" "\ Automatically insert newlines around some chars. +With a prefix argument ARG, enable Electric Layout mode if ARG is +positive, and disable it otherwise. If called from Lisp, enable +the mode if ARG is omitted or nil. +The variable `electric-layout-rules' says when and how to insert newlines. \(fn &optional ARG)" t nil) @@ -8294,7 +8317,7 @@ Other values are interpreted as usual. ;;;*** ;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug) -;;;;;; "emacsbug" "mail/emacsbug.el" (20259 55615)) +;;;;;; "emacsbug" "mail/emacsbug.el" (20277 28925)) ;;; Generated autoloads from mail/emacsbug.el (autoload 'report-emacs-bug "emacsbug" "\ @@ -8315,7 +8338,7 @@ The result is an alist with items of the form (URL SUBJECT NO). ;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote ;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor ;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" -;;;;;; "vc/emerge.el" (20204 31303)) +;;;;;; "vc/emerge.el" (20292 6362)) ;;; Generated autoloads from vc/emerge.el (autoload 'emerge-files "emerge" "\ @@ -8376,13 +8399,18 @@ Emerge two RCS revisions of a file, with another revision as ancestor. ;;;*** ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) -;;;;;; "enriched" "textmodes/enriched.el" (20229 34587)) +;;;;;; "enriched" "textmodes/enriched.el" (20273 55692)) ;;; Generated autoloads from textmodes/enriched.el (autoload 'enriched-mode "enriched" "\ Minor mode for editing text/enriched files. These are files with embedded formatting information in the MIME standard text/enriched format. + +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. + Turning the mode on or off runs `enriched-mode-hook'. More information about Enriched mode is available in the file @@ -8638,11 +8666,14 @@ Encrypt marked files. ;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt ;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) -;;;;;; "epa-mail" "epa-mail.el" (20229 34587)) +;;;;;; "epa-mail" "epa-mail.el" (20273 55691)) ;;; Generated autoloads from epa-mail.el (autoload 'epa-mail-mode "epa-mail" "\ A minor-mode for composing encrypted/clearsigned mails. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -8697,6 +8728,9 @@ or call the function `epa-global-mail-mode'.") (autoload 'epa-global-mail-mode "epa-mail" "\ Minor mode to hook EasyPG into Mail mode. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -8801,7 +8835,7 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL. ;;;*** -;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20229 34587)) +;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20300 47034)) ;;; Generated autoloads from erc/erc-compat.el (autoload 'erc-define-minor-mode "erc-compat") @@ -8949,7 +8983,7 @@ system. ;;;*** -;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20229 34587)) +;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20274 22975)) ;;; Generated autoloads from erc/erc-join.el (autoload 'erc-autojoin-mode "erc-join" nil t) @@ -9229,7 +9263,7 @@ Add a file to `erc-xdcc-files'. ;;;### (autoloads (ert-describe-test ert-run-tests-interactively ;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest) -;;;;;; "ert" "emacs-lisp/ert.el" (20229 34587)) +;;;;;; "ert" "emacs-lisp/ert.el" (20300 47034)) ;;; Generated autoloads from emacs-lisp/ert.el (autoload 'ert-deftest "ert" "\ @@ -9299,7 +9333,7 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test). ;;;*** ;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el" -;;;;;; (20229 34587)) +;;;;;; (20270 25925)) ;;; Generated autoloads from emacs-lisp/ert-x.el (put 'ert-with-test-buffer 'lisp-indent-function 1) @@ -9325,7 +9359,7 @@ Emacs shell interactive mode. ;;;*** ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell" -;;;;;; "eshell/eshell.el" (20229 34587)) +;;;;;; "eshell/eshell.el" (20300 47034)) ;;; Generated autoloads from eshell/eshell.el (autoload 'eshell "eshell" "\ @@ -9854,7 +9888,7 @@ With ARG, insert that many delimiters. ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from net/eudc.el (autoload 'eudc-set-server "eudc" "\ @@ -9973,8 +10007,8 @@ Edit the hotlist of directory servers in a specialized buffer. ;;;*** -;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20300 +;;;;;; 47034)) ;;; Generated autoloads from emacs-lisp/ewoc.el (autoload 'ewoc-create "ewoc" "\ @@ -10165,8 +10199,8 @@ with no args, if that value is non-nil. ;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set ;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase ;;;;;; text-scale-set face-remap-set-base face-remap-reset-base -;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20229 -;;;;;; 34587)) +;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20273 +;;;;;; 55691)) ;;; Generated autoloads from face-remap.el (autoload 'face-remap-add-relative "face-remap" "\ @@ -10264,8 +10298,10 @@ a top-level keymap, `text-scale-increase' or (autoload 'buffer-face-mode "face-remap" "\ Minor mode for a buffer-specific default face. -When enabled, the face specified by the variable -`buffer-face-mode-face' is used to display the buffer text. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. When enabled, the face specified by the +variable `buffer-face-mode-face' is used to display the buffer text. \(fn &optional ARG)" t nil) @@ -10306,7 +10342,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'. ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts -;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20172 54913)) +;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20300 47034)) ;;; Generated autoloads from mail/feedmail.el (autoload 'feedmail-send-it "feedmail" "\ @@ -10360,7 +10396,7 @@ you can set `feedmail-queue-reminder-alist' to nil. ;;;*** ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu -;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (20229 34587)) +;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (20292 53022)) ;;; Generated autoloads from ffap.el (autoload 'ffap-next "ffap" "\ @@ -10549,8 +10585,8 @@ Copy directory-local variables to the -*- line. ;;;*** -;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20300 +;;;;;; 47034)) ;;; Generated autoloads from filesets.el (autoload 'filesets-init "filesets" "\ @@ -10955,13 +10991,14 @@ to get the effect of a C-q. ;;;*** ;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on -;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20229 34587)) +;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20273 55692)) ;;; Generated autoloads from progmodes/flymake.el (autoload 'flymake-mode "flymake" "\ -Minor mode to do on-the-fly syntax checking. -When called interactively, toggles the minor mode. -With arg, turn Flymake mode on if and only if arg is positive. +Toggle on-the-fly syntax checking. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -11316,7 +11353,7 @@ and choose the directory as the fortune-file. ;;;*** ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" -;;;;;; (20264 32142)) +;;;;;; (20298 5305)) ;;; Generated autoloads from progmodes/gdb-mi.el (defvar gdb-enable-debug nil "\ @@ -11461,13 +11498,15 @@ regular expression that can be used as an element of ;;;*** ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55692)) ;;; Generated autoloads from progmodes/glasses.el (autoload 'glasses-mode "glasses" "\ Minor mode for making identifiers likeThis readable. -When this mode is active, it tries to add virtual separators (like underscores) -at places they belong to. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. When this mode is active, it tries to +add virtual separators (like underscores) at places they belong to. \(fn &optional ARG)" t nil) @@ -11475,7 +11514,7 @@ at places they belong to. ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error ;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from gnus/gmm-utils.el (autoload 'gmm-regexp-concat "gmm-utils" "\ @@ -11530,7 +11569,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST. ;;;*** ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server -;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20258 34747)) +;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20276 33121)) ;;; Generated autoloads from gnus/gnus.el (when (fboundp 'custom-autoload) (custom-autoload 'gnus-select-method "gnus")) @@ -11583,7 +11622,7 @@ prompt the user for the name of an NNTP server to use. ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" -;;;;;; "gnus/gnus-agent.el" (20265 7997)) +;;;;;; "gnus/gnus-agent.el" (20300 47034)) ;;; Generated autoloads from gnus/gnus-agent.el (autoload 'gnus-unplugged "gnus-agent" "\ @@ -11674,7 +11713,7 @@ If CLEAN, obsolete (ignore). ;;;*** ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" -;;;;;; (20232 10689)) +;;;;;; (20280 61753)) ;;; Generated autoloads from gnus/gnus-art.el (autoload 'gnus-article-prepare-display "gnus-art" "\ @@ -11892,7 +11931,7 @@ If gravatars are already displayed, remove them. ;;;*** ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) -;;;;;; "gnus-group" "gnus/gnus-group.el" (20232 10689)) +;;;;;; "gnus-group" "gnus/gnus-group.el" (20266 28861)) ;;; Generated autoloads from gnus/gnus-group.el (autoload 'gnus-fetch-group "gnus-group" "\ @@ -11910,7 +11949,7 @@ Pop up a frame and enter GROUP. ;;;*** ;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html" -;;;;;; "gnus/gnus-html.el" (20229 34587)) +;;;;;; "gnus/gnus-html.el" (20273 55604)) ;;; Generated autoloads from gnus/gnus-html.el (autoload 'gnus-article-html "gnus-html" "\ @@ -12067,13 +12106,15 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns: ;;;*** ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) -;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20230 55355)) +;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20290 11197)) ;;; Generated autoloads from gnus/gnus-msg.el (autoload 'gnus-msg-mail "gnus-msg" "\ Start editing a mail message to be sent. Like `message-mail', but with Gnus paraphernalia, particularly the Gcc: header for archiving purposes. +If Gnus isn't running, a plain `message-mail' setup is used +instead. \(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-ACTION YANK-ACTION SEND-ACTIONS RETURN-ACTION)" t nil) @@ -12093,7 +12134,7 @@ Like `message-reply'. ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from gnus/gnus-picon.el (autoload 'gnus-treat-from-picon "gnus-picon" "\ @@ -12188,7 +12229,7 @@ Add NUM into sorted LIST by side effect. ;;;*** ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) -;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20229 34587)) +;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20279 40897)) ;;; Generated autoloads from gnus/gnus-registry.el (autoload 'gnus-registry-initialize "gnus-registry" "\ @@ -12244,7 +12285,7 @@ Update the format specification near point. ;;;*** ;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" -;;;;;; (20259 55615)) +;;;;;; (20286 14149)) ;;; Generated autoloads from gnus/gnus-start.el (autoload 'gnus-declare-backend "gnus-start" "\ @@ -12255,7 +12296,7 @@ Declare back end NAME with ABILITIES as a Gnus back end. ;;;*** ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el" -;;;;;; (20258 34747)) +;;;;;; (20291 32066)) ;;; Generated autoloads from gnus/gnus-sum.el (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\ @@ -12294,7 +12335,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'. ;;;*** ;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el" -;;;;;; (20229 34587)) +;;;;;; (20286 55781)) ;;; Generated autoloads from net/gnutls.el (defvar gnutls-min-prime-bits nil "\ @@ -12310,7 +12351,7 @@ A value of nil says to use the default gnutls value.") ;;;*** -;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20229 34587)) +;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20300 47034)) ;;; Generated autoloads from play/gomoku.el (autoload 'gomoku "gomoku" "\ @@ -12337,8 +12378,8 @@ Use \\[describe-mode] for more info. ;;;*** ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address -;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20229 -;;;;;; 34587)) +;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20273 +;;;;;; 55692)) ;;; Generated autoloads from net/goto-addr.el (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1") @@ -12366,6 +12407,9 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and (autoload 'goto-address-mode "goto-addr" "\ Minor mode to buttonize URLs and e-mail addresses in the current buffer. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -12377,7 +12421,7 @@ Like `goto-address-mode', but only for comments and strings. ;;;*** ;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve) -;;;;;; "gravatar" "gnus/gravatar.el" (20229 34587)) +;;;;;; "gravatar" "gnus/gravatar.el" (20279 40897)) ;;; Generated autoloads from gnus/gravatar.el (autoload 'gravatar-retrieve "gravatar" "\ @@ -12571,7 +12615,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. ;;;*** ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb -;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20261 10951)) +;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20270 25925)) ;;; Generated autoloads from progmodes/gud.el (autoload 'gud-gdb "gud" "\ @@ -12659,8 +12703,8 @@ it if ARG is omitted or nil. ;;;*** -;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20300 +;;;;;; 47034)) ;;; Generated autoloads from play/handwrite.el (autoload 'handwrite "handwrite" "\ @@ -12882,7 +12926,7 @@ different regions. With numeric argument ARG, behaves like ;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories ;;;;;; describe-syntax describe-variable variable-at-point describe-function-1 ;;;;;; find-lisp-object-file-name help-C-file-name describe-function) -;;;;;; "help-fns" "help-fns.el" (20229 34587)) +;;;;;; "help-fns" "help-fns.el" (20298 5305)) ;;; Generated autoloads from help-fns.el (autoload 'describe-function "help-fns" "\ @@ -13368,7 +13412,7 @@ Several variables affect how the hiding is done: ;;;*** ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" -;;;;;; (20237 28610)) +;;;;;; (20273 55692)) ;;; Generated autoloads from progmodes/hideshow.el (defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\ @@ -13401,6 +13445,10 @@ whitespace. Case does not matter.") (autoload 'hs-minor-mode "hideshow" "\ Minor mode to selectively hide/show code and comment blocks. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. + When hideshow minor mode is on, the menu bar is augmented with hideshow commands and the hideshow commands are enabled. The value '(hs . t) is added to `buffer-invisibility-spec'. @@ -13692,7 +13740,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and ;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays ;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays ;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays" -;;;;;; "calendar/holidays.el" (20229 34587)) +;;;;;; "calendar/holidays.el" (20287 5356)) ;;; Generated autoloads from calendar/holidays.el (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1") @@ -13787,8 +13835,8 @@ See the documentation for `calendar-holidays' for details.") (define-obsolete-variable-alias 'bahai-holidays 'holiday-bahai-holidays "23.1") -(defvar holiday-bahai-holidays (mapcar 'purecopy '((holiday-bahai-new-year) (holiday-bahai-ridvan) (holiday-fixed 5 23 "Declaration of the Bab") (holiday-fixed 5 29 "Ascension of Baha'u'llah") (holiday-fixed 7 9 "Martyrdom of the Bab") (holiday-fixed 10 20 "Birth of the Bab") (holiday-fixed 11 12 "Birth of Baha'u'llah") (if calendar-bahai-all-holidays-flag (append (holiday-fixed 11 26 "Day of the Covenant") (holiday-fixed 11 28 "Ascension of `Abdu'l-Baha"))))) "\ -Baha'i holidays. +(defvar holiday-bahai-holidays (mapcar 'purecopy '((holiday-bahai-new-year) (holiday-bahai-ridvan) (holiday-fixed 5 23 "Declaration of the Báb") (holiday-fixed 5 29 "Ascension of Bahá'u'lláh") (holiday-fixed 7 9 "Martyrdom of the Báb") (holiday-fixed 10 20 "Birth of the Báb") (holiday-fixed 11 12 "Birth of Bahá'u'lláh") (if calendar-bahai-all-holidays-flag (append (holiday-fixed 11 26 "Day of the Covenant") (holiday-fixed 11 28 "Ascension of `Abdu'l-Bahá"))))) "\ +Bahá'í holidays. See the documentation for `calendar-holidays' for details.") (custom-autoload 'holiday-bahai-holidays "holidays" t) @@ -13852,7 +13900,7 @@ Convert HTML to plain text in the current buffer. ;;;*** ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer) -;;;;;; "htmlfontify" "htmlfontify.el" (20237 28610)) +;;;;;; "htmlfontify" "htmlfontify.el" (20300 47034)) ;;; Generated autoloads from htmlfontify.el (autoload 'htmlfontify-buffer "htmlfontify" "\ @@ -14076,8 +14124,8 @@ buffer `*icalendar-errors*'. ;;;*** -;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20294 +;;;;;; 38748)) ;;; Generated autoloads from icomplete.el (defvar icomplete-mode nil "\ @@ -14300,8 +14348,8 @@ The main features of this mode are ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window -;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20229 -;;;;;; 34587)) +;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20268 +;;;;;; 33259)) ;;; Generated autoloads from ido.el (defvar ido-mode nil "\ @@ -14442,7 +14490,6 @@ in a separate window. \\[ido-toggle-regexp] Toggle regexp searching. \\[ido-toggle-prefix] Toggle between substring and prefix matching. \\[ido-toggle-case] Toggle case-sensitive searching of file names. -\\[ido-toggle-vc] Toggle version control for this file. \\[ido-toggle-literal] Toggle literal reading of this file. \\[ido-completion-help] Show list of matching files in separate window. \\[ido-toggle-ignore] Toggle ignoring files listed in `ido-ignore-files'. @@ -14573,13 +14620,17 @@ Switches to the buffer `*ielm*', or creates it if it does not exist. ;;;*** -;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20229 34587)) +;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20273 55691)) ;;; Generated autoloads from iimage.el (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1") (autoload 'iimage-mode "iimage" "\ -Toggle inline image minor mode. +Toggle Iimage mode on or off. +With a prefix argument ARG, enable Iimage mode if ARG is +positive, and disable it otherwise. If called from Lisp, enable +the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. +\\{iimage-mode-map} \(fn &optional ARG)" t nil) @@ -14590,7 +14641,7 @@ Toggle inline image minor mode. ;;;;;; create-image image-type-auto-detected-p image-type-available-p ;;;;;; image-type image-type-from-file-name image-type-from-file-header ;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from image.el (autoload 'image-type-from-data "image" "\ @@ -14988,7 +15039,7 @@ An image file is one whose name has an extension in ;;;*** ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode -;;;;;; image-mode) "image-mode" "image-mode.el" (20229 34587)) +;;;;;; image-mode) "image-mode" "image-mode.el" (20274 22975)) ;;; Generated autoloads from image-mode.el (autoload 'image-mode "image-mode" "\ @@ -16353,7 +16404,7 @@ If kbd macro currently being defined end it before activating it. ;;;*** ;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from play/landmark.el (defalias 'landmark-repeat 'landmark-test-run) @@ -16715,8 +16766,8 @@ uses the current buffer. ;;;*** -;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from vc/log-view.el (autoload 'log-view-mode "log-view" "\ @@ -16850,7 +16901,7 @@ for further customization of the printer command. ;;;*** ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55604)) ;;; Generated autoloads from ls-lisp.el (defvar ls-lisp-support-shell-wildcards t "\ @@ -17375,7 +17426,7 @@ Previous contents of that buffer are killed first. ;;;*** ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el" -;;;;;; (20229 34587)) +;;;;;; (20292 53022)) ;;; Generated autoloads from man.el (defalias 'manual-entry 'man) @@ -17485,7 +17536,7 @@ recursion depth in the minibuffer prompt. This is only useful if ;;;;;; message-forward-make-body message-forward message-recover ;;;;;; message-supersede message-cancel-news message-followup message-wide-reply ;;;;;; message-reply message-news message-mail message-mode) "message" -;;;;;; "gnus/message.el" (20229 34587)) +;;;;;; "gnus/message.el" (20279 40897)) ;;; Generated autoloads from gnus/message.el (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) @@ -18188,7 +18239,7 @@ body) or \"attachment\" (separate from the body). ;;;*** ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" -;;;;;; (20229 34587)) +;;;;;; (20291 32066)) ;;; Generated autoloads from gnus/mml1991.el (autoload 'mml1991-encrypt "mml1991" "\ @@ -18819,8 +18870,8 @@ Open a network connection to HOST on PORT. ;;;*** -;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20279 +;;;;;; 40897)) ;;; Generated autoloads from net/netrc.el (autoload 'netrc-credentials "netrc" "\ @@ -18929,7 +18980,7 @@ functionality. ;;;;;; uncomment-region comment-kill comment-set-column comment-indent ;;;;;; comment-indent-default comment-normalize-vars comment-multi-line ;;;;;; comment-padding comment-style comment-column) "newcomment" -;;;;;; "newcomment.el" (20229 34587)) +;;;;;; "newcomment.el" (20296 49978)) ;;; Generated autoloads from newcomment.el (defalias 'indent-for-comment 'comment-indent) @@ -18990,6 +19041,48 @@ The function has no args. Applicable at least in modes for languages like fixed-format Fortran where comments always start in column zero.") +(defconst comment-styles '((plain nil nil nil nil "Start in column 0 (do not indent), as in Emacs-20") (indent-or-triple nil nil nil multi-char "Start in column 0, but only for single-char starters") (indent nil nil nil t "Full comment per line, ends not aligned") (aligned nil t nil t "Full comment per line, ends aligned") (box nil t t t "Full comment per line, ends aligned, + top and bottom") (extra-line t nil t t "One comment for all lines, end on a line by itself") (multi-line t nil nil t "One comment for all lines, end on last commented line") (box-multi t t t t "One comment for all lines, + top and bottom")) "\ +Comment region style definitions. +Each style is defined with a form (STYLE . (MULTI ALIGN EXTRA INDENT DOC)). +DOC should succinctly describe the style. +STYLE should be a mnemonic symbol. +MULTI specifies that comments are allowed to span multiple lines. + e.g. in C it comments regions as + /* blabla + * bli */ + rather than + /* blabla */ + /* bli */ + if `comment-end' is empty, this has no effect. + +ALIGN specifies that the `comment-end' markers should be aligned. + e.g. in C it comments regions as + /* blabla */ + /* bli */ + rather than + /* blabla */ + /* bli */ + if `comment-end' is empty, this has no effect, unless EXTRA is also set, + in which case the comment gets wrapped in a box. + +EXTRA specifies that an extra line should be used before and after the + region to comment (to put the `comment-end' and `comment-start'). + e.g. in C it comments regions as + /* + * blabla + * bli + */ + rather than + /* blabla + * bli */ + if the comment style is not multi line, this has no effect, unless ALIGN + is also set, in which case the comment gets wrapped in a box. + +INDENT specifies that the `comment-start' markers should not be put at the + left margin but at the current indentation of the region to comment. +If INDENT is `multi-char', that means indent multi-character + comment starters, but not one-character comment starters.") + (defvar comment-style 'indent "\ Style to be used for `comment-region'. See `comment-styles' for a list of available styles.") @@ -19243,7 +19336,7 @@ This command does not work if you use short group names. ;;;*** ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" -;;;;;; (20229 34587)) +;;;;;; (20280 61753)) ;;; Generated autoloads from gnus/nnml.el (autoload 'nnml-generate-nov-databases "nnml" "\ @@ -19689,7 +19782,7 @@ exported source code blocks by language. ;;;*** ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" -;;;;;; (20229 34587)) +;;;;;; (20291 32066)) ;;; Generated autoloads from progmodes/octave-inf.el (autoload 'inferior-octave "octave-inf" "\ @@ -19712,7 +19805,7 @@ startup file, `~/.emacs-octave'. ;;;*** ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" -;;;;;; (20229 34587)) +;;;;;; (20291 32066)) ;;; Generated autoloads from progmodes/octave-mod.el (autoload 'octave-mode "octave-mod" "\ @@ -20638,7 +20731,7 @@ Show the raw feed buffer of a feed. ;;;*** ;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote" -;;;;;; "org/org-footnote.el" (20229 34587)) +;;;;;; "org/org-footnote.el" (20282 42537)) ;;; Generated autoloads from org/org-footnote.el (autoload 'org-footnote-action "org-footnote" "\ @@ -21552,7 +21645,7 @@ See the command `outline-mode' for more information on this mode. ;;;### (autoloads (list-packages describe-package package-initialize ;;;;;; package-refresh-contents package-install-file package-install-from-buffer ;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el" -;;;;;; (20259 55615)) +;;;;;; (20299 26170)) ;;; Generated autoloads from emacs-lisp/package.el (defvar package-enable-at-startup t "\ @@ -21649,7 +21742,7 @@ matching parenthesis is highlighted in `show-paren-style' after ;;;*** ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" -;;;;;; (20229 34587)) +;;;;;; (20296 49978)) ;;; Generated autoloads from calendar/parse-time.el (put 'parse-time-rules 'risky-local-variable t) @@ -21662,8 +21755,8 @@ unknown are returned as nil. ;;;*** -;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20273 +;;;;;; 55692)) ;;; Generated autoloads from progmodes/pascal.el (autoload 'pascal-mode "pascal" "\ @@ -22133,7 +22226,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. ;;;*** ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" -;;;;;; (20229 34587)) +;;;;;; (20291 63109)) ;;; Generated autoloads from textmodes/picture.el (autoload 'picture-mode "picture" "\ @@ -22183,7 +22276,7 @@ You can edit tabular text with these commands: You can manipulate text with these commands: Clear ARG columns after point without moving: \\[picture-clear-column] - Delete char at point: \\[delete-char] + Delete char at point: \\[picture-delete-char] Clear ARG columns backward: \\[picture-backward-clear-column] Clear ARG lines, advancing over them: \\[picture-clear-line] (the cleared text is saved in the kill ring) @@ -22265,7 +22358,7 @@ Use streaming commands. ;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression ;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el" -;;;;;; (20229 34587)) +;;;;;; (20270 25925)) ;;; Generated autoloads from emacs-lisp/pp.el (autoload 'pp-to-string "pp" "\ @@ -22936,7 +23029,7 @@ See `proced-mode' for a description of features available in Proced buffers. ;;;*** ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog" -;;;;;; "progmodes/prolog.el" (20229 34587)) +;;;;;; "progmodes/prolog.el" (20293 40451)) ;;; Generated autoloads from progmodes/prolog.el (autoload 'prolog-mode "prolog" "\ @@ -23233,7 +23326,7 @@ If EXTENSION is any other symbol, it is ignored. ;;;*** ;;;### (autoloads (jython-mode python-mode python-after-info-look -;;;;;; run-python) "python" "progmodes/python.el" (20261 10951)) +;;;;;; run-python) "python" "progmodes/python.el" (20278 20028)) ;;; Generated autoloads from progmodes/python.el (add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode)) @@ -23646,7 +23739,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. ;;;*** ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" -;;;;;; "net/rcirc.el" (20229 34587)) +;;;;;; "net/rcirc.el" (20280 61753)) ;;; Generated autoloads from net/rcirc.el (autoload 'rcirc "rcirc" "\ @@ -23676,13 +23769,16 @@ or call the function `rcirc-track-minor-mode'.") (autoload 'rcirc-track-minor-mode "rcirc" "\ Global minor mode for tracking activity in rcirc buffers. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) ;;;*** -;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20229 -;;;;;; 34587)) +;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20290 +;;;;;; 11197)) ;;; Generated autoloads from net/rcompile.el (autoload 'remote-compile "rcompile" "\ @@ -24059,7 +24155,7 @@ of master file. ;;;*** ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from emacs-lisp/regexp-opt.el (autoload 'regexp-opt "regexp-opt" "\ @@ -24303,7 +24399,7 @@ variable. ;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers ;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers ;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p) -;;;;;; "rmail" "mail/rmail.el" (20259 55615)) +;;;;;; "rmail" "mail/rmail.el" (20288 55881)) ;;; Generated autoloads from mail/rmail.el (autoload 'rmail-movemail-variant-p "rmail" "\ @@ -24328,7 +24424,7 @@ Setting this variable has an effect only before reading a mail.") (custom-autoload 'rmail-user-mail-address-regexp "rmail" t) -(defvaralias 'rmail-dont-reply-to-names 'mail-dont-reply-to-names) +(define-obsolete-variable-alias 'rmail-dont-reply-to-names 'mail-dont-reply-to-names "24.1") (defvar rmail-default-dont-reply-to-names nil "\ Regexp specifying part of the default value of `mail-dont-reply-to-names'. @@ -24577,7 +24673,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil. ;;;*** ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el" -;;;;;; (20229 34587)) +;;;;;; (20277 28925)) ;;; Generated autoloads from nxml/rng-valid.el (autoload 'rng-validate-mode "rng-valid" "\ @@ -25210,21 +25306,23 @@ one window apply to all visible windows in the same frame. ;;;*** ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55692)) ;;; Generated autoloads from scroll-lock.el (autoload 'scroll-lock-mode "scroll-lock" "\ Buffer-local minor mode for pager-like scrolling. -Keys which normally move point by line or paragraph will scroll -the buffer by the respective amount of lines instead and point -will be kept vertically fixed relative to window boundaries -during scrolling. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. When enabled, keys that normally move +point by line or paragraph will scroll the buffer by the +respective amount of lines instead and point will be kept +vertically fixed relative to window boundaries during scrolling. \(fn &optional ARG)" t nil) ;;;*** -;;;### (autoloads nil "secrets" "net/secrets.el" (20229 34587)) +;;;### (autoloads nil "secrets" "net/secrets.el" (20300 47034)) ;;; Generated autoloads from net/secrets.el (when (featurep 'dbusbind) (autoload 'secrets-show-secrets "secrets" nil t)) @@ -25232,7 +25330,7 @@ during scrolling. ;;;*** ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic" -;;;;;; "cedet/semantic.el" (20229 34587)) +;;;;;; "cedet/semantic.el" (20300 47034)) ;;; Generated autoloads from cedet/semantic.el (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\ @@ -25286,7 +25384,7 @@ Semantic mode. ;;;;;; mail-personal-alias-file mail-default-reply-to mail-archive-file-name ;;;;;; mail-header-separator send-mail-function mail-interactive ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) -;;;;;; "sendmail" "mail/sendmail.el" (20238 49468)) +;;;;;; "sendmail" "mail/sendmail.el" (20277 28925)) ;;; Generated autoloads from mail/sendmail.el (defvar mail-from-style 'default "\ @@ -25568,8 +25666,8 @@ Like `mail' command, but display mail buffer in another frame. ;;;*** ;;;### (autoloads (server-save-buffers-kill-terminal server-mode -;;;;;; server-force-delete server-start) "server" "server.el" (20229 -;;;;;; 34587)) +;;;;;; server-force-delete server-start) "server" "server.el" (20275 +;;;;;; 12606)) ;;; Generated autoloads from server.el (put 'server-host 'risky-local-variable t) @@ -25636,7 +25734,7 @@ only these files will be asked to be saved. ;;;*** -;;;### (autoloads (ses-mode) "ses" "ses.el" (20229 34587)) +;;;### (autoloads (ses-mode) "ses" "ses.el" (20279 40897)) ;;; Generated autoloads from ses.el (autoload 'ses-mode "ses" "\ @@ -25655,7 +25753,7 @@ These are active only in the minibuffer, when entering or editing a formula: ;;;*** ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from textmodes/sgml-mode.el (autoload 'sgml-mode "sgml-mode" "\ @@ -25876,7 +25974,7 @@ Set up file shadowing. ;;;*** ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" -;;;;;; (20230 13182)) +;;;;;; (20300 47034)) ;;; Generated autoloads from shell.el (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ @@ -25924,12 +26022,14 @@ Otherwise, one argument `-i' is passed to the shell. ;;;*** -;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20259 -;;;;;; 55615)) +;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20298 +;;;;;; 5305)) ;;; Generated autoloads from gnus/shr.el (autoload 'shr-insert-document "shr" "\ - +Render the parsed document DOM into the current buffer. +DOM should be a parse tree as generated by +`libxml-parse-html-region' or similar. \(fn DOM)" nil nil) @@ -26132,7 +26232,7 @@ symmetrical ones, and the same character twice for the others. ;;;*** ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff) -;;;;;; "smerge-mode" "vc/smerge-mode.el" (20229 34587)) +;;;;;; "smerge-mode" "vc/smerge-mode.el" (20273 55692)) ;;; Generated autoloads from vc/smerge-mode.el (autoload 'smerge-ediff "smerge-mode" "\ @@ -26144,6 +26244,9 @@ buffer names. (autoload 'smerge-mode "smerge-mode" "\ Minor mode to simplify editing output from the diff3 program. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \\{smerge-mode-map} \(fn &optional ARG)" t nil) @@ -26175,7 +26278,7 @@ interactively. If there's no argument, do it at the current buffer. ;;;*** ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" -;;;;;; "mail/smtpmail.el" (20232 10689)) +;;;;;; "mail/smtpmail.el" (20283 8297)) ;;; Generated autoloads from mail/smtpmail.el (autoload 'smtpmail-send-it "smtpmail" "\ @@ -26585,7 +26688,7 @@ Return a vector containing the lines from `spook-phrases-file'. ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect ;;;;;; sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el" -;;;;;; (20229 34587)) +;;;;;; (20303 23227)) ;;; Generated autoloads from progmodes/sql.el (autoload 'sql-add-product-keywords "sql" "\ @@ -27313,7 +27416,7 @@ See `subword-mode' for more information on Subword mode. ;;;*** ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55692)) ;;; Generated autoloads from mail/supercite.el (autoload 'sc-cite-original "supercite" "\ @@ -28055,7 +28158,7 @@ Connect to the Emacs talk group from the current X display or tty frame. ;;;*** -;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20229 34587)) +;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20273 55692)) ;;; Generated autoloads from tar-mode.el (autoload 'tar-mode "tar-mode" "\ @@ -28702,7 +28805,7 @@ value of `texinfo-mode-hook'. ;;;### (autoloads (thai-composition-function thai-compose-buffer ;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el" -;;;;;; (20229 34587)) +;;;;;; (20273 55692)) ;;; Generated autoloads from language/thai-util.el (autoload 'thai-compose-region "thai-util" "\ @@ -29156,7 +29259,7 @@ With ARG, turn time stamping on if and only if arg is positive. ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in ;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from calendar/timeclock.el (autoload 'timeclock-modeline-display "timeclock" "\ @@ -29256,7 +29359,7 @@ relative only to the time worked today, and not to past time. ;;;*** ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" -;;;;;; "international/titdic-cnv.el" (20229 34587)) +;;;;;; "international/titdic-cnv.el" (20287 35000)) ;;; Generated autoloads from international/titdic-cnv.el (autoload 'titdic-convert "titdic-cnv" "\ @@ -29379,7 +29482,7 @@ Show TODO list. ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu ;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) -;;;;;; "tool-bar" "tool-bar.el" (20229 34587)) +;;;;;; "tool-bar" "tool-bar.el" (20279 40897)) ;;; Generated autoloads from tool-bar.el (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ @@ -29450,7 +29553,7 @@ holds a keymap. ;;;*** ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" -;;;;;; (20229 36384)) +;;;;;; (20300 47034)) ;;; Generated autoloads from emulation/tpu-edt.el (defvar tpu-edt-mode nil "\ @@ -29463,7 +29566,10 @@ or call the function `tpu-edt-mode'.") (custom-autoload 'tpu-edt-mode "tpu-edt" nil) (autoload 'tpu-edt-mode "tpu-edt" "\ -TPU/edt emulation. +Toggle TPU/edt emulation on or off. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) @@ -29562,7 +29668,7 @@ BUFFER defaults to `trace-buffer'. ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers ;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" -;;;;;; "net/tramp.el" (20253 16827)) +;;;;;; "net/tramp.el" (20300 47034)) ;;; Generated autoloads from net/tramp.el (defvar tramp-mode t "\ @@ -30113,7 +30219,7 @@ UNSAFEP-VARS is a list of symbols with local bindings. ;;;*** ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" -;;;;;; "url/url.el" (20229 34587)) +;;;;;; "url/url.el" (20290 11197)) ;;; Generated autoloads from url/url.el (autoload 'url-retrieve "url" "\ @@ -30141,8 +30247,10 @@ request; dynamic binding of other variables doesn't necessarily take effect. If SILENT, then don't message progress reports and the like. +If INHIBIT-COOKIES, cookies will neither be stored nor sent to +the server. -\(fn URL CALLBACK &optional CBARGS SILENT)" nil nil) +\(fn URL CALLBACK &optional CBARGS SILENT INHIBIT-COOKIES)" nil nil) (autoload 'url-retrieve-synchronously "url" "\ Retrieve URL synchronously. @@ -30197,7 +30305,7 @@ RATING a rating between 1 and 10 of the strength of the authentication. ;;;*** ;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache) -;;;;;; "url-cache" "url/url-cache.el" (20229 34587)) +;;;;;; "url-cache" "url/url-cache.el" (20273 2111)) ;;; Generated autoloads from url/url-cache.el (autoload 'url-store-in-cache "url-cache" "\ @@ -30331,7 +30439,7 @@ accessible. ;;;*** ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p -;;;;;; url-http) "url-http" "url/url-http.el" (20229 34587)) +;;;;;; url-http) "url-http" "url/url-http.el" (20277 28925)) ;;; Generated autoloads from url/url-http.el (autoload 'url-http "url-http" "\ @@ -30528,7 +30636,7 @@ Fetch a data URL (RFC 2397). ;;;*** ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" -;;;;;; "url/url-parse.el" (20229 34587)) +;;;;;; "url/url-parse.el" (20273 55604)) ;;; Generated autoloads from url/url-parse.el (autoload 'url-recreate-url "url-parse" "\ @@ -30557,16 +30665,17 @@ Setup variables that expose info about you and your system. ;;;*** ;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el" -;;;;;; (20229 34587)) +;;;;;; (20291 32066)) ;;; Generated autoloads from url/url-queue.el (autoload 'url-queue-retrieve "url-queue" "\ Retrieve URL asynchronously and call CALLBACK with CBARGS when finished. -Like `url-retrieve' (which see for details of the arguments), but -controls the level of parallelism via the -`url-queue-parallel-processes' variable. +This is like `url-retrieve' (which see for details of the arguments), +but with limits on the degree of parallelism. The variable +`url-queue-parallel-processes' sets the number of concurrent processes. +The variable `url-queue-timeout' sets a timeout. -\(fn URL CALLBACK &optional CBARGS SILENT)" nil nil) +\(fn URL CALLBACK &optional CBARGS SILENT INHIBIT-COOKIES)" nil nil) ;;;*** @@ -30809,8 +30918,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME. ;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers ;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff ;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook -;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20255 -;;;;;; 18260)) +;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20275 +;;;;;; 43867)) ;;; Generated autoloads from vc/vc.el (defvar vc-checkout-hook nil "\ @@ -30934,6 +31043,7 @@ the variable `vc-BACKEND-header'. (autoload 'vc-merge "vc" "\ Perform a version control merge operation. +You must be visiting a version controlled file, or in a `vc-dir' buffer. On a distributed version control system, this runs a \"merge\" operation to incorporate changes from another branch onto the current branch, prompting for an argument list. @@ -31016,6 +31126,7 @@ depending on the underlying version-control system. (autoload 'vc-pull "vc" "\ Update the current fileset or branch. +You must be visiting a version controlled file, or in a `vc-dir' buffer. On a distributed version control system, this runs a \"pull\" operation to update the current branch, prompting for an argument list if required. Optional prefix ARG forces a prompt. @@ -31123,7 +31234,7 @@ mode-specific menu. `vc-annotate-color-map' and ;;;*** -;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20229 34587)) +;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20296 49978)) ;;; Generated autoloads from vc/vc-arch.el (defun vc-arch-registered (file) (if (vc-find-root file "{arch}/=tagging-method") @@ -31133,7 +31244,7 @@ mode-specific menu. `vc-annotate-color-map' and ;;;*** -;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20229 34587)) +;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20300 47034)) ;;; Generated autoloads from vc/vc-bzr.el (defconst vc-bzr-admin-dirname ".bzr" "\ @@ -31149,7 +31260,7 @@ Name of the format file in a .bzr directory.") ;;;*** -;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20229 34587)) +;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20296 49978)) ;;; Generated autoloads from vc/vc-cvs.el (defun vc-cvs-registered (f) "Return non-nil if file F is registered with CVS." @@ -31208,7 +31319,7 @@ case, and the process object in the asynchronous case. ;;;*** -;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20229 34587)) +;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20303 23227)) ;;; Generated autoloads from vc/vc-git.el (defun vc-git-registered (file) "Return non-nil if FILE is registered with git." @@ -31219,7 +31330,7 @@ case, and the process object in the asynchronous case. ;;;*** -;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20229 34587)) +;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20296 49978)) ;;; Generated autoloads from vc/vc-hg.el (defun vc-hg-registered (file) "Return non-nil if FILE is registered with hg." @@ -31230,7 +31341,7 @@ case, and the process object in the asynchronous case. ;;;*** -;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20229 34587)) +;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20296 49978)) ;;; Generated autoloads from vc/vc-mtn.el (defconst vc-mtn-admin-dir "_MTN" "\ @@ -31247,7 +31358,7 @@ Name of the monotone directory's format file.") ;;;*** ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el" -;;;;;; (20254 37696)) +;;;;;; (20296 49978)) ;;; Generated autoloads from vc/vc-rcs.el (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ @@ -31261,7 +31372,7 @@ For a description of possible values, see `vc-check-master-templates'.") ;;;*** ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el" -;;;;;; (20254 37696)) +;;;;;; (20296 49978)) ;;; Generated autoloads from vc/vc-sccs.el (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ @@ -31278,7 +31389,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) ;;;*** -;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20229 34587)) +;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20296 49978)) ;;; Generated autoloads from vc/vc-svn.el (defun vc-svn-registered (f) (let ((admin-dir (cond ((and (eq system-type 'windows-nt) @@ -31350,7 +31461,7 @@ Key bindings: ;;;*** ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el" -;;;;;; (20229 34587)) +;;;;;; (20279 40897)) ;;; Generated autoloads from progmodes/verilog-mode.el (autoload 'verilog-mode "verilog-mode" "\ @@ -31489,7 +31600,7 @@ Key bindings specific to `verilog-mode-map' are: ;;;*** ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from progmodes/vhdl-mode.el (autoload 'vhdl-mode "vhdl-mode" "\ @@ -32392,7 +32503,7 @@ Turn on VIP emulation of VI. ;;;*** ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" -;;;;;; (20229 34587)) +;;;;;; (20300 47034)) ;;; Generated autoloads from emulation/viper.el (autoload 'toggle-viper-mode "viper" "\ @@ -32967,7 +33078,7 @@ cleaning up these problems. ;;;*** ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse -;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20229 34587)) +;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20273 55693)) ;;; Generated autoloads from wid-browse.el (autoload 'widget-browse-at "wid-browse" "\ @@ -32987,14 +33098,17 @@ Show widget browser for WIDGET in other window. (autoload 'widget-minor-mode "wid-browse" "\ Minor mode for traversing widgets. +With a prefix argument ARG, enable the mode if ARG is positive, +and disable it otherwise. If called from Lisp, enable the mode +if ARG is omitted or nil. \(fn &optional ARG)" t nil) ;;;*** ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create -;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20229 -;;;;;; 34587)) +;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20271 +;;;;;; 46782)) ;;; Generated autoloads from wid-edit.el (autoload 'widgetp "wid-edit" "\ @@ -33621,7 +33735,7 @@ Zone out, completely. ;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" ;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" ;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-fns.el" -;;;;;; "w32-vars.el" "x-dnd.el") (20265 8335 405119)) +;;;;;; "w32-vars.el" "x-dnd.el") (20303 23285 822071)) ;;;*** diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 50fcfceee35..853321cba6f 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -394,7 +394,10 @@ and send the mail again%s." ;; Query the user for the SMTP method, so that we can skip ;; questions about From header validity if the user is going to ;; use mailclient, anyway. - (when (eq send-mail-function 'sendmail-query-once) + (when (or (and (derived-mode-p 'message-mode) + (eq message-send-mail-function 'sendmail-query-once)) + (and (not (derived-mode-p 'message-mode)) + (eq send-mail-function 'sendmail-query-once))) (sendmail-query-user-about-smtp) (when (derived-mode-p 'message-mode) (setq message-send-mail-function (message-default-send-mail-function)))) diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index e45bbfe2ca0..039f3dca4a2 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el @@ -10,7 +10,7 @@ ;;; Commentary: -;; A replacement for parts of Emacs' sendmail.el (specifically, +;; A replacement for parts of sendmail.el (specifically, ;; it's what handles your outgoing mail after you hit C-c C-c in mail ;; mode). See below for a list of additional features, including the ;; ability to queue messages for later sending. This replaces diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el index 97d9c4eb69d..4a93109e7a4 100644 --- a/lisp/mh-e/mh-compat.el +++ b/lisp/mh-e/mh-compat.el @@ -1,6 +1,6 @@ ;;; mh-compat.el --- make MH-E compatible with various versions of Emacs -;; Copyright (C) 2006-2012 Free Software Foundation, Inc. +;; Copyright (C) 2006-2012 Free Software Foundation, Inc. ;; Author: Bill Wohler ;; Maintainer: Bill Wohler @@ -174,7 +174,7 @@ compatibility with versions of Emacs that lack the variable dir (expand-file-name "../" dir)))) (setq image-directory-load-path dir)) - ;; If `image-directory-load-path' isn't Emacs' image directory, + ;; If `image-directory-load-path' isn't Emacs's image directory, ;; it's probably a user preference, so use it. Then use a ;; relative setting if possible; otherwise, use ;; `image-directory-load-path'. @@ -205,7 +205,7 @@ compatibility with versions of Emacs that lack the variable ;; Set it to nil if image is not found. (cond ((file-exists-p (expand-file-name image d2ei)) d2ei) ((file-exists-p (expand-file-name image d1ei)) d1ei))))) - ;; Use Emacs' image directory. + ;; Use Emacs's image directory. (image-directory-load-path (setq image-directory image-directory-load-path)) (no-error diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 89b1b03e264..490419a59a8 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -1,6 +1,6 @@ ;;; browse-url.el --- pass a URL to a WWW browser -;; Copyright (C) 1995-2012 Free Software Foundation, Inc. +;; Copyright (C) 1995-2012 Free Software Foundation, Inc. ;; Author: Denis Howe ;; Maintainer: FSF @@ -297,7 +297,7 @@ Defaults to the value of `browse-url-netscape-arguments' at the time :group 'browse-url) (defcustom browse-url-browser-display nil - "The X display for running the browser, if not same as Emacs'." + "The X display for running the browser, if not same as Emacs's." :type '(choice string (const :tag "Default" nil)) :group 'browse-url) diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el index 275f5f0fcbe..3f24a78cbbe 100644 --- a/lisp/net/eudc.el +++ b/lisp/net/eudc.el @@ -1,6 +1,6 @@ ;;; eudc.el --- Emacs Unified Directory Client -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Author: Oscar Figueiredo ;; Maintainer: Pavel Jank @@ -133,7 +133,7 @@ (setq plist (cdr (cdr plist)))) nil)) -;; Emacs' plist-get lacks third parameter +;; Emacs's plist-get lacks third parameter (defun eudc-plist-get (plist prop &optional default) "Extract a value from a property list. PLIST is a property list, which is a list of the form diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el index 46f45c501d2..a79defed295 100644 --- a/lisp/net/secrets.el +++ b/lisp/net/secrets.el @@ -78,7 +78,7 @@ ;; (secrets-create-collection "my collection") ;; There exists a special collection called "session", which has the -;; lifetime of the corresponding client session (aka Emacs' +;; lifetime of the corresponding client session (aka Emacs's ;; lifetime). It is created automatically when Emacs uses the Secret ;; Service interface, and it is deleted when Emacs is killed. ;; Therefore, it can be used to store and retrieve secret items @@ -99,7 +99,7 @@ ;; Secret items can be added or deleted to a collection. In the ;; following examples, we use the special collection "session", which -;; is bound to Emacs' lifetime. +;; is bound to Emacs's lifetime. ;; ;; (secrets-delete-item "session" "my item") ;; (secrets-create-item "session" "my item" "geheim" diff --git a/lisp/net/tls.el b/lisp/net/tls.el index 9b9eb6f8f2e..d232095444b 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el @@ -237,10 +237,6 @@ Fourth arg PORT is an integer specifying a port to connect to." (setq process (start-process name buffer shell-file-name shell-command-switch formatted-cmd)) - (funcall (if (fboundp 'set-process-query-on-exit-flag) - 'set-process-query-on-exit-flag - 'process-kill-without-query) - process nil) (while (and process (memq (process-status process) '(open run)) (progn diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 38e19730a6d..1c23a6f20f3 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -543,7 +543,7 @@ as given in your `~/.profile'." ,(format "TERM=%s" tramp-terminal-type) "EMACS=t" ;; Deprecated. ,(format "INSIDE_EMACS='%s,tramp:%s'" emacs-version tramp-version) - "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" + "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=\"\"" "autocorrect=" "correct=") "*List of environment variables to be set on the remote host. @@ -1909,7 +1909,7 @@ tramp-sh-handle-file-name-all-completions: internal error accessing `%s': `%s'" 'copy-file (list filename newname ok-if-already-exists keep-date))))) (defun tramp-sh-handle-copy-directory - (dirname newname &optional keep-date parents) + (dirname newname &optional keep-date parents copy-contents) "Like `copy-directory' for Tramp files." (let ((t1 (tramp-tramp-file-p dirname)) (t2 (tramp-tramp-file-p newname))) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index afce61cba83..d3f0d8afb12 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -288,7 +288,7 @@ pass to the OPERATION." (buffer-name)))))) (defun tramp-smb-handle-copy-directory - (dirname newname &optional keep-date parents) + (dirname newname &optional keep-date parents copy-contents) "Like `copy-directory' for Tramp files. KEEP-DATE is not handled." (setq dirname (expand-file-name dirname) newname (expand-file-name newname)) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 851b11629f4..df0ac53a8f8 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1650,7 +1650,7 @@ been set up by `rfn-eshadow-setup-minibuffer'." ;; applied might be not so efficient (Ange-FTP uses hashes). But ;; performance isn't the major issue given that file transfer will ;; take time. -(defvar tramp-inodes nil +(defvar tramp-inodes 0 "Keeps virtual inodes numbers.") ;; Devices must distinguish physical file systems. The device numbers @@ -1658,7 +1658,7 @@ been set up by `rfn-eshadow-setup-minibuffer'." ;; So we use virtual device numbers, generated by Tramp. Both Ange-FTP and ;; EFS use device number "-1". In order to be different, we use device number ;; (-1 . x), whereby "x" is unique for a given (method user host). -(defvar tramp-devices nil +(defvar tramp-devices 0 "Keeps virtual device numbers.") (defun tramp-default-file-modes (filename) @@ -1809,6 +1809,8 @@ ARGS are the arguments OPERATION has been called with." 'file-newer-than-file-p 'make-symbolic-link 'rename-file ;; Emacs 23+ only. 'copy-directory + ;; Emacs 24+ only. + 'file-equal-p 'file-subdir-of-p ;; XEmacs only. 'dired-make-relative-symlink 'vm-imap-move-mail 'vm-pop-move-mail 'vm-spool-move-mail)) @@ -3410,28 +3412,14 @@ the remote host use line-endings as defined in the variable (defun tramp-get-inode (vec) "Returns the virtual inode number. If it doesn't exist, generate a new one." - (let ((string (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - ""))) - (unless (assoc string tramp-inodes) - (add-to-list 'tramp-inodes - (list string (length tramp-inodes)))) - (nth 1 (assoc string tramp-inodes)))) + (with-file-property vec (tramp-file-name-localname vec) "inode" + (setq tramp-inodes (1+ tramp-inodes)))) (defun tramp-get-device (vec) "Returns the virtual device number. If it doesn't exist, generate a new one." - (let ((string (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - ""))) - (unless (assoc string tramp-devices) - (add-to-list 'tramp-devices - (list string (length tramp-devices)))) - (cons -1 (nth 1 (assoc string tramp-devices))))) + (with-connection-property (tramp-get-connection-process vec) "device" + (cons -1 (setq tramp-devices (1+ tramp-devices))))) (defun tramp-equal-remote (file1 file2) "Check, whether the remote parts of FILE1 and FILE2 are identical. diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 41b5041ded5..ddb6c71d1a6 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -185,6 +185,7 @@ The `plain' comment style doubles this value. This should generally stay 0, except for a few modes like Lisp where it is 1 so that regions are commented with two or three semi-colons.") +;;;###autoload (defconst comment-styles '((plain nil nil nil nil "Start in column 0 (do not indent), as in Emacs-20") diff --git a/lisp/notifications.el b/lisp/notifications.el index 9f7576b3f5d..1b75c2c5702 100644 --- a/lisp/notifications.el +++ b/lisp/notifications.el @@ -93,15 +93,16 @@ (defun notifications-on-action-signal (id action) "Dispatch signals to callback functions from `notifications-on-action-map'." - (let ((entry (assoc id notifications-on-action-map))) + (let* ((unique-name (dbus-event-service-name last-input-event)) + (entry (assoc (cons unique-name id) notifications-on-action-map))) (when entry (funcall (cadr entry) id action) - (remove entry 'notifications-on-action-map)))) + (remove entry notifications-on-action-map)))) (when (fboundp 'dbus-register-signal) (dbus-register-signal :session - notifications-service + nil notifications-path notifications-interface notifications-action-signal @@ -111,17 +112,18 @@ "Dispatch signals to callback functions from `notifications-on-closed-map'." ;; notification-daemon prior 0.4.0 does not send a reason. So we ;; make it optional, and assume `undefined' as default. - (let ((entry (assoc id notifications-on-close-map)) - (reason (or reason 4))) + (let* ((unique-name (dbus-event-service-name last-input-event)) + (entry (assoc (cons unique-name id) notifications-on-close-map)) + (reason (or reason 4))) (when entry (funcall (cadr entry) id (cadr (assoc reason notifications-closed-reason))) - (remove entry 'notifications-on-close-map)))) + (remove entry notifications-on-close-map)))) (when (fboundp 'dbus-register-signal) (dbus-register-signal :session - notifications-service + nil notifications-path notifications-interface notifications-closed-signal @@ -277,13 +279,18 @@ used to manipulate the notification item with (or hints '(:array :signature "{sv}")) :int32 (or timeout -1))) - ;; Register close/action callback function + ;; Register close/action callback function. We must also remember + ;; the daemon's unique name, because the daemon could have + ;; restarted. (let ((on-action (plist-get params :on-action)) - (on-close (plist-get params :on-close))) + (on-close (plist-get params :on-close)) + (unique-name (dbus-get-name-owner :session notifications-service))) (when on-action - (add-to-list 'notifications-on-action-map (list id on-action))) + (add-to-list 'notifications-on-action-map + (list (cons unique-name id) on-action))) (when on-close - (add-to-list 'notifications-on-close-map (list id on-close)))) + (add-to-list 'notifications-on-close-map + (list (cons unique-name id) on-close)))) ;; Return notification id id)) diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el index a8ab13bd528..6b6e81dfaba 100644 --- a/lisp/play/gomoku.el +++ b/lisp/play/gomoku.el @@ -1,6 +1,6 @@ ;;; gomoku.el --- Gomoku game between you and Emacs -;; Copyright (C) 1988, 1994, 1996, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1988, 1994, 1996, 2001-2012 Free Software Foundation, Inc. ;; Author: Philippe Schnoebelen ;; Maintainer: FSF @@ -161,7 +161,7 @@ One useful value to include is `turn-on-font-lock' to highlight the pieces." (defface gomoku-O '((((class color)) (:foreground "red" :weight bold))) - "Face to use for Emacs' O." + "Face to use for Emacs's O." :group 'gomoku) (defface gomoku-X diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el index e2aec709b99..d2e307c0145 100644 --- a/lisp/play/handwrite.el +++ b/lisp/play/handwrite.el @@ -1,6 +1,6 @@ ;;; handwrite.el --- turns your emacs buffer into a handwritten document -*- coding: iso-latin-1; -*- -;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc. ;; Author: Danny Roozendaal (was: ) ;; Created: October 21 1996 @@ -189,7 +189,7 @@ Variables: `handwrite-linespace' (default 12) (setq next-line-add-newlines t) (switch-to-buffer ps-buf-name) (handwrite-insert-header buf-name) - (insert "%%Creator: GNU Emacs' handwrite version " emacs-version "\n") + (insert "%%Creator: GNU Emacs's handwrite version " emacs-version "\n") (handwrite-insert-preamble) (handwrite-insert-info) (handwrite-insert-font) diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el index a769101ad0b..29bb8a40e8f 100644 --- a/lisp/play/landmark.el +++ b/lisp/play/landmark.el @@ -1,6 +1,6 @@ ;;; landmark.el --- neural-network robot that learns landmarks -;; Copyright (C) 1996-1997, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996-1997, 2000-2012 Free Software Foundation, Inc. ;; Author: Terrence Brannon (was: ) ;; Created: December 16, 1996 - first release to usenet @@ -210,7 +210,7 @@ (defface landmark-font-lock-face-O '((((class color)) :foreground "red") (t :weight bold)) - "Face to use for Emacs' O." + "Face to use for Emacs's O." :version "22.1" :group 'landmark) diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el index 634570cf3e4..9c9a8e09d49 100644 --- a/lisp/progmodes/antlr-mode.el +++ b/lisp/progmodes/antlr-mode.el @@ -1,6 +1,6 @@ ;;; antlr-mode.el --- major mode for ANTLR grammar files -;; Copyright (C) 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; Author: Christoph.Wedler@sap.com ;; Keywords: languages, ANTLR, code generator @@ -961,7 +961,7 @@ group. The string matched by the first group is highlighted with (antlr-re-search-forward "^\\(private\\|public\\|protected\\)\\>[ \t]*\\(\\(\\sw+[ \t]*\\(:\\)?\\)\\)?" limit)) - (1 font-lock-type-face) ; not XEmacs' java level-3 fruit salad + (1 font-lock-type-face) ; not XEmacs's java level-3 fruit salad (3 (if (antlr-upcase-p (char-after (match-beginning 3))) antlr-tokendef-face antlr-ruledef-face) nil t) @@ -1030,7 +1030,7 @@ not to confuse their context_cache.") (define-abbrev-table 'antlr-mode-abbrev-table ()) (defvar antlr-slow-cache-enabling-symbol 'loudly -;; Emacs' font-lock changes buffer's tick counter, therefore this value should +;; Emacs's font-lock changes buffer's tick counter, therefore this value should ;; be a parameter of a font-lock function, but not any other variable of ;; functions which call `antlr-slow-syntactic-context'. "If value is a bound symbol, cache will be used even with text changes. @@ -1113,7 +1113,7 @@ WARNING: this may alter `match-data'." (or (buffer-syntactic-context) (buffer-syntactic-context-depth)) :EMACS (let ((orig (point)) diff state - ;; Arg, Emacs' (buffer-modified-tick) changes with font-lock. Use + ;; Arg, Emacs's (buffer-modified-tick) changes with font-lock. Use ;; hack that `loudly' is bound during font-locking => cache use will ;; increase from 7% to 99.99% during font-locking. (tick (or (boundp antlr-slow-cache-enabling-symbol) diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 95b43e763d5..3b33ac894f2 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -219,6 +219,38 @@ (point)))) c-macro-start)) +;; One element macro cache to cope with continual movement within very large +;; CPP macros. +(defvar c-macro-cache nil) +(make-variable-buffer-local 'c-macro-cache) +;; Nil or cons of the bounds of the most recent CPP form probed by +;; `c-beginning-of-macro', `c-end-of-macro' or `c-syntactic-end-of-macro'. +;; The cdr will be nil if we know only the start of the CPP form. +(defvar c-macro-cache-start-pos nil) +(make-variable-buffer-local 'c-macro-cache-start-pos) +;; The starting position from where we determined `c-macro-cache'. +(defvar c-macro-cache-syntactic nil) +(make-variable-buffer-local 'c-macro-cache-syntactic) +;; non-nil iff `c-macro-cache' has both elements set AND the cdr is at a +;; syntactic end of macro, not merely an apparent one. + +(defun c-invalidate-macro-cache (beg end) + ;; Called from a before-change function. If the change region is before or + ;; in the macro characterised by `c-macro-cache' etc., nullify it + ;; appropriately. BEG and END are the standard before-change-functions + ;; parameters. END isn't used. + (cond + ((null c-macro-cache)) + ((< beg (car c-macro-cache)) + (setq c-macro-cache nil + c-macro-cache-start-pos nil + c-macro-cache-syntactic nil)) + ((and (cdr c-macro-cache) + (< beg (cdr c-macro-cache))) + (setcdr c-macro-cache nil) + (setq c-macro-cache-start-pos beg + c-macro-cache-syntactic nil)))) + (defun c-beginning-of-macro (&optional lim) "Go to the beginning of a preprocessor directive. Leave point at the beginning of the directive and return t if in one, @@ -226,19 +258,36 @@ otherwise return nil and leave point unchanged. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info." - (when c-opt-cpp-prefix - (let ((here (point))) - (save-restriction - (if lim (narrow-to-region lim (point-max))) - (beginning-of-line) - (while (eq (char-before (1- (point))) ?\\) - (forward-line -1)) - (back-to-indentation) - (if (and (<= (point) here) - (looking-at c-opt-cpp-start)) - t - (goto-char here) - nil))))) + (let ((here (point))) + (when c-opt-cpp-prefix + (if (and (car c-macro-cache) + (>= (point) (car c-macro-cache)) + (or (and (cdr c-macro-cache) + (<= (point) (cdr c-macro-cache))) + (<= (point) c-macro-cache-start-pos))) + (unless (< (car c-macro-cache) (or lim (point-min))) + (progn (goto-char (max (or lim (point-min)) (car c-macro-cache))) + (setq c-macro-cache-start-pos + (max c-macro-cache-start-pos here)) + t)) + (setq c-macro-cache nil + c-macro-cache-start-pos nil + c-macro-cache-syntactic nil) + + (save-restriction + (if lim (narrow-to-region lim (point-max))) + (beginning-of-line) + (while (eq (char-before (1- (point))) ?\\) + (forward-line -1)) + (back-to-indentation) + (if (and (<= (point) here) + (looking-at c-opt-cpp-start)) + (progn + (setq c-macro-cache (cons (point) nil) + c-macro-cache-start-pos here) + t) + (goto-char here) + nil)))))) (defun c-end-of-macro () "Go to the end of a preprocessor directive. @@ -248,12 +297,24 @@ done that the point is inside a cpp directive to begin with. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info." - (while (progn - (end-of-line) - (when (and (eq (char-before) ?\\) - (not (eobp))) - (forward-char) - t)))) + (if (and (cdr c-macro-cache) + (<= (point) (cdr c-macro-cache)) + (>= (point) (car c-macro-cache))) + (goto-char (cdr c-macro-cache)) + (unless (and (car c-macro-cache) + (<= (point) c-macro-cache-start-pos) + (>= (point) (car c-macro-cache))) + (setq c-macro-cache nil + c-macro-cache-start-pos nil + c-macro-cache-syntactic nil)) + (while (progn + (end-of-line) + (when (and (eq (char-before) ?\\) + (not (eobp))) + (forward-char) + t))) + (when (car c-macro-cache) + (setcdr c-macro-cache (point))))) (defun c-syntactic-end-of-macro () ;; Go to the end of a CPP directive, or a "safe" pos just before. @@ -268,12 +329,15 @@ comment at the start of cc-engine.el for more info." ;; at the start of cc-engine.el for more info. (let* ((here (point)) (there (progn (c-end-of-macro) (point))) - (s (parse-partial-sexp here there))) - (while (and (or (nth 3 s) ; in a string - (nth 4 s)) ; in a comment (maybe at end of line comment) - (> there here)) ; No infinite loops, please. - (setq there (1- (nth 8 s))) - (setq s (parse-partial-sexp here there))) + s) + (unless c-macro-cache-syntactic + (setq s (parse-partial-sexp here there)) + (while (and (or (nth 3 s) ; in a string + (nth 4 s)) ; in a comment (maybe at end of line comment) + (> there here)) ; No infinite loops, please. + (setq there (1- (nth 8 s))) + (setq s (parse-partial-sexp here there))) + (setq c-macro-cache-syntactic (car c-macro-cache))) (point))) (defun c-forward-over-cpp-define-id () @@ -2089,6 +2153,18 @@ comment at the start of cc-engine.el for more info." ;; reduced by buffer changes, and increased by invocations of ;; `c-state-literal-at'. +(defvar c-state-semi-nonlit-pos-cache nil) +(make-variable-buffer-local 'c-state-semi-nonlit-pos-cache) +;; A list of buffer positions which are known not to be in a literal. This is +;; ordered with higher positions at the front of the list. Only those which +;; are less than `c-state-semi-nonlit-pos-cache-limit' are valid. + +(defvar c-state-semi-nonlit-pos-cache-limit 1) +(make-variable-buffer-local 'c-state-semi-nonlit-pos-cache-limit) +;; An upper limit on valid entries in `c-state-semi-nonlit-pos-cache'. This is +;; reduced by buffer changes, and increased by invocations of +;; `c-state-literal-at'. FIMXE!!! + (defsubst c-state-pp-to-literal (from to) ;; Do a parse-partial-sexp from FROM to TO, returning either ;; (STATE TYPE (BEG . END)) if TO is in a literal; or @@ -2129,48 +2205,93 @@ comment at the start of cc-engine.el for more info." (widen) (save-excursion (let ((c c-state-nonlit-pos-cache) - pos npos lit macro-beg macro-end) + pos npos high-pos lit macro-beg macro-end) ;; Trim the cache to take account of buffer changes. (while (and c (> (car c) c-state-nonlit-pos-cache-limit)) (setq c (cdr c))) (setq c-state-nonlit-pos-cache c) (while (and c (> (car c) here)) + (setq high-pos (car c)) (setq c (cdr c))) (setq pos (or (car c) (point-min))) - (while - ;; Add an element to `c-state-nonlit-pos-cache' each iteration. - (and - (<= (setq npos (+ pos c-state-nonlit-pos-interval)) here) + (unless high-pos + (while + ;; Add an element to `c-state-nonlit-pos-cache' each iteration. + (and + (<= (setq npos (+ pos c-state-nonlit-pos-interval)) here) - ;; Test for being in a literal. - (progn - (setq lit (car (cddr (c-state-pp-to-literal pos npos)))) - (or (null lit) - (prog1 (<= (cdr lit) here) - (setq npos (cdr lit))))) + ;; Test for being in a literal. If so, go to after it. + (progn + (setq lit (car (cddr (c-state-pp-to-literal pos npos)))) + (or (null lit) + (prog1 (<= (cdr lit) here) + (setq npos (cdr lit))))) - ;; Test for being in a macro. - (progn - (goto-char npos) - (setq macro-beg - (and (c-beginning-of-macro) (/= (point) npos) (point))) - (when macro-beg - (c-syntactic-end-of-macro) - (or (eobp) (forward-char)) - (setq macro-end (point))) - (or (null macro-beg) - (prog1 (<= macro-end here) - (setq npos macro-end))))) + ;; Test for being in a macro. If so, go to after it. + (progn + (goto-char npos) + (setq macro-beg + (and (c-beginning-of-macro) (/= (point) npos) (point))) + (when macro-beg + (c-syntactic-end-of-macro) + (or (eobp) (forward-char)) + (setq macro-end (point))) + (or (null macro-beg) + (prog1 (<= macro-end here) + (setq npos macro-end))))) - (setq pos npos) - (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache))) + (setq pos npos) + (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache))) + ;; Add one extra element above HERE so as to to avoid the previous + ;; expensive calculation when the next call is close to the current + ;; one. This is especially useful when inside a large macro. + (setq c-state-nonlit-pos-cache (cons npos c-state-nonlit-pos-cache))) (if (> pos c-state-nonlit-pos-cache-limit) (setq c-state-nonlit-pos-cache-limit pos)) pos)))) +(defun c-state-semi-safe-place (here) + ;; Return a buffer position before HERE which is "safe", i.e. outside any + ;; string or comment. It may be in a macro. + (save-restriction + (widen) + (save-excursion + (let ((c c-state-semi-nonlit-pos-cache) + pos npos high-pos lit macro-beg macro-end) + ;; Trim the cache to take account of buffer changes. + (while (and c (> (car c) c-state-semi-nonlit-pos-cache-limit)) + (setq c (cdr c))) + (setq c-state-semi-nonlit-pos-cache c) + + (while (and c (> (car c) here)) + (setq high-pos (car c)) + (setq c (cdr c))) + (setq pos (or (car c) (point-min))) + + (unless high-pos + (while + ;; Add an element to `c-state-semi-nonlit-pos-cache' each iteration. + (and + (<= (setq npos (+ pos c-state-nonlit-pos-interval)) here) + + ;; Test for being in a literal. If so, go to after it. + (progn + (setq lit (car (cddr (c-state-pp-to-literal pos npos)))) + (or (null lit) + (prog1 (<= (cdr lit) here) + (setq npos (cdr lit)))))) + + (setq pos npos) + (setq c-state-semi-nonlit-pos-cache + (cons pos c-state-semi-nonlit-pos-cache)))) + + (if (> pos c-state-semi-nonlit-pos-cache-limit) + (setq c-state-semi-nonlit-pos-cache-limit pos)) + pos)))) + (defun c-state-literal-at (here) ;; If position HERE is inside a literal, return (START . END), the ;; boundaries of the literal (which may be outside the accessible bit of the @@ -2985,9 +3106,11 @@ comment at the start of cc-engine.el for more info." ;; ;; This function is called from c-after-change. - ;; The cache of non-literals: + ;; The caches of non-literals: (if (< here c-state-nonlit-pos-cache-limit) (setq c-state-nonlit-pos-cache-limit here)) + (if (< here c-state-semi-nonlit-pos-cache-limit) + (setq c-state-semi-nonlit-pos-cache-limit here)) ;; `c-state-cache': ;; Case 1: if `here' is in a literal containing point-min, everything @@ -4230,7 +4353,7 @@ Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info." (save-restriction (widen) - (let* ((safe-place (c-state-safe-place (point))) + (let* ((safe-place (c-state-semi-safe-place (point))) (lit (c-state-pp-to-literal safe-place (point)))) (or (cadr lit) (and detect-cpp @@ -4254,7 +4377,7 @@ comment at the start of cc-engine.el for more info." (save-excursion (let* ((pos (point)) - (lim (or lim (c-state-safe-place pos))) + (lim (or lim (c-state-semi-safe-place pos))) (pp-to-lit (save-restriction (widen) (c-state-pp-to-literal lim pos))) @@ -4372,7 +4495,7 @@ comment at the start of cc-engine.el for more info." ;; Get a "safe place" approximately TRY-SIZE characters before START. ;; This doesn't preserve point. (let* ((pos (max (- start try-size) (point-min))) - (base (c-state-safe-place pos)) + (base (c-state-semi-safe-place pos)) (s (parse-partial-sexp base pos))) (if (or (nth 4 s) (nth 3 s)) ; comment or string (nth 8 s) diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index fafbfb70552..493f3db0961 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el @@ -459,8 +459,10 @@ so that all identifiers are recognized as words.") ;; For documentation see the following c-lang-defvar of the same name. ;; The value here may be a list of functions or a single function. t nil - c++ '(c-extend-region-for-CPP c-before-change-check-<>-operators) - (c objc) 'c-extend-region-for-CPP + c++ '(c-extend-region-for-CPP + c-before-change-check-<>-operators + c-invalidate-macro-cache) + (c objc) '(c-extend-region-for-CPP c-invalidate-macro-cache) ;; java 'c-before-change-check-<>-operators awk 'c-awk-record-region-clear-NL) (c-lang-defvar c-get-state-before-change-functions diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 301714ec55f..0c45c3f5e5d 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -1672,8 +1672,6 @@ static char *magick[] = { (if (not (string= "" string)) (setq gdb-last-command string) (if gdb-last-command (setq string gdb-last-command))) - (if gdb-enable-debug - (push (cons 'mi-send (concat string "\n")) gdb-debug-log)) (if (string-match "^-" string) ;; MI command (progn @@ -1683,10 +1681,22 @@ static char *magick[] = { (if (string-match "\\\\$" string) (setq gdb-continuation (concat gdb-continuation string "\n")) (setq gdb-first-done-or-error t) - (process-send-string proc (concat "-interpreter-exec console \"" - gdb-continuation string "\"\n")) + (let ((to-send (concat "-interpreter-exec console " + (gdb-mi-quote string) + "\n"))) + (if gdb-enable-debug + (push (cons 'mi-send to-send) gdb-debug-log)) + (process-send-string proc to-send)) (setq gdb-continuation nil)))) +(defun gdb-mi-quote (string) + "Return STRING quoted properly as an MI argument. +The string is enclosed in double quotes. +All embedded quotes, newlines, and backslashes are preceded with a backslash." + (setq string (replace-regexp-in-string "\\([\"\\]\\)" "\\\\\\&" string)) + (setq string (replace-regexp-in-string "\n" "\\n" string t t)) + (concat "\"" string "\"")) + (defun gdb-input (command handler-function) "Send COMMAND to GDB via the MI interface. Run the function HANDLER-FUNCTION, with no arguments, once the command is diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index f5bfe526aae..56f42e31cf1 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el @@ -2853,9 +2853,12 @@ appended to the SQLi buffer without disturbing your SQL buffer." "Read a password using PROMPT. Optional DEFAULT is password to start with." (read-passwd prompt nil default)) -(defun sql-get-login-ext (prompt last-value history-var plist) +(defun sql-get-login-ext (symbol prompt history-var plist) "Prompt user with extended login parameters. +The global value of SYMBOL is the last value and the global value +of the SYMBOL is set based on the user's input. + If PLIST is nil, then the user is simply prompted for a string value. @@ -2868,38 +2871,41 @@ regexp pattern specified in its value. The `:completion' property prompts for a string specified by its value. (The property value is used as the PREDICATE argument to `completing-read'.)" - (let* ((default (plist-get plist :default)) - (prompt-def - (if default - (if (string-match "\\(\\):[ \t]*\\'" prompt) - (replace-match (format " (default \"%s\")" default) t t prompt 1) - (replace-regexp-in-string "[ \t]*\\'" - (format " (default \"%s\") " default) - prompt t t)) - prompt)) - (use-dialog-box nil)) - (cond - ((plist-member plist :file) - (expand-file-name - (read-file-name prompt - (file-name-directory last-value) default t - (file-name-nondirectory last-value) - (when (plist-get plist :file) - `(lambda (f) - (string-match - (concat "\\<" ,(plist-get plist :file) "\\>") - (file-name-nondirectory f))))))) + (set-default + symbol + (let* ((default (plist-get plist :default)) + (last-value (default-value symbol)) + (prompt-def + (if default + (if (string-match "\\(\\):[ \t]*\\'" prompt) + (replace-match (format " (default \"%s\")" default) t t prompt 1) + (replace-regexp-in-string "[ \t]*\\'" + (format " (default \"%s\") " default) + prompt t t)) + prompt)) + (use-dialog-box nil)) + (cond + ((plist-member plist :file) + (expand-file-name + (read-file-name prompt + (file-name-directory last-value) default t + (file-name-nondirectory last-value) + (when (plist-get plist :file) + `(lambda (f) + (string-match + (concat "\\<" ,(plist-get plist :file) "\\>") + (file-name-nondirectory f))))))) - ((plist-member plist :completion) - (completing-read prompt-def (plist-get plist :completion) nil t - last-value history-var default)) + ((plist-member plist :completion) + (completing-read prompt-def (plist-get plist :completion) nil t + last-value history-var default)) - ((plist-get plist :number) - (read-number prompt (or default last-value 0))) + ((plist-get plist :number) + (read-number prompt (or default last-value 0))) - (t - (let ((r (read-from-minibuffer prompt-def last-value nil nil history-var nil))) - (if (string= "" r) (or default "") r)))))) + (t + (let ((r (read-from-minibuffer prompt-def last-value nil nil history-var nil))) + (if (string= "" r) (or default "") r))))))) (defun sql-get-login (&rest what) "Get username, password and database from the user. @@ -2937,28 +2943,20 @@ function like this: (sql-get-login 'user 'password 'database)." (cond ((eq token 'user) ; user - (setq sql-user - (sql-get-login-ext "User: " sql-user - 'sql-user-history plist))) + (sql-get-login-ext 'sql-user "User: " 'sql-user-history plist)) - ((eq token 'password) ; password - (setq sql-password - (sql-read-passwd "Password: " sql-password))) + ((eq token 'password) ; password + (setq-default sql-password + (sql-read-passwd "Password: " sql-password))) - ((eq token 'server) ; server - (setq sql-server - (sql-get-login-ext "Server: " sql-server - 'sql-server-history plist))) + ((eq token 'server) ; server + (sql-get-login-ext 'sql-server "Server: " 'sql-server-history plist)) - ((eq token 'database) ; database - (setq sql-database - (sql-get-login-ext "Database: " sql-database - 'sql-database-history plist))) + ((eq token 'database) ; database + (sql-get-login-ext 'sql-database "Database: " 'sql-database-history plist)) ((eq token 'port) ; port - (setq sql-port - (sql-get-login-ext "Port: " sql-port - nil (append '(:number t) plist))))))) + (sql-get-login-ext 'sql-port "Port: " nil (append '(:number t) plist)))))) what)) (defun sql-find-sqli-buffer (&optional product connection) @@ -3841,6 +3839,7 @@ you entered, right above the output it created. (set (make-local-variable 'sql-server) sql-server) (set (make-local-variable 'sql-port) sql-port) (set (make-local-variable 'sql-connection) sql-connection) + (setq-default sql-connection nil) ;; Contains the name of database objects (set (make-local-variable 'sql-contains-names) t) ;; Keep track of existing object names @@ -3935,43 +3934,50 @@ is specified in the connection settings." ;; Settings are defined (if connect-set ;; Set the desired parameters - (eval `(let* - (,@(cdr connect-set) - ;; :sqli-login params variable - (param-var (sql-get-product-feature sql-product - :sqli-login nil t)) - ;; :sqli-login params value - (login-params (sql-get-product-feature sql-product - :sqli-login)) - ;; which params are in the connection - (set-params (mapcar - (lambda (v) - (cond - ((eq (car v) 'sql-user) 'user) - ((eq (car v) 'sql-password) 'password) - ((eq (car v) 'sql-server) 'server) - ((eq (car v) 'sql-database) 'database) - ((eq (car v) 'sql-port) 'port) - (t (car v)))) - (cdr connect-set))) - ;; the remaining params (w/o the connection params) - (rem-params (sql-for-each-login - login-params - (lambda (token plist) - (unless (member token set-params) - (if plist - (cons token plist) - token)))))) + (let (param-var login-params set-params rem-params) - ;; Set the remaining parameters and start the - ;; interactive session - (eval `(let ((sql-connection ,connection) - (,param-var ',rem-params)) - (sql-product-interactive sql-product - new-name))))) + ;; :sqli-login params variable + (setq param-var + (sql-get-product-feature sql-product :sqli-login nil t)) + + ;; :sqli-login params value + (setq login-params + (sql-get-product-feature sql-product :sqli-login)) + + ;; Params in the connection + (setq set-params + (mapcar + (lambda (v) + (cond + ((eq (car v) 'sql-user) 'user) + ((eq (car v) 'sql-password) 'password) + ((eq (car v) 'sql-server) 'server) + ((eq (car v) 'sql-database) 'database) + ((eq (car v) 'sql-port) 'port) + (t (car v)))) + (cdr connect-set))) + + ;; the remaining params (w/o the connection params) + (setq rem-params + (sql-for-each-login login-params + (lambda (token plist) + (unless (member token set-params) + (if plist (cons token plist) token))))) + + ;; Set the parameters and start the interactive session + (mapc + (lambda (vv) + (set-default (car vv) (eval (cadr vv)))) + (cdr connect-set)) + (setq-default sql-connection connection) + + ;; Start the SQLi session with revised list of login parameters + (eval `(let ((,param-var ',rem-params)) + (sql-product-interactive sql-product new-name)))) (message "SQL Connection <%s> does not exist" connection) nil))) + (message "No SQL Connections defined") nil)) @@ -4101,9 +4107,14 @@ the call to \\[sql-product-interactive] with ;; Connect to database. (message "Login...") - (funcall (sql-get-product-feature product :sqli-comint-func) - product - (sql-get-product-feature product :sqli-options)) + (let ((sql-user (default-value 'sql-user)) + (sql-password (default-value 'sql-password)) + (sql-server (default-value 'sql-server)) + (sql-database (default-value 'sql-database)) + (sql-port (default-value 'sql-port))) + (funcall (sql-get-product-feature product :sqli-comint-func) + product + (sql-get-product-feature product :sqli-options))) ;; Set SQLi mode. (let ((sql-interactive-product product)) @@ -4113,7 +4124,7 @@ the call to \\[sql-product-interactive] with (setq new-sqli-buffer (current-buffer)) (when new-name (sql-rename-buffer new-name)) - (set (make-local-variable 'sql-buffer) + (set (make-local-variable 'sql-buffer) (buffer-name new-sqli-buffer)) ;; Set `sql-buffer' in the start buffer diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index d765a960470..c9bf638bb59 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el @@ -1,6 +1,6 @@ ;;; vhdl-mode.el --- major mode for editing VHDL code -;; Copyright (C) 1992-2012 Free Software Foundation, Inc. +;; Copyright (C) 1992-2012 Free Software Foundation, Inc. ;; Authors: Reto Zimmermann ;; Rodney J. Whitby @@ -2040,7 +2040,7 @@ Ignore byte-compiler warnings you might see." ;; `wildcard-to-regexp' is included only in XEmacs 21 (unless (fboundp 'wildcard-to-regexp) (defun wildcard-to-regexp (wildcard) - "Simplified version of `wildcard-to-regexp' from Emacs' `files.el'." + "Simplified version of `wildcard-to-regexp' from Emacs's `files.el'." (let* ((i (string-match "[*?]" wildcard)) (result (substring wildcard 0 i)) (len (length wildcard))) @@ -2087,7 +2087,7 @@ Ignore byte-compiler warnings you might see." ;; `file-expand-wildcards' undefined (XEmacs) (unless (fboundp 'file-expand-wildcards) (defun file-expand-wildcards (pattern &optional full) - "Taken from Emacs' `files.el'." + "Taken from Emacs's `files.el'." (let* ((nondir (file-name-nondirectory pattern)) (dirpart (file-name-directory pattern)) (dirs (if (and dirpart (string-match "[[*?]" dirpart)) diff --git a/lisp/saveplace.el b/lisp/saveplace.el index 9c3ce077b7a..43dad63a140 100644 --- a/lisp/saveplace.el +++ b/lisp/saveplace.el @@ -132,9 +132,10 @@ removable and network volumes." (defcustom save-place-ignore-files-regexp "\\(?:COMMIT_EDITMSG\\|hg-editor-[[:alnum:]]+\\.txt\\|svn-commit\\.tmp\\|bzr_log\\.[[:alnum:]]+\\)$" - "Regexp matching files for which no location should be recorded. + "Regexp matching files for which no position should be recorded. Useful for temporary file such as commit message files that are -automatically created by the VCS." +automatically created by the VCS. If set to nil, this feature is +disabled, i.e., the position is recorded for all files." :version "24.1" :type 'regexp :group 'save-place) @@ -169,8 +170,9 @@ To save places automatically in all files, put this in your `.emacs' file: ;; will be saved again when Emacs is killed. (or save-place-loaded (load-save-place-alist-from-file)) (when (and buffer-file-name - (not (string-match save-place-ignore-files-regexp - buffer-file-name))) + (or (not save-place-ignore-files-regexp) + (not (string-match save-place-ignore-files-regexp + buffer-file-name)))) (let ((cell (assoc buffer-file-name save-place-alist)) (position (if (not (eq major-mode 'hexl-mode)) (point) diff --git a/lisp/shell.el b/lisp/shell.el index 1ed43863452..7c5ce49a967 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -1,6 +1,6 @@ ;;; shell.el --- specialized comint.el for running the shell -*- lexical-binding: t -*- -;; Copyright (C) 1988, 1993-1997, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1988, 1993-1997, 2000-2012 Free Software Foundation, Inc. ;; Author: Olin Shivers ;; Simon Marshall @@ -471,7 +471,7 @@ to continue it. keep this buffer's default directory the same as the shell's working directory. While directory tracking is enabled, the shell's working directory is displayed by \\[list-buffers] or \\[mouse-buffer-menu] in the `File' field. -\\[dirs] queries the shell and resyncs Emacs' idea of what the current +\\[dirs] queries the shell and resyncs Emacs's idea of what the current directory stack is. \\[shell-dirtrack-mode] turns directory tracking on and off. \(The `dirtrack' package provides an alternative implementation of this diff --git a/lisp/simple.el b/lisp/simple.el index c968ac01b0d..45daf99f614 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -949,46 +949,51 @@ rather than line counts." (forward-line (1- line))))) (defun count-words-region (start end) - "Return the number of words between START and END. + "Count the number of words in the region. If called interactively, print a message reporting the number of -lines, words, and characters in the region." +lines, words, and chars in the region. +If called from Lisp, return the number of words between positions +START and END." (interactive "r") - (let ((words 0)) - (save-excursion - (save-restriction - (narrow-to-region start end) - (goto-char (point-min)) - (while (forward-word 1) - (setq words (1+ words))))) - (when (called-interactively-p 'interactive) - (count-words--message "Region" - (count-lines start end) - words - (- end start))) - words)) + (if (called-interactively-p 'any) + (count-words--message "Region" start end) + (count-words start end))) -(defun count-words () - "Display the number of lines, words, and characters in the buffer. -In Transient Mark mode when the mark is active, display the -number of lines, words, and characters in the region." - (interactive) - (if (use-region-p) - (call-interactively 'count-words-region) - (let* ((beg (point-min)) - (end (point-max)) - (lines (count-lines beg end)) - (words (count-words-region beg end)) - (chars (- end beg))) - (count-words--message "Buffer" lines words chars)))) +(defun count-words (start end) + "Count words between START and END. +If called interactively, START and END are normally the start and +end of the buffer; but if the region is active, START and END are +the start and end of the region. Print a message reporting the +number of lines, words, and chars. -(defun count-words--message (str lines words chars) - (message "%s has %d line%s, %d word%s, and %d character%s." - str - lines (if (= lines 1) "" "s") - words (if (= words 1) "" "s") - chars (if (= chars 1) "" "s"))) +If called from Lisp, return the number of words between START and +END, without printing any message." + (interactive (list nil nil)) + (cond ((not (called-interactively-p 'any)) + (let ((words 0)) + (save-excursion + (save-restriction + (narrow-to-region start end) + (goto-char (point-min)) + (while (forward-word 1) + (setq words (1+ words))))) + words)) + ((use-region-p) + (call-interactively 'count-words-region)) + (t + (count-words--message "Buffer" (point-min) (point-max))))) -(defalias 'count-lines-region 'count-words-region) +(defun count-words--message (str start end) + (let ((lines (count-lines start end)) + (words (count-words start end)) + (chars (- end start))) + (message "%s has %d line%s, %d word%s, and %d character%s." + str + lines (if (= lines 1) "" "s") + words (if (= words 1) "" "s") + chars (if (= chars 1) "" "s")))) + +(define-obsolete-function-alias 'count-lines-region 'count-words-region "24.1") (defun what-line () "Print the current buffer line number and narrowed line number of point." @@ -3458,8 +3463,10 @@ and KILLP is t if a prefix arg was specified." ((eq backward-delete-char-untabify-method 'all) " \t\n\r"))) (n (if skip - (let ((wh (- (point) (save-excursion (skip-chars-backward skip) - (point))))) + (let* ((oldpt (point)) + (wh (- oldpt (save-excursion + (skip-chars-backward skip) + (constrain-to-field nil oldpt))))) (+ arg (if (zerop wh) 0 (1- wh)))) arg))) ;; Avoid warning about delete-backward-char diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index 2782d63b719..b681ec3440f 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el @@ -163,7 +163,7 @@ The properties returned may include `top', `left', `height', and `width'." (define-key global-map [ns-power-off] 'save-buffers-kill-emacs) (define-key global-map [ns-open-file] 'ns-find-file) (define-key global-map [ns-open-temp-file] [ns-open-file]) -(define-key global-map [ns-drag-file] 'ns-insert-file) +(define-key global-map [ns-drag-file] 'ns-find-file) (define-key global-map [ns-drag-color] 'ns-set-foreground-at-mouse) (define-key global-map [S-ns-drag-color] 'ns-set-background-at-mouse) (define-key global-map [ns-drag-text] 'ns-insert-text) diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 394e4d4fe48..21d49267b21 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -1408,11 +1408,12 @@ Request data types in the order specified by `x-select-request-type'." (cons '(reverse . t) default-frame-alist))))) ;; Set x-selection-timeout, measured in milliseconds. - (let ((res-selection-timeout - (x-get-resource "selectionTimeout" "SelectionTimeout"))) - (setq x-selection-timeout 20000) - (if res-selection-timeout - (setq x-selection-timeout (string-to-number res-selection-timeout)))) + (let ((res-selection-timeout (x-get-resource "selectionTimeout" + "SelectionTimeout"))) + (setq x-selection-timeout + (if res-selection-timeout + (string-to-number res-selection-timeout) + 5000))) ;; Don't let Emacs suspend under X. (add-hook 'suspend-hook 'x-win-suspend-error) diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 4e8f0a5a82c..09f6b6b7cf2 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -62,7 +62,7 @@ :group 'sgml :type 'hook) -;; As long as Emacs' syntax can't be complemented with predicates to context +;; As long as Emacs's syntax can't be complemented with predicates to context ;; sensitively confirm the syntax of characters, we have to live with this ;; kludgy kind of tradeoff. (defvar sgml-specials '(?\") diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index ba4a2766526..16e33889c31 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -1,6 +1,6 @@ ;;; diff-mode.el --- a mode for viewing/editing context diffs -*- lexical-binding: t -*- -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: convenience patch diff vc @@ -27,7 +27,7 @@ ;; to the corresponding source file. ;; Inspired by Pavel Machek's patch-mode.el () -;; Some efforts were spent to have it somewhat compatible with XEmacs' +;; Some efforts were spent to have it somewhat compatible with XEmacs's ;; diff-mode as well as with compilation-minor-mode ;; Bugs: @@ -121,7 +121,7 @@ when editing big diffs)." ("{" . diff-file-prev) ("\C-m" . diff-goto-source) ([mouse-2] . diff-goto-source) - ;; From XEmacs' diff-mode. + ;; From XEmacs's diff-mode. ("W" . widen) ;;("." . diff-goto-source) ;display-buffer ;;("f" . diff-goto-source) ;find-file diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el index 87740cdc75a..78a2163f653 100644 --- a/lisp/vc/ediff-util.el +++ b/lisp/vc/ediff-util.el @@ -3103,7 +3103,7 @@ Hit \\[ediff-recenter] to reset the windows afterward." ;; according to context. ;; If DEFAULT-FILE is set, it should be used as the default value. ;; If DEFAULT-DIR is non-nil, use it as the default directory. -;; Otherwise, use the value of Emacs' variable `default-directory.' +;; Otherwise, use the value of `default-directory.' (defun ediff-read-file-name (prompt default-dir default-file &optional no-dirs) ;; hack default-dir if it is not set (setq default-dir diff --git a/lisp/vc/vc-arch.el b/lisp/vc/vc-arch.el index 7502bc28c5f..052e6784b08 100644 --- a/lisp/vc/vc-arch.el +++ b/lisp/vc/vc-arch.el @@ -65,6 +65,11 @@ ;;; Customization options ;;; +(defgroup vc-arch nil + "VC Arch backend." + :version "24.1" + :group 'vc) + ;; It seems Arch diff does not accept many options, so this is not ;; very useful. It exists mainly so that the VC backends are all ;; consistent with regards to their treatment of diff switches. @@ -76,7 +81,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "23.1" - :group 'vc) + :group 'vc-arch) (define-obsolete-variable-alias 'vc-arch-command 'vc-arch-program "23.1") @@ -87,7 +92,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (or (car candidates) "tla")) "Name of the Arch executable." :type 'string - :group 'vc) + :group 'vc-arch) ;; Clear up the cache to force vc-call to check again and discover ;; new functions when we reload this file. @@ -377,7 +382,7 @@ CALLBACK expects (ENTRIES &optional MORE-TO-COME); see '(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]")) "Rewrite rules to shorten Arch's revision names on the mode-line." :type '(repeat (cons regexp string)) - :group 'vc) + :group 'vc-arch) (defun vc-arch-mode-line-string (file) "Return string for placement in modeline by `vc-mode-line' for FILE." diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index e64f05130a3..9f35fc8f035 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el @@ -1,6 +1,6 @@ ;;; vc-bzr.el --- VC backend for the bzr revision control system -;; Copyright (C) 2006-2012 Free Software Foundation, Inc. +;; Copyright (C) 2006-2012 Free Software Foundation, Inc. ;; Author: Dave Love ;; Riccardo Murri @@ -56,7 +56,7 @@ (put 'Bzr 'vc-functions nil) (defgroup vc-bzr nil - "VC bzr backend." + "VC Bazaar (bzr) backend." :version "22.2" :group 'vc) @@ -431,7 +431,7 @@ If any error occurred in running `bzr status', then return nil." (skip-chars-forward " \n\t") ;Throw away spaces. (cons status ;; "bzr" will output warnings and informational messages to - ;; stderr; due to Emacs' `vc-do-command' (and, it seems, + ;; stderr; due to Emacs's `vc-do-command' (and, it seems, ;; `start-process' itself) limitations, we cannot catch stderr ;; and stdout into different buffers. So, if there's anything ;; left in the buffer after removing the above status diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el index 720df27f442..2d8d132a249 100644 --- a/lisp/vc/vc-cvs.el +++ b/lisp/vc/vc-cvs.el @@ -59,6 +59,11 @@ ;;; Customization options ;;; +(defgroup vc-cvs nil + "VC CVS backend." + :version "24.1" + :group 'vc) + (defcustom vc-cvs-global-switches nil "Global switches to pass to any CVS command." :type '(choice (const :tag "None" nil) @@ -67,7 +72,7 @@ :value ("") string)) :version "22.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-register-switches nil "Switches for registering a file into CVS. @@ -79,7 +84,7 @@ If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-diff-switches nil "String or list of strings specifying switches for CVS diff under VC. @@ -89,13 +94,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-header '("\$Id\$") "Header keywords to be inserted by `vc-insert-headers'." :version "24.1" ; no longer consult the obsolete vc-header-alist :type '(repeat string) - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-use-edit t "Non-nil means to use `cvs edit' to \"check out\" a file. @@ -103,7 +108,7 @@ This is only meaningful if you don't use the implicit checkout model \(i.e. if you have $CVSREAD set)." :type 'boolean :version "21.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-stay-local 'only-file "Non-nil means use local operations when possible for remote repositories. @@ -131,7 +136,7 @@ by these regular expressions." :tag "if it matches") (repeat :format "%v%i\n" :inline t (regexp :tag "or")))) :version "23.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-sticky-date-format-string "%c" "Format string for mode-line display of sticky date. @@ -139,7 +144,7 @@ Format is according to `format-time-string'. Only used if `vc-cvs-sticky-tag-display' is t." :type '(string) :version "22.1" - :group 'vc) + :group 'vc-cvs) (defcustom vc-cvs-sticky-tag-display t "Specify the mode-line display of sticky tags. @@ -178,7 +183,7 @@ displayed. Date and time is displayed for sticky dates. See also variable `vc-cvs-sticky-date-format-string'." :type '(choice boolean function) :version "22.1" - :group 'vc) + :group 'vc-cvs) ;;; ;;; Internal variables diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 2715fdd142d..3ec32243796 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -109,6 +109,11 @@ (require 'vc-dir) (require 'grep)) +(defgroup vc-git nil + "VC Git backend." + :version "24.1" + :group 'vc) + (defcustom vc-git-diff-switches t "String or list of strings specifying switches for Git diff under VC. If nil, use the value of `vc-diff-switches'. If t, use no switches." @@ -117,13 +122,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "23.1" - :group 'vc) + :group 'vc-git) (defcustom vc-git-program "git" "Name of the Git executable (excluding any arguments)." :version "24.1" :type 'string - :group 'vc) + :group 'vc-git) (defcustom vc-git-root-log-format '("%d%h..: %an %ad %s" @@ -143,7 +148,7 @@ format string (which is passed to \"git log\" via the argument matching the resulting Git log output, and KEYWORDS is a list of `font-lock-keywords' for highlighting the Log View buffer." :type '(list string string (repeat sexp)) - :group 'vc + :group 'vc-git :version "24.1") (defvar vc-git-commits-coding-system 'utf-8 @@ -1103,8 +1108,11 @@ The difference to vc-do-command is that this function always invokes (defun vc-git--call (buffer command &rest args) ;; We don't need to care the arguments. If there is a file name, it ;; is always a relative one. This works also for remote - ;; directories. - (apply 'process-file vc-git-program nil buffer nil command args)) + ;; directories. We enable `inhibit-null-byte-detection', otherwise + ;; Tramp's eol conversion might be confused. + (let ((inhibit-null-byte-detection t) + (process-environment (cons "PAGER=" process-environment))) + (apply 'process-file vc-git-program nil buffer nil command args))) (defun vc-git--out-ok (command &rest args) (zerop (apply 'vc-git--call '(t nil) command args))) diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 30c91ad3111..f3ba009b8c2 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -116,13 +116,18 @@ ;;; Customization options +(defgroup vc-hg nil + "VC Mercurial (hg) backend." + :version "24.1" + :group 'vc) + (defcustom vc-hg-global-switches nil "Global switches to pass to any Hg command." :type '(choice (const :tag "None" nil) (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "22.2" - :group 'vc) + :group 'vc-hg) (defcustom vc-hg-diff-switches t ; Hg doesn't support common args like -u "String or list of strings specifying switches for Hg diff under VC. @@ -132,12 +137,12 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "23.1" - :group 'vc) + :group 'vc-hg) (defcustom vc-hg-program "hg" "Name of the Mercurial executable (excluding any arguments)." :type 'string - :group 'vc) + :group 'vc-hg) (defcustom vc-hg-root-log-format '("{rev}:{tags}: {author|person} {date|shortdate} {desc|firstline}\\n" @@ -153,7 +158,7 @@ REGEXP is a regular expression matching the resulting Mercurial output, and KEYWORDS is a list of `font-lock-keywords' for highlighting the Log View buffer." :type '(list string string (repeat sexp)) - :group 'vc + :group 'vc-hg :version "24.1") diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el index d0727d9c0dc..122743c3747 100644 --- a/lisp/vc/vc-mtn.el +++ b/lisp/vc/vc-mtn.el @@ -34,6 +34,11 @@ (eval-when-compile (require 'cl) (require 'vc)) +(defgroup vc-mtn nil + "VC Monotone (mtn) backend." + :version "24.1" + :group 'vc) + (defcustom vc-mtn-diff-switches t "String or list of strings specifying switches for monotone diff under VC. If nil, use the value of `vc-diff-switches'. If t, use no switches." @@ -42,13 +47,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "23.1" - :group 'vc) + :group 'vc-mtn) (define-obsolete-variable-alias 'vc-mtn-command 'vc-mtn-program "23.1") (defcustom vc-mtn-program "mtn" "Name of the monotone executable." :type 'string - :group 'vc) + :group 'vc-mtn) ;; Clear up the cache to force vc-call to check again and discover ;; new functions when we reload this file. @@ -153,7 +158,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." "Rewrite rules to shorten Mtn's revision names on the mode-line." :type '(repeat (cons regexp string)) :version "22.2" - :group 'vc) + :group 'vc-mtn) (defun vc-mtn-mode-line-string (file) "Return string for placement in modeline by `vc-mode-line' for FILE." diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el index f2122b60ce1..7e10372f362 100644 --- a/lisp/vc/vc-rcs.el +++ b/lisp/vc/vc-rcs.el @@ -41,13 +41,18 @@ (require 'cl) (require 'vc)) +(defgroup vc-rcs nil + "VC RCS backend." + :version "24.1" + :group 'vc) + (defcustom vc-rcs-release nil "The release number of your RCS installation, as a string. If nil, VC itself computes this value when it is first needed." :type '(choice (const :tag "Auto" nil) (string :tag "Specified") (const :tag "Unknown" unknown)) - :group 'vc) + :group 'vc-rcs) (defcustom vc-rcs-register-switches nil "Switches for registering a file in RCS. @@ -59,7 +64,7 @@ If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-rcs) (defcustom vc-rcs-diff-switches nil "String or list of strings specifying switches for RCS diff under VC. @@ -69,20 +74,20 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-rcs) (defcustom vc-rcs-header '("\$Id\$") "Header keywords to be inserted by `vc-insert-headers'." :type '(repeat string) :version "24.1" ; no longer consult the obsolete vc-header-alist - :group 'vc) + :group 'vc-rcs) (defcustom vc-rcsdiff-knows-brief nil "Indicates whether rcsdiff understands the --brief option. The value is either `yes', `no', or nil. If it is nil, VC tries to use --brief and sets this variable to remember whether it worked." :type '(choice (const :tag "Work out" nil) (const yes) (const no)) - :group 'vc) + :group 'vc-rcs) ;;;###autoload (defcustom vc-rcs-master-templates @@ -95,7 +100,7 @@ For a description of possible values, see `vc-check-master-templates'." (choice string function))) :version "21.1" - :group 'vc) + :group 'vc-rcs) ;;; Properties of the backend diff --git a/lisp/vc/vc-sccs.el b/lisp/vc/vc-sccs.el index 31637f5490e..0df307eda85 100644 --- a/lisp/vc/vc-sccs.el +++ b/lisp/vc/vc-sccs.el @@ -47,6 +47,11 @@ ;; :type '(repeat directory) ;; :group 'vc) +(defgroup vc-sccs nil + "VC SCCS backend." + :version "24.1" + :group 'vc) + (defcustom vc-sccs-register-switches nil "Switches for registering a file in SCCS. A string or list of strings passed to the checkin program by @@ -57,7 +62,7 @@ If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-sccs) (defcustom vc-sccs-diff-switches nil "String or list of strings specifying switches for SCCS diff under VC. @@ -67,13 +72,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "21.1" - :group 'vc) + :group 'vc-sccs) (defcustom vc-sccs-header '("%W%") "Header keywords to be inserted by `vc-insert-headers'." :type '(repeat string) :version "24.1" ; no longer consult the obsolete vc-header-alist - :group 'vc) + :group 'vc-sccs) ;;;###autoload (defcustom vc-sccs-master-templates @@ -86,7 +91,7 @@ For a description of possible values, see `vc-check-master-templates'." (choice string function))) :version "21.1" - :group 'vc) + :group 'vc-sccs) ;;; diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el index b8a6a326ec1..6c2367c7ba6 100644 --- a/lisp/vc/vc-svn.el +++ b/lisp/vc/vc-svn.el @@ -39,11 +39,16 @@ ;;; Customization options ;;; +(defgroup vc-svn nil + "VC Subversion (svn) backend." + :version "24.1" + :group 'vc) + ;; FIXME there is also svnadmin. (defcustom vc-svn-program "svn" "Name of the SVN executable." :type 'string - :group 'vc) + :group 'vc-svn) (defcustom vc-svn-global-switches nil "Global switches to pass to any SVN command." @@ -53,7 +58,7 @@ :value ("") string)) :version "22.1" - :group 'vc) + :group 'vc-svn) (defcustom vc-svn-register-switches nil "Switches for registering a file into SVN. @@ -65,7 +70,7 @@ If t, use no switches." (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) :version "22.1" - :group 'vc) + :group 'vc-svn) (defcustom vc-svn-diff-switches t ;`svn' doesn't support common args like -c or -b. @@ -81,13 +86,13 @@ If you want to force an empty list of arguments, use t." :value ("") string)) :version "22.1" - :group 'vc) + :group 'vc-svn) (defcustom vc-svn-header '("\$Id\$") "Header keywords to be inserted by `vc-insert-headers'." :version "24.1" ; no longer consult the obsolete vc-header-alist :type '(repeat string) - :group 'vc) + :group 'vc-svn) ;; We want to autoload it for use by the autoloaded version of ;; vc-svn-registered, but we want the value to be compiled at startup, not diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el index aba14480fa9..aff2df3dc77 100644 --- a/lisp/w32-fns.el +++ b/lisp/w32-fns.el @@ -1,6 +1,6 @@ ;;; w32-fns.el --- Lisp routines for 32-bit Windows -;; Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc. ;; Author: Geoff Voelker ;; Keywords: internal @@ -161,7 +161,7 @@ You should set this to t when using a non-system shell.\n\n")))) (add-hook 'before-init-hook 'set-default-process-coding-system) -;;; Basic support functions for managing Emacs' locale setting +;;; Basic support functions for managing Emacs's locale setting (defvar w32-valid-locales nil "List of locale ids known to be supported.") diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index 7560400f5d9..dd18987eb20 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp @@ -59,7 +59,7 @@ /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/ /^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/ /^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/ -/^#undef VERSION/s/^.*$/#define VERSION "24.0.93"/ +/^#undef VERSION/s/^.*$/#define VERSION "24.0.94"/ /^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/ /^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/ /^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/ diff --git a/nextstep/Cocoa/Emacs.base/Contents/Info.plist b/nextstep/Cocoa/Emacs.base/Contents/Info.plist index fc56c1260ac..4d71231ddf6 100644 --- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist +++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist @@ -553,7 +553,7 @@ along with GNU Emacs. If not, see . CFBundleExecutable Emacs CFBundleGetInfoString - Emacs 24.0.93 Copyright (C) 2012 Free Software Foundation, Inc. + Emacs 24.0.94 Copyright (C) 2012 Free Software Foundation, Inc. CFBundleIconFile Emacs.icns CFBundleIdentifier @@ -566,7 +566,7 @@ along with GNU Emacs. If not, see . APPL CFBundleShortVersionString - 24.0.93 + 24.0.94 CFBundleSignature EMAx diff --git a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings index aab092a5dd4..47434f67f0c 100644 --- a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings +++ b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ /* Localized versions of Info.plist keys */ CFBundleName = "Emacs"; -CFBundleShortVersionString = "Version 24.0.93"; -CFBundleGetInfoString = "Emacs version 24.0.93, NS Windowing"; +CFBundleShortVersionString = "Version 24.0.94"; +CFBundleGetInfoString = "Emacs version 24.0.94, NS Windowing"; NSHumanReadableCopyright = "Copyright (C) 2012 Free Software Foundation, Inc."; diff --git a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop index 7750ef06732..1ce2cd25f36 100644 --- a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop +++ b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Encoding=UTF-8 Type=Application -Version=24.0.93 +Version=24.0.94 Categories=GNUstep Name=Emacs Comment=GNU Emacs for NeXT/Open/GNUstep and OS X diff --git a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist index 85b3c8f3d5a..168a822dd96 100644 --- a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist +++ b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist @@ -2,7 +2,7 @@ ApplicationDescription = "GNU Emacs for GNUstep / OS X"; ApplicationIcon = emacs.tiff; ApplicationName = Emacs; - ApplicationRelease = "24.0.93"; + ApplicationRelease = "24.0.94"; Authors = ( "Adrian Robert (GNUstep)", "Christophe de Dinechin (MacOS X)", @@ -13,7 +13,7 @@ ); Copyright = "Copyright (C) 2012 Free Software Foundation, Inc."; CopyrightDescription = "Released under the GNU General Public License Version 3 or later"; - FullVersionID = "Emacs 24.0.93, NS Windowing"; + FullVersionID = "Emacs 24.0.94, NS Windowing"; NSExecutable = Emacs; NSIcon = emacs.tiff; NSPrincipalClass = NSApplication; diff --git a/nt/config.nt b/nt/config.nt index ab674e3d1c5..368dd33de29 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -328,7 +328,7 @@ along with GNU Emacs. If not, see . */ #define PACKAGE "emacs" /* Version number of package */ -#define VERSION "24.0.93" +#define VERSION "24.0.94" /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ diff --git a/nt/emacs.rc b/nt/emacs.rc index a3f931523e9..29b9d0e2ea7 100644 --- a/nt/emacs.rc +++ b/nt/emacs.rc @@ -7,8 +7,8 @@ Emacs ICON icons\emacs.ico #endif VS_VERSION_INFO VERSIONINFO - FILEVERSION 24,0,93,0 - PRODUCTVERSION 24,0,93,0 + FILEVERSION 24,0,94,0 + PRODUCTVERSION 24,0,94,0 FILEFLAGSMASK 0x3FL #ifdef EMACSDEBUG FILEFLAGS 0x1L @@ -25,12 +25,12 @@ BEGIN BEGIN VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0" - VALUE "FileVersion", "24, 0, 93, 0\0" + VALUE "FileVersion", "24, 0, 94, 0\0" VALUE "InternalName", "Emacs\0" VALUE "LegalCopyright", "Copyright (C) 2001-2012\0" VALUE "OriginalFilename", "emacs.exe" VALUE "ProductName", "Emacs\0" - VALUE "ProductVersion", "24, 0, 93, 0\0" + VALUE "ProductVersion", "24, 0, 94, 0\0" VALUE "OLESelfRegister", "\0" END END diff --git a/nt/emacsclient.rc b/nt/emacsclient.rc index db61673d4bf..6144c8bf703 100644 --- a/nt/emacsclient.rc +++ b/nt/emacsclient.rc @@ -5,8 +5,8 @@ Emacs ICON icons\emacs.ico #endif VS_VERSION_INFO VERSIONINFO - FILEVERSION 24,0,93,0 - PRODUCTVERSION 24,0,93,0 + FILEVERSION 24,0,94,0 + PRODUCTVERSION 24,0,94,0 FILEFLAGSMASK 0x3FL #ifdef EMACSDEBUG FILEFLAGS 0x1L @@ -23,12 +23,12 @@ BEGIN BEGIN VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0" - VALUE "FileVersion", "24, 0, 93, 0\0" + VALUE "FileVersion", "24, 0, 94, 0\0" VALUE "InternalName", "EmacsClient\0" VALUE "LegalCopyright", "Copyright (C) 2001-2012\0" VALUE "OriginalFilename", "emacsclientw.exe" VALUE "ProductName", "EmacsClient\0" - VALUE "ProductVersion", "24, 0, 93, 0\0" + VALUE "ProductVersion", "24, 0, 94, 0\0" VALUE "OLESelfRegister", "\0" END END diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index f01ef4f98d1..10fe6db1ccf 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -22,7 +22,7 @@ # FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out # (and remove or replace this comment). -VERSION = 24.0.93 +VERSION = 24.0.94 TMP_DIST_DIR = emacs-$(VERSION) diff --git a/src/ChangeLog b/src/ChangeLog index 8e439f1a1d4..ef57223b9ca 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,48 @@ +2012-03-03 Glenn Morris + + * alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes. + +2012-03-02 Eli Zaretskii + + * xdisp.c (try_window_reusing_current_matrix): Don't move cursor + position past the first glyph_row that ends at ZV. (Bug#10902) + (redisplay_window, next_element_from_string): Fix typos in + comments. + (redisplay_window): Pass to move_it_vertically the margin in + pixels, not in screen lines. + +2012-03-02 Glenn Morris + + * buffer.c (buffer-list-update-hook): Doc fix. + +2012-02-29 Eli Zaretskii + + * xdisp.c (get_overlay_strings_1): Under bidi redisplay, call + push_it before setting up the iterator for the first overlay + string, even if we have an empty string loaded. + (next_overlay_string): If there's an empty string on the iterator + stack, pop the stack. (Bug#10903) + +2012-02-25 Paul Eggert + + Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780). + Suggested by Stefan Monnier in + . + * alloc.c (widen_to_Lisp_Object): New static function. + (mark_memory): Also mark Lisp_Objects by fetching pointer words + and widening them to Lisp_Objects. This would work even if + USE_LSB_TAG is defined and wide integers are used, which might + happen in a future version of Emacs. + +2012-02-25 Chong Yidong + + * fileio.c (Ffile_selinux_context, Fset_file_selinux_context): + Doc fix. + + * xselect.c (Fx_selection_exists_p): Doc fix. + (x_clipboard_manager_save_all): Print an informative message + before saving to clipboard manager. + 2012-02-24 Chong Yidong * keyboard.c (process_special_events): Handle all X selection @@ -6764,7 +6809,7 @@ conversion specifiers. For example, use "...%"pI"d..." rather than "...%"pEd"...". (pEd): Remove. All uses replaced with similar uses of pI. - * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise. + * m/amdx86-64.h, m/ia64.h, m/ibms390x.h: Likewise. * alloc.c (check_pure_size): Don't overflow by converting size to int. * bidi.c (bidi_dump_cached_states): Use pI to avoid cast. * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort. @@ -7746,8 +7791,7 @@ Without this change, on typical 64-bit hosts error ("...%d...", N) was used to print both 32- and 64-bit integers N, which relied on undefined behavior. - * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd): - New macro. + * lisp.h, m/amdx86-64.h, m/ia64.h, m/ibms390x.h (pEd): New macro. * lisp.h (error, verror): Mark as printf-like functions. * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. Report overflow in size calculations when allocating printf buffer. diff --git a/src/ChangeLog.10 b/src/ChangeLog.10 index 5baeb877939..10de7e53794 100644 --- a/src/ChangeLog.10 +++ b/src/ChangeLog.10 @@ -20972,7 +20972,7 @@ 2002-12-30 Richard Dawe - * src/config.in (!HAVE_SIZE_T): Fix order of arguments in + * config.in (!HAVE_SIZE_T): Fix order of arguments in type definition of size_t. 2003-01-02 Steven Tamm diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 index e8bfd964312..2e5404779b1 100644 --- a/src/ChangeLog.11 +++ b/src/ChangeLog.11 @@ -533,8 +533,8 @@ * deps.mk (getloadavg.o): Remove; gnulib now does this. * lisp.h (getloadavg) [!defined HAVE_GETLOADAVG]: Remove; gnulib now does this. - * src/s/freebsd.h (HAVE_GETLOADAVG): Remove; gnulib now does this. - * src/s/netbsd.h (HAVE_GETLOADAVG): Likewise. + * s/freebsd.h (HAVE_GETLOADAVG): Remove; gnulib now does this. + * s/netbsd.h (HAVE_GETLOADAVG): Likewise. * config.in: Regenerate. 2011-02-15 Eli Zaretskii @@ -12539,7 +12539,7 @@ 2009-06-23 Jim Meyering - * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): + * ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap pointer dereferences are guaranteed to be valid. diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index 891c1ca081a..0952826e8c6 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 @@ -331,7 +331,7 @@ 1998-07-30 Paul Eggert - * src/Makefile.in (widget.o, xfns.o, xmenu.o): + * Makefile.in (widget.o, xfns.o, xmenu.o): Prepend $(srcdir)/ to rule dependencies outside this dir. 1998-07-29 Kenichi Handa @@ -4884,14 +4884,13 @@ The new GNU C library strftime needs the underlying host's strftime for locale dependent formats. - * configure.in (AC_CHECK_FUNCS): Add strftime. - * src/config.in (HAVE_STRFTIME): New undef. - * src/editfns.c (emacs_strftime): New decl. + * config.in (HAVE_STRFTIME): New undef. + * editfns.c (emacs_strftime): New decl. (Fformat_time_string): Doc fix: %b, %h, %B, %a, %A, and %p depend on locale; don't use actual chars to describe %n and %t. - * src/Makefile.in (strftime.o): - * src/makefile.nt ($(BLD)\strftime.obj): + * Makefile.in (strftime.o): + * makefile.nt ($(BLD)\strftime.obj): No need to compile with -Dstrftime=emacs_strftime any more. 1997-11-22 Richard Stallman diff --git a/src/alloc.c b/src/alloc.c index 044e750413b..f85661415cd 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -1,6 +1,7 @@ /* Storage allocation and gc for GNU Emacs Lisp interpreter. - Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2012 - Free Software Foundation, Inc. + +Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2012 + Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -1582,6 +1583,21 @@ make_number (EMACS_INT n) } #endif +/* Convert the pointer-sized word P to EMACS_INT while preserving its + type and ptr fields. */ +static Lisp_Object +widen_to_Lisp_Object (void *p) +{ + intptr_t i = (intptr_t) p; +#ifdef USE_LISP_UNION_TYPE + Lisp_Object obj; + obj.i = i; + return obj; +#else + return i; +#endif +} + /*********************************************************************** String Allocation ***********************************************************************/ @@ -4293,7 +4309,19 @@ mark_memory (void *start, void *end) for (pp = start; (void *) pp < end; pp++) for (i = 0; i < sizeof *pp; i += GC_POINTER_ALIGNMENT) - mark_maybe_pointer (*(void **) ((char *) pp + i)); + { + void *w = *(void **) ((char *) pp + i); + mark_maybe_pointer (w); + +#ifdef USE_LSB_TAG + /* A host where a Lisp_Object is wider than a pointer might + allocate a Lisp_Object in non-adjacent halves. If + USE_LSB_TAG, the bottom half is not a valid pointer, so + widen it to to a Lisp_Object and check it that way. */ + if (sizeof w < sizeof (Lisp_Object)) + mark_maybe_object (widen_to_Lisp_Object (w)); +#endif + } } /* setjmp will work with GCC unless NON_SAVING_SETJMP is defined in @@ -4983,11 +5011,12 @@ Garbage collection happens automatically if you cons more than `gc-cons-threshold' bytes of Lisp data since previous garbage collection. `garbage-collect' normally returns a list with info on amount of space in use: ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS) - (USED-MARKERS . FREE-MARKERS) USED-STRING-CHARS USED-VECTOR-SLOTS + (USED-MISCS . FREE-MISCS) USED-STRING-CHARS USED-VECTOR-SLOTS (USED-FLOATS . FREE-FLOATS) (USED-INTERVALS . FREE-INTERVALS) (USED-STRINGS . FREE-STRINGS)) However, if there was overflow in pure space, `garbage-collect' -returns nil, because real GC can't be done. */) +returns nil, because real GC can't be done. +See Info node `(elisp)Garbage Collection'. */) (void) { register struct specbinding *bind; @@ -6417,7 +6446,9 @@ If this portion is smaller than `gc-cons-threshold', this is ignored. */); doc: /* Number of string characters that have been consed so far. */); DEFVAR_INT ("misc-objects-consed", misc_objects_consed, - doc: /* Number of miscellaneous objects that have been consed so far. */); + doc: /* Number of miscellaneous objects that have been consed so far. +These include markers and overlays, plus certain objects not visible +to users. */); DEFVAR_INT ("intervals-consed", intervals_consed, doc: /* Number of intervals that have been consed so far. */); diff --git a/src/buffer.c b/src/buffer.c index 71a5e199c6f..1577254d92a 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1,6 +1,6 @@ /* Buffer manipulation primitives for GNU Emacs. -Copyright (C) 1985-1989, 1993-1995, 1997-2012 Free Software Foundation, Inc. +Copyright (C) 1985-1989, 1993-1995, 1997-2012 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -1717,7 +1717,7 @@ record_buffer (Lisp_Object buffer) /* Move BUFFER to the end of the buffer (a)lists. Do nothing if the buffer is killed. For the selected frame's buffer list this moves BUFFER to its end even if it was never shown in that frame. If - this happens we have a feature, hence `unrecord-buffer' should be + this happens we have a feature, hence `bury-buffer-internal' should be called only when BUFFER was shown in the selected frame. */ DEFUN ("bury-buffer-internal", Fbury_buffer_internal, Sbury_buffer_internal, @@ -5996,7 +5996,7 @@ The function `kill-all-local-variables' runs this before doing anything else. * doc: /* Hook run when the buffer list changes. Functions running this hook are `get-buffer-create', `make-indirect-buffer', `rename-buffer', `kill-buffer', -`record-buffer' and `unrecord-buffer'. */); +and `bury-buffer-internal'. */); Vbuffer_list_update_hook = Qnil; DEFSYM (Qbuffer_list_update_hook, "buffer-list-update-hook"); diff --git a/src/fileio.c b/src/fileio.c index 839dc07b6ce..7efe919a9f0 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -2798,9 +2798,13 @@ See `file-symlink-p' to distinguish symlinks. */) DEFUN ("file-selinux-context", Ffile_selinux_context, Sfile_selinux_context, 1, 1, 0, - doc: /* Return SELinux context of file named FILENAME, -as a list ("user", "role", "type", "range"). Return (nil, nil, nil, nil) -if file does not exist, is not accessible, or SELinux is disabled */) + doc: /* Return SELinux context of file named FILENAME. +The return value is a list (USER ROLE TYPE RANGE), where the list +elements are strings naming the user, role, type, and range of the +file's SELinux security context. + +Return (nil nil nil nil) if the file is nonexistent or inaccessible, +or if SELinux is disabled, or if Emacs lacks SELinux support. */) (Lisp_Object filename) { Lisp_Object absname; @@ -2853,9 +2857,12 @@ if file does not exist, is not accessible, or SELinux is disabled */) DEFUN ("set-file-selinux-context", Fset_file_selinux_context, Sset_file_selinux_context, 2, 2, 0, - doc: /* Set SELinux context of file named FILENAME to CONTEXT -as a list ("user", "role", "type", "range"). Has no effect if SELinux -is disabled. */) + doc: /* Set SELinux context of file named FILENAME to CONTEXT. +CONTEXT should be a list (USER ROLE TYPE RANGE), where the list +elements are strings naming the components of a SELinux context. + +This function does nothing if SELinux is disabled, or if Emacs was not +compiled with SELinux support. */) (Lisp_Object filename, Lisp_Object context) { Lisp_Object absname; diff --git a/src/lisp.h b/src/lisp.h index 8ddc7ef143d..f2177ad789d 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -197,22 +197,8 @@ extern int suppress_checking EXTERNALLY_VISIBLE; # if defined DECL_ALIGN /* On hosts where VALBITS is greater than the pointer width in bits, USE_LSB_TAG is: - - a. unnecessary, because the top bits of an EMACS_INT are unused, - - b. slower, because it typically requires extra masking, and - - c. harmful, because it can create Lisp_Object values that are so scrambled - that mark_maybe_object cannot decipher them. mark_maybe_object assumes - that EMACS_INT values are contiguous, but a host where EMACS_INT is - wider than a pointer might allocate the top half of an EMACS_INT in - (say) a 32-bit word on the stack, putting the bottom half in a 32-bit - register that is saved elsewhere in a jmp_buf. When this happens, - since USE_LSB_TAG is not defined the bottom half alone is a valid - pointer that mark_maybe_pointer can follow; but if USE_LSB_TAG were - defined, the bottom half would not be a valid pointer and neither - mark_maybe_object nor mark_maybe_pointer would follow it. - + a. unnecessary, because the top bits of an EMACS_INT are unused, and + b. slower, because it typically requires extra masking. So, define USE_LSB_TAG only on hosts where it might be useful. */ # if UINTPTR_MAX >> VALBITS != 0 # define USE_LSB_TAG diff --git a/src/xdisp.c b/src/xdisp.c index 6e5b1da284d..47eb75221e9 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5181,6 +5181,12 @@ next_overlay_string (struct it *it) it->current.overlay_string_index = -1; it->n_overlay_strings = 0; it->overlay_strings_charpos = -1; + /* If there's an empty display string on the stack, pop the + stack, to resync the bidi iterator with IT's position. Such + empty strings are pushed onto the stack in + get_overlay_strings_1. */ + if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string)) + pop_it (it); /* If we're at the end of the buffer, record that we have processed the overlay strings there already, so that @@ -5478,8 +5484,15 @@ get_overlay_strings_1 (struct it *it, EMACS_INT charpos, int compute_stop_p) xassert (!compute_stop_p || it->sp == 0); /* When called from handle_stop, there might be an empty display - string loaded. In that case, don't bother saving it. */ - if (!STRINGP (it->string) || SCHARS (it->string)) + string loaded. In that case, don't bother saving it. But + don't use this optimization with the bidi iterator, since we + need the corresponding pop_it call to resync the bidi + iterator's position with IT's position, after we are done + with the overlay strings. (The corresponding call to pop_it + in case of an empty display string is in + next_overlay_string.) */ + if (!(!it->bidi_p + && STRINGP (it->string) && !SCHARS (it->string))) push_it (it, NULL); /* Set up IT to deliver display elements from the first overlay @@ -7390,7 +7403,7 @@ next_element_from_string (struct it *it) if (it->current.overlay_string_index >= 0) { /* Get the next character from an overlay string. In overlay - strings, There is no field width or padding with spaces to + strings, there is no field width or padding with spaces to do. */ if (IT_STRING_CHARPOS (*it) >= SCHARS (it->string)) { @@ -15650,7 +15663,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) accessible region of the buffer. This can happen when we have just switched to a different buffer and/or changed its restriction. In that case, startp is initialized to - the character position 1 (BEG) because we did not yet + the character position 1 (BEGV) because we did not yet have chance to display the buffer even once. */ && BEGV <= CHARPOS (startp) && CHARPOS (startp) <= ZV) { @@ -15659,7 +15672,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) SAVE_IT (it1, it, it1data); start_display (&it1, w, startp); - move_it_vertically (&it1, margin); + move_it_vertically (&it1, margin * FRAME_LINE_HEIGHT (f)); margin_pos = IT_CHARPOS (it1); RESTORE_IT (&it, &it, it1data); } @@ -16384,7 +16397,10 @@ try_window_reusing_current_matrix (struct window *w) ++first_row_to_display) { if (PT >= MATRIX_ROW_START_CHARPOS (first_row_to_display) - && PT < MATRIX_ROW_END_CHARPOS (first_row_to_display)) + && (PT < MATRIX_ROW_END_CHARPOS (first_row_to_display) + || (PT == MATRIX_ROW_END_CHARPOS (first_row_to_display) + && first_row_to_display->ends_at_zv_p + && pt_row == NULL))) pt_row = first_row_to_display; } @@ -16476,7 +16492,9 @@ try_window_reusing_current_matrix (struct window *w) if (pt_row) { for (row = MATRIX_ROW (w->current_matrix, w->cursor.vpos); - row < bottom_row && PT >= MATRIX_ROW_END_CHARPOS (row); + row < bottom_row + && PT >= MATRIX_ROW_END_CHARPOS (row) + && !row->ends_at_zv_p; row++) { w->cursor.vpos++; diff --git a/src/xselect.c b/src/xselect.c index 49955f03fd0..173cf78bdaa 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -2142,9 +2142,9 @@ DEFUN ("x-selection-exists-p", Fx_selection_exists_p, Sx_selection_exists_p, 0, 2, 0, doc: /* Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically -one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (X expects -these literal upper-case names.) The symbol nil is the same as -`PRIMARY', and t is the same as `SECONDARY'. +one of the symbols `PRIMARY', `SECONDARY', `CLIPBOARD', or +`CLIPBOARD_MANAGER' (X expects these literal upper-case names.) The +symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected @@ -2273,8 +2273,14 @@ x_clipboard_manager_save_all (void) local_frame = XCAR (XCDR (XCDR (XCDR (local_selection)))); if (FRAME_LIVE_P (XFRAME (local_frame))) - internal_condition_case_1 (x_clipboard_manager_save, local_frame, - Qt, x_clipboard_manager_error_2); + { + Lisp_Object args[1]; + args[0] = build_string ("Saving clipboard to X clipboard manager..."); + Fmessage (1, args); + + internal_condition_case_1 (x_clipboard_manager_save, local_frame, + Qt, x_clipboard_manager_error_2); + } } }