aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2012-04-13 21:37:44 -0700
committerPaul Eggert2012-04-13 21:37:44 -0700
commitbdf35b6a6a78e444563a8e321ccb42b4b4a419bd (patch)
treee96324ace186c7acc92182a255c3aa7ff315b82f
parent1530927cb9a3dca7c0f41975f2e9e62ef8be92a2 (diff)
parentd5e6342ed5e408014019c478ce16a47a2aad418b (diff)
downloademacs-bdf35b6a6a78e444563a8e321ccb42b4b4a419bd.tar.gz
emacs-bdf35b6a6a78e444563a8e321ccb42b4b4a419bd.zip
Merge from trunk.
-rw-r--r--ChangeLog10
-rw-r--r--autogen/Makefile.in2
-rwxr-xr-xautogen/configure14
-rw-r--r--configure.in15
-rw-r--r--doc/emacs/ChangeLog48
-rw-r--r--doc/emacs/Makefile.in20
-rw-r--r--doc/emacs/abbrevs.texi4
-rw-r--r--doc/emacs/ack.texi4
-rw-r--r--doc/emacs/arevert-xtra.texi4
-rw-r--r--doc/emacs/buffers.texi28
-rw-r--r--doc/emacs/building.texi66
-rw-r--r--doc/emacs/cmdargs.texi2
-rw-r--r--doc/emacs/custom.texi29
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/entering.texi12
-rw-r--r--doc/emacs/files.texi4
-rw-r--r--doc/emacs/frames.texi2
-rw-r--r--doc/emacs/glossary.texi2
-rw-r--r--doc/emacs/help.texi6
-rw-r--r--doc/emacs/macos.texi2
-rw-r--r--doc/emacs/maintaining.texi32
-rw-r--r--doc/emacs/mini.texi2
-rw-r--r--doc/emacs/misc.texi24
-rw-r--r--doc/emacs/mule.texi207
-rw-r--r--doc/emacs/package.texi2
-rw-r--r--doc/emacs/programs.texi6
-rw-r--r--doc/emacs/screen.texi6
-rw-r--r--doc/emacs/search.texi4
-rw-r--r--doc/emacs/sending.texi4
-rw-r--r--doc/emacs/text.texi4
-rw-r--r--doc/emacs/trouble.texi10
-rw-r--r--doc/lispintro/ChangeLog4
-rw-r--r--doc/lispintro/Makefile.in13
-rw-r--r--doc/lispref/ChangeLog42
-rw-r--r--doc/lispref/Makefile.in11
-rw-r--r--doc/lispref/abbrevs.texi1
-rw-r--r--doc/lispref/advice.texi1
-rw-r--r--doc/lispref/backups.texi3
-rw-r--r--doc/lispref/buffers.texi5
-rw-r--r--doc/lispref/commands.texi1
-rw-r--r--doc/lispref/compile.texi11
-rw-r--r--doc/lispref/control.texi3
-rw-r--r--doc/lispref/customize.texi199
-rw-r--r--doc/lispref/debugging.texi11
-rw-r--r--doc/lispref/display.texi76
-rw-r--r--doc/lispref/edebug.texi18
-rw-r--r--doc/lispref/elisp.texi6
-rw-r--r--doc/lispref/errors.texi1
-rw-r--r--doc/lispref/eval.texi5
-rw-r--r--doc/lispref/files.texi11
-rw-r--r--doc/lispref/frames.texi3
-rw-r--r--doc/lispref/functions.texi1
-rw-r--r--doc/lispref/gpl.texi1
-rw-r--r--doc/lispref/hash.texi3
-rw-r--r--doc/lispref/help.texi13
-rw-r--r--doc/lispref/hooks.texi1
-rw-r--r--doc/lispref/index.texi1
-rw-r--r--doc/lispref/internals.texi1
-rw-r--r--doc/lispref/intro.texi5
-rw-r--r--doc/lispref/keymaps.texi7
-rw-r--r--doc/lispref/lists.texi3
-rw-r--r--doc/lispref/loading.texi5
-rw-r--r--doc/lispref/macros.texi3
-rw-r--r--doc/lispref/maps.texi1
-rw-r--r--doc/lispref/markers.texi1
-rw-r--r--doc/lispref/minibuf.texi5
-rw-r--r--doc/lispref/modes.texi17
-rw-r--r--doc/lispref/nonascii.texi3
-rw-r--r--doc/lispref/numbers.texi1
-rw-r--r--doc/lispref/objects.texi3
-rw-r--r--doc/lispref/os.texi47
-rw-r--r--doc/lispref/package.texi3
-rw-r--r--doc/lispref/positions.texi3
-rw-r--r--doc/lispref/processes.texi36
-rw-r--r--doc/lispref/searching.texi1
-rw-r--r--doc/lispref/sequences.texi1
-rw-r--r--doc/lispref/streams.texi3
-rw-r--r--doc/lispref/strings.texi3
-rw-r--r--doc/lispref/symbols.texi3
-rw-r--r--doc/lispref/syntax.texi1
-rw-r--r--doc/lispref/text.texi5
-rw-r--r--doc/lispref/tips.texi1
-rw-r--r--doc/lispref/variables.texi1
-rw-r--r--doc/lispref/vol1.texi6
-rw-r--r--doc/lispref/vol2.texi6
-rw-r--r--doc/lispref/windows.texi1
-rw-r--r--doc/misc/ChangeLog21
-rw-r--r--doc/misc/Makefile.in308
-rw-r--r--doc/misc/cc-mode.texi2
-rw-r--r--doc/misc/org.texi33
-rw-r--r--etc/NEWS18
-rw-r--r--etc/TODO28
-rw-r--r--etc/refcards/orgcard.pdfbin118613 -> 118982 bytes
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/emacsclient.c2
-rw-r--r--lisp/ChangeLog222
-rw-r--r--lisp/avoid.el63
-rw-r--r--lisp/battery.el107
-rw-r--r--lisp/calendar/holidays.el2
-rw-r--r--lisp/custom.el21
-rw-r--r--lisp/emacs-lisp/lisp.el16
-rw-r--r--lisp/emacs-lock.el40
-rw-r--r--lisp/emulation/cua-base.el39
-rw-r--r--lisp/erc/ChangeLog5
-rw-r--r--lisp/erc/erc-services.el3
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/gnus/ChangeLog16
-rw-r--r--lisp/gnus/gnus-art.el4
-rw-r--r--lisp/gnus/gnus-msg.el8
-rw-r--r--lisp/gnus/gnus-start.el4
-rw-r--r--lisp/hexl.el110
-rw-r--r--lisp/imenu.el15
-rw-r--r--lisp/international/characters.el12
-rw-r--r--lisp/international/mule.el5
-rw-r--r--lisp/minibuffer.el20
-rw-r--r--lisp/net/browse-url.el8
-rw-r--r--lisp/net/rcirc.el38
-rw-r--r--lisp/obsolete/mailpost.el (renamed from lisp/mail/mailpost.el)1
-rw-r--r--lisp/org/ChangeLog46
-rw-r--r--lisp/org/ob-C.el2
-rw-r--r--lisp/org/org-agenda.el14
-rw-r--r--lisp/org/org-clock.el15
-rw-r--r--lisp/org/org-footnote.el2
-rw-r--r--lisp/org/org-pcomplete.el4
-rw-r--r--lisp/org/org-special-blocks.el12
-rw-r--r--lisp/org/org-table.el13
-rw-r--r--lisp/org/org.el40
-rw-r--r--lisp/pcmpl-rpm.el16
-rw-r--r--lisp/progmodes/cc-engine.el5
-rw-r--r--lisp/progmodes/cc-menus.el41
-rw-r--r--lisp/progmodes/flymake.el8
-rw-r--r--lisp/progmodes/grep.el3
-rw-r--r--lisp/progmodes/hideshow.el11
-rw-r--r--lisp/progmodes/which-func.el11
-rw-r--r--lisp/simple.el6
-rw-r--r--lisp/startup.el37
-rw-r--r--lisp/subr.el114
-rw-r--r--lisp/textmodes/artist.el42
-rw-r--r--lisp/textmodes/flyspell.el9
-rw-r--r--lisp/textmodes/ispell.el3
-rw-r--r--lisp/vc/vc-bzr.el122
-rw-r--r--lisp/vcursor.el7
-rw-r--r--lisp/window.el6
-rw-r--r--lwlib/ChangeLog9
-rw-r--r--lwlib/Makefile.in8
-rw-r--r--msdos/ChangeLog6
-rw-r--r--msdos/sed1v2.inp6
-rw-r--r--msdos/sedlibmk.inp4
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/makefile.w32-in4
-rw-r--r--oldXMenu/ChangeLog9
-rw-r--r--oldXMenu/Makefile.in9
-rw-r--r--src/ChangeLog45
-rw-r--r--src/Makefile.in10
-rw-r--r--src/alloc.c14
-rw-r--r--src/indent.c3
-rw-r--r--src/lread.c5
-rw-r--r--src/nsterm.m8
-rw-r--r--src/s/cygwin.h7
-rw-r--r--src/window.c2
-rw-r--r--src/xdisp.c10
-rw-r--r--test/ChangeLog4
-rw-r--r--test/automated/vc-bzr.el29
164 files changed, 1957 insertions, 1207 deletions
diff --git a/ChangeLog b/ChangeLog
index 86a352c4cf0..a6d4144a013 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
12012-04-10 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 I have been using this change for many months in my private copy 4 I have been using this change for many months in my private copy
@@ -15,6 +15,14 @@
15 * lib/Makefile.am (AM_CFLAGS): New macro. 15 * lib/Makefile.am (AM_CFLAGS): New macro.
16 * m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib. 16 * m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
17 17
182012-04-12 Ken Brown <kbrown@cornell.edu>
19
20 * configure.in: Warn that Cygwin 1.5 is unsupported. (Bug#10398)
21
222012-04-11 Glenn Morris <rgm@gnu.org>
23
24 * configure.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
25
182012-04-10 Glenn Morris <rgm@gnu.org> 262012-04-10 Glenn Morris <rgm@gnu.org>
19 27
20 * configure.in: Conditionally generate admin/unidata/Makefile. 28 * configure.in: Conditionally generate admin/unidata/Makefile.
diff --git a/autogen/Makefile.in b/autogen/Makefile.in
index 4ade989d095..048b3c2fc8c 100644
--- a/autogen/Makefile.in
+++ b/autogen/Makefile.in
@@ -152,7 +152,6 @@ CYGWIN_OBJ = @CYGWIN_OBJ@
152C_SWITCH_MACHINE = @C_SWITCH_MACHINE@ 152C_SWITCH_MACHINE = @C_SWITCH_MACHINE@
153C_SWITCH_SYSTEM = @C_SWITCH_SYSTEM@ 153C_SWITCH_SYSTEM = @C_SWITCH_SYSTEM@
154C_SWITCH_X_SITE = @C_SWITCH_X_SITE@ 154C_SWITCH_X_SITE = @C_SWITCH_X_SITE@
155C_SWITCH_X_SYSTEM = @C_SWITCH_X_SYSTEM@
156C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@ 155C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
157DBUS_CFLAGS = @DBUS_CFLAGS@ 156DBUS_CFLAGS = @DBUS_CFLAGS@
158DBUS_LIBS = @DBUS_LIBS@ 157DBUS_LIBS = @DBUS_LIBS@
@@ -332,6 +331,7 @@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
332GNULIB_WCTOMB = @GNULIB_WCTOMB@ 331GNULIB_WCTOMB = @GNULIB_WCTOMB@
333GNULIB_WRITE = @GNULIB_WRITE@ 332GNULIB_WRITE = @GNULIB_WRITE@
334GNULIB__EXIT = @GNULIB__EXIT@ 333GNULIB__EXIT = @GNULIB__EXIT@
334GNUSTEP_CFLAGS = @GNUSTEP_CFLAGS@
335GNU_OBJC_CFLAGS = @GNU_OBJC_CFLAGS@ 335GNU_OBJC_CFLAGS = @GNU_OBJC_CFLAGS@
336GREP = @GREP@ 336GREP = @GREP@
337GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@ 337GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
diff --git a/autogen/configure b/autogen/configure
index 63e9348bb0c..de24a151fca 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -1087,7 +1087,7 @@ ns_appdir
1087S_FILE 1087S_FILE
1088M_FILE 1088M_FILE
1089X_TOOLKIT_TYPE 1089X_TOOLKIT_TYPE
1090C_SWITCH_X_SYSTEM 1090GNUSTEP_CFLAGS
1091C_SWITCH_X_SITE 1091C_SWITCH_X_SITE
1092LD_SWITCH_X_SITE 1092LD_SWITCH_X_SITE
1093gameuser 1093gameuser
@@ -13413,7 +13413,7 @@ fi
13413 13413
13414 13414
13415 13415
13416C_SWITCH_X_SYSTEM= 13416GNUSTEP_CFLAGS=
13417### Use NeXTstep API to implement GUI. 13417### Use NeXTstep API to implement GUI.
13418if test "${HAVE_NS}" = "yes"; then 13418if test "${HAVE_NS}" = "yes"; then
13419 13419
@@ -13430,7 +13430,7 @@ $as_echo "#define NS_IMPL_GNUSTEP 1" >>confdefs.h
13430 13430
13431 # See also .m.o rule in Makefile.in */ 13431 # See also .m.o rule in Makefile.in */
13432 # FIXME: are all these flags really needed? Document here why. */ 13432 # FIXME: are all these flags really needed? Document here why. */
13433 C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" 13433 GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
13434 ## Extra CFLAGS applied to src/*.m files. 13434 ## Extra CFLAGS applied to src/*.m files.
13435 GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" 13435 GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
13436 fi 13436 fi
@@ -22410,6 +22410,14 @@ to run if these resources are not installed."
22410 echo 22410 echo
22411fi 22411fi
22412 22412
22413if test "${opsys}" = "cygwin"; then
22414 case `uname -r` in
22415 1.5.*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: building Emacs on Cygwin 1.5 is not supported." >&5
22416$as_echo "$as_me: WARNING: building Emacs on Cygwin 1.5 is not supported." >&2;}
22417 echo
22418 ;;
22419 esac
22420fi
22413 22421
22414# Remove any trailing slashes in these variables. 22422# Remove any trailing slashes in these variables.
22415test "${prefix}" != NONE && 22423test "${prefix}" != NONE &&
diff --git a/configure.in b/configure.in
index 41bdcf17b08..8be0da2ab28 100644
--- a/configure.in
+++ b/configure.in
@@ -2668,7 +2668,7 @@ AC_SUBST(LIBGPM)
2668dnl Check for malloc/malloc.h on darwin 2668dnl Check for malloc/malloc.h on darwin
2669AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])]) 2669AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
2670 2670
2671C_SWITCH_X_SYSTEM= 2671GNUSTEP_CFLAGS=
2672### Use NeXTstep API to implement GUI. 2672### Use NeXTstep API to implement GUI.
2673if test "${HAVE_NS}" = "yes"; then 2673if test "${HAVE_NS}" = "yes"; then
2674 AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.]) 2674 AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.])
@@ -2679,9 +2679,7 @@ if test "${HAVE_NS}" = "yes"; then
2679 AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.]) 2679 AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
2680 # See also .m.o rule in Makefile.in */ 2680 # See also .m.o rule in Makefile.in */
2681 # FIXME: are all these flags really needed? Document here why. */ 2681 # FIXME: are all these flags really needed? Document here why. */
2682 dnl FIXME this should be renamed to GNUSTEP_CFLAGS, and only 2682 GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
2683 dnl used in src/Makefile.in.
2684 C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
2685 ## Extra CFLAGS applied to src/*.m files. 2683 ## Extra CFLAGS applied to src/*.m files.
2686 GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" 2684 GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
2687 fi 2685 fi
@@ -3301,7 +3299,7 @@ AC_SUBST(gameuser)
3301## end of LIBX_BASE, but nothing ever set it. 3299## end of LIBX_BASE, but nothing ever set it.
3302AC_SUBST(LD_SWITCH_X_SITE) 3300AC_SUBST(LD_SWITCH_X_SITE)
3303AC_SUBST(C_SWITCH_X_SITE) 3301AC_SUBST(C_SWITCH_X_SITE)
3304AC_SUBST(C_SWITCH_X_SYSTEM) 3302AC_SUBST(GNUSTEP_CFLAGS)
3305AC_SUBST(CFLAGS) 3303AC_SUBST(CFLAGS)
3306## Used in lwlib/Makefile.in. 3304## Used in lwlib/Makefile.in.
3307AC_SUBST(X_TOOLKIT_TYPE) 3305AC_SUBST(X_TOOLKIT_TYPE)
@@ -3881,6 +3879,13 @@ to run if these resources are not installed."
3881 echo 3879 echo
3882fi 3880fi
3883 3881
3882if test "${opsys}" = "cygwin"; then
3883 case `uname -r` in
3884 1.5.*) AC_MSG_WARN([[building Emacs on Cygwin 1.5 is not supported.]])
3885 echo
3886 ;;
3887 esac
3888fi
3884 3889
3885# Remove any trailing slashes in these variables. 3890# Remove any trailing slashes in these variables.
3886[test "${prefix}" != NONE && 3891[test "${prefix}" != NONE &&
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 549b677c4f2..156f59471f6 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,51 @@
12012-04-14 Glenn Morris <rgm@gnu.org>
2
3 * mule.texi (Select Input Method, Coding Systems, Recognize Coding):
4 Copyedits.
5 (Coding Systems): Mac OS X apparently uses newlines for EOL.
6 (Recognize Coding): Remove old auto-coding-regexp-alist example.
7 auto-coding-functions does not override coding: tags.
8 Remove rmail-decode-mime-charset; it no longer has any effect.
9
102012-04-14 Chong Yidong <cyd@gnu.org>
11
12 * custom.texi (Creating Custom Themes): Add reference to Custom
13 Themes node in Lisp manual.
14
152012-04-14 Glenn Morris <rgm@gnu.org>
16
17 * mule.texi (International): Copyedits.
18 (International Chars): Update C-x = example output.
19 (Disabling Multibyte): Rename from "Enabling Multibyte".
20 Clarify what "unibyte: t" does, and mode-line description.
21 (Unibyte Mode): Update for "Disabling Multibyte" node name change.
22 Use Texinfo recommended convention for quotes+punctuation.
23 (Language Environments): Copyedits.
24 (Input Methods): Copyedits. Use "^" for the postfix example,
25 because it is less confusing inside Info's `quotes'.
26
27 * custom.texi (Specifying File Variables): Fix "unibyte" description.
28 Update for "Disabling Multibyte" node name change.
29 * emacs.texi: Update for "Disabling Multibyte" node name change.
30
31 * abbrevs.texi, arevert-xtra.texi, buffers.texi, building.texi:
32 * cmdargs.texi, custom.texi, entering.texi, files.texi, frames.texi:
33 * glossary.texi, help.texi, macos.texi, maintaining.texi, mini.texi:
34 * misc.texi, package.texi, programs.texi, screen.texi, search.texi:
35 * sending.texi, text.texi, trouble.texi:
36 Use @file for buffers, per the Texinfo manual.
37
38 * entering.texi (Entering Emacs):
39 Do not mention initial-buffer-choice = t.
40
41 * misc.texi (Gnus Startup): Use @env for environment variables.
42
43 * Makefile.in: Replace non-portable use of $< in ordinary rules.
44
452012-04-12 Glenn Morris <rgm@gnu.org>
46
47 * ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.
48
12012-04-07 Glenn Morris <rgm@gnu.org> 492012-04-07 Glenn Morris <rgm@gnu.org>
2 50
3 * emacsver.texi (EMACSVER): Bump version to 24.1.50. 51 * emacsver.texi (EMACSVER): Bump version to 24.1.50.
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in
index 2ed265ecd70..b25f6dbe490 100644
--- a/doc/emacs/Makefile.in
+++ b/doc/emacs/Makefile.in
@@ -1,6 +1,6 @@
1#### Makefile for the Emacs Manual 1#### Makefile for the Emacs Manual
2 2
3# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc. 3# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
4 4
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6 6
@@ -127,31 +127,31 @@ ps: emacs.ps
127# Note that all the Info targets build the Info files in srcdir. 127# Note that all the Info targets build the Info files in srcdir.
128# There is no provision for Info files to exist in the build directory. 128# There is no provision for Info files to exist in the build directory.
129# In a distribution of Emacs, the Info files should be up to date. 129# In a distribution of Emacs, the Info files should be up to date.
130 130# Note: "<" is not portable in ordinary make rules.
131$(infodir)/emacs: ${EMACSSOURCES} 131$(infodir)/emacs: ${EMACSSOURCES}
132 $(mkinfodir) 132 $(mkinfodir)
133 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< 133 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs.texi
134 134
135emacs.dvi: ${EMACSSOURCES} 135emacs.dvi: ${EMACSSOURCES}
136 $(ENVADD) $(TEXI2DVI) $< 136 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
137 137
138emacs.ps: emacs.dvi 138emacs.ps: emacs.dvi
139 $(DVIPS) -o $@ $< 139 $(DVIPS) -o $@ emacs.dvi
140 140
141emacs.pdf: ${EMACSSOURCES} 141emacs.pdf: ${EMACSSOURCES}
142 $(ENVADD) $(TEXI2PDF) $< 142 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
143 143
144emacs.html: ${EMACSSOURCES} 144emacs.html: ${EMACSSOURCES}
145 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< 145 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi
146 146
147emacs-xtra.dvi: $(EMACS_XTRA) 147emacs-xtra.dvi: $(EMACS_XTRA)
148 $(ENVADD) $(TEXI2DVI) $< 148 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
149 149
150emacs-xtra.ps: emacs-xtra.dvi 150emacs-xtra.ps: emacs-xtra.dvi
151 $(DVIPS) -o $@ $< 151 $(DVIPS) -o $@ emacs-xtra.dvi
152 152
153emacs-xtra.pdf: $(EMACS_XTRA) 153emacs-xtra.pdf: $(EMACS_XTRA)
154 $(ENVADD) $(TEXI2PDF) $< 154 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
155 155
156.PHONY: mostlyclean clean distclean maintainer-clean infoclean 156.PHONY: mostlyclean clean distclean maintainer-clean infoclean
157 157
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi
index f3b272c359d..a8a34e62c1f 100644
--- a/doc/emacs/abbrevs.texi
+++ b/doc/emacs/abbrevs.texi
@@ -261,12 +261,12 @@ expands to itself, and save it to your abbrev file.
261 @kbd{M-x edit-abbrevs} allows you to add, change or kill abbrev 261 @kbd{M-x edit-abbrevs} allows you to add, change or kill abbrev
262definitions by editing a list of them in an Emacs buffer. The list has 262definitions by editing a list of them in an Emacs buffer. The list has
263the same format described above. The buffer of abbrevs is called 263the same format described above. The buffer of abbrevs is called
264@samp{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in 264@file{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in
265this buffer to install the abbrev definitions as specified in the 265this buffer to install the abbrev definitions as specified in the
266buffer---and delete any abbrev definitions not listed. 266buffer---and delete any abbrev definitions not listed.
267 267
268 The command @code{edit-abbrevs} is actually the same as 268 The command @code{edit-abbrevs} is actually the same as
269@code{list-abbrevs} except that it selects the buffer @samp{*Abbrevs*} 269@code{list-abbrevs} except that it selects the buffer @file{*Abbrevs*}
270whereas @code{list-abbrevs} merely displays it in another window. 270whereas @code{list-abbrevs} merely displays it in another window.
271 271
272@node Saving Abbrevs 272@node Saving Abbrevs
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index be01b05fe19..17054c30329 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -252,10 +252,6 @@ Vivek Dasmohapatra wrote @file{htmlfontify.el}, to convert a buffer or
252source tree to HTML. 252source tree to HTML.
253 253
254@item 254@item
255Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
256@file{/usr/uci/post} mailer.
257
258@item
259Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed 255Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
260text replace the current selection. 256text replace the current selection.
261 257
diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi
index 4032c0b9882..55d7646542d 100644
--- a/doc/emacs/arevert-xtra.texi
+++ b/doc/emacs/arevert-xtra.texi
@@ -93,8 +93,8 @@ deleting or changing marks or flags will mark it modified again.
93 93
94Remote Dired buffers are not auto-reverted (because it may be slow). 94Remote Dired buffers are not auto-reverted (because it may be slow).
95Neither are Dired buffers for which you used shell wildcards or file 95Neither are Dired buffers for which you used shell wildcards or file
96arguments to list only some of the files. @samp{*Find*} and 96arguments to list only some of the files. @file{*Find*} and
97@samp{*Locate*} buffers do not auto-revert either. 97@file{*Locate*} buffers do not auto-revert either.
98 98
99@c FIXME? This should be in the elisp manual? 99@c FIXME? This should be in the elisp manual?
100@node Supporting additional buffers 100@node Supporting additional buffers
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index d0ec1103580..d2783bcb0ba 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -11,7 +11,7 @@
11the file's text. Each time you invoke Dired, a buffer is used to hold 11the file's text. Each time you invoke Dired, a buffer is used to hold
12the directory listing. If you send a message with @kbd{C-x m}, a 12the directory listing. If you send a message with @kbd{C-x m}, a
13buffer is used to hold the text of the message. When you ask for a 13buffer is used to hold the text of the message. When you ask for a
14command's documentation, that appears in a buffer named @samp{*Help*}. 14command's documentation, that appears in a buffer named @file{*Help*}.
15 15
16 Each buffer has a unique name, which can be of any length. When a 16 Each buffer has a unique name, which can be of any length. When a
17buffer is displayed in a window, its name is shown in the mode line 17buffer is displayed in a window, its name is shown in the mode line
@@ -19,7 +19,7 @@ buffer is displayed in a window, its name is shown in the mode line
19matters in buffer names. Most buffers are made by visiting files, and 19matters in buffer names. Most buffers are made by visiting files, and
20their names are derived from the files' names; however, you can also 20their names are derived from the files' names; however, you can also
21create an empty buffer with any name you want. A newly started Emacs 21create an empty buffer with any name you want. A newly started Emacs
22has several buffers, including one named @samp{*scratch*}, which can 22has several buffers, including one named @file{*scratch*}, which can
23be used for evaluating Lisp expressions and is not associated with any 23be used for evaluating Lisp expressions and is not associated with any
24file (@pxref{Lisp Interaction}). 24file (@pxref{Lisp Interaction}).
25 25
@@ -198,7 +198,7 @@ CRM Buffer Size Mode File
198@end smallexample 198@end smallexample
199 199
200@noindent 200@noindent
201The buffer @samp{*Help*} was made by a help request (@pxref{Help}); it 201The buffer @file{*Help*} was made by a help request (@pxref{Help}); it
202is not visiting any file. The buffer @code{src} was made by Dired on 202is not visiting any file. The buffer @code{src} was made by Dired on
203the directory @file{~/cvs/emacs/src/}. You can list only buffers that 203the directory @file{~/cvs/emacs/src/}. You can list only buffers that
204are visiting files by giving the command a prefix argument, as in 204are visiting files by giving the command a prefix argument, as in
@@ -248,9 +248,9 @@ happens and no renaming is done.
248 @kbd{M-x rename-uniquely} renames the current buffer to a similar 248 @kbd{M-x rename-uniquely} renames the current buffer to a similar
249name with a numeric suffix added to make it both different and unique. 249name with a numeric suffix added to make it both different and unique.
250This command does not need an argument. It is useful for creating 250This command does not need an argument. It is useful for creating
251multiple shell buffers: if you rename the @samp{*shell*} buffer, then 251multiple shell buffers: if you rename the @file{*shell*} buffer, then
252do @kbd{M-x shell} again, it makes a new shell buffer named 252do @kbd{M-x shell} again, it makes a new shell buffer named
253@samp{*shell*}; meanwhile, the old shell buffer continues to exist 253@file{*shell*}; meanwhile, the old shell buffer continues to exist
254under its new name. This method is also good for mail buffers, 254under its new name. This method is also good for mail buffers,
255compilation buffers, and most Emacs features that create special 255compilation buffers, and most Emacs features that create special
256buffers with particular names. (With some of these features, such as 256buffers with particular names. (With some of these features, such as
@@ -354,7 +354,7 @@ operations on buffers, through an interface similar to Dired
354@findex buffer-menu 354@findex buffer-menu
355@findex buffer-menu-other-window 355@findex buffer-menu-other-window
356 To use the buffer menu, type @kbd{C-x C-b} and switch to the window 356 To use the buffer menu, type @kbd{C-x C-b} and switch to the window
357displaying the @samp{*Buffer List*} buffer. You can also type 357displaying the @file{*Buffer List*} buffer. You can also type
358@kbd{M-x buffer-menu} to open the buffer menu in the selected window. 358@kbd{M-x buffer-menu} to open the buffer menu in the selected window.
359Alternatively, the command @kbd{M-x buffer-menu-other-window} opens 359Alternatively, the command @kbd{M-x buffer-menu-other-window} opens
360the buffer menu in another window, and selects that window. 360the buffer menu in another window, and selects that window.
@@ -409,11 +409,11 @@ Quit the buffer menu---immediately display the most recent formerly
409visible buffer in its place. 409visible buffer in its place.
410@item @key{RET} 410@item @key{RET}
411@itemx f 411@itemx f
412Immediately select this line's buffer in place of the @samp{*Buffer 412Immediately select this line's buffer in place of the @file{*Buffer
413List*} buffer. 413List*} buffer.
414@item o 414@item o
415Immediately select this line's buffer in another window as if by 415Immediately select this line's buffer in another window as if by
416@kbd{C-x 4 b}, leaving @samp{*Buffer List*} visible. 416@kbd{C-x 4 b}, leaving @file{*Buffer List*} visible.
417@item C-o 417@item C-o
418Immediately display this line's buffer in another window, but don't 418Immediately display this line's buffer in another window, but don't
419select the window. 419select the window.
@@ -422,7 +422,7 @@ Immediately select this line's buffer in a full-screen window.
422@item 2 422@item 2
423Immediately set up two windows, with this line's buffer selected in 423Immediately set up two windows, with this line's buffer selected in
424one, and the previously current buffer (aside from the buffer 424one, and the previously current buffer (aside from the buffer
425@samp{*Buffer List*}) displayed in the other. 425@file{*Buffer List*}) displayed in the other.
426@item b 426@item b
427Bury the buffer listed on this line. 427Bury the buffer listed on this line.
428@item m 428@item m
@@ -448,19 +448,19 @@ the inclusion of such buffers in the buffer list.
448suitable buffer, and turn on Buffer Menu mode in it. Everything else 448suitable buffer, and turn on Buffer Menu mode in it. Everything else
449described above is implemented by the special commands provided in 449described above is implemented by the special commands provided in
450Buffer Menu mode. One consequence of this is that you can switch from 450Buffer Menu mode. One consequence of this is that you can switch from
451the @samp{*Buffer List*} buffer to another Emacs buffer, and edit 451the @file{*Buffer List*} buffer to another Emacs buffer, and edit
452there. You can reselect the @samp{*Buffer List*} buffer later, to 452there. You can reselect the @file{*Buffer List*} buffer later, to
453perform the operations already requested, or you can kill it, or pay 453perform the operations already requested, or you can kill it, or pay
454no further attention to it. 454no further attention to it.
455 455
456 Normally, the buffer @samp{*Buffer List*} is not updated 456 Normally, the buffer @file{*Buffer List*} is not updated
457automatically when buffers are created and killed; its contents are 457automatically when buffers are created and killed; its contents are
458just text. If you have created, deleted or renamed buffers, the way 458just text. If you have created, deleted or renamed buffers, the way
459to update @samp{*Buffer List*} to show what you have done is to type 459to update @file{*Buffer List*} to show what you have done is to type
460@kbd{g} (@code{revert-buffer}). You can make this happen regularly 460@kbd{g} (@code{revert-buffer}). You can make this happen regularly
461every @code{auto-revert-interval} seconds if you enable Auto Revert 461every @code{auto-revert-interval} seconds if you enable Auto Revert
462mode in this buffer, as long as it is not marked modified. Global 462mode in this buffer, as long as it is not marked modified. Global
463Auto Revert mode applies to the @samp{*Buffer List*} buffer only if 463Auto Revert mode applies to the @file{*Buffer List*} buffer only if
464@code{global-auto-revert-non-file-buffers} is non-@code{nil}. 464@code{global-auto-revert-non-file-buffers} is non-@code{nil}.
465@iftex 465@iftex
466@inforef{Autorevert,, emacs-xtra}, for details. 466@inforef{Autorevert,, emacs-xtra}, for details.
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index 2f977c7d923..61ddc283e31 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -44,7 +44,7 @@ messages and show you where the errors occurred.
44@table @kbd 44@table @kbd
45@item M-x compile 45@item M-x compile
46Run a compiler asynchronously under Emacs, with error messages going to 46Run a compiler asynchronously under Emacs, with error messages going to
47the @samp{*compilation*} buffer. 47the @file{*compilation*} buffer.
48@item M-x recompile 48@item M-x recompile
49Invoke a compiler with the same command as in the last invocation of 49Invoke a compiler with the same command as in the last invocation of
50@kbd{M-x compile}. 50@kbd{M-x compile}.
@@ -57,7 +57,7 @@ Kill the running compilation subprocess.
57compile}. This reads a shell command line using the minibuffer, and 57compile}. This reads a shell command line using the minibuffer, and
58then executes the command by running a shell as a subprocess (or 58then executes the command by running a shell as a subprocess (or
59@dfn{inferior process}) of Emacs. The output is inserted in a buffer 59@dfn{inferior process}) of Emacs. The output is inserted in a buffer
60named @samp{*compilation*}. The current buffer's default directory is 60named @file{*compilation*}. The current buffer's default directory is
61used as the working directory for the execution of the command; 61used as the working directory for the execution of the command;
62normally, therefore, compilation takes place in this directory. 62normally, therefore, compilation takes place in this directory.
63 63
@@ -72,19 +72,19 @@ specified is automatically stored in the variable
72type @kbd{M-x compile}. A file can also specify a file-local value 72type @kbd{M-x compile}. A file can also specify a file-local value
73for @code{compile-command} (@pxref{File Variables}). 73for @code{compile-command} (@pxref{File Variables}).
74 74
75 Starting a compilation displays the @samp{*compilation*} buffer in 75 Starting a compilation displays the @file{*compilation*} buffer in
76another window but does not select it. While the compilation is 76another window but does not select it. While the compilation is
77running, the word @samp{run} is shown in the major mode indicator for 77running, the word @samp{run} is shown in the major mode indicator for
78the @samp{*compilation*} buffer, and the word @samp{Compiling} appears 78the @file{*compilation*} buffer, and the word @samp{Compiling} appears
79in all mode lines. You do not have to keep the @samp{*compilation*} 79in all mode lines. You do not have to keep the @file{*compilation*}
80buffer visible while compilation is running; it continues in any case. 80buffer visible while compilation is running; it continues in any case.
81When the compilation ends, for whatever reason, the mode line of the 81When the compilation ends, for whatever reason, the mode line of the
82@samp{*compilation*} buffer changes to say @samp{exit} (followed by 82@file{*compilation*} buffer changes to say @samp{exit} (followed by
83the exit code: @samp{[0]} for a normal exit), or @samp{signal} (if a 83the exit code: @samp{[0]} for a normal exit), or @samp{signal} (if a
84signal terminated the process). 84signal terminated the process).
85 85
86 If you want to watch the compilation transcript as it appears, 86 If you want to watch the compilation transcript as it appears,
87switch to the @samp{*compilation*} buffer and move point to the end of 87switch to the @file{*compilation*} buffer and move point to the end of
88the buffer. When point is at the end, new compilation output is 88the buffer. When point is at the end, new compilation output is
89inserted above point, which remains at the end. Otherwise, point 89inserted above point, which remains at the end. Otherwise, point
90remains fixed while compilation output is added at the end of the 90remains fixed while compilation output is added at the end of the
@@ -93,7 +93,7 @@ buffer.
93@cindex compilation buffer, keeping point at end 93@cindex compilation buffer, keeping point at end
94@vindex compilation-scroll-output 94@vindex compilation-scroll-output
95 If you change the variable @code{compilation-scroll-output} to a 95 If you change the variable @code{compilation-scroll-output} to a
96non-@code{nil} value, the @samp{*compilation*} buffer scrolls 96non-@code{nil} value, the @file{*compilation*} buffer scrolls
97automatically to follow the output. If the value is 97automatically to follow the output. If the value is
98@code{first-error}, scrolling stops when the first error appears, 98@code{first-error}, scrolling stops when the first error appears,
99leaving point at that error. For any other non-@code{nil} value, 99leaving point at that error. For any other non-@code{nil} value,
@@ -103,22 +103,22 @@ scrolling continues until there is no more output.
103 To rerun the last compilation with the same command, type @kbd{M-x 103 To rerun the last compilation with the same command, type @kbd{M-x
104recompile}. This reuses the compilation command from the last 104recompile}. This reuses the compilation command from the last
105invocation of @kbd{M-x compile}. It also reuses the 105invocation of @kbd{M-x compile}. It also reuses the
106@samp{*compilation*} buffer and starts the compilation in its default 106@file{*compilation*} buffer and starts the compilation in its default
107directory, which is the directory in which the previous compilation 107directory, which is the directory in which the previous compilation
108was started. 108was started.
109 109
110@findex kill-compilation 110@findex kill-compilation
111 Starting a new compilation also kills any compilation already 111 Starting a new compilation also kills any compilation already
112running in @samp{*compilation*}, as the buffer can only handle one 112running in @file{*compilation*}, as the buffer can only handle one
113compilation at any time. However, @kbd{M-x compile} asks for 113compilation at any time. However, @kbd{M-x compile} asks for
114confirmation before actually killing a compilation that is running. 114confirmation before actually killing a compilation that is running.
115You can also kill the compilation process with @kbd{M-x 115You can also kill the compilation process with @kbd{M-x
116kill-compilation}. 116kill-compilation}.
117 117
118 To run two compilations at once, start the first one, then rename 118 To run two compilations at once, start the first one, then rename
119the @samp{*compilation*} buffer (perhaps using @code{rename-uniquely}; 119the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
120@pxref{Misc Buffer}), then switch buffers and start the other 120@pxref{Misc Buffer}), then switch buffers and start the other
121compilation. This will create a new @samp{*compilation*} buffer. 121compilation. This will create a new @file{*compilation*} buffer.
122 122
123@vindex compilation-environment 123@vindex compilation-environment
124 You can control the environment passed to the compilation command 124 You can control the environment passed to the compilation command
@@ -133,7 +133,7 @@ variable settings override the usual ones.
133@cindex Compilation mode 133@cindex Compilation mode
134@cindex mode, Compilation 134@cindex mode, Compilation
135@cindex locus 135@cindex locus
136 The @samp{*compilation*} buffer uses a major mode called Compilation 136 The @file{*compilation*} buffer uses a major mode called Compilation
137mode. Compilation mode turns each error message in the buffer into a 137mode. Compilation mode turns each error message in the buffer into a
138hyperlink; you can move point to it and type @key{RET}, or click on it 138hyperlink; you can move point to it and type @key{RET}, or click on it
139with the mouse (@pxref{Mouse References}), to visit the @dfn{locus} of 139with the mouse (@pxref{Mouse References}), to visit the @dfn{locus} of
@@ -145,10 +145,10 @@ position in a file where that error occurred.
145 If you change the variable 145 If you change the variable
146@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value, 146@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value,
147Emacs automatically visits the locus of the first error message that 147Emacs automatically visits the locus of the first error message that
148appears in the @samp{*compilation*} buffer. 148appears in the @file{*compilation*} buffer.
149 149
150 Compilation mode provides the following additional commands. These 150 Compilation mode provides the following additional commands. These
151commands can also be used in @samp{*grep*} buffers, where the 151commands can also be used in @file{*grep*} buffers, where the
152hyperlinks are search matches rather than error messages (@pxref{Grep 152hyperlinks are search matches rather than error messages (@pxref{Grep
153Searching}). 153Searching}).
154 154
@@ -190,7 +190,7 @@ mode buffer. The first time you invoke it after a compilation, it
190visits the locus of the first error message. Each subsequent 190visits the locus of the first error message. Each subsequent
191@w{@kbd{C-x `}} visits the next error, in a similar fashion. If you 191@w{@kbd{C-x `}} visits the next error, in a similar fashion. If you
192visit a specific error with @key{RET} or a mouse click in the 192visit a specific error with @key{RET} or a mouse click in the
193@samp{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands 193@file{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
194advance from there. When @w{@kbd{C-x `}} finds no more error messages 194advance from there. When @w{@kbd{C-x `}} finds no more error messages
195to visit, it signals an error. @w{@kbd{C-u C-x `}} starts again from 195to visit, it signals an error. @w{@kbd{C-u C-x `}} starts again from
196the beginning of the compilation buffer, and visits the first locus. 196the beginning of the compilation buffer, and visits the first locus.
@@ -199,8 +199,8 @@ the beginning of the compilation buffer, and visits the first locus.
199through errors in the opposite direction. 199through errors in the opposite direction.
200 200
201 The @code{next-error} and @code{previous-error} commands don't just 201 The @code{next-error} and @code{previous-error} commands don't just
202act on the errors or matches listed in @samp{*compilation*} and 202act on the errors or matches listed in @file{*compilation*} and
203@samp{*grep*} buffers; they also know how to iterate through error or 203@file{*grep*} buffers; they also know how to iterate through error or
204match lists produced by other commands, such as @kbd{M-x occur} 204match lists produced by other commands, such as @kbd{M-x occur}
205(@pxref{Other Repeating Search}). If you are already in a buffer 205(@pxref{Other Repeating Search}). If you are already in a buffer
206containing error messages or matches, those are the ones that are 206containing error messages or matches, those are the ones that are
@@ -224,7 +224,7 @@ highlights the relevant source line. The duration of this highlight
224is determined by the variable @code{next-error-highlight}. 224is determined by the variable @code{next-error-highlight}.
225 225
226@vindex compilation-context-lines 226@vindex compilation-context-lines
227 If the @samp{*compilation*} buffer is shown in a window with a left 227 If the @file{*compilation*} buffer is shown in a window with a left
228fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in 228fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in
229the fringe, pointing to the current error message. If the window has 229the fringe, pointing to the current error message. If the window has
230no left fringe, such as on a text-only terminal, these commands scroll 230no left fringe, such as on a text-only terminal, these commands scroll
@@ -276,7 +276,7 @@ Names}).
276command, but specifies the option for a noninteractive shell. This 276command, but specifies the option for a noninteractive shell. This
277means, in particular, that the shell should start with no prompt. If 277means, in particular, that the shell should start with no prompt. If
278you find your usual shell prompt making an unsightly appearance in the 278you find your usual shell prompt making an unsightly appearance in the
279@samp{*compilation*} buffer, it means you have made a mistake in your 279@file{*compilation*} buffer, it means you have made a mistake in your
280shell's init file by setting the prompt unconditionally. (This init 280shell's init file by setting the prompt unconditionally. (This init
281file may be named @file{.bashrc}, @file{.profile}, @file{.cshrc}, 281file may be named @file{.bashrc}, @file{.profile}, @file{.cshrc},
282@file{.shrc}, etc., depending on what shell you use.) The shell init 282@file{.shrc}, etc., depending on what shell you use.) The shell init
@@ -339,14 +339,14 @@ mode (@pxref{Compilation Mode}).
339@item M-x grep 339@item M-x grep
340@itemx M-x lgrep 340@itemx M-x lgrep
341Run @command{grep} asynchronously under Emacs, listing matching lines in 341Run @command{grep} asynchronously under Emacs, listing matching lines in
342the buffer named @samp{*grep*}. 342the buffer named @file{*grep*}.
343@item M-x grep-find 343@item M-x grep-find
344@itemx M-x find-grep 344@itemx M-x find-grep
345@itemx M-x rgrep 345@itemx M-x rgrep
346Run @command{grep} via @code{find}, and collect output in the 346Run @command{grep} via @code{find}, and collect output in the
347@samp{*grep*} buffer. 347@file{*grep*} buffer.
348@item M-x zrgrep 348@item M-x zrgrep
349Run @code{zgrep} and collect output in the @samp{*grep*} buffer. 349Run @code{zgrep} and collect output in the @file{*grep*} buffer.
350@item M-x kill-grep 350@item M-x kill-grep
351Kill the running @command{grep} subprocess. 351Kill the running @command{grep} subprocess.
352@end table 352@end table
@@ -369,7 +369,7 @@ can chain @command{grep} commands, like this:
369grep -nH -e foo *.el | grep bar | grep toto 369grep -nH -e foo *.el | grep bar | grep toto
370@end example 370@end example
371 371
372 The output from @command{grep} goes in the @samp{*grep*} buffer. You 372 The output from @command{grep} goes in the @file{*grep*} buffer. You
373can find the corresponding lines in the original files using @w{@kbd{C-x 373can find the corresponding lines in the original files using @w{@kbd{C-x
374`}}, @key{RET}, and so forth, just like compilation errors. 374`}}, @key{RET}, and so forth, just like compilation errors.
375 375
@@ -1506,14 +1506,14 @@ commands are used; its default is @code{t}.
1506@section Lisp Interaction Buffers 1506@section Lisp Interaction Buffers
1507 1507
1508@findex lisp-interaction-mode 1508@findex lisp-interaction-mode
1509 When Emacs starts up, it contains a buffer named @samp{*scratch*}, 1509 When Emacs starts up, it contains a buffer named @file{*scratch*},
1510which is provided for evaluating Emacs Lisp expressions interactively. 1510which is provided for evaluating Emacs Lisp expressions interactively.
1511Its major mode is Lisp Interaction mode. You can also enable Lisp 1511Its major mode is Lisp Interaction mode. You can also enable Lisp
1512Interaction mode by typing @kbd{M-x lisp-interaction-mode}. 1512Interaction mode by typing @kbd{M-x lisp-interaction-mode}.
1513 1513
1514@findex eval-print-last-sexp 1514@findex eval-print-last-sexp
1515@kindex C-j @r{(Lisp Interaction mode)} 1515@kindex C-j @r{(Lisp Interaction mode)}
1516 In the @samp{*scratch*} buffer, and other Lisp Interaction mode 1516 In the @file{*scratch*} buffer, and other Lisp Interaction mode
1517buffers, @kbd{C-j} (@code{eval-print-last-sexp}) evaluates the Lisp 1517buffers, @kbd{C-j} (@code{eval-print-last-sexp}) evaluates the Lisp
1518expression before point, and inserts the value at point. Thus, as you 1518expression before point, and inserts the value at point. Thus, as you
1519type expressions into the buffer followed by @kbd{C-j} after each 1519type expressions into the buffer followed by @kbd{C-j} after each
@@ -1522,7 +1522,7 @@ expressions and their values. All other commands in Lisp Interaction
1522mode are the same as in Emacs Lisp mode. 1522mode are the same as in Emacs Lisp mode.
1523 1523
1524@vindex initial-scratch-message 1524@vindex initial-scratch-message
1525 At startup, the @samp{*scratch*} buffer contains a short message, in 1525 At startup, the @file{*scratch*} buffer contains a short message, in
1526the form of a Lisp comment, that explains what it is for. This 1526the form of a Lisp comment, that explains what it is for. This
1527message is controlled by the variable @code{initial-scratch-message}, 1527message is controlled by the variable @code{initial-scratch-message},
1528which should be either a string, or @code{nil} (which means to 1528which should be either a string, or @code{nil} (which means to
@@ -1533,7 +1533,7 @@ suppress the message).
1533interactively is to use Inferior Emacs Lisp mode, which provides an 1533interactively is to use Inferior Emacs Lisp mode, which provides an
1534interface rather like Shell mode (@pxref{Shell Mode}) for evaluating 1534interface rather like Shell mode (@pxref{Shell Mode}) for evaluating
1535Emacs Lisp expressions. Type @kbd{M-x ielm} to create an 1535Emacs Lisp expressions. Type @kbd{M-x ielm} to create an
1536@samp{*ielm*} buffer which uses this mode. For more information, see 1536@file{*ielm*} buffer which uses this mode. For more information, see
1537that command's documentation. 1537that command's documentation.
1538 1538
1539@node External Lisp 1539@node External Lisp
@@ -1555,13 +1555,13 @@ whose names end in @file{.l}, @file{.lsp}, or @file{.lisp}.
1555evaluated. To begin an external Lisp session, type @kbd{M-x 1555evaluated. To begin an external Lisp session, type @kbd{M-x
1556run-lisp}. This runs the program named @command{lisp}, and sets it up 1556run-lisp}. This runs the program named @command{lisp}, and sets it up
1557so that both input and output go through an Emacs buffer named 1557so that both input and output go through an Emacs buffer named
1558@samp{*inferior-lisp*}. To change the name of the Lisp program run by 1558@file{*inferior-lisp*}. To change the name of the Lisp program run by
1559@kbd{M-x run-lisp}, change the variable @code{inferior-lisp-program}. 1559@kbd{M-x run-lisp}, change the variable @code{inferior-lisp-program}.
1560 1560
1561 The major mode for the @samp{*lisp*} buffer is Inferior Lisp mode, 1561 The major mode for the @file{*lisp*} buffer is Inferior Lisp mode,
1562which combines the characteristics of Lisp mode and Shell mode 1562which combines the characteristics of Lisp mode and Shell mode
1563(@pxref{Shell Mode}). To send input to the Lisp session, go to the 1563(@pxref{Shell Mode}). To send input to the Lisp session, go to the
1564end of the @samp{*lisp*} buffer and type the input, followed by 1564end of the @file{*lisp*} buffer and type the input, followed by
1565@key{RET}. Terminal output from the Lisp session is automatically 1565@key{RET}. Terminal output from the Lisp session is automatically
1566inserted in the buffer. 1566inserted in the buffer.
1567 1567
@@ -1572,7 +1572,7 @@ inserted in the buffer.
1572buffer to a Lisp session that you had started with @kbd{M-x run-lisp}. 1572buffer to a Lisp session that you had started with @kbd{M-x run-lisp}.
1573The expression sent is the top-level Lisp expression at or following 1573The expression sent is the top-level Lisp expression at or following
1574point. The resulting value goes as usual into the 1574point. The resulting value goes as usual into the
1575@samp{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in 1575@file{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in
1576Lisp mode is thus very similar to its effect in Emacs Lisp mode 1576Lisp mode is thus very similar to its effect in Emacs Lisp mode
1577(@pxref{Lisp Eval}), except that the expression is sent to a different 1577(@pxref{Lisp Eval}), except that the expression is sent to a different
1578Lisp environment instead of being evaluated in Emacs. 1578Lisp environment instead of being evaluated in Emacs.
@@ -1587,4 +1587,4 @@ to a Scheme subprocess, are very similar. Scheme source files are
1587edited in Scheme mode, which can be explicitly enabled with @kbd{M-x 1587edited in Scheme mode, which can be explicitly enabled with @kbd{M-x
1588scheme-mode}. You can initiate a Scheme session by typing @kbd{M-x 1588scheme-mode}. You can initiate a Scheme session by typing @kbd{M-x
1589run-scheme} (the buffer for interacting with Scheme is named 1589run-scheme} (the buffer for interacting with Scheme is named
1590@samp{*scheme*}), and send expressions to it by typing @kbd{C-M-x}. 1590@file{*scheme*}), and send expressions to it by typing @kbd{C-M-x}.
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index 00730cc6510..56af8d426f6 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -157,7 +157,7 @@ Evaluate Lisp expression @var{expression}.
157@item --insert=@var{file} 157@item --insert=@var{file}
158@opindex --insert 158@opindex --insert
159@cindex insert file contents, command-line argument 159@cindex insert file contents, command-line argument
160Insert the contents of @var{file} into the @samp{*scratch*} buffer 160Insert the contents of @var{file} into the @file{*scratch*} buffer
161(@pxref{Lisp Interaction}). This is like what @kbd{M-x insert-file} 161(@pxref{Lisp Interaction}). This is like what @kbd{M-x insert-file}
162does (@pxref{Misc File Ops}). 162does (@pxref{Misc File Ops}).
163 163
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index a00423a5826..72b4961e209 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -561,7 +561,7 @@ format of a theme file and how to make one.
561@vindex custom-theme-directory 561@vindex custom-theme-directory
562@cindex color scheme 562@cindex color scheme
563 Type @kbd{M-x customize-themes} to switch to a buffer named 563 Type @kbd{M-x customize-themes} to switch to a buffer named
564@samp{*Custom Themes*}, which lists the Custom themes that Emacs knows 564@file{*Custom Themes*}, which lists the Custom themes that Emacs knows
565about. By default, Emacs looks for theme files in two locations: the 565about. By default, Emacs looks for theme files in two locations: the
566directory specified by the variable @code{custom-theme-directory} 566directory specified by the variable @code{custom-theme-directory}
567(which defaults to @file{~/.emacs.d/}), and a directory named 567(which defaults to @file{~/.emacs.d/}), and a directory named
@@ -580,11 +580,11 @@ add the directory name to the list variable
580@code{custom-theme-directory} has the special meaning of the value of 580@code{custom-theme-directory} has the special meaning of the value of
581the variable @code{custom-theme-directory}, while @code{t} stands for 581the variable @code{custom-theme-directory}, while @code{t} stands for
582the built-in theme directory @file{etc/themes}. The themes listed in 582the built-in theme directory @file{etc/themes}. The themes listed in
583the @samp{*Custom Themes*} buffer are those found in the directories 583the @file{*Custom Themes*} buffer are those found in the directories
584specified by @code{custom-theme-load-path}. 584specified by @code{custom-theme-load-path}.
585 585
586@kindex C-x C-s @r{(Custom Themes buffer)} 586@kindex C-x C-s @r{(Custom Themes buffer)}
587 In the @samp{*Custom Themes*} buffer, you can activate the checkbox 587 In the @file{*Custom Themes*} buffer, you can activate the checkbox
588next to a Custom theme to enable or disable the theme for the current 588next to a Custom theme to enable or disable the theme for the current
589Emacs session. When a Custom theme is enabled, all of its settings 589Emacs session. When a Custom theme is enabled, all of its settings
590(variables and faces) take effect in the Emacs session. To apply the 590(variables and faces) take effect in the Emacs session. To apply the
@@ -608,7 +608,7 @@ always considered safe.
608 Setting or saving Custom themes actually works by customizing the 608 Setting or saving Custom themes actually works by customizing the
609variable @code{custom-enabled-themes}. The value of this variable is 609variable @code{custom-enabled-themes}. The value of this variable is
610a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}). 610a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}).
611Instead of using the @samp{*Custom Themes*} buffer to set 611Instead of using the @file{*Custom Themes*} buffer to set
612@code{custom-enabled-themes}, you can customize the variable using the 612@code{custom-enabled-themes}, you can customize the variable using the
613usual customization interface, e.g.@: with @kbd{M-x customize-option}. 613usual customization interface, e.g.@: with @kbd{M-x customize-option}.
614Note that Custom themes are not allowed to set 614Note that Custom themes are not allowed to set
@@ -635,7 +635,7 @@ type @kbd{M-x disable-theme}.
635 635
636@findex describe-theme 636@findex describe-theme
637 To see a description of a Custom theme, type @kbd{?} on its line in 637 To see a description of a Custom theme, type @kbd{?} on its line in
638the @samp{*Custom Themes*} buffer; or type @kbd{M-x describe-theme} 638the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
639anywhere in Emacs and enter the theme name in the minibuffer. 639anywhere in Emacs and enter the theme name in the minibuffer.
640 640
641@node Creating Custom Themes 641@node Creating Custom Themes
@@ -645,12 +645,12 @@ anywhere in Emacs and enter the theme name in the minibuffer.
645@findex customize-create-theme 645@findex customize-create-theme
646 You can define a Custom theme using an interface similar to the 646 You can define a Custom theme using an interface similar to the
647customization buffer, by typing @kbd{M-x customize-create-theme}. 647customization buffer, by typing @kbd{M-x customize-create-theme}.
648This switches to a buffer named @samp{*Custom Theme*}. It also offers 648This switches to a buffer named @file{*Custom Theme*}. It also offers
649to insert some common Emacs faces into the theme (a convenience, since 649to insert some common Emacs faces into the theme (a convenience, since
650Custom themes are often used to customize faces). If you answer no, 650Custom themes are often used to customize faces). If you answer no,
651the theme will initially contain no settings. 651the theme will initially contain no settings.
652 652
653 Near the top of the @samp{*Custom Theme*} buffer are editable fields 653 Near the top of the @file{*Custom Theme*} buffer are editable fields
654where you can enter the theme's name and description. The name can be 654where you can enter the theme's name and description. The name can be
655anything except @samp{user}. The description is the one that will be 655anything except @samp{user}. The description is the one that will be
656shown when you invoke @kbd{M-x describe-theme} for the theme. Its 656shown when you invoke @kbd{M-x describe-theme} for the theme. Its
@@ -673,7 +673,7 @@ theme, uncheck the checkbox next to its name.
673@file{@var{name}-theme.el} where @var{name} is the theme name, in the 673@file{@var{name}-theme.el} where @var{name} is the theme name, in the
674directory named by @code{custom-theme-directory}. 674directory named by @code{custom-theme-directory}.
675 675
676 From the @samp{*Custom Theme*} buffer, you can view and edit an 676 From the @file{*Custom Theme*} buffer, you can view and edit an
677existing Custom theme by activating the @samp{[Visit Theme]} button 677existing Custom theme by activating the @samp{[Visit Theme]} button
678and specifying the theme name. You can also add the settings of 678and specifying the theme name. You can also add the settings of
679another theme into the buffer, using the @samp{[Merge Theme]} button. 679another theme into the buffer, using the @samp{[Merge Theme]} button.
@@ -683,10 +683,9 @@ the @samp{[Merge Theme]} button and specifying the special theme named
683 683
684 A theme file is simply an Emacs Lisp source file, and loading the 684 A theme file is simply an Emacs Lisp source file, and loading the
685Custom theme works by loading the Lisp file. Therefore, you can edit 685Custom theme works by loading the Lisp file. Therefore, you can edit
686a theme file directly instead of using the @samp{*Custom Theme*} 686a theme file directly instead of using the @file{*Custom Theme*}
687buffer. 687buffer. @xref{Custom Themes,,, elisp, The Emacs Lisp Reference
688@c Add link to the relevant Emacs Lisp Reference manual node, once 688Manual}, for details.
689@c that is written.
690 689
691@node Variables 690@node Variables
692@section Variables 691@section Variables
@@ -809,7 +808,7 @@ can set any variable with a Lisp expression like this:
809@noindent 808@noindent
810To execute such an expression, type @kbd{M-:} (@code{eval-expression}) 809To execute such an expression, type @kbd{M-:} (@code{eval-expression})
811and enter the expression in the minibuffer (@pxref{Lisp Eval}). 810and enter the expression in the minibuffer (@pxref{Lisp Eval}).
812Alternatively, go to the @samp{*scratch*} buffer, type in the 811Alternatively, go to the @file{*scratch*} buffer, type in the
813expression, and then type @kbd{C-j} (@pxref{Lisp Interaction}). 812expression, and then type @kbd{C-j} (@pxref{Lisp Interaction}).
814 813
815 Setting variables, like all means of customizing Emacs except where 814 Setting variables, like all means of customizing Emacs except where
@@ -1163,8 +1162,8 @@ returned by that expression is ignored).
1163conversion of this file. @xref{Coding Systems}. 1162conversion of this file. @xref{Coding Systems}.
1164 1163
1165@item 1164@item
1166@code{unibyte} says to visit the file in a unibyte buffer, if the 1165@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
1167value is @code{t}. @xref{Enabling Multibyte}. 1166mode, if the value is @code{t}. @xref{Disabling Multibyte}.
1168@end itemize 1167@end itemize
1169 1168
1170@noindent 1169@noindent
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 152fa73edea..a842f412356 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -516,7 +516,7 @@ Frames and Graphical Displays
516International Character Set Support 516International Character Set Support
517 517
518* International Chars:: Basic concepts of multibyte characters. 518* International Chars:: Basic concepts of multibyte characters.
519* Enabling Multibyte:: Controlling whether to use multibyte characters. 519* Disabling Multibyte:: Controlling whether to use multibyte characters.
520* Language Environments:: Setting things up for the language you use. 520* Language Environments:: Setting things up for the language you use.
521* Input Methods:: Entering text characters not on your keyboard. 521* Input Methods:: Entering text characters not on your keyboard.
522* Select Input Method:: Specifying your choice of input methods. 522* Select Input Method:: Specifying your choice of input methods.
diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi
index ba7f3132b6b..3ec7f739e6c 100644
--- a/doc/emacs/entering.texi
+++ b/doc/emacs/entering.texi
@@ -63,7 +63,7 @@ certain Lisp files, where to put the initial frame, and so forth.
63 If the variable @code{inhibit-startup-screen} is non-@code{nil}, 63 If the variable @code{inhibit-startup-screen} is non-@code{nil},
64Emacs does not display the startup screen. In that case, if one or 64Emacs does not display the startup screen. In that case, if one or
65more files were specified on the command line, Emacs simply displays 65more files were specified on the command line, Emacs simply displays
66those files; otherwise, it displays a buffer named @samp{*scratch*}, 66those files; otherwise, it displays a buffer named @file{*scratch*},
67which can be used to evaluate Emacs Lisp expressions interactively. 67which can be used to evaluate Emacs Lisp expressions interactively.
68@xref{Lisp Interaction}. You can set the variable 68@xref{Lisp Interaction}. You can set the variable
69@code{inhibit-startup-screen} using the Customize facility 69@code{inhibit-startup-screen} using the Customize facility
@@ -77,9 +77,13 @@ information about @file{site-start.el}.}
77by setting the variable @code{initial-buffer-choice} to a 77by setting the variable @code{initial-buffer-choice} to a
78non-@code{nil} value. (In that case, even if you specify one or more 78non-@code{nil} value. (In that case, even if you specify one or more
79files on the command line, Emacs opens but does not display them.) 79files on the command line, Emacs opens but does not display them.)
80The value of @code{initial-buffer-choice} can be either the name of 80The value of @code{initial-buffer-choice} should be the name of
81the desired file or directory, or @code{t}, which means to display the 81the desired file or directory.
82@samp{*scratch*} buffer. 82@ignore
83@c I do not think this should be mentioned. AFAICS it is just a dodge
84@c around inhibit-startup-screen not being settable on a site-wide basis.
85or @code{t}, which means to display the @file{*scratch*} buffer.
86@end ignore
83 87
84@node Exiting, Basic, Entering Emacs, Top 88@node Exiting, Basic, Entering Emacs, Top
85@section Exiting Emacs 89@section Exiting Emacs
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index b0d4e130c67..d85e7756816 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -976,7 +976,7 @@ are not visiting files are auto-saved only if you request it explicitly;
976when they are auto-saved, the auto-save file name is made by appending 976when they are auto-saved, the auto-save file name is made by appending
977@samp{#} to the front and rear of buffer name, then 977@samp{#} to the front and rear of buffer name, then
978adding digits and letters at the end for uniqueness. For 978adding digits and letters at the end for uniqueness. For
979example, the @samp{*mail*} buffer in which you compose messages to be 979example, the @file{*mail*} buffer in which you compose messages to be
980sent might be auto-saved in a file named @file{#*mail*#704juu}. Auto-save file 980sent might be auto-saved in a file named @file{#*mail*#704juu}. Auto-save file
981names are made this way unless you reprogram parts of Emacs to do 981names are made this way unless you reprogram parts of Emacs to do
982something different (the functions @code{make-auto-save-file-name} and 982something different (the functions @code{make-auto-save-file-name} and
@@ -1245,7 +1245,7 @@ for more information about using the Trash.
1245@vindex diff-switches 1245@vindex diff-switches
1246 The command @kbd{M-x diff} prompts for two file names, using the 1246 The command @kbd{M-x diff} prompts for two file names, using the
1247minibuffer, and displays the differences between the two files in a 1247minibuffer, and displays the differences between the two files in a
1248buffer named @samp{*diff*}. This works by running the @command{diff} 1248buffer named @file{*diff*}. This works by running the @command{diff}
1249program, using options taken from the variable @code{diff-switches}. 1249program, using options taken from the variable @code{diff-switches}.
1250The value of @code{diff-switches} should be a string; the default is 1250The value of @code{diff-switches} should be a string; the default is
1251@code{"-c"} to specify a context diff. @xref{Top,, Diff, diff, 1251@code{"-c"} to specify a context diff. @xref{Top,, Diff, diff,
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 4cfaffdadb8..8d6a39665da 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -257,7 +257,7 @@ highlighting.
257@key{RET}, or by clicking either @kbd{Mouse-1} or @kbd{Mouse-2} on the 257@key{RET}, or by clicking either @kbd{Mouse-1} or @kbd{Mouse-2} on the
258button. For example, in a Dired buffer, each file name is a button; 258button. For example, in a Dired buffer, each file name is a button;
259activating it causes Emacs to visit that file (@pxref{Dired}). In a 259activating it causes Emacs to visit that file (@pxref{Dired}). In a
260@samp{*Compilation*} buffer, each error message is a button, and 260@file{*Compilation*} buffer, each error message is a button, and
261activating it visits the source code for that error 261activating it visits the source code for that error
262(@pxref{Compilation}). 262(@pxref{Compilation}).
263 263
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index f4ea4f30cd5..765a4b59053 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -421,7 +421,7 @@ tell it to. @xref{Bugs}.
421The echo area is the bottom line of the screen, used for echoing the 421The echo area is the bottom line of the screen, used for echoing the
422arguments to commands, for asking questions, and showing brief messages 422arguments to commands, for asking questions, and showing brief messages
423(including error messages). The messages are stored in the buffer 423(including error messages). The messages are stored in the buffer
424@samp{*Messages*} so you can review them later. @xref{Echo Area}. 424@file{*Messages*} so you can review them later. @xref{Echo Area}.
425 425
426@item Echoing 426@item Echoing
427Echoing is acknowledging the receipt of input events by displaying 427Echoing is acknowledging the receipt of input events by displaying
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 84da0a9a681..eef38136583 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -102,7 +102,7 @@ to (@code{describe-key-briefly}). Here @kbd{c} stands for
102Display the commands and variables whose documentation matches 102Display the commands and variables whose documentation matches
103@var{topics} (@code{apropos-documentation}). 103@var{topics} (@code{apropos-documentation}).
104@item C-h e 104@item C-h e
105Display the @code{*Messages*} buffer 105Display the @file{*Messages*} buffer
106(@code{view-echo-area-messages}). 106(@code{view-echo-area-messages}).
107@item C-h f @var{function} @key{RET} 107@item C-h f @var{function} @key{RET}
108Display documentation on the Lisp function named @var{function} 108Display documentation on the Lisp function named @var{function}
@@ -168,7 +168,7 @@ programming language you are editing (@code{info-lookup-symbol}).
168@item C-h . 168@item C-h .
169Display the help message for a special text area, if point is in one 169Display the help message for a special text area, if point is in one
170(@code{display-local-help}). (These include, for example, links in 170(@code{display-local-help}). (These include, for example, links in
171@samp{*Help*} buffers.) 171@file{*Help*} buffers.)
172@end table 172@end table
173 173
174@node Key Help 174@node Key Help
@@ -519,7 +519,7 @@ use @kbd{C-h c} to find out what they do.
519@findex view-echo-area-messages 519@findex view-echo-area-messages
520 To review recent echo area messages, use @kbd{C-h e} 520 To review recent echo area messages, use @kbd{C-h e}
521(@code{view-echo-area-messages}). This displays the buffer 521(@code{view-echo-area-messages}). This displays the buffer
522@code{*Messages*}, where those messages are kept. 522@file{*Messages*}, where those messages are kept.
523 523
524@kindex C-h m 524@kindex C-h m
525@findex describe-mode 525@findex describe-mode
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 10293fe7747..695f8f9c6c3 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -142,7 +142,7 @@ Emacs open a file. A typical reason for this would be a user
142double-clicking a file in the Finder application. By default, Emacs 142double-clicking a file in the Finder application. By default, Emacs
143responds to this event by opening a new frame and visiting the file in 143responds to this event by opening a new frame and visiting the file in
144that frame (@code{ns-find-file}). As an exception, if the selected 144that frame (@code{ns-find-file}). As an exception, if the selected
145buffer is the @samp{*scratch*} buffer, Emacs visits the file in the 145buffer is the @file{*scratch*} buffer, Emacs visits the file in the
146selected frame. 146selected frame.
147 147
148You can change how Emacs responds to a @code{ns-open-file} event by 148You can change how Emacs responds to a @code{ns-open-file} event by
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index e812c9112df..9d56b3bdc6e 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -477,7 +477,7 @@ If every work file in the VC fileset is unchanged, do nothing.
477 477
478@item 478@item
479If every work file in the VC fileset has been modified, commit the 479If every work file in the VC fileset has been modified, commit the
480changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the 480changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
481desired log entry for the new revision, followed by @kbd{C-c C-c} to 481desired log entry for the new revision, followed by @kbd{C-c C-c} to
482commit. @xref{Log Buffer}. 482commit. @xref{Log Buffer}.
483 483
@@ -530,7 +530,7 @@ so that you can begin to edit it.
530 530
531@item 531@item
532If each file is locked by you and contains changes, commit the 532If each file is locked by you and contains changes, commit the
533changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the 533changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
534desired log entry for the new revision, followed by @kbd{C-c C-c} to 534desired log entry for the new revision, followed by @kbd{C-c C-c} to
535commit (@pxref{Log Buffer}). 535commit (@pxref{Log Buffer}).
536 536
@@ -588,7 +588,7 @@ they use the concept of ``checking out'' individual files.
588@cindex C-c C-c @r{(Log Edit mode)} 588@cindex C-c C-c @r{(Log Edit mode)}
589@findex log-edit-done 589@findex log-edit-done
590 When you tell VC to commit a change, it pops up a buffer named 590 When you tell VC to commit a change, it pops up a buffer named
591@samp{*vc-log*}. In this buffer, you should write a @dfn{log entry} 591@file{*vc-log*}. In this buffer, you should write a @dfn{log entry}
592describing the changes you have made (@pxref{Why Version Control?}). 592describing the changes you have made (@pxref{Why Version Control?}).
593After you are done, type @kbd{C-c C-c} (@code{log-edit-done}) to exit 593After you are done, type @kbd{C-c C-c} (@code{log-edit-done}) to exit
594the buffer and commit the change, together with your log entry. 594the buffer and commit the change, together with your log entry.
@@ -596,12 +596,12 @@ the buffer and commit the change, together with your log entry.
596@cindex Log Edit mode 596@cindex Log Edit mode
597@cindex mode, Log Edit 597@cindex mode, Log Edit
598@vindex vc-log-mode-hook 598@vindex vc-log-mode-hook
599 The major mode for the @samp{*vc-log*} buffer is Log Edit mode, a 599 The major mode for the @file{*vc-log*} buffer is Log Edit mode, a
600variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode, 600variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode,
601Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook} 601Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
602(@pxref{Hooks}). 602(@pxref{Hooks}).
603 603
604 In the @samp{*vc-log*} buffer, you can write one or more @dfn{header 604 In the @file{*vc-log*} buffer, you can write one or more @dfn{header
605lines}, specifying additional information to be supplied to the 605lines}, specifying additional information to be supplied to the
606version control system. Each header line must occupy a single line at 606version control system. Each header line must occupy a single line at
607the top of the buffer; the first line that is not a header line is 607the top of the buffer; the first line that is not a header line is
@@ -626,7 +626,7 @@ support it, the header is treated as part of the log entry.
626@findex log-edit-show-files 626@findex log-edit-show-files
627@kindex C-c C-d @r{(Log Edit mode)} 627@kindex C-c C-d @r{(Log Edit mode)}
628@findex log-edit-show-diff 628@findex log-edit-show-diff
629 While in the @samp{*vc-log*} buffer, the ``current VC fileset'' is 629 While in the @file{*vc-log*} buffer, the ``current VC fileset'' is
630considered to be the fileset that will be committed if you type 630considered to be the fileset that will be committed if you type
631@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset, 631@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset,
632type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}). To view a diff 632type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}). To view a diff
@@ -639,7 +639,7 @@ started editing (@pxref{Old Revisions}), type @kbd{C-c C-d}
639 If the VC fileset includes one or more @file{ChangeLog} files 639 If the VC fileset includes one or more @file{ChangeLog} files
640(@pxref{Change Log}), type @kbd{C-c C-a} 640(@pxref{Change Log}), type @kbd{C-c C-a}
641(@code{log-edit-insert-changelog}) to pull the relevant entries into 641(@code{log-edit-insert-changelog}) to pull the relevant entries into
642the @samp{*vc-log*} buffer. If the topmost item in each 642the @file{*vc-log*} buffer. If the topmost item in each
643@file{ChangeLog} was made under your user name on the current date, 643@file{ChangeLog} was made under your user name on the current date,
644this command searches that item for entries matching the file(s) to be 644this command searches that item for entries matching the file(s) to be
645committed, and inserts them. 645committed, and inserts them.
@@ -652,7 +652,7 @@ Edit buffer.
652 To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that 652 To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
653buffer. You can switch buffers and do other editing. As long as you 653buffer. You can switch buffers and do other editing. As long as you
654don't try to make another commit, the entry you were editing remains 654don't try to make another commit, the entry you were editing remains
655in the @samp{*vc-log*} buffer, and you can go back to that buffer at 655in the @file{*vc-log*} buffer, and you can go back to that buffer at
656any time to complete the commit. 656any time to complete the commit.
657 657
658@kindex M-n @r{(Log Edit mode)} 658@kindex M-n @r{(Log Edit mode)}
@@ -904,10 +904,10 @@ Display the changes that will be sent by the next push operation
904@kindex C-x v l 904@kindex C-x v l
905@findex vc-print-log 905@findex vc-print-log
906 The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer 906 The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer
907named @samp{*vc-change-log*}, showing the history of changes made to 907named @file{*vc-change-log*}, showing the history of changes made to
908the current file, including who made the changes, the dates, and the 908the current file, including who made the changes, the dates, and the
909log entry for each change (these are the same log entries you would 909log entry for each change (these are the same log entries you would
910enter via the @samp{*vc-log*} buffer; @pxref{Log Buffer}). Point is 910enter via the @file{*vc-log*} buffer; @pxref{Log Buffer}). Point is
911centered at the revision of the file currently being visited. With a 911centered at the revision of the file currently being visited. With a
912prefix argument, the command prompts for the revision to center on, 912prefix argument, the command prompts for the revision to center on,
913and the maximum number of revisions to display. 913and the maximum number of revisions to display.
@@ -919,7 +919,7 @@ file listed on the current line.
919@findex vc-print-root-log 919@findex vc-print-root-log
920@findex log-view-toggle-entry-display 920@findex log-view-toggle-entry-display
921 @kbd{C-x v L} (@code{vc-print-root-log}) displays a 921 @kbd{C-x v L} (@code{vc-print-root-log}) displays a
922@samp{*vc-change-log*} buffer showing the history of the entire 922@file{*vc-change-log*} buffer showing the history of the entire
923version-controlled directory tree (RCS, SCCS, and CVS do not support 923version-controlled directory tree (RCS, SCCS, and CVS do not support
924this feature). With a prefix argument, the command prompts for the 924this feature). With a prefix argument, the command prompts for the
925maximum number of revisions to display. 925maximum number of revisions to display.
@@ -927,7 +927,7 @@ maximum number of revisions to display.
927 The @kbd{C-x v L} history is shown in a compact form, usually 927 The @kbd{C-x v L} history is shown in a compact form, usually
928showing only the first line of each log entry. However, you can type 928showing only the first line of each log entry. However, you can type
929@key{RET} (@code{log-view-toggle-entry-display}) in the 929@key{RET} (@code{log-view-toggle-entry-display}) in the
930@samp{*vc-change-log*} buffer to reveal the entire log entry for the 930@file{*vc-change-log*} buffer to reveal the entire log entry for the
931revision at point. A second @key{RET} hides it again. 931revision at point. A second @key{RET} hides it again.
932 932
933 On a decentralized version control system, the @kbd{C-x v I} 933 On a decentralized version control system, the @kbd{C-x v I}
@@ -942,7 +942,7 @@ specific repository. Similarly, @kbd{C-x v O}
942another repository, the next time you run the ``push'' command; with a 942another repository, the next time you run the ``push'' command; with a
943prefix argument, it prompts for a specific destination repository. 943prefix argument, it prompts for a specific destination repository.
944 944
945 In the @samp{*vc-change-log*} buffer, you can use the following keys 945 In the @file{*vc-change-log*} buffer, you can use the following keys
946to move between the logs of revisions and of files, and to examine and 946to move between the logs of revisions and of files, and to examine and
947compare past revisions (@pxref{Old Revisions}): 947compare past revisions (@pxref{Old Revisions}):
948 948
@@ -993,11 +993,11 @@ revision at point.
993 993
994@vindex vc-log-show-limit 994@vindex vc-log-show-limit
995Because fetching many log entries can be slow, the 995Because fetching many log entries can be slow, the
996@samp{*vc-change-log*} buffer displays no more than 2000 revisions by 996@file{*vc-change-log*} buffer displays no more than 2000 revisions by
997default. The variable @code{vc-log-show-limit} specifies this limit; 997default. The variable @code{vc-log-show-limit} specifies this limit;
998if you set the value to zero, that removes the limit. You can also 998if you set the value to zero, that removes the limit. You can also
999increase the number of revisions shown in an existing 999increase the number of revisions shown in an existing
1000@samp{*vc-change-log*} buffer by clicking on the @samp{Show 2X 1000@file{*vc-change-log*} buffer by clicking on the @samp{Show 2X
1001entries} or @samp{Show unlimited entries} buttons at the end of the 1001entries} or @samp{Show unlimited entries} buttons at the end of the
1002buffer. However, RCS, SCCS, and CVS do not support this feature. 1002buffer. However, RCS, SCCS, and CVS do not support this feature.
1003 1003
@@ -1045,7 +1045,7 @@ it is used to specify multi-file VC filesets for commands like
1045 To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}). 1045 To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}).
1046This reads a directory name using the minibuffer, and switches to a VC 1046This reads a directory name using the minibuffer, and switches to a VC
1047Directory buffer for that directory. By default, the buffer is named 1047Directory buffer for that directory. By default, the buffer is named
1048@samp{*vc-dir*}. Its contents are described 1048@file{*vc-dir*}. Its contents are described
1049@iftex 1049@iftex
1050below. 1050below.
1051@end iftex 1051@end iftex
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index e20d5a347cd..e498516ae7f 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -197,7 +197,7 @@ set the variable @code{enable-recursive-minibuffers} to @code{t}.
197 197
198@findex minibuffer-inactive-mode 198@findex minibuffer-inactive-mode
199 When not active, the minibuffer is in @code{minibuffer-inactive-mode}, 199 When not active, the minibuffer is in @code{minibuffer-inactive-mode},
200and clicking @kbd{Mouse-1} there shows the @samp{*Messages*} buffer. 200and clicking @kbd{Mouse-1} there shows the @file{*Messages*} buffer.
201If you use a dedicated frame for minibuffers, Emacs also recognizes 201If you use a dedicated frame for minibuffers, Emacs also recognizes
202certain keys there, for example @kbd{n} to make a new frame. 202certain keys there, for example @kbd{n} to make a new frame.
203 203
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 84b9d6ee03b..b291aff0ba4 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -92,7 +92,7 @@ file named @file{.newsrc} in your home directory which lists your
92Usenet newsgroups and subscriptions (this file is not unique to Gnus; 92Usenet newsgroups and subscriptions (this file is not unique to Gnus;
93it is used by many other newsreader programs). It then tries to 93it is used by many other newsreader programs). It then tries to
94contact the system's default news server, which is typically specified 94contact the system's default news server, which is typically specified
95by the @samp{NNTPSERVER} environment variable. 95by the @env{NNTPSERVER} environment variable.
96 96
97 If your system does not have a default news server, or if you wish 97 If your system does not have a default news server, or if you wish
98to use Gnus for reading email, then before invoking @kbd{M-x gnus} you 98to use Gnus for reading email, then before invoking @kbd{M-x gnus} you
@@ -507,7 +507,7 @@ minibuffer and executes it as a shell command, in a subshell made just
507for that command. Standard input for the command comes from the null 507for that command. Standard input for the command comes from the null
508device. If the shell command produces any output, the output appears 508device. If the shell command produces any output, the output appears
509either in the echo area (if it is short), or in an Emacs buffer named 509either in the echo area (if it is short), or in an Emacs buffer named
510@samp{*Shell Command Output*}, displayed in another window (if the 510@file{*Shell Command Output*}, displayed in another window (if the
511output is long). 511output is long).
512 512
513 For instance, one way to decompress a file named @file{foo.gz} is to 513 For instance, one way to decompress a file named @file{foo.gz} is to
@@ -554,7 +554,7 @@ old region and replaces it with the output from the shell command.
554see what keys are in the buffer. If the buffer contains a GnuPG key, 554see what keys are in the buffer. If the buffer contains a GnuPG key,
555type @kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents 555type @kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents
556to @command{gpg}. This will output the list of keys to the 556to @command{gpg}. This will output the list of keys to the
557@samp{*Shell Command Output*} buffer. 557@file{*Shell Command Output*} buffer.
558 558
559@vindex shell-file-name 559@vindex shell-file-name
560 The above commands use the shell specified by the variable 560 The above commands use the shell specified by the variable
@@ -577,7 +577,7 @@ inserted into a buffer of that name.
577 577
578@findex shell 578@findex shell
579 To run a subshell interactively, type @kbd{M-x shell}. This creates 579 To run a subshell interactively, type @kbd{M-x shell}. This creates
580(or reuses) a buffer named @samp{*shell*}, and runs a shell subprocess 580(or reuses) a buffer named @file{*shell*}, and runs a shell subprocess
581with input coming from and output going to that buffer. That is to 581with input coming from and output going to that buffer. That is to
582say, any terminal output from the subshell goes into the buffer, 582say, any terminal output from the subshell goes into the buffer,
583advancing point, and any terminal input for the subshell comes from 583advancing point, and any terminal input for the subshell comes from
@@ -600,8 +600,8 @@ easier to distinguish input lines from the shell output.
600 To make multiple subshells, invoke @kbd{M-x shell} with a prefix 600 To make multiple subshells, invoke @kbd{M-x shell} with a prefix
601argument (e.g. @kbd{C-u M-x shell}). Then the command will read a 601argument (e.g. @kbd{C-u M-x shell}). Then the command will read a
602buffer name, and create (or reuse) a subshell in that buffer. You can 602buffer name, and create (or reuse) a subshell in that buffer. You can
603also rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely}, 603also rename the @file{*shell*} buffer using @kbd{M-x rename-uniquely},
604then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}. 604then create a new @file{*shell*} buffer using plain @kbd{M-x shell}.
605Subshells in different buffers run independently and in parallel. 605Subshells in different buffers run independently and in parallel.
606 606
607@vindex explicit-shell-file-name 607@vindex explicit-shell-file-name
@@ -1183,7 +1183,7 @@ underlying shell, of course.
1183@findex term 1183@findex term
1184 1184
1185 To run a subshell in a terminal emulator, use @kbd{M-x term}. This 1185 To run a subshell in a terminal emulator, use @kbd{M-x term}. This
1186creates (or reuses) a buffer named @samp{*terminal*}, and runs a 1186creates (or reuses) a buffer named @file{*terminal*}, and runs a
1187subshell with input coming from your keyboard, and output going to 1187subshell with input coming from your keyboard, and output going to
1188that buffer. 1188that buffer.
1189 1189
@@ -1212,7 +1212,7 @@ serial port. @xref{Serial Terminal}.
1212 1212
1213 The file name used to load the subshell is determined the same way 1213 The file name used to load the subshell is determined the same way
1214as for Shell mode. To make multiple terminal emulators, rename the 1214as for Shell mode. To make multiple terminal emulators, rename the
1215buffer @samp{*terminal*} to something different using @kbd{M-x 1215buffer @file{*terminal*} to something different using @kbd{M-x
1216rename-uniquely}, just as with Shell mode. 1216rename-uniquely}, just as with Shell mode.
1217 1217
1218 Unlike Shell mode, Term mode does not track the current directory by 1218 Unlike Shell mode, Term mode does not track the current directory by
@@ -1511,7 +1511,7 @@ systems, such as MS-Windows (@pxref{Windows Startup, emacsclient}),
1511where it cannot create graphical frames when started from a text-only 1511where it cannot create graphical frames when started from a text-only
1512terminal, it creates a new text-only terminal frame (@pxref{Frames}). 1512terminal, it creates a new text-only terminal frame (@pxref{Frames}).
1513If you omit a filename argument while supplying the @samp{-c} option, 1513If you omit a filename argument while supplying the @samp{-c} option,
1514the new frame displays the @samp{*scratch*} buffer (@pxref{Buffers}). 1514the new frame displays the @file{*scratch*} buffer (@pxref{Buffers}).
1515 1515
1516@item -F @var{alist} 1516@item -F @var{alist}
1517@itemx --frame-parameters=@var{alist} 1517@itemx --frame-parameters=@var{alist}
@@ -1600,7 +1600,7 @@ graphical display. On systems, such as MS-Windows, where this is
1600impossible, Emacs will create a new frame, either GUI or text-only, on 1600impossible, Emacs will create a new frame, either GUI or text-only, on
1601the same terminal where it was started (@pxref{Windows Startup, 1601the same terminal where it was started (@pxref{Windows Startup,
1602emacsclient}). If you omit a filename argument while supplying this 1602emacsclient}). If you omit a filename argument while supplying this
1603option, the new frame displays the @samp{*scratch*} buffer. 1603option, the new frame displays the @file{*scratch*} buffer.
1604@xref{Buffers}. 1604@xref{Buffers}.
1605@end table 1605@end table
1606 1606
@@ -1868,7 +1868,7 @@ init file (@pxref{Init File}), followed by @code{(pr-update-menus)}.
1868This function replaces the usual printing commands in the menu bar 1868This function replaces the usual printing commands in the menu bar
1869with a @samp{Printing} submenu that contains various printing options. 1869with a @samp{Printing} submenu that contains various printing options.
1870You can also type @kbd{M-x pr-interface RET}; this creates a 1870You can also type @kbd{M-x pr-interface RET}; this creates a
1871@samp{*Printing Interface*} buffer, similar to a customization buffer, 1871@file{*Printing Interface*} buffer, similar to a customization buffer,
1872where you can set the printing options. After selecting what and how 1872where you can set the printing options. After selecting what and how
1873to print, you start the print job using the @samp{Print} button (click 1873to print, you start the print job using the @samp{Print} button (click
1874@kbd{mouse-2} on it, or move point over it and type @kbd{RET}). For 1874@kbd{mouse-2} on it, or move point over it and type @kbd{RET}). For
@@ -2482,7 +2482,7 @@ encrypted in a simple monoalphabetic substitution cipher.
2482@findex dissociated-press 2482@findex dissociated-press
2483 @kbd{M-x dissociated-press} scrambles the text in the current Emacs 2483 @kbd{M-x dissociated-press} scrambles the text in the current Emacs
2484buffer, word by word or character by character, writing its output to 2484buffer, word by word or character by character, writing its output to
2485a buffer named @samp{*Dissociation*}. A positive argument tells it to 2485a buffer named @file{*Dissociation*}. A positive argument tells it to
2486operate character by character, and specifies the number of overlap 2486operate character by character, and specifies the number of overlap
2487characters. A negative argument tells it to operate word by word, and 2487characters. A negative argument tells it to operate word by word, and
2488specifies the number of overlap words. Dissociated Press produces 2488specifies the number of overlap words. Dissociated Press produces
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index aeaec2c502e..4cf66c14138 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -41,7 +41,7 @@ including European and Vietnamese variants of the Latin alphabet, as
41well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek, 41well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
42Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA, 42Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
43Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts. 43Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
44Emacs also supports various encodings of these characters used by 44Emacs also supports various encodings of these characters that are used by
45other internationalized software, such as word processors and mailers. 45other internationalized software, such as word processors and mailers.
46 46
47 Emacs allows editing text with international characters by supporting 47 Emacs allows editing text with international characters by supporting
@@ -74,14 +74,14 @@ others.
74@item 74@item
75You can insert non-@acronym{ASCII} characters or search for them. To do that, 75You can insert non-@acronym{ASCII} characters or search for them. To do that,
76you can specify an input method (@pxref{Select Input Method}) suitable 76you can specify an input method (@pxref{Select Input Method}) suitable
77for your language, or use the default input method set up when you set 77for your language, or use the default input method set up when you chose
78your language environment. If 78your language environment. If
79your keyboard can produce non-@acronym{ASCII} characters, you can select an 79your keyboard can produce non-@acronym{ASCII} characters, you can select an
80appropriate keyboard coding system (@pxref{Terminal Coding}), and Emacs 80appropriate keyboard coding system (@pxref{Terminal Coding}), and Emacs
81will accept those characters. Latin-1 characters can also be input by 81will accept those characters. Latin-1 characters can also be input by
82using the @kbd{C-x 8} prefix, see @ref{Unibyte Mode}. 82using the @kbd{C-x 8} prefix, see @ref{Unibyte Mode}.
83 83
84On the X Window System, your locale should be set to an appropriate 84With the X Window System, your locale should be set to an appropriate
85value to make sure Emacs interprets keyboard input correctly; see 85value to make sure Emacs interprets keyboard input correctly; see
86@ref{Language Environments, locales}. 86@ref{Language Environments, locales}.
87@end itemize 87@end itemize
@@ -90,7 +90,7 @@ value to make sure Emacs interprets keyboard input correctly; see
90 90
91@menu 91@menu
92* International Chars:: Basic concepts of multibyte characters. 92* International Chars:: Basic concepts of multibyte characters.
93* Enabling Multibyte:: Controlling whether to use multibyte characters. 93* Disabling Multibyte:: Controlling whether to use multibyte characters.
94* Language Environments:: Setting things up for the language you use. 94* Language Environments:: Setting things up for the language you use.
95* Input Methods:: Entering text characters not on your keyboard. 95* Input Methods:: Entering text characters not on your keyboard.
96* Select Input Method:: Specifying your choice of input methods. 96* Select Input Method:: Specifying your choice of input methods.
@@ -224,29 +224,30 @@ faces used to display the character, and any overlays containing it
224in a buffer whose coding system is @code{utf-8-unix}: 224in a buffer whose coding system is @code{utf-8-unix}:
225 225
226@smallexample 226@smallexample
227 character: @`A (192, #o300, #xc0) 227 position: 1 of 1 (0%), column: 0
228preferred charset: unicode (Unicode (ISO10646)) 228 character: @`A (displayed as @`A) (codepoint 192, #o300, #xc0)
229 code point: 0xC0 229 preferred charset: unicode (Unicode (ISO10646))
230 syntax: w which means: word 230code point in charset: 0xC0
231 category: j:Japanese l:Latin v:Vietnamese 231 syntax: w which means: word
232 buffer code: #xC3 #x80 232 category: .:Base, L:Left-to-right (strong),
233 file code: not encodable by coding system undecided-unix 233 j:Japanese, l:Latin, v:Viet
234 display: by this font (glyph code) 234 buffer code: #xC3 #x80
235 file code: not encodable by coding system undecided-unix
236 display: by this font (glyph code)
235 xft:-unknown-DejaVu Sans Mono-normal-normal- 237 xft:-unknown-DejaVu Sans Mono-normal-normal-
236 normal-*-13-*-*-*-m-0-iso10646-1 (#x82) 238 normal-*-13-*-*-*-m-0-iso10646-1 (#x82)
237 239
238Character code properties: customize what to show 240Character code properties: customize what to show
239 name: LATIN CAPITAL LETTER A WITH GRAVE 241 name: LATIN CAPITAL LETTER A WITH GRAVE
242 old-name: LATIN CAPITAL LETTER A GRAVE
240 general-category: Lu (Letter, Uppercase) 243 general-category: Lu (Letter, Uppercase)
241 decomposition: (65 768) ('A' '`') 244 decomposition: (65 768) ('A' '`')
242 old-name: LATIN CAPITAL LETTER A GRAVE
243
244There are text properties here:
245 auto-composed t
246@end smallexample 245@end smallexample
247 246
248@node Enabling Multibyte 247@c FIXME? Does this section even belong in the user manual?
249@section Enabling Multibyte Characters 248@c Seems more appropriate to the lispref?
249@node Disabling Multibyte
250@section Disabling Multibyte Characters
250 251
251 By default, Emacs starts in multibyte mode: it stores the contents 252 By default, Emacs starts in multibyte mode: it stores the contents
252of buffers and strings using an internal encoding that represents 253of buffers and strings using an internal encoding that represents
@@ -275,32 +276,48 @@ Coding}. Unlike @code{find-file-literally}, finding a file as
275@samp{raw-text} doesn't disable format conversion, uncompression, or 276@samp{raw-text} doesn't disable format conversion, uncompression, or
276auto mode selection. 277auto mode selection.
277 278
279@c Not a single file in Emacs uses this feature. Is it really worth
280@c mentioning in the _user_ manual? Also, this duplicates somewhat
281@c "Loading Non-ASCII" from the lispref.
278@cindex Lisp files, and multibyte operation 282@cindex Lisp files, and multibyte operation
279@cindex multibyte operation, and Lisp files 283@cindex multibyte operation, and Lisp files
280@cindex unibyte operation, and Lisp files 284@cindex unibyte operation, and Lisp files
281@cindex init file, and non-@acronym{ASCII} characters 285@cindex init file, and non-@acronym{ASCII} characters
282 Emacs normally loads Lisp files as multibyte. 286 Emacs normally loads Lisp files as multibyte.
283This includes the Emacs initialization 287This includes the Emacs initialization
284file, @file{.emacs}, and the initialization files of Emacs packages 288file, @file{.emacs}, and the initialization files of packages
285such as Gnus. However, you can specify unibyte loading for a 289such as Gnus. However, you can specify unibyte loading for a
286particular Lisp file, by putting @w{@samp{-*-unibyte: t;-*-}} in a 290particular Lisp file, by adding an entry @samp{unibyte: t} in a file
287comment on the first line (@pxref{File Variables}). Then that file is 291local variables section (@pxref{File Variables}). Then that file is
288always loaded as unibyte text. The motivation for these conventions 292always loaded as unibyte text. Note that this does not represent a
289is that it is more reliable to always load any particular Lisp file in 293real @code{unibyte} variable, rather it just acts as an indicator
290the same way. However, you can load a Lisp file as unibyte, on any 294to Emacs in the same way as @code{coding} does (@pxref{Specify Coding}).
291one occasion, by typing @kbd{C-x @key{RET} c raw-text @key{RET}} 295@ignore
292immediately before loading it. 296@c I don't see the point of this statement:
293 297The motivation for these conventions is that it is more reliable to
294 The mode line indicates whether multibyte character support is 298always load any particular Lisp file in the same way.
295enabled in the current buffer. If it is, there are two or more 299@end ignore
296characters (most often two dashes) near the beginning of the mode 300Note also that this feature only applies to @emph{loading} Lisp files
297line, before the indication of the visited file's end-of-line 301for evaluation, not to visiting them for editing. You can also load a
298convention (colon, backslash, etc.). When multibyte characters 302Lisp file as unibyte, on any one occasion, by typing @kbd{C-x
299are not enabled, nothing precedes the colon except a single dash. 303@key{RET} c raw-text @key{RET}} immediately before loading it.
300@xref{Mode Line}, for more details about this. 304
305@c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
306@vindex enable-multibyte-characters
307The buffer-local variable @code{enable-multibyte-characters} is
308non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones.
309The mode line also indicates whether a buffer is multibyte or not.
310@xref{Mode Line}. With a graphical display, in a multibyte buffer,
311the portion of the mode line that indicates the character set has a
312tooltip that (amongst other things) says that the buffer is multibyte.
313In a unibyte buffer, the character set indicator is absent. Thus, in
314a unibyte buffer (when using a graphical display) there is normally
315nothing before the indication of the visited file's end-of-line
316convention (colon, backslash, etc.), unless you are using an input
317method.
301 318
302@findex toggle-enable-multibyte-characters 319@findex toggle-enable-multibyte-characters
303You can turn on multibyte support in a specific buffer by invoking the 320You can turn off multibyte support in a specific buffer by invoking the
304command @code{toggle-enable-multibyte-characters} in that buffer. 321command @code{toggle-enable-multibyte-characters} in that buffer.
305 322
306@node Language Environments 323@node Language Environments
@@ -309,8 +326,8 @@ command @code{toggle-enable-multibyte-characters} in that buffer.
309 326
310 All supported character sets are supported in Emacs buffers whenever 327 All supported character sets are supported in Emacs buffers whenever
311multibyte characters are enabled; there is no need to select a 328multibyte characters are enabled; there is no need to select a
312particular language in order to display its characters in an Emacs 329particular language in order to display its characters.
313buffer. However, it is important to select a @dfn{language 330However, it is important to select a @dfn{language
314environment} in order to set various defaults. Roughly speaking, the 331environment} in order to set various defaults. Roughly speaking, the
315language environment represents a choice of preferred script rather 332language environment represents a choice of preferred script rather
316than a choice of language. 333than a choice of language.
@@ -327,7 +344,8 @@ language environment also specifies a default input method.
327@code{current-language-environment} or use the command @kbd{M-x 344@code{current-language-environment} or use the command @kbd{M-x
328set-language-environment}. It makes no difference which buffer is 345set-language-environment}. It makes no difference which buffer is
329current when you use this command, because the effects apply globally 346current when you use this command, because the effects apply globally
330to the Emacs session. The supported language environments include: 347to the Emacs session. The supported language environments
348(see the variable @code{language-info-alist}) include:
331 349
332@cindex Euro sign 350@cindex Euro sign
333@cindex UTF-8 351@cindex UTF-8
@@ -351,11 +369,15 @@ which prefers Cyrillic characters and files encoded in Windows-1255).
351@cindex Intlfonts package, installation 369@cindex Intlfonts package, installation
352 To display the script(s) used by your language environment on a 370 To display the script(s) used by your language environment on a
353graphical display, you need to have a suitable font. If some of the 371graphical display, you need to have a suitable font. If some of the
354characters appear as empty boxes or hex codes, you should install the 372characters appear as empty boxes or hex codes, you should install
373extra fonts. Your operating system may have optional fonts that
374you can install; or you can install the
355GNU Intlfonts package, which includes fonts for most supported 375GNU Intlfonts package, which includes fonts for most supported
356scripts.@footnote{If you run Emacs on X, you need to inform the X 376scripts.@footnote{If you run Emacs on X, you may need to inform the X
357server about the location of the newly installed fonts with the 377server about the location of the newly installed fonts with
358following commands: 378commands such as:
379@c FIXME? I feel like this may be out of date.
380@c Eg the intlfonts tarfile is ~ 10 years old.
359 381
360@example 382@example
361 xset fp+ /usr/local/share/emacs/fonts 383 xset fp+ /usr/local/share/emacs/fonts
@@ -370,22 +392,25 @@ following commands:
370@cindex locales 392@cindex locales
371 Some operating systems let you specify the character-set locale you 393 Some operating systems let you specify the character-set locale you
372are using by setting the locale environment variables @env{LC_ALL}, 394are using by setting the locale environment variables @env{LC_ALL},
373@env{LC_CTYPE}, or @env{LANG}.@footnote{If more than one of these is 395@env{LC_CTYPE}, or @env{LANG}. (If more than one of these is
374set, the first one that is nonempty specifies your locale for this 396set, the first one that is nonempty specifies your locale for this
375purpose.} During startup, Emacs looks up your character-set locale's 397purpose.) During startup, Emacs looks up your character-set locale's
376name in the system locale alias table, matches its canonical name 398name in the system locale alias table, matches its canonical name
377against entries in the value of the variables 399against entries in the value of the variables
378@code{locale-charset-language-names} and @code{locale-language-names}, 400@code{locale-charset-language-names} and @code{locale-language-names}
401(the former overrides the latter),
379and selects the corresponding language environment if a match is found. 402and selects the corresponding language environment if a match is found.
380(The former variable overrides the latter.) It also adjusts the display 403It also adjusts the display
381table and terminal coding system, the locale coding system, the 404table and terminal coding system, the locale coding system, the
382preferred coding system as needed for the locale, and---last but not 405preferred coding system as needed for the locale, and---last but not
383least---the way Emacs decodes non-@acronym{ASCII} characters sent by your keyboard. 406least---the way Emacs decodes non-@acronym{ASCII} characters sent by your keyboard.
384 407
408@c This seems unlikely, doesn't it?
385 If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG} 409 If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG}
386environment variables while running Emacs, you may want to invoke the 410environment variables while running Emacs (by using @kbd{M-x setenv}),
387@code{set-locale-environment} function afterwards to readjust the 411you may want to invoke the @code{set-locale-environment}
388language environment from the new locale. 412function afterwards to readjust the language environment from the new
413locale.
389 414
390@vindex locale-preferred-coding-systems 415@vindex locale-preferred-coding-systems
391 The @code{set-locale-environment} function normally uses the preferred 416 The @code{set-locale-environment} function normally uses the preferred
@@ -421,7 +446,7 @@ this command describes the chosen language environment.
421language environment. The hook functions can test for a specific 446language environment. The hook functions can test for a specific
422language environment by checking the variable 447language environment by checking the variable
423@code{current-language-environment}. This hook is where you should 448@code{current-language-environment}. This hook is where you should
424put non-default settings for specific language environment, such as 449put non-default settings for specific language environments, such as
425coding systems for keyboard input and terminal output, the default 450coding systems for keyboard input and terminal output, the default
426input method, etc. 451input method, etc.
427 452
@@ -441,7 +466,7 @@ for that key.
441@cindex input methods 466@cindex input methods
442 An @dfn{input method} is a kind of character conversion designed 467 An @dfn{input method} is a kind of character conversion designed
443specifically for interactive input. In Emacs, typically each language 468specifically for interactive input. In Emacs, typically each language
444has its own input method; sometimes several languages which use the same 469has its own input method; sometimes several languages that use the same
445characters can share one input method. A few languages support several 470characters can share one input method. A few languages support several
446input methods. 471input methods.
447 472
@@ -454,14 +479,14 @@ work this way.
454characters into one letter. Many European input methods use composition 479characters into one letter. Many European input methods use composition
455to produce a single non-@acronym{ASCII} letter from a sequence that consists of a 480to produce a single non-@acronym{ASCII} letter from a sequence that consists of a
456letter followed by accent characters (or vice versa). For example, some 481letter followed by accent characters (or vice versa). For example, some
457methods convert the sequence @kbd{a'} into a single accented letter. 482methods convert the sequence @kbd{o ^} into a single accented letter.
458These input methods have no special commands of their own; all they do 483These input methods have no special commands of their own; all they do
459is compose sequences of printing characters. 484is compose sequences of printing characters.
460 485
461 The input methods for syllabic scripts typically use mapping followed 486 The input methods for syllabic scripts typically use mapping followed
462by composition. The input methods for Thai and Korean work this way. 487by composition. The input methods for Thai and Korean work this way.
463First, letters are mapped into symbols for particular sounds or tone 488First, letters are mapped into symbols for particular sounds or tone
464marks; then, sequences of these which make up a whole syllable are 489marks; then, sequences of these that make up a whole syllable are
465mapped into one syllable sign. 490mapped into one syllable sign.
466 491
467 Chinese and Japanese require more complex methods. In Chinese input 492 Chinese and Japanese require more complex methods. In Chinese input
@@ -471,7 +496,8 @@ portions of the character (input methods @code{chinese-4corner} and
471@code{chinese-sw}, and others). One input sequence typically 496@code{chinese-sw}, and others). One input sequence typically
472corresponds to many possible Chinese characters. You select the one 497corresponds to many possible Chinese characters. You select the one
473you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n}, 498you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n},
474@kbd{C-p}, and digits, which have special meanings in this situation. 499@kbd{C-p} (or the arrow keys), and digits, which have special meanings
500in this situation.
475 501
476 The possible characters are conceptually arranged in several rows, 502 The possible characters are conceptually arranged in several rows,
477with each row holding up to 10 alternatives. Normally, Emacs displays 503with each row holding up to 10 alternatives. Normally, Emacs displays
@@ -485,8 +511,8 @@ the alternatives in the current row. As you do this, Emacs highlights
485the current alternative with a special color; type @code{C-@key{SPC}} 511the current alternative with a special color; type @code{C-@key{SPC}}
486to select the current alternative and use it as input. The 512to select the current alternative and use it as input. The
487alternatives in the row are also numbered; the number appears before 513alternatives in the row are also numbered; the number appears before
488the alternative. Typing a digit @var{n} selects the @var{n}th 514the alternative. Typing a number selects the associated alternative
489alternative of the current row and uses it as input. 515of the current row and uses it as input.
490 516
491 @key{TAB} in these Chinese input methods displays a buffer showing 517 @key{TAB} in these Chinese input methods displays a buffer showing
492all the possible characters at once; then clicking @kbd{Mouse-2} on 518all the possible characters at once; then clicking @kbd{Mouse-2} on
@@ -505,15 +531,15 @@ the alternatives.
505 Sometimes it is useful to cut off input method processing so that the 531 Sometimes it is useful to cut off input method processing so that the
506characters you have just entered will not combine with subsequent 532characters you have just entered will not combine with subsequent
507characters. For example, in input method @code{latin-1-postfix}, the 533characters. For example, in input method @code{latin-1-postfix}, the
508sequence @kbd{e '} combines to form an @samp{e} with an accent. What if 534sequence @kbd{o ^} combines to form an @samp{o} with an accent. What if
509you want to enter them as separate characters? 535you want to enter them as separate characters?
510 536
511 One way is to type the accent twice; this is a special feature for 537 One way is to type the accent twice; this is a special feature for
512entering the separate letter and accent. For example, @kbd{e ' '} gives 538entering the separate letter and accent. For example, @kbd{o ^ ^} gives
513you the two characters @samp{e'}. Another way is to type another letter 539you the two characters @samp{o^}. Another way is to type another letter
514after the @kbd{e}---something that won't combine with that---and 540after the @kbd{o}---something that won't combine with that---and
515immediately delete it. For example, you could type @kbd{e e @key{DEL} 541immediately delete it. For example, you could type @kbd{o o @key{DEL}
516'} to get separate @samp{e} and @samp{'}. 542^} to get separate @samp{o} and @samp{^}.
517 543
518 Another method, more general but not quite as easy to type, is to use 544 Another method, more general but not quite as easy to type, is to use
519@kbd{C-\ C-\} between two characters to stop them from combining. This 545@kbd{C-\ C-\} between two characters to stop them from combining. This
@@ -542,7 +568,7 @@ possible characters to type next is displayed in the echo area (but
542not when you are in the minibuffer). 568not when you are in the minibuffer).
543 569
544 Another facility for typing characters not on your keyboard is by 570 Another facility for typing characters not on your keyboard is by
545using the @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single 571using @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single
546character based on its Unicode name or code-point; see @ref{Inserting 572character based on its Unicode name or code-point; see @ref{Inserting
547Text}. 573Text}.
548 574
@@ -588,7 +614,7 @@ turn off the input method temporarily. To do this, type @kbd{C-\}
588@kbd{C-\} again. 614@kbd{C-\} again.
589 615
590 If you type @kbd{C-\} and you have not yet selected an input method, 616 If you type @kbd{C-\} and you have not yet selected an input method,
591it prompts for you to specify one. This has the same effect as using 617it prompts you to specify one. This has the same effect as using
592@kbd{C-x @key{RET} C-\} to specify an input method. 618@kbd{C-x @key{RET} C-\} to specify an input method.
593 619
594 When invoked with a numeric argument, as in @kbd{C-u C-\}, 620 When invoked with a numeric argument, as in @kbd{C-u C-\},
@@ -631,7 +657,7 @@ automatically. For example:
631@end lisp 657@end lisp
632 658
633@noindent 659@noindent
634This activates the input method ``german-prefix'' automatically in the 660This automatically activates the input method ``german-prefix'' in
635Text mode. 661Text mode.
636 662
637@findex quail-set-keyboard-layout 663@findex quail-set-keyboard-layout
@@ -645,7 +671,7 @@ the command @kbd{M-x quail-set-keyboard-layout}.
645 You can use the command @kbd{M-x quail-show-key} to show what key (or 671 You can use the command @kbd{M-x quail-show-key} to show what key (or
646key sequence) to type in order to input the character following point, 672key sequence) to type in order to input the character following point,
647using the selected keyboard layout. The command @kbd{C-u C-x =} also 673using the selected keyboard layout. The command @kbd{C-u C-x =} also
648shows that information in addition to the other information about the 674shows that information, in addition to other information about the
649character. 675character.
650 676
651@findex list-input-methods 677@findex list-input-methods
@@ -685,7 +711,8 @@ system; for example, to visit a file encoded in codepage 850, type
685 In addition to converting various representations of non-@acronym{ASCII} 711 In addition to converting various representations of non-@acronym{ASCII}
686characters, a coding system can perform end-of-line conversion. Emacs 712characters, a coding system can perform end-of-line conversion. Emacs
687handles three different conventions for how to separate lines in a file: 713handles three different conventions for how to separate lines in a file:
688newline, carriage-return linefeed, and just carriage-return. 714newline (``unix''), carriage-return linefeed (``dos''), and just
715carriage-return (``mac'').
689 716
690@table @kbd 717@table @kbd
691@item C-h C @var{coding} @key{RET} 718@item C-h C @var{coding} @key{RET}
@@ -725,27 +752,27 @@ end-of-line conversion to be decided based on the contents of each file.
725For example, if the file appears to use the sequence carriage-return 752For example, if the file appears to use the sequence carriage-return
726linefeed to separate lines, DOS end-of-line conversion will be used. 753linefeed to separate lines, DOS end-of-line conversion will be used.
727 754
728 Each of the listed coding systems has three variants which specify 755 Each of the listed coding systems has three variants, which specify
729exactly what to do for end-of-line conversion: 756exactly what to do for end-of-line conversion:
730 757
731@table @code 758@table @code
732@item @dots{}-unix 759@item @dots{}-unix
733Don't do any end-of-line conversion; assume the file uses 760Don't do any end-of-line conversion; assume the file uses
734newline to separate lines. (This is the convention normally used 761newline to separate lines. (This is the convention normally used
735on Unix and GNU systems.) 762on Unix and GNU systems, and Mac OS X.)
736 763
737@item @dots{}-dos 764@item @dots{}-dos
738Assume the file uses carriage-return linefeed to separate lines, and do 765Assume the file uses carriage-return linefeed to separate lines, and do
739the appropriate conversion. (This is the convention normally used on 766the appropriate conversion. (This is the convention normally used on
740Microsoft systems.@footnote{It is also specified for MIME @samp{text/*} 767Microsoft systems.@footnote{It is also specified for MIME @samp{text/*}
741bodies and in other network transport contexts. It is different 768bodies and in other network transport contexts. It is different
742from the SGML reference syntax record-start/record-end format which 769from the SGML reference syntax record-start/record-end format, which
743Emacs doesn't support directly.}) 770Emacs doesn't support directly.})
744 771
745@item @dots{}-mac 772@item @dots{}-mac
746Assume the file uses carriage-return to separate lines, and do the 773Assume the file uses carriage-return to separate lines, and do the
747appropriate conversion. (This is the convention normally used on the 774appropriate conversion. (This was the convention used on the
748Macintosh system.) 775Macintosh system prior to OS X.)
749@end table 776@end table
750 777
751 These variant coding systems are omitted from the 778 These variant coding systems are omitted from the
@@ -763,7 +790,7 @@ be deduced from the text itself.
763 790
764@cindex @code{raw-text}, coding system 791@cindex @code{raw-text}, coding system
765 The coding system @code{raw-text} is good for a file which is mainly 792 The coding system @code{raw-text} is good for a file which is mainly
766@acronym{ASCII} text, but may contain byte values above 127 which are 793@acronym{ASCII} text, but may contain byte values above 127 that are
767not meant to encode non-@acronym{ASCII} characters. With 794not meant to encode non-@acronym{ASCII} characters. With
768@code{raw-text}, Emacs copies those byte values unchanged, and sets 795@code{raw-text}, Emacs copies those byte values unchanged, and sets
769@code{enable-multibyte-characters} to @code{nil} in the current buffer 796@code{enable-multibyte-characters} to @code{nil} in the current buffer
@@ -880,37 +907,47 @@ the buffer.
880 907
881 The default value of @code{inhibit-iso-escape-detection} is 908 The default value of @code{inhibit-iso-escape-detection} is
882@code{nil}. We recommend that you not change it permanently, only for 909@code{nil}. We recommend that you not change it permanently, only for
883one specific operation. That's because many Emacs Lisp source files 910one specific operation. That's because some Emacs Lisp source files
884in the Emacs distribution contain non-@acronym{ASCII} characters encoded in the 911in the Emacs distribution contain non-@acronym{ASCII} characters encoded in the
885coding system @code{iso-2022-7bit}, and they won't be 912coding system @code{iso-2022-7bit}, and they won't be
886decoded correctly when you visit those files if you suppress the 913decoded correctly when you visit those files if you suppress the
887escape sequence detection. 914escape sequence detection.
915@c I count a grand total of 3 such files, so is the above really true?
888 916
889@vindex auto-coding-alist 917@vindex auto-coding-alist
890@vindex auto-coding-regexp-alist 918@vindex auto-coding-regexp-alist
891@vindex auto-coding-functions 919 The variables @code{auto-coding-alist} and
892 The variables @code{auto-coding-alist}, 920@code{auto-coding-regexp-alist} are
893@code{auto-coding-regexp-alist} and @code{auto-coding-functions} are
894the strongest way to specify the coding system for certain patterns of 921the strongest way to specify the coding system for certain patterns of
895file names, or for files containing certain patterns; these variables 922file names, or for files containing certain patterns, respectively.
896even override @samp{-*-coding:-*-} tags in the file itself. Emacs 923These variables even override @samp{-*-coding:-*-} tags in the file
924itself. For example, Emacs
897uses @code{auto-coding-alist} for tar and archive files, to prevent it 925uses @code{auto-coding-alist} for tar and archive files, to prevent it
898from being confused by a @samp{-*-coding:-*-} tag in a member of the 926from being confused by a @samp{-*-coding:-*-} tag in a member of the
899archive and thinking it applies to the archive file as a whole. 927archive and thinking it applies to the archive file as a whole.
928@ignore
929@c This describes old-style BABYL files, which are no longer relevant.
900Likewise, Emacs uses @code{auto-coding-regexp-alist} to ensure that 930Likewise, Emacs uses @code{auto-coding-regexp-alist} to ensure that
901RMAIL files, whose names in general don't match any particular 931RMAIL files, whose names in general don't match any particular
902pattern, are decoded correctly. One of the builtin 932pattern, are decoded correctly.
933@end ignore
934
935@vindex auto-coding-functions
936 Another way to specify a coding system is with the variable
937@code{auto-coding-functions}. For example, one of the builtin
903@code{auto-coding-functions} detects the encoding for XML files. 938@code{auto-coding-functions} detects the encoding for XML files.
939Unlike the previous two, this variable does not override any
940@samp{-*-coding:-*-} tag.
904 941
942@c FIXME? This seems somewhat out of place. Move to the Rmail section?
905@vindex rmail-decode-mime-charset 943@vindex rmail-decode-mime-charset
906@vindex rmail-file-coding-system 944@vindex rmail-file-coding-system
907 When you get new mail in Rmail, each message is translated 945 When you get new mail in Rmail, each message is translated
908automatically from the coding system it is written in, as if it were a 946automatically from the coding system it is written in, as if it were a
909separate file. This uses the priority list of coding systems that you 947separate file. This uses the priority list of coding systems that you
910have specified. If a MIME message specifies a character set, Rmail 948have specified. If a MIME message specifies a character set, Rmail
911obeys that specification, unless @code{rmail-decode-mime-charset} is 949obeys that specification. For reading and saving Rmail files
912@code{nil}. For reading and saving Rmail files themselves, Emacs uses 950themselves, Emacs uses the coding system specified by the variable
913the coding system specified by the variable
914@code{rmail-file-coding-system}. The default value is @code{nil}, 951@code{rmail-file-coding-system}. The default value is @code{nil},
915which means that Rmail files are not translated (they are read and 952which means that Rmail files are not translated (they are read and
916written in the Emacs internal character code). 953written in the Emacs internal character code).
@@ -1540,7 +1577,7 @@ can still handle these character codes as if they belonged to
1540set-language-environment} and specify a suitable language environment 1577set-language-environment} and specify a suitable language environment
1541such as @samp{Latin-@var{n}}. 1578such as @samp{Latin-@var{n}}.
1542 1579
1543 For more information about unibyte operation, see @ref{Enabling 1580 For more information about unibyte operation, see @ref{Disabling
1544Multibyte}. Note particularly that you probably want to ensure that 1581Multibyte}. Note particularly that you probably want to ensure that
1545your initialization files are read as unibyte if they contain 1582your initialization files are read as unibyte if they contain
1546non-@acronym{ASCII} characters. 1583non-@acronym{ASCII} characters.
@@ -1613,7 +1650,7 @@ a key sequence is allowed.
1613library is loaded, the @key{ALT} modifier key, if the keyboard has 1650library is loaded, the @key{ALT} modifier key, if the keyboard has
1614one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together 1651one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together
1615with an accent character to modify the following letter. In addition, 1652with an accent character to modify the following letter. In addition,
1616if the keyboard has keys for the Latin-1 ``dead accent characters,'' 1653if the keyboard has keys for the Latin-1 ``dead accent characters'',
1617they too are defined to compose with the following character, once 1654they too are defined to compose with the following character, once
1618@code{iso-transl} is loaded. 1655@code{iso-transl} is loaded.
1619 1656
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 91b25cfa00e..4435590536f 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -14,7 +14,7 @@ Emacs includes a facility that lets you easily download and install
14separate Emacs Lisp program, sometimes including other components such 14separate Emacs Lisp program, sometimes including other components such
15as an Info manual. 15as an Info manual.
16 16
17 @kbd{M-x list-packages} brings up a buffer named @samp{*Packages*} 17 @kbd{M-x list-packages} brings up a buffer named @file{*Packages*}
18with a list of all packages. You can install or uninstall packages 18with a list of all packages. You can install or uninstall packages
19via this buffer. @xref{Package Menu}. 19via this buffer. @xref{Package Menu}.
20 20
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 8217400663f..5f7abcf3881 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -1130,7 +1130,7 @@ prompts for a topic, with completion (@pxref{Completion}), and runs
1130the @command{man} program to format the corresponding man page. If 1130the @command{man} program to format the corresponding man page. If
1131the system permits, it runs @command{man} asynchronously, so that you 1131the system permits, it runs @command{man} asynchronously, so that you
1132can keep on editing while the page is being formatted. The result 1132can keep on editing while the page is being formatted. The result
1133goes in a buffer named @samp{*Man @var{topic}*}. These buffers use a 1133goes in a buffer named @file{*Man @var{topic}*}. These buffers use a
1134special major mode, Man mode, that facilitates scrolling and jumping 1134special major mode, Man mode, that facilitates scrolling and jumping
1135to other manual pages. For details, type @kbd{C-h m} while in a Man 1135to other manual pages. For details, type @kbd{C-h m} while in a Man
1136mode buffer. 1136mode buffer.
@@ -1165,7 +1165,7 @@ command. Unlike @kbd{M-x man}, it does not run any external programs
1165to format and display the man pages; the formatting is done by Emacs, 1165to format and display the man pages; the formatting is done by Emacs,
1166so it works on systems such as MS-Windows where the @command{man} 1166so it works on systems such as MS-Windows where the @command{man}
1167program may be unavailable. It prompts for a man page, and displays 1167program may be unavailable. It prompts for a man page, and displays
1168it in a buffer named @samp{*WoMan @var{section} @var{topic}}. 1168it in a buffer named @file{*WoMan @var{section} @var{topic}}.
1169 1169
1170 @kbd{M-x woman} computes the completion list for manpages the first 1170 @kbd{M-x woman} computes the completion list for manpages the first
1171time you invoke the command. With a numeric argument, it recomputes 1171time you invoke the command. With a numeric argument, it recomputes
@@ -1705,7 +1705,7 @@ inserted on that line, and any @samp{\} there is deleted.
1705@cindex preprocessor highlighting 1705@cindex preprocessor highlighting
1706@findex cpp-highlight-buffer 1706@findex cpp-highlight-buffer
1707Highlight parts of the text according to its preprocessor conditionals. 1707Highlight parts of the text according to its preprocessor conditionals.
1708This command displays another buffer named @samp{*CPP Edit*}, which 1708This command displays another buffer named @file{*CPP Edit*}, which
1709serves as a graphic menu for selecting how to display particular kinds 1709serves as a graphic menu for selecting how to display particular kinds
1710of conditionals and their contents. After changing various settings, 1710of conditionals and their contents. After changing various settings,
1711click on @samp{[A]pply these settings} (or go to that buffer and type 1711click on @samp{[A]pply these settings} (or go to that buffer and type
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index fe3222e198f..fdc69a78cfc 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -131,15 +131,15 @@ Commands that take a long time often display messages ending in
131progress has been made, as a percentage), and add @samp{done} when 131progress has been made, as a percentage), and add @samp{done} when
132they are finished. 132they are finished.
133 133
134@cindex @samp{*Messages*} buffer 134@cindex @file{*Messages*} buffer
135@cindex saved echo area messages 135@cindex saved echo area messages
136@cindex messages saved from echo area 136@cindex messages saved from echo area
137@vindex message-log-max 137@vindex message-log-max
138 Informative echo area messages are saved in a special buffer named 138 Informative echo area messages are saved in a special buffer named
139@samp{*Messages*}. (We have not explained buffers yet; see 139@file{*Messages*}. (We have not explained buffers yet; see
140@ref{Buffers}, for more information about them.) If you miss a 140@ref{Buffers}, for more information about them.) If you miss a
141message that appeared briefly on the screen, you can switch to the 141message that appeared briefly on the screen, you can switch to the
142@samp{*Messages*} buffer to see it again. The @samp{*Messages*} 142@file{*Messages*} buffer to see it again. The @file{*Messages*}
143buffer is limited to a certain number of lines, specified by the 143buffer is limited to a certain number of lines, specified by the
144variable @code{message-log-max}. (We have not explained variables 144variable @code{message-log-max}. (We have not explained variables
145either; see @ref{Variables}, for more information about them.) Beyond 145either; see @ref{Variables}, for more information about them.) Beyond
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 877e291ff36..38f00f03532 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1308,7 +1308,7 @@ displayed before and after each matching line.
1308@kindex RET @r{(Occur mode)} 1308@kindex RET @r{(Occur mode)}
1309@kindex o @r{(Occur mode)} 1309@kindex o @r{(Occur mode)}
1310@kindex C-o @r{(Occur mode)} 1310@kindex C-o @r{(Occur mode)}
1311In the @samp{*Occur*} buffer, you can click on each entry, or move 1311In the @file{*Occur*} buffer, you can click on each entry, or move
1312point there and type @key{RET}, to visit the corresponding position in 1312point there and type @key{RET}, to visit the corresponding position in
1313the buffer that was searched. @kbd{o} and @kbd{C-o} display the match 1313the buffer that was searched. @kbd{o} and @kbd{C-o} display the match
1314in another window; @kbd{C-o} does not select it. Alternatively, you 1314in another window; @kbd{C-o} does not select it. Alternatively, you
@@ -1317,7 +1317,7 @@ occurrences one by one (@pxref{Compilation Mode}).
1317 1317
1318@cindex Occur Edit mode 1318@cindex Occur Edit mode
1319@cindex mode, Occur Edit 1319@cindex mode, Occur Edit
1320Typing @kbd{e} in the @samp{*Occur*} buffer switches to Occur Edit 1320Typing @kbd{e} in the @file{*Occur*} buffer switches to Occur Edit
1321mode, in which edits made to the entries are also applied to the text 1321mode, in which edits made to the entries are also applied to the text
1322in the originating buffer. Type @kbd{C-c C-c} to return to Occur 1322in the originating buffer. Type @kbd{C-c C-c} to return to Occur
1323mode. 1323mode.
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi
index 5e80eb10824..bf2b41cdbe0 100644
--- a/doc/emacs/sending.texi
+++ b/doc/emacs/sending.texi
@@ -12,7 +12,7 @@
12@kindex C-x m 12@kindex C-x m
13@findex compose-mail 13@findex compose-mail
14 To send an email message from Emacs, type @kbd{C-x m}. This 14 To send an email message from Emacs, type @kbd{C-x m}. This
15switches to a buffer named @samp{*unsent mail*}, where you can edit 15switches to a buffer named @file{*unsent mail*}, where you can edit
16the text and headers of the message. When done, type @kbd{C-c C-s} or 16the text and headers of the message. When done, type @kbd{C-c C-s} or
17@kbd{C-c C-c} to send it. 17@kbd{C-c C-c} to send it.
18 18
@@ -306,7 +306,7 @@ completion, and inserts its definition at point.
306@cindex Message mode 306@cindex Message mode
307@cindex mode, Message 307@cindex mode, Message
308 308
309 The default major mode for the @samp{*mail*} buffer is called 309 The default major mode for the @file{*mail*} buffer is called
310Message mode. It behaves like Text mode in many ways, but provides 310Message mode. It behaves like Text mode in many ways, but provides
311several additional commands on the @kbd{C-c} prefix, which make 311several additional commands on the @kbd{C-c} prefix, which make
312editing a message more convenient. 312editing a message more convenient.
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 5363da7d649..e56b00e2723 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -1548,7 +1548,7 @@ text that belongs inside. Afterward, use the command @kbd{C-c @}}
1548point, and inserts two newlines to start a new paragraph. It outputs 1548point, and inserts two newlines to start a new paragraph. It outputs
1549a message in the echo area if any mismatch is found. @kbd{M-x 1549a message in the echo area if any mismatch is found. @kbd{M-x
1550tex-validate-region} checks a region, paragraph by paragraph. The 1550tex-validate-region} checks a region, paragraph by paragraph. The
1551errors are listed in an @samp{*Occur*} buffer; you can use the usual 1551errors are listed in an @file{*Occur*} buffer; you can use the usual
1552Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a 1552Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
1553particular mismatch (@pxref{Other Repeating Search}). 1553particular mismatch (@pxref{Other Repeating Search}).
1554 1554
@@ -1694,7 +1694,7 @@ name with @samp{*} in the command string. For example,
1694@findex tex-recenter-output-buffer 1694@findex tex-recenter-output-buffer
1695@kindex C-c C-l @r{(@TeX{} mode)} 1695@kindex C-c C-l @r{(@TeX{} mode)}
1696 The terminal output from @TeX{}, including any error messages, 1696 The terminal output from @TeX{}, including any error messages,
1697appears in a buffer called @samp{*tex-shell*}. If @TeX{} gets an 1697appears in a buffer called @file{*tex-shell*}. If @TeX{} gets an
1698error, you can switch to this buffer and feed it input (this works as 1698error, you can switch to this buffer and feed it input (this works as
1699in Shell mode; @pxref{Interactive Shell}). Without switching to this 1699in Shell mode; @pxref{Interactive Shell}). Without switching to this
1700buffer you can scroll it so that its last line is visible by typing 1700buffer you can scroll it so that its last line is visible by typing
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 1b3f1419af4..c4f291bde82 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -636,7 +636,7 @@ Emacs, so you will have to report the bug somewhere else.
636The type of machine you are using, and the operating system name and 636The type of machine you are using, and the operating system name and
637version number (again, automatically included by @kbd{M-x 637version number (again, automatically included by @kbd{M-x
638report-emacs-bug}). @kbd{M-x emacs-version @key{RET}} provides this 638report-emacs-bug}). @kbd{M-x emacs-version @key{RET}} provides this
639information too. Copy its output from the @samp{*Messages*} buffer, 639information too. Copy its output from the @file{*Messages*} buffer,
640so that you get it all and get it accurately. 640so that you get it all and get it accurately.
641 641
642@item 642@item
@@ -699,7 +699,7 @@ The way to collect the terminal output is to execute the Lisp expression
699@end example 699@end example
700 700
701@noindent 701@noindent
702using @kbd{M-:} or from the @samp{*scratch*} buffer just after 702using @kbd{M-:} or from the @file{*scratch*} buffer just after
703starting Emacs. From then on, Emacs copies all terminal output to the 703starting Emacs. From then on, Emacs copies all terminal output to the
704specified termscript file as well, until the Emacs process is killed. 704specified termscript file as well, until the Emacs process is killed.
705If the problem happens when Emacs starts up, put this expression into 705If the problem happens when Emacs starts up, put this expression into
@@ -725,10 +725,10 @@ Alternatively, use the @command{locale} command, if your system has it,
725to display your locale settings. 725to display your locale settings.
726 726
727You can use the @kbd{M-!} command to execute these commands from 727You can use the @kbd{M-!} command to execute these commands from
728Emacs, and then copy the output from the @samp{*Messages*} buffer into 728Emacs, and then copy the output from the @file{*Messages*} buffer into
729the bug report. Alternatively, @kbd{M-x getenv @key{RET} LC_ALL 729the bug report. Alternatively, @kbd{M-x getenv @key{RET} LC_ALL
730@key{RET}} will display the value of @code{LC_ALL} in the echo area, and 730@key{RET}} will display the value of @code{LC_ALL} in the echo area, and
731you can copy its output from the @samp{*Messages*} buffer. 731you can copy its output from the @file{*Messages*} buffer.
732 732
733@item 733@item
734A description of what behavior you observe that you believe is 734A description of what behavior you observe that you believe is
@@ -761,7 +761,7 @@ important to report the precise text of the error message, and a
761backtrace showing how the Lisp program in Emacs arrived at the error. 761backtrace showing how the Lisp program in Emacs arrived at the error.
762 762
763To get the error message text accurately, copy it from the 763To get the error message text accurately, copy it from the
764@samp{*Messages*} buffer into the bug report. Copy all of it, not just 764@file{*Messages*} buffer into the bug report. Copy all of it, not just
765part. 765part.
766 766
767@findex toggle-debug-on-error 767@findex toggle-debug-on-error
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index adac111f5f9..d9ebf07952c 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,7 @@
12012-04-14 Glenn Morris <rgm@gnu.org>
2
3 * Makefile.in: Replace non-portable use of $< in ordinary rules.
4
12012-02-28 Glenn Morris <rgm@gnu.org> 52012-02-28 Glenn Morris <rgm@gnu.org>
2 6
3 * emacs-lisp-intro.texi: Standardize possessive apostrophe usage. 7 * emacs-lisp-intro.texi: Standardize possessive apostrophe usage.
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in
index fa9a0a4037c..c638dd6135f 100644
--- a/doc/lispintro/Makefile.in
+++ b/doc/lispintro/Makefile.in
@@ -1,6 +1,6 @@
1#### Makefile for the Emacs Lisp Introduction manual 1#### Makefile for the Emacs Lisp Introduction manual
2 2
3# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc. 3# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
4 4
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6 6
@@ -48,21 +48,22 @@ ps: emacs-lisp-intro.ps
48 48
49# The file name eintr must fit within 5 characters, to allow for 49# The file name eintr must fit within 5 characters, to allow for
50# -NN extensions to fit into DOS 8+3 limits without clashing. 50# -NN extensions to fit into DOS 8+3 limits without clashing.
51# Note: "<" is not portable in ordinary make rules.
51${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi 52${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi
52 $(mkinfodir) 53 $(mkinfodir)
53 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< 54 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
54 55
55emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi 56emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi
56 $(ENVADD) $(TEXI2DVI) $< 57 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
57 58
58emacs-lisp-intro.ps: emacs-lisp-intro.dvi 59emacs-lisp-intro.ps: emacs-lisp-intro.dvi
59 $(DVIPS) -o $@ $< 60 $(DVIPS) -o $@ emacs-lisp-intro.dvi
60 61
61emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi 62emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi
62 $(ENVADD) $(TEXI2PDF) $< 63 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
63 64
64emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi 65emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi
65 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< 66 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi
66 67
67.PHONY: mostlyclean clean distclean maintainer-clean infoclean 68.PHONY: mostlyclean clean distclean maintainer-clean infoclean
68 69
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 81558bbd248..6b3aba6d799 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,45 @@
12012-04-14 Chong Yidong <cyd@gnu.org>
2
3 * customize.texi (Applying Customizations):
4 (Custom Themes): New nodes.
5
6 * display.texi (Defining Faces): Reference custom-set-faces.
7
8 * modes.texi (Defining Minor Modes, Defining Minor Modes):
9 * os.texi (Startup Summary): Copyedits.
10
112012-04-14 Glenn Morris <rgm@gnu.org>
12
13 * loading.texi (Loading Non-ASCII): "unibyte:" can also be at the end.
14
15 * strings.texi (Case Tables):
16 * objects.texi (General Escape Syntax):
17 * keymaps.texi (Key Sequences): Use @acronym with "ASCII".
18
19 * buffers.texi, compile.texi, customize.texi, debugging.texi:
20 * display.texi, edebug.texi, eval.texi, help.texi, intro.texi:
21 * keymaps.texi, minibuf.texi, modes.texi, os.texi, processes.texi:
22 * text.texi: Use @file for buffers, per the Texinfo manual.
23
24 * compile.texi (Compiler Errors): Add missing space in buffer name.
25
262012-04-14 Chong Yidong <cyd@gnu.org>
27
28 * processes.texi (Query Before Exit): Remove obsolete function
29 process-kill-without-query (Bug#11190).
30
312012-04-14 Glenn Morris <rgm@gnu.org>
32
33 * files.texi, frames.texi, loading.texi, os.texi, processes.texi:
34 Use @env for environment variables.
35
36 * Makefile.in: Replace non-portable use of $< in ordinary rules.
37
382012-04-12 Jari Aalto <jari.aalto@cante.net>
39
40 * processes.texi (Synchronous Processes): Mention
41 `default-directory' (bug#7515).
42
12012-04-09 Chong Yidong <cyd@gnu.org> 432012-04-09 Chong Yidong <cyd@gnu.org>
2 44
3 * customize.texi (Variable Definitions): Remove user-variable-p. 45 * customize.texi (Variable Definitions): Remove user-variable-p.
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index 5094a3f8ab6..10ec236eaee 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -106,21 +106,22 @@ html: elisp.html
106pdf: elisp.pdf 106pdf: elisp.pdf
107ps: elisp.ps 107ps: elisp.ps
108 108
109## Note: "<" is not portable in ordinary make rules.
109$(infodir)/elisp: $(srcs) 110$(infodir)/elisp: $(srcs)
110 $(mkinfodir) 111 $(mkinfodir)
111 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< 112 $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $(srcdir)/elisp.texi
112 113
113elisp.dvi: $(srcs) 114elisp.dvi: $(srcs)
114 $(ENVADD) $(TEXI2DVI) $< 115 $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
115 116
116elisp.html: $(srcs) 117elisp.html: $(srcs)
117 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< 118 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi
118 119
119elisp.ps: elisp.dvi 120elisp.ps: elisp.dvi
120 $(DVIPS) -o $@ $< 121 $(DVIPS) -o $@ elisp.dvi
121 122
122elisp.pdf: $(srcs) 123elisp.pdf: $(srcs)
123 $(ENVADD) $(TEXI2PDF) $< 124 $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
124 125
125.PHONY: mostlyclean clean distclean maintainer-clean infoclean 126.PHONY: mostlyclean clean distclean maintainer-clean infoclean
126 127
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index a64e8a0bd51..ada58c1c9e4 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/abbrevs
6@node Abbrevs, Processes, Syntax Tables, Top 5@node Abbrevs, Processes, Syntax Tables, Top
7@chapter Abbrevs and Abbrev Expansion 6@chapter Abbrevs and Abbrev Expansion
8@cindex abbrev 7@cindex abbrev
diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi
index a2f59b2ddc9..23f3d6d95c3 100644
--- a/doc/lispref/advice.texi
+++ b/doc/lispref/advice.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/advising
6@node Advising Functions, Debugging, Byte Compilation, Top 5@node Advising Functions, Debugging, Byte Compilation, Top
7@chapter Advising Emacs Lisp Functions 6@chapter Advising Emacs Lisp Functions
8@cindex advising functions 7@cindex advising functions
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index a1c5f20f28c..01dff70a5a4 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/backups
6@node Backups and Auto-Saving, Buffers, Files, Top 5@node Backups and Auto-Saving, Buffers, Files, Top
7@chapter Backups and Auto-Saving 6@chapter Backups and Auto-Saving
8@cindex backups and auto-saving 7@cindex backups and auto-saving
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 125a886ecb2..844b6423a52 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/buffers
7@node Buffers, Windows, Backups and Auto-Saving, Top 6@node Buffers, Windows, Backups and Auto-Saving, Top
8@chapter Buffers 7@chapter Buffers
9@cindex buffer 8@cindex buffer
@@ -863,7 +862,7 @@ a buffer visible in any window on any visible frame, except as a last
863resort. If @var{visible-ok} is non-@code{nil}, then it does not matter 862resort. If @var{visible-ok} is non-@code{nil}, then it does not matter
864whether a buffer is displayed somewhere or not. 863whether a buffer is displayed somewhere or not.
865 864
866If no suitable buffer exists, the buffer @samp{*scratch*} is returned 865If no suitable buffer exists, the buffer @file{*scratch*} is returned
867(and created, if necessary). 866(and created, if necessary).
868@end defun 867@end defun
869 868
@@ -874,7 +873,7 @@ selected frame's buffer list.
874 873
875The argument @var{visible-ok} is handled as with @code{other-buffer}, 874The argument @var{visible-ok} is handled as with @code{other-buffer},
876see above. If no suitable buffer can be found, the buffer 875see above. If no suitable buffer can be found, the buffer
877@samp{*scratch*} is returned. 876@file{*scratch*} is returned.
878@end defun 877@end defun
879 878
880@deffn Command bury-buffer &optional buffer-or-name 879@deffn Command bury-buffer &optional buffer-or-name
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 95039d36b7e..bf26d83b7bf 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/commands
6@node Command Loop, Keymaps, Minibuffers, Top 5@node Command Loop, Keymaps, Minibuffers, Top
7@chapter Command Loop 6@chapter Command Loop
8@cindex editor command loop 7@cindex editor command loop
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 90d038c29d6..ead75942b24 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/compile
6@node Byte Compilation, Advising Functions, Loading, Top 5@node Byte Compilation, Advising Functions, Loading, Top
7@chapter Byte Compilation 6@chapter Byte Compilation
8@cindex byte compilation 7@cindex byte compilation
@@ -92,7 +91,7 @@ the @code{byte-compile} function. You can compile a whole file with
92 91
93 Sometimes, the byte compiler produces warning and/or error messages 92 Sometimes, the byte compiler produces warning and/or error messages
94(@pxref{Compiler Errors}, for details). These messages are recorded 93(@pxref{Compiler Errors}, for details). These messages are recorded
95in a buffer called @samp{*Compile-Log*}, which uses Compilation mode. 94in a buffer called @file{*Compile-Log*}, which uses Compilation mode.
96@xref{Compilation Mode,,,emacs, The GNU Emacs Manual}. 95@xref{Compilation Mode,,,emacs, The GNU Emacs Manual}.
97 96
98@cindex macro compilation 97@cindex macro compilation
@@ -443,14 +442,14 @@ to what @code{eval-when-compile} does.
443@cindex compiler errors 442@cindex compiler errors
444 443
445 Byte compilation outputs all errors and warnings into the buffer 444 Byte compilation outputs all errors and warnings into the buffer
446@samp{*Compile-Log*}. The messages include file names and line 445@file{*Compile-Log*}. The messages include file names and line
447numbers that identify the location of the problem. The usual Emacs 446numbers that identify the location of the problem. The usual Emacs
448commands for operating on compiler diagnostics work properly on these 447commands for operating on compiler diagnostics work properly on these
449messages. 448messages.
450 449
451 When an error is due to invalid syntax in the program, the byte 450 When an error is due to invalid syntax in the program, the byte
452compiler might get confused about the errors' exact location. One way 451compiler might get confused about the errors' exact location. One way
453to investigate is to switch to the buffer @w{@samp{*Compiler Input*}}. 452to investigate is to switch to the buffer @w{@file{ *Compiler Input*}}.
454(This buffer name starts with a space, so it does not show up in 453(This buffer name starts with a space, so it does not show up in
455@kbd{M-x list-buffers}.) This buffer contains the program being 454@kbd{M-x list-buffers}.) This buffer contains the program being
456compiled, and point shows how far the byte compiler was able to read; 455compiled, and point shows how far the byte compiler was able to read;
@@ -602,7 +601,7 @@ the stack.
602@deffn Command disassemble object &optional buffer-or-name 601@deffn Command disassemble object &optional buffer-or-name
603This command displays the disassembled code for @var{object}. In 602This command displays the disassembled code for @var{object}. In
604interactive use, or if @var{buffer-or-name} is @code{nil} or omitted, 603interactive use, or if @var{buffer-or-name} is @code{nil} or omitted,
605the output goes in a buffer named @samp{*Disassemble*}. If 604the output goes in a buffer named @file{*Disassemble*}. If
606@var{buffer-or-name} is non-@code{nil}, it must be a buffer or the 605@var{buffer-or-name} is non-@code{nil}, it must be a buffer or the
607name of an existing buffer. Then the output goes there, at point, and 606name of an existing buffer. Then the output goes there, at point, and
608point is left before the output. 607point is left before the output.
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 8c45a1a4faf..aa24291d892 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/control
6@node Control Structures, Variables, Evaluation, Top 5@node Control Structures, Variables, Evaluation, Top
7@chapter Control Structures 6@chapter Control Structures
8@cindex special forms for control structures 7@cindex special forms for control structures
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index d86aea24fbc..04b3cdd11f0 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -1,23 +1,27 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1997-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/customize
6@node Customization, Loading, Macros, Top 5@node Customization, Loading, Macros, Top
7@chapter Writing Customization Definitions 6@chapter Customization Settings
8 7
9@cindex customization definitions 8@cindex customization item
10 This chapter describes how to declare user options for customization, 9 This chapter describes how to declare customizable variables and
11and also customization groups for classifying them. We use the term 10customization groups for classifying them. We use the term
12@dfn{customization item} to include both kinds of customization 11@dfn{customization item} to include customizable variables,
13definitions---as well as face definitions (@pxref{Defining Faces}). 12customization groups, as well as faces.
13
14 @xref{Defining Faces}, for the @code{defface} macro, which is used
15for declaring customizable faces.
14 16
15@menu 17@menu
16* Common Keywords:: Common keyword arguments for all kinds of 18* Common Keywords:: Common keyword arguments for all kinds of
17 customization declarations. 19 customization declarations.
18* Group Definitions:: Writing customization group definitions. 20* Group Definitions:: Writing customization group definitions.
19* Variable Definitions:: Declaring user options. 21* Variable Definitions:: Declaring user options.
20* Customization Types:: Specifying the type of a user option. 22* Customization Types:: Specifying the type of a user option.
23* Applying Customizations:: Functions to apply customization settings.
24* Custom Themes:: Writing Custom themes.
21@end menu 25@end menu
22 26
23@node Common Keywords 27@node Common Keywords
@@ -306,7 +310,7 @@ individual types for a description of how to use @code{:options}.
306@item :set @var{setfunction} 310@item :set @var{setfunction}
307@kindex set@r{, @code{defcustom} keyword} 311@kindex set@r{, @code{defcustom} keyword}
308Specify @var{setfunction} as the way to change the value of this 312Specify @var{setfunction} as the way to change the value of this
309option when using the Customize user interface. The function 313option when using the Customize interface. The function
310@var{setfunction} should take two arguments, a symbol (the option 314@var{setfunction} should take two arguments, a symbol (the option
311name) and the new value, and should do whatever is necessary to update 315name) and the new value, and should do whatever is necessary to update
312the value properly for this option (which may not mean simply setting 316the value properly for this option (which may not mean simply setting
@@ -588,7 +592,7 @@ The value must be a coding-system name, and you can do completion with
588@item color 592@item color
589The value must be a valid color name. The widget provides completion 593The value must be a valid color name. The widget provides completion
590for color names, as well as a sample and a button for selecting a 594for color names, as well as a sample and a button for selecting a
591color name from a list of color names shown in a @samp{*Colors*} 595color name from a list of color names shown in a @file{*Colors*}
592buffer. 596buffer.
593@end table 597@end table
594 598
@@ -1242,3 +1246,168 @@ the inferior widgets will convert @emph{their} inferior widgets. If
1242the data structure is itself recursive, this conversion is an infinite 1246the data structure is itself recursive, this conversion is an infinite
1243recursion. The @code{lazy} widget prevents the recursion: it convert 1247recursion. The @code{lazy} widget prevents the recursion: it convert
1244its @code{:type} argument only when needed. 1248its @code{:type} argument only when needed.
1249
1250@node Applying Customizations
1251@section Applying Customizations
1252
1253The following functions are responsible for installing the user's
1254customization settings for variables and faces, respectively. When
1255the user invokes @samp{Save for future sessions} in the Customize
1256interface, that takes effect by writing a @code{custom-set-variables}
1257and/or a @code{custom-set-faces} form into the custom file, to be
1258evaluated the next time Emacs starts up.
1259
1260@defun custom-set-variables &rest args
1261This function installs the variable customizations specified by
1262@var{args}. Each argument in @var{args} should have the form
1263
1264@example
1265(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
1266@end example
1267
1268@noindent
1269@var{var} is a variable name (a symbol), and @var{expression} is an
1270expression which evaluates to the desired customized value.
1271
1272If the @code{defcustom} form for @var{var} has been evaluated prior to
1273this @code{custom-set-variables} call, @var{expression} is immediately
1274evaluated, and the variable's value is set to the result. Otherwise,
1275@var{expression} is stored into the variable's @code{saved-value}
1276property, to be evaluated when the relevant @code{defcustom} is called
1277(usually when the library defining that variable is loaded into
1278Emacs).
1279
1280The @var{now}, @var{request}, and @var{comment} entries are for
1281internal use only, and may be omitted. @var{now}, if non-@code{nil},
1282means to set the variable's value now, even if the variable's
1283@code{defcustom} form has not been evaluated. @var{request} is a list
1284of features to be loaded immediately (@pxref{Named Features}).
1285@var{comment} is a string describing the customization.
1286@end defun
1287
1288@defun custom-set-faces &rest args
1289This function installs the face customizations specified by
1290@var{args}. Each argument in @var{args} should have the form
1291
1292@example
1293(@var{face} @var{spec} [@var{now} [@var{comment}]])
1294@end example
1295
1296@noindent
1297@var{face} is a face name (a symbol), and @var{spec} is the customized
1298face specification for that face (@pxref{Defining Faces}).
1299
1300The @var{now} and @var{comment} entries are for internal use only, and
1301may be omitted. @var{now}, if non-@code{nil}, means to install the
1302face specification now, even if the @code{defface} form has not been
1303evaluated. @var{comment} is a string describing the customization.
1304@end defun
1305
1306@node Custom Themes
1307@section Custom Themes
1308
1309 @dfn{Custom themes} are collections of settings that can be enabled
1310or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
1311Manual}. Each Custom theme is defined by an Emacs Lisp source file,
1312which should follow the conventions described in this section.
1313(Instead of writing a Custom theme by hand, you can also create one
1314using a Customize-like interface; @pxref{Creating Custom Themes,,,
1315emacs, The GNU Emacs Manual}.)
1316
1317 A Custom theme file should be named @file{@var{foo}-theme.el}, where
1318@var{foo} is the theme name. The first Lisp form in the file should
1319be a call to @code{deftheme}, and the last form should be a call to
1320@code{provide-theme}.
1321
1322@defmac deftheme theme &optional doc
1323This macro declares @var{theme} (a symbol) as the name of a Custom
1324theme. The optional argument @var{doc} should be a string describing
1325the theme; this is the description shown when the user invokes the
1326@code{describe-theme} command or types @kbd{?} in the @samp{*Custom
1327Themes*} buffer.
1328
1329Two special theme names are disallowed: @code{user} is a ``dummy''
1330theme which stores the user's direct customization settings, and
1331@code{changed} is a ``dummy'' theme which stores changes made outside
1332of the Customize system. If you specify either of these as the
1333@var{theme} argument, @code{deftheme} signals an error.
1334@end defmac
1335
1336@defmac provide-theme theme
1337This macro declares that the theme named @var{theme} has been fully
1338specified.
1339@end defmac
1340
1341 In between @code{deftheme} and @code{provide-theme} are Lisp forms
1342specifying the theme settings: usually a call to
1343@code{custom-theme-set-variables} and/or a call to
1344@code{custom-theme-set-faces}.
1345
1346@defun custom-theme-set-variables theme &rest args
1347This function specifies the Custom theme @var{theme}'s variable
1348settings. @var{theme} should be a symbol. Each argument in
1349@var{args} should be a list of the form
1350
1351@example
1352(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
1353@end example
1354
1355@noindent
1356where the list entries have the same meanings as in
1357@code{custom-set-variables}. @xref{Applying Customizations}.
1358@end defun
1359
1360@defun custom-theme-set-faces theme &rest args
1361This function specifies the Custom theme @var{theme}'s face settings.
1362@var{theme} should be a symbol. Each argument in @var{args} should be
1363a list of the form
1364
1365@example
1366(@var{face} @var{spec} [@var{now} [@var{comment}]])
1367@end example
1368
1369@noindent
1370where the list entries have the same meanings as in
1371@code{custom-set-faces}. @xref{Applying Customizations}.
1372@end defun
1373
1374 In theory, a theme file can also contain other Lisp forms, which
1375would be evaluated when loading the theme, but that is ``bad form''.
1376To protect against loading themes containing malicious code, Emacs
1377displays the source file and asks for confirmation from the user
1378before loading any non-built-in theme for the first time.
1379
1380 The following functions are useful for programmatically enabling and
1381disabling Custom themes:
1382
1383@defun custom-theme-p theme
1384This function return a non-@code{nil} value if @var{theme} (a symbol)
1385is the name of a Custom theme (i.e.@: a Custom theme which has been
1386loaded into Emacs, whether or not the theme is enabled). Otherwise,
1387it returns @code{nil}.
1388@end defun
1389
1390@deffn Command load-theme theme &optional no-confirm no-enable
1391This function loads the Custom theme named @var{theme} from its source
1392file, looking for the source file in the directories specified by the
1393variable @code{custom-theme-load-path}. @xref{Custom Themes,,, emacs,
1394The GNU Emacs Manual}. It also @dfn{enables} the theme, causing its
1395variable and face settings to take effect.
1396
1397If the optional argument @var{no-confirm} is non-@code{nil}, this
1398skips prompting the user for confirmation before loading the theme.
1399
1400If the optional argument @var{no-enable} is non-@code{nil}, the theme
1401is loaded but not enabled.
1402@end deffn
1403
1404@deffn Command enable-theme theme
1405This function enables the Custom theme named @var{theme}. It signals
1406an error if no such theme has been loaded.
1407@end deffn
1408
1409@deffn Command disable-theme theme
1410This function disables the Custom theme named @var{theme}. The theme
1411remains loaded, so that a subsequent call to @code{enable-theme} will
1412re-enable it.
1413@end deffn
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 6e7d0078e07..3c446b07f60 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/debugging
6@node Debugging, Read and Print, Advising Functions, Top 5@node Debugging, Read and Print, Advising Functions, Top
7@chapter Debugging Lisp Programs 6@chapter Debugging Lisp Programs
8 7
@@ -303,7 +302,7 @@ an implicit @code{progn} (@pxref{Sequencing}).
303@subsection Using the Debugger 302@subsection Using the Debugger
304 303
305 When the debugger is entered, it displays the previously selected 304 When the debugger is entered, it displays the previously selected
306buffer in one window and a buffer named @samp{*Backtrace*} in another 305buffer in one window and a buffer named @file{*Backtrace*} in another
307window. The backtrace buffer contains one line for each level of Lisp 306window. The backtrace buffer contains one line for each level of Lisp
308function execution currently going on. At the beginning of this buffer 307function execution currently going on. At the beginning of this buffer
309is a message describing the reason that the debugger was invoked (such 308is a message describing the reason that the debugger was invoked (such
@@ -412,7 +411,7 @@ the variable values within the debugger.
412 411
413@item R 412@item R
414Like @kbd{e}, but also save the result of evaluation in the 413Like @kbd{e}, but also save the result of evaluation in the
415buffer @samp{*Debugger-record*}. 414buffer @file{*Debugger-record*}.
416 415
417@item q 416@item q
418Terminate the program being debugged; return to top-level Emacs 417Terminate the program being debugged; return to top-level Emacs
@@ -450,7 +449,7 @@ to invoke the debugger.
450 449
451@defun debug &rest debugger-args 450@defun debug &rest debugger-args
452This function enters the debugger. It switches buffers to a buffer 451This function enters the debugger. It switches buffers to a buffer
453named @samp{*Backtrace*} (or @samp{*Backtrace*<2>} if it is the second 452named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second
454recursive entry to the debugger, etc.), and fills it with information 453recursive entry to the debugger, etc.), and fills it with information
455about the stack of Lisp function calls. It then enters a recursive 454about the stack of Lisp function calls. It then enters a recursive
456edit, showing the backtrace buffer in Debugger mode. 455edit, showing the backtrace buffer in Debugger mode.
@@ -461,7 +460,7 @@ buffer and returns to whatever called @code{debug}. This is the only
461way the function @code{debug} can return to its caller. 460way the function @code{debug} can return to its caller.
462 461
463The use of the @var{debugger-args} is that @code{debug} displays the 462The use of the @var{debugger-args} is that @code{debug} displays the
464rest of its arguments at the top of the @samp{*Backtrace*} buffer, so 463rest of its arguments at the top of the @file{*Backtrace*} buffer, so
465that the user can see them. Except as described below, this is the 464that the user can see them. Except as described below, this is the
466@emph{only} way these arguments are used. 465@emph{only} way these arguments are used.
467 466
@@ -560,7 +559,7 @@ of @code{debug} (@pxref{Invoking the Debugger}).
560@cindex call stack 559@cindex call stack
561This function prints a trace of Lisp function calls currently active. 560This function prints a trace of Lisp function calls currently active.
562This is the function used by @code{debug} to fill up the 561This is the function used by @code{debug} to fill up the
563@samp{*Backtrace*} buffer. It is written in C, since it must have access 562@file{*Backtrace*} buffer. It is written in C, since it must have access
564to the stack to determine which function calls are active. The return 563to the stack to determine which function calls are active. The return
565value is always @code{nil}. 564value is always @code{nil}.
566 565
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 8382c2a1555..0113ae86358 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/display
6@node Display, System Interface, Processes, Top 5@node Display, System Interface, Processes, Top
7@chapter Emacs Display 6@chapter Emacs Display
8 7
@@ -268,7 +267,7 @@ objects for its format specifications, like in the @code{format}
268function (@pxref{Formatting Strings}). The resulting formatted string 267function (@pxref{Formatting Strings}). The resulting formatted string
269is displayed in the echo area; if it contains @code{face} text 268is displayed in the echo area; if it contains @code{face} text
270properties, it is displayed with the specified faces (@pxref{Faces}). 269properties, it is displayed with the specified faces (@pxref{Faces}).
271The string is also added to the @samp{*Messages*} buffer, but without 270The string is also added to the @file{*Messages*} buffer, but without
272text properties (@pxref{Logging Messages}). 271text properties (@pxref{Logging Messages}).
273 272
274In batch mode, the message is printed to the standard error stream, 273In batch mode, the message is printed to the standard error stream,
@@ -341,7 +340,7 @@ buffer is used, the window used to display it.
341 340
342If @var{message} is a string, then the optional argument 341If @var{message} is a string, then the optional argument
343@var{buffer-name} is the name of the buffer used to display it when a 342@var{buffer-name} is the name of the buffer used to display it when a
344pop-up buffer is used, defaulting to @samp{*Message*}. In the case 343pop-up buffer is used, defaulting to @file{*Message*}. In the case
345where @var{message} is a string and displayed in the echo area, it is 344where @var{message} is a string and displayed in the echo area, it is
346not specified whether the contents are inserted into the buffer anyway. 345not specified whether the contents are inserted into the buffer anyway.
347 346
@@ -474,16 +473,16 @@ this macro this way:
474@end defmac 473@end defmac
475 474
476@node Logging Messages 475@node Logging Messages
477@subsection Logging Messages in @samp{*Messages*} 476@subsection Logging Messages in @file{*Messages*}
478@cindex logging echo-area messages 477@cindex logging echo-area messages
479 478
480 Almost all the messages displayed in the echo area are also recorded 479 Almost all the messages displayed in the echo area are also recorded
481in the @samp{*Messages*} buffer so that the user can refer back to 480in the @file{*Messages*} buffer so that the user can refer back to
482them. This includes all the messages that are output with 481them. This includes all the messages that are output with
483@code{message}. 482@code{message}.
484 483
485@defopt message-log-max 484@defopt message-log-max
486This variable specifies how many lines to keep in the @samp{*Messages*} 485This variable specifies how many lines to keep in the @file{*Messages*}
487buffer. The value @code{t} means there is no limit on how many lines to 486buffer. The value @code{t} means there is no limit on how many lines to
488keep. The value @code{nil} disables message logging entirely. Here's 487keep. The value @code{nil} disables message logging entirely. Here's
489how to display a message and prevent it from being logged: 488how to display a message and prevent it from being logged:
@@ -494,7 +493,7 @@ how to display a message and prevent it from being logged:
494@end example 493@end example
495@end defopt 494@end defopt
496 495
497 To make @samp{*Messages*} more convenient for the user, the logging 496 To make @file{*Messages*} more convenient for the user, the logging
498facility combines successive identical messages. It also combines 497facility combines successive identical messages. It also combines
499successive related messages for the sake of two cases: question 498successive related messages for the sake of two cases: question
500followed by answer, and a series of progress messages. 499followed by answer, and a series of progress messages.
@@ -624,7 +623,7 @@ and @var{type} as the warning type. @var{level} should be the
624severity level, with @code{:warning} being the default. 623severity level, with @code{:warning} being the default.
625 624
626@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer 625@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer
627for logging the warning. By default, it is @samp{*Warnings*}. 626for logging the warning. By default, it is @file{*Warnings*}.
628@end defun 627@end defun
629 628
630@defun lwarn type level message &rest args 629@defun lwarn type level message &rest args
@@ -1885,7 +1884,7 @@ in all frames. But you can also assign a face name a special set of
1885attributes in one frame (@pxref{Attribute Functions}). 1884attributes in one frame (@pxref{Attribute Functions}).
1886 1885
1887@menu 1886@menu
1888* Defining Faces:: How to define a face with @code{defface}. 1887* Defining Faces:: How to define a face.
1889* Face Attributes:: What is in a face? 1888* Face Attributes:: What is in a face?
1890* Attribute Functions:: Functions to examine and set face attributes. 1889* Attribute Functions:: Functions to examine and set face attributes.
1891* Displaying Faces:: How Emacs combines the faces specified for a character. 1890* Displaying Faces:: How Emacs combines the faces specified for a character.
@@ -1904,22 +1903,17 @@ attributes in one frame (@pxref{Attribute Functions}).
1904@node Defining Faces 1903@node Defining Faces
1905@subsection Defining Faces 1904@subsection Defining Faces
1906 1905
1907 The way to define a new face is with @code{defface}. This creates a 1906 The @code{defface} macro defines a face and specifies its default
1908kind of customization item which the user can customize using the 1907appearance. The user can subsequently customize the face using the
1909Customization buffer (@pxref{Customization}). 1908Customize interface (@pxref{Customization}).
1910
1911 People are sometimes tempted to create variables whose values specify
1912which faces to use (for example, Font-Lock does this). In the vast
1913majority of cases, this is not necessary, and simply using faces
1914directly is preferable.
1915 1909
1916@defmac defface face spec doc [keyword value]@dots{} 1910@defmac defface face spec doc [keyword value]@dots{}
1917This declares @var{face} as a customizable face whose default 1911This macro declares @var{face} as a customizable face whose default
1918attributes are given by @var{spec}. You should not quote the symbol 1912attributes are given by @var{spec}. You should not quote the symbol
1919@var{face}, and it should not end in @samp{-face} (that would be 1913@var{face}, and it should not end in @samp{-face} (that would be
1920redundant). The argument @var{doc} specifies the face documentation. 1914redundant). The argument @var{doc} is a documentation string for the
1921The keywords you can use in @code{defface} are the same as in 1915face. The additional @var{keyword} arguments have the same meanings
1922@code{defgroup} and @code{defcustom} (@pxref{Common Keywords}). 1916as in @code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
1923 1917
1924When @code{defface} executes, it defines the face according to 1918When @code{defface} executes, it defines the face according to
1925@var{spec}, then uses any customizations that were read from the 1919@var{spec}, then uses any customizations that were read from the
@@ -1930,12 +1924,14 @@ Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun}
1930overrides any customizations of the face. This way, the face reflects 1924overrides any customizations of the face. This way, the face reflects
1931exactly what the @code{defface} says. 1925exactly what the @code{defface} says.
1932 1926
1933The purpose of @var{spec} is to specify how the face should appear on 1927@cindex face specification
1934different kinds of terminals. It should be an alist whose elements 1928The @var{spec} argument is a @dfn{face specification}, which states
1935have the form @code{(@var{display} @var{atts})}. @var{display} 1929how the face should appear on different kinds of terminals. It should
1936specifies a class of terminals (see below), while @var{atts} is a 1930be an alist whose elements each have the form @code{(@var{display}
1937property list of face attributes and their values, specifying the 1931@var{atts})}. @var{display} specifies a class of terminals (see
1938appearance of the face on matching terminals 1932below), while @var{atts} is a property list of face attributes and
1933their values, specifying the appearance of the face on matching
1934terminals
1939@iftex 1935@iftex
1940(see the next section for details about face attributes). 1936(see the next section for details about face attributes).
1941@end iftex 1937@end iftex
@@ -2022,14 +2018,22 @@ frame must match one of the @var{value}s specified for it in
2022 :group 'basic-faces) 2018 :group 'basic-faces)
2023@end example 2019@end example
2024 2020
2025 Internally, @code{defface} uses the symbol property 2021 Internally, Emacs stores the face's default specification in its
2026@code{face-defface-spec} to record the specified face attributes. The 2022@code{face-defface-spec} symbol property (@pxref{Property Lists}).
2027attributes saved by the user with the customization buffer are 2023The @code{saved-face} property stores the face specification saved by
2028recorded in the symbol property @code{saved-face}; the attributes 2024the user, using the customization buffer; the @code{customized-face}
2029customized by the user for the current session, but not saved, are 2025property stores the face specification customized for the current
2030recorded in the symbol property @code{customized-face}. The 2026session, but not saved; and the @code{theme-face} property stores an
2031documentation string is recorded in the symbol property 2027alist associating the active customization settings and Custom themes
2032@code{face-documentation}. 2028with their specifications for that face. The face's documentation
2029string is stored in the @code{face-documentation} property. But
2030normally you should not try to set any of these properties directly.
2031@xref{Applying Customizations}, for the @code{custom-set-faces}
2032function, which is used to apply customized face settings.
2033
2034 People are sometimes tempted to create variables whose values
2035specify a face to use. In the vast majority of cases, this is not
2036necessary; it is preferable to simply use faces directly.
2033 2037
2034@defopt frame-background-mode 2038@defopt frame-background-mode
2035This option, if non-@code{nil}, specifies the background type to use for 2039This option, if non-@code{nil}, specifies the background type to use for
@@ -2752,7 +2756,7 @@ For text matching a search command.
2752@itemx warning 2756@itemx warning
2753@itemx success 2757@itemx success
2754For text concerning errors, warnings, or successes. For example, 2758For text concerning errors, warnings, or successes. For example,
2755these are used for messages in @samp{*Compilation*} buffers. 2759these are used for messages in @file{*Compilation*} buffers.
2756@end table 2760@end table
2757 2761
2758@node Font Selection 2762@node Font Selection
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 245aaf94c6d..9d50f5fb31f 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -622,7 +622,7 @@ back to the stop point in the source code buffer from any buffer using
622saved outside window configuration---so that even if you turn saving 622saved outside window configuration---so that even if you turn saving
623back @emph{on}, the current window configuration remains unchanged when 623back @emph{on}, the current window configuration remains unchanged when
624you next exit Edebug (by continuing the program). However, the 624you next exit Edebug (by continuing the program). However, the
625automatic redisplay of @samp{*edebug*} and @samp{*edebug-trace*} may 625automatic redisplay of @file{*edebug*} and @file{*edebug-trace*} may
626conflict with the buffers you wish to see unless you have enough windows 626conflict with the buffers you wish to see unless you have enough windows
627open. 627open.
628 628
@@ -661,18 +661,18 @@ lexically bound symbols created by the following constructs in
661@node Eval List 661@node Eval List
662@subsection Evaluation List Buffer 662@subsection Evaluation List Buffer
663 663
664 You can use the @dfn{evaluation list buffer}, called @samp{*edebug*}, to 664 You can use the @dfn{evaluation list buffer}, called @file{*edebug*}, to
665evaluate expressions interactively. You can also set up the 665evaluate expressions interactively. You can also set up the
666@dfn{evaluation list} of expressions to be evaluated automatically each 666@dfn{evaluation list} of expressions to be evaluated automatically each
667time Edebug updates the display. 667time Edebug updates the display.
668 668
669@table @kbd 669@table @kbd
670@item E 670@item E
671Switch to the evaluation list buffer @samp{*edebug*} 671Switch to the evaluation list buffer @file{*edebug*}
672(@code{edebug-visit-eval-list}). 672(@code{edebug-visit-eval-list}).
673@end table 673@end table
674 674
675 In the @samp{*edebug*} buffer you can use the commands of Lisp 675 In the @file{*edebug*} buffer you can use the commands of Lisp
676Interaction mode (@pxref{Lisp Interaction,,, emacs, The GNU Emacs 676Interaction mode (@pxref{Lisp Interaction,,, emacs, The GNU Emacs
677Manual}) as well as these special commands: 677Manual}) as well as these special commands:
678 678
@@ -699,7 +699,7 @@ Switch back to the source code buffer at the current stop point
699@end table 699@end table
700 700
701 You can evaluate expressions in the evaluation list window with 701 You can evaluate expressions in the evaluation list window with
702@kbd{C-j} or @kbd{C-x C-e}, just as you would in @samp{*scratch*}; 702@kbd{C-j} or @kbd{C-x C-e}, just as you would in @file{*scratch*};
703but they are evaluated in the context outside of Edebug. 703but they are evaluated in the context outside of Edebug.
704 704
705 The expressions you enter interactively (and their results) are lost 705 The expressions you enter interactively (and their results) are lost
@@ -758,8 +758,8 @@ the expression at a suitable place, insert a new comment line, then type
758@kbd{C-c C-u}. You need not insert dashes in the comment line---its 758@kbd{C-c C-u}. You need not insert dashes in the comment line---its
759contents don't matter. 759contents don't matter.
760 760
761After selecting @samp{*edebug*}, you can return to the source code 761After selecting @file{*edebug*}, you can return to the source code
762buffer with @kbd{C-c C-w}. The @samp{*edebug*} buffer is killed when 762buffer with @kbd{C-c C-w}. The @file{*edebug*} buffer is killed when
763you continue execution, and recreated next time it is needed. 763you continue execution, and recreated next time it is needed.
764 764
765@node Printing in Edebug 765@node Printing in Edebug
@@ -819,7 +819,7 @@ for details.
819@cindex trace buffer 819@cindex trace buffer
820 820
821 Edebug can record an execution trace, storing it in a buffer named 821 Edebug can record an execution trace, storing it in a buffer named
822@samp{*edebug-trace*}. This is a log of function calls and returns, 822@file{*edebug-trace*}. This is a log of function calls and returns,
823showing the function names and their arguments and values. To enable 823showing the function names and their arguments and values. To enable
824trace recording, set @code{edebug-trace} to a non-@code{nil} value. 824trace recording, set @code{edebug-trace} to a non-@code{nil} value.
825 825
@@ -1567,7 +1567,7 @@ The default value is @code{step}.
1567 1567
1568@defopt edebug-trace 1568@defopt edebug-trace
1569If this is non-@code{nil}, trace each function entry and exit. 1569If this is non-@code{nil}, trace each function entry and exit.
1570Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one 1570Tracing output is displayed in a buffer named @file{*edebug-trace*}, one
1571function entry or exit per line, indented by the recursion level. 1571function entry or exit per line, indented by the recursion level.
1572 1572
1573Also see @code{edebug-tracing}, in @ref{Trace Buffer}. 1573Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index dc835347235..76397556b01 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -123,7 +123,7 @@ Cover art by Etienne Suvasa.
123* Functions:: A function is a Lisp program 123* Functions:: A function is a Lisp program
124 that can be invoked from other functions. 124 that can be invoked from other functions.
125* Macros:: Macros are a way to extend the Lisp language. 125* Macros:: Macros are a way to extend the Lisp language.
126* Customization:: Writing customization declarations. 126* Customization:: Making variables and faces customizable.
127 127
128* Loading:: Reading files of Lisp code into Lisp. 128* Loading:: Reading files of Lisp code into Lisp.
129* Byte Compilation:: Compilation makes programs run faster. 129* Byte Compilation:: Compilation makes programs run faster.
@@ -500,6 +500,8 @@ Writing Customization Definitions
500* Group Definitions:: Writing customization group definitions. 500* Group Definitions:: Writing customization group definitions.
501* Variable Definitions:: Declaring user options. 501* Variable Definitions:: Declaring user options.
502* Customization Types:: Specifying the type of a user option. 502* Customization Types:: Specifying the type of a user option.
503* Applying Customizations:: Functions to apply customization settings.
504* Custom Themes:: Writing Custom themes.
503 505
504Customization Types 506Customization Types
505 507
@@ -1295,7 +1297,7 @@ Overlays
1295 1297
1296Faces 1298Faces
1297 1299
1298* Defining Faces:: How to define a face with @code{defface}. 1300* Defining Faces:: How to define a face.
1299* Face Attributes:: What is in a face? 1301* Face Attributes:: What is in a face?
1300* Attribute Functions:: Functions to examine and set face attributes. 1302* Attribute Functions:: Functions to examine and set face attributes.
1301* Displaying Faces:: How Emacs combines the faces specified for 1303* Displaying Faces:: How Emacs combines the faces specified for
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index 76ab8b235f5..8e73535d781 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/errors
6@node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top 5@node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top
7@appendix Standard Errors 6@appendix Standard Errors
8@cindex standard errors 7@cindex standard errors
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi
index 429d999a2c8..4c1150d1a51 100644
--- a/doc/lispref/eval.texi
+++ b/doc/lispref/eval.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/eval
6@node Evaluation, Control Structures, Symbols, Top 5@node Evaluation, Control Structures, Symbols, Top
7@chapter Evaluation 6@chapter Evaluation
8@cindex evaluation 7@cindex evaluation
@@ -807,7 +806,7 @@ The value of this variable is a list of the values returned by all the
807expressions that were read, evaluated, and printed from buffers 806expressions that were read, evaluated, and printed from buffers
808(including the minibuffer) by the standard Emacs commands which do 807(including the minibuffer) by the standard Emacs commands which do
809this. (Note that this does @emph{not} include evaluation in 808this. (Note that this does @emph{not} include evaluation in
810@samp{*ielm*} buffers, nor evaluation using @kbd{C-j} in 809@file{*ielm*} buffers, nor evaluation using @kbd{C-j} in
811@code{lisp-interaction-mode}.) The elements are ordered most recent 810@code{lisp-interaction-mode}.) The elements are ordered most recent
812first. 811first.
813 812
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index b49e56158ad..ca4504ca967 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/files
7@node Files, Backups and Auto-Saving, Documentation, Top 6@node Files, Backups and Auto-Saving, Documentation, Top
8@comment node-name, next, previous, up 7@comment node-name, next, previous, up
9@chapter Files 8@chapter Files
@@ -2154,7 +2153,7 @@ double all @samp{$} characters to prevent subsequent incorrect
2154results. 2153results.
2155 2154
2156@c Wordy to avoid overfull hbox. --rjc 15mar92 2155@c Wordy to avoid overfull hbox. --rjc 15mar92
2157Here we assume that the environment variable @code{HOME}, which holds 2156Here we assume that the environment variable @env{HOME}, which holds
2158the user's home directory name, has value @samp{/xcssun/users/rms}. 2157the user's home directory name, has value @samp{/xcssun/users/rms}.
2159 2158
2160@example 2159@example
@@ -2239,9 +2238,9 @@ non-@code{nil}. To use it, you should expand the prefix against
2239the proper directory before calling @code{make-temp-file}. 2238the proper directory before calling @code{make-temp-file}.
2240 2239
2241@defopt temporary-file-directory 2240@defopt temporary-file-directory
2242@cindex @code{TMPDIR} environment variable 2241@cindex @env{TMPDIR} environment variable
2243@cindex @code{TMP} environment variable 2242@cindex @env{TMP} environment variable
2244@cindex @code{TEMP} environment variable 2243@cindex @env{TEMP} environment variable
2245This variable specifies the directory name for creating temporary files. 2244This variable specifies the directory name for creating temporary files.
2246Its value should be a directory name (@pxref{Directory Names}), but it 2245Its value should be a directory name (@pxref{Directory Names}), but it
2247is good for Lisp programs to cope if the value is a directory's file 2246is good for Lisp programs to cope if the value is a directory's file
@@ -2249,7 +2248,7 @@ name instead. Using the value as the second argument to
2249@code{expand-file-name} is a good way to achieve that. 2248@code{expand-file-name} is a good way to achieve that.
2250 2249
2251The default value is determined in a reasonable way for your operating 2250The default value is determined in a reasonable way for your operating
2252system; it is based on the @code{TMPDIR}, @code{TMP} and @code{TEMP} 2251system; it is based on the @env{TMPDIR}, @env{TMP} and @env{TEMP}
2253environment variables, with a fall-back to a system-dependent name if 2252environment variables, with a fall-back to a system-dependent name if
2254none of these variables is defined. 2253none of these variables is defined.
2255 2254
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 125d6071cab..d824f51e47e 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/frames
6@node Frames, Positions, Windows, Top 5@node Frames, Positions, Windows, Top
7@chapter Frames 6@chapter Frames
8@cindex frame 7@cindex frame
@@ -488,7 +487,7 @@ frame. @code{title} and @code{name} are meaningful on all terminals.
488@item display 487@item display
489The display on which to open this frame. It should be a string of the 488The display on which to open this frame. It should be a string of the
490form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the 489form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
491@code{DISPLAY} environment variable. 490@env{DISPLAY} environment variable.
492 491
493@vindex display-type, a frame parameter 492@vindex display-type, a frame parameter
494@item display-type 493@item display-type
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 9ee94557066..73bdefe19fc 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/functions
7@node Functions, Macros, Variables, Top 6@node Functions, Macros, Variables, Top
8@chapter Functions 7@chapter Functions
9 8
diff --git a/doc/lispref/gpl.texi b/doc/lispref/gpl.texi
index 244f3330d44..0eb877328e1 100644
--- a/doc/lispref/gpl.texi
+++ b/doc/lispref/gpl.texi
@@ -1,5 +1,4 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@setfilename ../../info/gpl
3 2
4@node GPL, Tips, GNU Free Documentation License, Top 3@node GPL, Tips, GNU Free Documentation License, Top
5@comment node-name, next, previous, up 4@comment node-name, next, previous, up
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi
index 0a2783b6f16..0ca4c915a65 100644
--- a/doc/lispref/hash.texi
+++ b/doc/lispref/hash.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/hash
6@node Hash Tables, Symbols, Sequences Arrays Vectors, Top 5@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
7@chapter Hash Tables 6@chapter Hash Tables
8@cindex hash tables 7@cindex hash tables
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index c703e7810f8..769b4292d30 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/help
7@node Documentation, Files, Modes, Top 6@node Documentation, Files, Modes, Top
8@chapter Documentation 7@chapter Documentation
9@cindex documentation strings 8@cindex documentation strings
@@ -180,7 +179,7 @@ face.
180@c Wordy to prevent overfull hboxes. --rjc 15mar92 179@c Wordy to prevent overfull hboxes. --rjc 15mar92
181Here is an example of using the two functions, @code{documentation} and 180Here is an example of using the two functions, @code{documentation} and
182@code{documentation-property}, to display the documentation strings for 181@code{documentation-property}, to display the documentation strings for
183several symbols in a @samp{*Help*} buffer. 182several symbols in a @file{*Help*} buffer.
184 183
185@anchor{describe-symbols example} 184@anchor{describe-symbols example}
186@smallexample 185@smallexample
@@ -535,7 +534,7 @@ seems to be as a match. Each of the remaining elements is a
535documentation string, or @code{nil}, for @var{symbol} as a function, 534documentation string, or @code{nil}, for @var{symbol} as a function,
536variable, etc. 535variable, etc.
537 536
538It also displays the symbols in a buffer named @samp{*Apropos*}, each 537It also displays the symbols in a buffer named @file{*Apropos*}, each
539with a one-line description taken from the beginning of its 538with a one-line description taken from the beginning of its
540documentation string. 539documentation string.
541 540
@@ -648,7 +647,7 @@ certain documentation and text files that come with Emacs.
648 647
649@defun help-buffer 648@defun help-buffer
650This function returns the name of the help buffer, which is normally 649This function returns the name of the help buffer, which is normally
651@samp{*Help*}; if such a buffer does not exist, it is first created. 650@file{*Help*}; if such a buffer does not exist, it is first created.
652@end defun 651@end defun
653 652
654@defmac with-help-window buffer-name body@dots{} 653@defmac with-help-window buffer-name body@dots{}
@@ -662,16 +661,16 @@ scroll the help window.
662@end defmac 661@end defmac
663 662
664@defun help-setup-xref item interactive-p 663@defun help-setup-xref item interactive-p
665This function updates the cross reference data in the @samp{*Help*} 664This function updates the cross reference data in the @file{*Help*}
666buffer, which is used to regenerate the help information when the user 665buffer, which is used to regenerate the help information when the user
667clicks on the @samp{Back} or @samp{Forward} buttons. Most commands 666clicks on the @samp{Back} or @samp{Forward} buttons. Most commands
668that use the @samp{*Help*} buffer should invoke this function before 667that use the @file{*Help*} buffer should invoke this function before
669clearing the buffer. The @var{item} argument should have the form 668clearing the buffer. The @var{item} argument should have the form
670@code{(@var{function} . @var{args})}, where @var{function} is a function 669@code{(@var{function} . @var{args})}, where @var{function} is a function
671to call, with argument list @var{args}, to regenerate the help buffer. 670to call, with argument list @var{args}, to regenerate the help buffer.
672The @var{interactive-p} argument is non-@code{nil} if the calling 671The @var{interactive-p} argument is non-@code{nil} if the calling
673command was invoked interactively; in that case, the stack of items 672command was invoked interactively; in that case, the stack of items
674for the @samp{*Help*} buffer's @samp{Back} buttons is cleared. 673for the @file{*Help*} buffer's @samp{Back} buttons is cleared.
675@end defun 674@end defun
676 675
677@xref{describe-symbols example}, for an example of using 676@xref{describe-symbols example}, for an example of using
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi
index 0d29c25c8b1..8aed3c676e2 100644
--- a/doc/lispref/hooks.texi
+++ b/doc/lispref/hooks.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/hooks
6@node Standard Hooks, Index, Standard Keymaps, Top 5@node Standard Hooks, Index, Standard Keymaps, Top
7@appendix Standard Hooks 6@appendix Standard Hooks
8@cindex standard hooks 7@cindex standard hooks
diff --git a/doc/lispref/index.texi b/doc/lispref/index.texi
index 6cdadf94491..ebdb4eb84b1 100644
--- a/doc/lispref/index.texi
+++ b/doc/lispref/index.texi
@@ -1,5 +1,4 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@setfilename ../../info/index
3 2
4@c Indexing guidelines 3@c Indexing guidelines
5 4
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index edf892e751a..c9758f8704a 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/internals
6@node GNU Emacs Internals, Standard Errors, Tips, Top 5@node GNU Emacs Internals, Standard Errors, Tips, Top
7@comment node-name, next, previous, up 6@comment node-name, next, previous, up
8@appendix GNU Emacs Internals 7@appendix GNU Emacs Internals
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index 365c5f3122e..d3a5b253162 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -1,8 +1,7 @@
1@c -*-coding: iso-latin-1-*- 1@c -*-coding: iso-latin-1-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/intro
6 5
7@node Introduction, Lisp Data Types, Top, Top 6@node Introduction, Lisp Data Types, Top, Top
8@comment node-name, next, previous, up 7@comment node-name, next, previous, up
@@ -247,7 +246,7 @@ indicated with @samp{@equiv{}}.
247 246
248 Many of the examples in this manual print text when they are 247 Many of the examples in this manual print text when they are
249evaluated. If you execute example code in a Lisp Interaction buffer 248evaluated. If you execute example code in a Lisp Interaction buffer
250(such as the buffer @samp{*scratch*}), the printed text is inserted into 249(such as the buffer @file{*scratch*}), the printed text is inserted into
251the buffer. If you execute the example by other means (such as by 250the buffer. If you execute the example by other means (such as by
252evaluating the function @code{eval-region}), the printed text is 251evaluating the function @code{eval-region}), the printed text is
253displayed in the echo area. 252displayed in the echo area.
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 5dd57ccb4ac..f8befb8fd90 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/keymaps
6@node Keymaps, Modes, Command Loop, Top 5@node Keymaps, Modes, Command Loop, Top
7@chapter Keymaps 6@chapter Keymaps
8@cindex keymap 7@cindex keymap
@@ -64,7 +63,7 @@ constituent events; thus, @code{"\C-xl"} represents the key sequence
64@kbd{C-x l}. 63@kbd{C-x l}.
65 64
66 Key sequences containing function keys, mouse button events, or 65 Key sequences containing function keys, mouse button events, or
67non-ASCII characters such as @kbd{C-=} or @kbd{H-a} cannot be 66non-@acronym{ASCII} characters such as @kbd{C-=} or @kbd{H-a} cannot be
68represented as strings; they have to be represented as vectors. 67represented as strings; they have to be represented as vectors.
69 68
70 In the vector representation, each element of the vector represents 69 In the vector representation, each element of the vector represents
@@ -808,7 +807,7 @@ bindings.
808@defun current-local-map 807@defun current-local-map
809This function returns the current buffer's local keymap, or @code{nil} 808This function returns the current buffer's local keymap, or @code{nil}
810if it has none. In the following example, the keymap for the 809if it has none. In the following example, the keymap for the
811@samp{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap 810@file{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap
812in which the entry for @key{ESC}, @acronym{ASCII} code 27, is another sparse 811in which the entry for @key{ESC}, @acronym{ASCII} code 27, is another sparse
813keymap. 812keymap.
814 813
@@ -1922,7 +1921,7 @@ other command. However, if @var{no-remap} is non-@code{nil}.
1922 1921
1923@deffn Command describe-bindings &optional prefix buffer-or-name 1922@deffn Command describe-bindings &optional prefix buffer-or-name
1924This function creates a listing of all current key bindings, and 1923This function creates a listing of all current key bindings, and
1925displays it in a buffer named @samp{*Help*}. The text is grouped by 1924displays it in a buffer named @file{*Help*}. The text is grouped by
1926modes---minor modes first, then the major mode, then global bindings. 1925modes---minor modes first, then the major mode, then global bindings.
1927 1926
1928If @var{prefix} is non-@code{nil}, it should be a prefix key; then the 1927If @var{prefix} is non-@code{nil}, it should be a prefix key; then the
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index c8433c79b54..2325915d76a 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/lists
6@node Lists, Sequences Arrays Vectors, Strings and Characters, Top 5@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
7@chapter Lists 6@chapter Lists
8@cindex lists 7@cindex lists
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 47a2a39ed63..2bd500d8479 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/loading
7@node Loading, Byte Compilation, Customization, Top 6@node Loading, Byte Compilation, Customization, Top
8@chapter Loading 7@chapter Loading
9@cindex loading 8@cindex loading
@@ -235,7 +234,7 @@ it skips the latter group.
235in a list of directories specified by the variable @code{load-path}. 234in a list of directories specified by the variable @code{load-path}.
236 235
237@defvar load-path 236@defvar load-path
238@cindex @code{EMACSLOADPATH} environment variable 237@cindex @env{EMACSLOADPATH} environment variable
239The value of this variable is a list of directories to search when 238The value of this variable is a list of directories to search when
240loading files with @code{load}. Each element is a string (which must be 239loading files with @code{load}. Each element is a string (which must be
241a directory name) or @code{nil} (which stands for the current working 240a directory name) or @code{nil} (which stands for the current working
@@ -375,7 +374,7 @@ strings are multibyte strings should not be noticeable, since
375inserting them in unibyte buffers converts them to unibyte 374inserting them in unibyte buffers converts them to unibyte
376automatically. However, if this does make a difference, you can force 375automatically. However, if this does make a difference, you can force
377a particular Lisp file to be interpreted as unibyte by writing 376a particular Lisp file to be interpreted as unibyte by writing
378@samp{-*-unibyte: t;-*-} in a comment on the file's first line. With 377@samp{unibyte: t} in a local variables section. With
379that designator, the file will unconditionally be interpreted as 378that designator, the file will unconditionally be interpreted as
380unibyte, even in an ordinary multibyte Emacs session. This can matter 379unibyte, even in an ordinary multibyte Emacs session. This can matter
381when making keybindings to non-@acronym{ASCII} characters written as 380when making keybindings to non-@acronym{ASCII} characters written as
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi
index a71d3379b80..bc4cec3307d 100644
--- a/doc/lispref/macros.texi
+++ b/doc/lispref/macros.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/macros
6@node Macros, Customization, Functions, Top 5@node Macros, Customization, Functions, Top
7@chapter Macros 6@chapter Macros
8@cindex macros 7@cindex macros
diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi
index b303562028b..cb5734d71d0 100644
--- a/doc/lispref/maps.texi
+++ b/doc/lispref/maps.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/maps
6@node Standard Keymaps, Standard Hooks, Standard Errors, Top 5@node Standard Keymaps, Standard Hooks, Standard Errors, Top
7@appendix Standard Keymaps 6@appendix Standard Keymaps
8@cindex keymaps, standard 7@cindex keymaps, standard
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index 25a9fc88fc5..ba9d429314d 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/markers
6@node Markers, Text, Positions, Top 5@node Markers, Text, Positions, Top
7@chapter Markers 6@chapter Markers
8@cindex markers 7@cindex markers
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 437a2daa8e3..1be21f5d974 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/minibuf
7@node Minibuffers, Command Loop, Read and Print, Top 6@node Minibuffers, Command Loop, Read and Print, Top
8@chapter Minibuffers 7@chapter Minibuffers
9@cindex arguments, reading 8@cindex arguments, reading
@@ -1062,7 +1061,7 @@ using the value of the variable @code{minibuffer-completion-table} as
1062the @var{collection} argument, and the value of 1061the @var{collection} argument, and the value of
1063@code{minibuffer-completion-predicate} as the @var{predicate} argument. 1062@code{minibuffer-completion-predicate} as the @var{predicate} argument.
1064The list of completions is displayed as text in a buffer named 1063The list of completions is displayed as text in a buffer named
1065@samp{*Completions*}. 1064@file{*Completions*}.
1066@end deffn 1065@end deffn
1067 1066
1068@defun display-completion-list completions &optional common-substring 1067@defun display-completion-list completions &optional common-substring
@@ -1756,7 +1755,7 @@ completion behavior is overridden. @xref{Completion Variables}.
1756The value should be a function for @dfn{annotating} completions. The 1755The value should be a function for @dfn{annotating} completions. The
1757function should take one argument, @var{string}, which is a possible 1756function should take one argument, @var{string}, which is a possible
1758completion. It should return a string, which is displayed after the 1757completion. It should return a string, which is displayed after the
1759completion @var{string} in the @samp{*Completions*} buffer. 1758completion @var{string} in the @file{*Completions*} buffer.
1760 1759
1761@item display-sort-function 1760@item display-sort-function
1762The value should be a function for sorting completions. The function 1761The value should be a function for sorting completions. The function
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 946dcb91317..aa089aec36b 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/modes
6@node Modes, Documentation, Keymaps, Top 5@node Modes, Documentation, Keymaps, Top
7@chapter Major and Minor Modes 6@chapter Major and Minor Modes
8@cindex mode 7@cindex mode
@@ -628,7 +627,7 @@ have set.
628This function sets the major mode of @var{buffer} to the default value of 627This function sets the major mode of @var{buffer} to the default value of
629@code{major-mode}; if that is @code{nil}, it uses the 628@code{major-mode}; if that is @code{nil}, it uses the
630current buffer's major mode (if that is suitable). As an exception, 629current buffer's major mode (if that is suitable). As an exception,
631if @var{buffer}'s name is @samp{*scratch*}, it sets the mode to 630if @var{buffer}'s name is @file{*scratch*}, it sets the mode to
632@code{initial-major-mode}. 631@code{initial-major-mode}.
633 632
634The low-level primitives for creating buffers do not use this function, 633The low-level primitives for creating buffers do not use this function,
@@ -637,9 +636,9 @@ but medium-level commands such as @code{switch-to-buffer} and
637@end defun 636@end defun
638 637
639@defopt initial-major-mode 638@defopt initial-major-mode
640@cindex @samp{*scratch*} 639@cindex @file{*scratch*}
641The value of this variable determines the major mode of the initial 640The value of this variable determines the major mode of the initial
642@samp{*scratch*} buffer. The value should be a symbol that is a major 641@file{*scratch*} buffer. The value should be a symbol that is a major
643mode command. The default value is @code{lisp-interaction-mode}. 642mode command. The default value is @code{lisp-interaction-mode}.
644@end defopt 643@end defopt
645 644
@@ -908,7 +907,7 @@ common bindings, including @kbd{q} for @code{quit-window}, @kbd{z} for
908(@pxref{Reverting}). 907(@pxref{Reverting}).
909 908
910An example of a major mode derived from Special mode is Buffer Menu 909An example of a major mode derived from Special mode is Buffer Menu
911mode, which is used by the @samp{*Buffer List*} buffer. @xref{List 910mode, which is used by the @file{*Buffer List*} buffer. @xref{List
912Buffers,,Listing Existing Buffers, emacs, The GNU Emacs Manual}. 911Buffers,,Listing Existing Buffers, emacs, The GNU Emacs Manual}.
913@end deffn 912@end deffn
914 913
@@ -1571,8 +1570,8 @@ rather than buffer-local. It defaults to @code{nil}.
1571 1570
1572One of the effects of making a minor mode global is that the 1571One of the effects of making a minor mode global is that the
1573@var{mode} variable becomes a customization variable. Toggling it 1572@var{mode} variable becomes a customization variable. Toggling it
1574through the Custom interface turns the mode on and off, and its value 1573through the Customize interface turns the mode on and off, and its
1575can be saved for future Emacs sessions (@pxref{Saving 1574value can be saved for future Emacs sessions (@pxref{Saving
1576Customizations,,, emacs, The GNU Emacs Manual}. For the saved 1575Customizations,,, emacs, The GNU Emacs Manual}. For the saved
1577variable to work, you should ensure that the @code{define-minor-mode} 1576variable to work, you should ensure that the @code{define-minor-mode}
1578form is evaluated each time Emacs starts; for packages that are not 1577form is evaluated each time Emacs starts; for packages that are not
@@ -1691,7 +1690,7 @@ Fundamental mode; but it does not detect the creation of a new buffer
1691in Fundamental mode. 1690in Fundamental mode.
1692 1691
1693This defines the customization option @var{global-mode} (@pxref{Customization}), 1692This defines the customization option @var{global-mode} (@pxref{Customization}),
1694which can be toggled in the Custom interface to turn the minor mode on 1693which can be toggled in the Customize interface to turn the minor mode on
1695and off. As with @code{define-minor-mode}, you should ensure that the 1694and off. As with @code{define-minor-mode}, you should ensure that the
1696@code{define-globalized-minor-mode} form is evaluated each time Emacs 1695@code{define-globalized-minor-mode} form is evaluated each time Emacs
1697starts, for example by providing a @code{:require} keyword. 1696starts, for example by providing a @code{:require} keyword.
@@ -2016,7 +2015,7 @@ identify the mode name in the mode line, use @code{format-mode-line}
2016This buffer-local variable contains the mode line information on process 2015This buffer-local variable contains the mode line information on process
2017status in modes used for communicating with subprocesses. It is 2016status in modes used for communicating with subprocesses. It is
2018displayed immediately following the major mode name, with no intervening 2017displayed immediately following the major mode name, with no intervening
2019space. For example, its value in the @samp{*shell*} buffer is 2018space. For example, its value in the @file{*shell*} buffer is
2020@code{(":%s")}, which allows the shell to display its status along 2019@code{(":%s")}, which allows the shell to display its status along
2021with the major mode as: @samp{(Shell:run)}. Normally this variable 2020with the major mode as: @samp{(Shell:run)}. Normally this variable
2022is @code{nil}. 2021is @code{nil}.
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index c97cd099328..315a25c7e52 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/characters
6@node Non-ASCII Characters, Searching and Matching, Text, Top 5@node Non-ASCII Characters, Searching and Matching, Text, Top
7@chapter Non-@acronym{ASCII} Characters 6@chapter Non-@acronym{ASCII} Characters
8@cindex multibyte characters 7@cindex multibyte characters
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 82336aa537f..66f491b7780 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/numbers
7@node Numbers, Strings and Characters, Lisp Data Types, Top 6@node Numbers, Strings and Characters, Lisp Data Types, Top
8@chapter Numbers 7@chapter Numbers
9@cindex integers 8@cindex integers
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index ba4803c73f2..58ceeb02b76 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/objects
7@node Lisp Data Types, Numbers, Introduction, Top 6@node Lisp Data Types, Numbers, Introduction, Top
8@chapter Lisp Data Types 7@chapter Lisp Data Types
9@cindex object 8@cindex object
@@ -352,7 +351,7 @@ following text.)
352 351
353 In addition to the specific escape sequences for special important 352 In addition to the specific escape sequences for special important
354control characters, Emacs provides several types of escape syntax that 353control characters, Emacs provides several types of escape syntax that
355you can use to specify non-ASCII text characters. 354you can use to specify non-@acronym{ASCII} text characters.
356 355
357@cindex unicode character escape 356@cindex unicode character escape
358 You can specify characters by their Unicode values. 357 You can specify characters by their Unicode values.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 8a57ed2c1f0..aae2e4434d7 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/os
7@node System Interface, Packaging, Display, Top 6@node System Interface, Packaging, Display, Top
8@chapter Operating System Interface 7@chapter Operating System Interface
9 8
@@ -89,7 +88,7 @@ that Emacs is being initialized.
89@c set-locale-environment 88@c set-locale-environment
90@item 89@item
91It sets the language environment and the terminal coding system, 90It sets the language environment and the terminal coding system,
92if requested by environment variables such as @code{LANG}. 91if requested by environment variables such as @env{LANG}.
93 92
94@item 93@item
95It does some basic parsing of the command-line arguments. 94It does some basic parsing of the command-line arguments.
@@ -170,7 +169,7 @@ measurement of how long it took.
170It runs the normal hook @code{after-init-hook}. 169It runs the normal hook @code{after-init-hook}.
171 170
172@item 171@item
173If the buffer @samp{*scratch*} exists and is still in Fundamental mode 172If the buffer @file{*scratch*} exists and is still in Fundamental mode
174(as it should be by default), it sets its major mode according to 173(as it should be by default), it sets its major mode according to
175@code{initial-major-mode}. 174@code{initial-major-mode}.
176 175
@@ -196,7 +195,7 @@ It now exits if the option @code{--batch} was specified.
196 195
197@item 196@item
198If @code{initial-buffer-choice} is a string, it visits the file with 197If @code{initial-buffer-choice} is a string, it visits the file with
199that name. If the @samp{*scratch*} buffer exists and is 198that name. If the @file{*scratch*} buffer exists and is
200empty, it inserts @code{initial-scratch-message} into that buffer. 199empty, it inserts @code{initial-scratch-message} into that buffer.
201 200
202@c To make things nice and confusing, the next three items can be 201@c To make things nice and confusing, the next three items can be
@@ -254,7 +253,7 @@ The following options affect some aspects of the startup sequence.
254 253
255@defopt inhibit-startup-screen 254@defopt inhibit-startup-screen
256This variable, if non-@code{nil}, inhibits the startup screen. In 255This variable, if non-@code{nil}, inhibits the startup screen. In
257that case, Emacs typically displays the @samp{*scratch*} buffer; but 256that case, Emacs typically displays the @file{*scratch*} buffer; but
258see @code{initial-buffer-choice}, below. 257see @code{initial-buffer-choice}, below.
259 258
260Do not set this variable in the init file of a new user, or in a way 259Do not set this variable in the init file of a new user, or in a way
@@ -274,7 +273,7 @@ startup screen.
274@ignore 273@ignore
275@c I do not think this should be mentioned. AFAICS it is just a dodge 274@c I do not think this should be mentioned. AFAICS it is just a dodge
276@c around inhibit-startup-screen not being settable on a site-wide basis. 275@c around inhibit-startup-screen not being settable on a site-wide basis.
277If its value is @code{t}, Emacs displays the @samp{*scratch*} buffer. 276If its value is @code{t}, Emacs displays the @file{*scratch*} buffer.
278@end ignore 277@end ignore
279@end defopt 278@end defopt
280 279
@@ -290,17 +289,17 @@ form to your init file:
290 289
291Emacs explicitly checks for an expression as shown above in your init 290Emacs explicitly checks for an expression as shown above in your init
292file; your login name must appear in the expression as a Lisp string 291file; your login name must appear in the expression as a Lisp string
293constant. You can also use the Custom interface. Other methods of setting 292constant. You can also use the Customize interface. Other methods of
294@code{inhibit-startup-echo-area-message} to the same value do not 293setting @code{inhibit-startup-echo-area-message} to the same value do
295inhibit the startup message. This way, you can easily inhibit the 294not inhibit the startup message. This way, you can easily inhibit the
296message for yourself if you wish, but thoughtless copying of your init 295message for yourself if you wish, but thoughtless copying of your init
297file will not inhibit the message for someone else. 296file will not inhibit the message for someone else.
298@end defopt 297@end defopt
299 298
300@defopt initial-scratch-message 299@defopt initial-scratch-message
301This variable, if non-@code{nil}, should be a string, which is 300This variable, if non-@code{nil}, should be a string, which is
302inserted into the @samp{*scratch*} buffer when Emacs starts up. If it 301inserted into the @file{*scratch*} buffer when Emacs starts up. If it
303is @code{nil}, the @samp{*scratch*} buffer is empty. 302is @code{nil}, the @file{*scratch*} buffer is empty.
304@end defopt 303@end defopt
305 304
306@noindent 305@noindent
@@ -352,8 +351,8 @@ control whether and where to find the init file; @samp{-q} (and the
352stronger @samp{-Q}) says not to load an init file, while @samp{-u 351stronger @samp{-Q}) says not to load an init file, while @samp{-u
353@var{user}} says to load @var{user}'s init file instead of yours. 352@var{user}} says to load @var{user}'s init file instead of yours.
354@xref{Entering Emacs,,, emacs, The GNU Emacs Manual}. If neither 353@xref{Entering Emacs,,, emacs, The GNU Emacs Manual}. If neither
355option is specified, Emacs uses the @code{LOGNAME} environment 354option is specified, Emacs uses the @env{LOGNAME} environment
356variable, or the @code{USER} (most systems) or @code{USERNAME} (MS 355variable, or the @env{USER} (most systems) or @env{USERNAME} (MS
357systems) variable, to find your home directory and thus your init 356systems) variable, to find your home directory and thus your init
358file; this way, even if you have su'd, Emacs still loads your own init 357file; this way, even if you have su'd, Emacs still loads your own init
359file. If those environment variables are absent, though, Emacs uses 358file. If those environment variables are absent, though, Emacs uses
@@ -430,7 +429,7 @@ This variable holds the name of the @file{.emacs.d} directory. It is
430 Each terminal type can have its own Lisp library that Emacs loads when 429 Each terminal type can have its own Lisp library that Emacs loads when
431run on that type of terminal. The library's name is constructed by 430run on that type of terminal. The library's name is constructed by
432concatenating the value of the variable @code{term-file-prefix} and the 431concatenating the value of the variable @code{term-file-prefix} and the
433terminal type (specified by the environment variable @code{TERM}). 432terminal type (specified by the environment variable @env{TERM}).
434Normally, @code{term-file-prefix} has the value 433Normally, @code{term-file-prefix} has the value
435@code{"term/"}; changing this is not recommended. Emacs finds the file 434@code{"term/"}; changing this is not recommended. Emacs finds the file
436in the normal manner, by searching the @code{load-path} directories, and 435in the normal manner, by searching the @code{load-path} directories, and
@@ -468,7 +467,7 @@ use this hook to define initializations for terminals that do not
468have their own libraries. @xref{Hooks}. 467have their own libraries. @xref{Hooks}.
469 468
470@defvar term-file-prefix 469@defvar term-file-prefix
471@cindex @code{TERM} environment variable 470@cindex @env{TERM} environment variable
472If the value of this variable is non-@code{nil}, Emacs loads a 471If the value of this variable is non-@code{nil}, Emacs loads a
473terminal-specific initialization file as follows: 472terminal-specific initialization file as follows:
474 473
@@ -481,7 +480,7 @@ You may set the @code{term-file-prefix} variable to @code{nil} in your
481init file if you do not wish to load the 480init file if you do not wish to load the
482terminal-initialization file. 481terminal-initialization file.
483 482
484On MS-DOS, Emacs sets the @code{TERM} environment variable to @samp{internal}. 483On MS-DOS, Emacs sets the @env{TERM} environment variable to @samp{internal}.
485@end defvar 484@end defvar
486 485
487@defvar term-setup-hook 486@defvar term-setup-hook
@@ -1010,7 +1009,7 @@ value is @code{":"} for Unix and GNU systems, and @code{";"} for MS systems.
1010 1009
1011@defun parse-colon-path path 1010@defun parse-colon-path path
1012This function takes a search path string such as the value of 1011This function takes a search path string such as the value of
1013the @code{PATH} environment variable, and splits it at the separators, 1012the @env{PATH} environment variable, and splits it at the separators,
1014returning a list of directory names. @code{nil} in this list means 1013returning a list of directory names. @code{nil} in this list means
1015the current directory. Although the function's name says 1014the current directory. Although the function's name says
1016``colon'', it actually uses the value of @code{path-separator}. 1015``colon'', it actually uses the value of @code{path-separator}.
@@ -1113,7 +1112,7 @@ want to use the default value.
1113 1112
1114@defun user-login-name &optional uid 1113@defun user-login-name &optional uid
1115This function returns the name under which the user is logged in. 1114This function returns the name under which the user is logged in.
1116It uses the environment variables @code{LOGNAME} or @code{USER} if 1115It uses the environment variables @env{LOGNAME} or @env{USER} if
1117either is set. Otherwise, the value is based on the effective 1116either is set. Otherwise, the value is based on the effective
1118@acronym{UID}, not the real @acronym{UID}. 1117@acronym{UID}, not the real @acronym{UID}.
1119 1118
@@ -1124,12 +1123,12 @@ corresponds to @var{uid}, or @code{nil} if there is no such user.
1124@defun user-real-login-name 1123@defun user-real-login-name
1125This function returns the user name corresponding to Emacs's real 1124This function returns the user name corresponding to Emacs's real
1126@acronym{UID}. This ignores the effective @acronym{UID}, and the 1125@acronym{UID}. This ignores the effective @acronym{UID}, and the
1127environment variables @code{LOGNAME} and @code{USER}. 1126environment variables @env{LOGNAME} and @env{USER}.
1128@end defun 1127@end defun
1129 1128
1130@defun user-full-name &optional uid 1129@defun user-full-name &optional uid
1131This function returns the full name of the logged-in user---or the value 1130This function returns the full name of the logged-in user---or the value
1132of the environment variable @code{NAME}, if that is set. 1131of the environment variable @env{NAME}, if that is set.
1133 1132
1134If the Emacs process's user-id does not correspond to any known user (and 1133If the Emacs process's user-id does not correspond to any known user (and
1135provided @code{NAME} is not set), the result is @code{"unknown"}. 1134provided @code{NAME} is not set), the result is @code{"unknown"}.
@@ -1249,9 +1248,9 @@ The argument @var{time-value}, if given, specifies a time (represented
1249as a list of integers) to analyze instead of the current time. 1248as a list of integers) to analyze instead of the current time.
1250@end defun 1249@end defun
1251 1250
1252The current time zone is determined by the @samp{TZ} environment 1251The current time zone is determined by the @env{TZ} environment
1253variable. @xref{System Environment}. For example, you can tell Emacs 1252variable. @xref{System Environment}. For example, you can tell Emacs
1254to use universal time with @code{(setenv "TZ" "UTC0")}. If @samp{TZ} 1253to use universal time with @code{(setenv "TZ" "UTC0")}. If @env{TZ}
1255is not in the environment, Emacs uses a platform-dependent default 1254is not in the environment, Emacs uses a platform-dependent default
1256time zone. 1255time zone.
1257 1256
@@ -1325,7 +1324,7 @@ yourself before you call @code{encode-time}.
1325The optional argument @var{zone} defaults to the current time zone and 1324The optional argument @var{zone} defaults to the current time zone and
1326its daylight saving time rules. If specified, it can be either a list 1325its daylight saving time rules. If specified, it can be either a list
1327(as you would get from @code{current-time-zone}), a string as in the 1326(as you would get from @code{current-time-zone}), a string as in the
1328@code{TZ} environment variable, @code{t} for Universal Time, or an 1327@env{TZ} environment variable, @code{t} for Universal Time, or an
1329integer (as you would get from @code{decode-time}). The specified 1328integer (as you would get from @code{decode-time}). The specified
1330zone is used without any further alteration for daylight saving time. 1329zone is used without any further alteration for daylight saving time.
1331 1330
@@ -2233,7 +2232,7 @@ non-@code{nil}, Emacs tells the session manager to cancel the
2233shutdown. 2232shutdown.
2234@end defvar 2233@end defvar
2235 2234
2236Here is an example that just inserts some text into @samp{*scratch*} when 2235Here is an example that just inserts some text into @file{*scratch*} when
2237Emacs is restarted by the session manager. 2236Emacs is restarted by the session manager.
2238 2237
2239@example 2238@example
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index b17f13b6b89..7cb260d32b8 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 2010-2012 Free Software Foundation, Inc. 3@c Copyright (C) 2010-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/package
6@node Packaging, Antinews, System Interface, Top 5@node Packaging, Antinews, System Interface, Top
7@chapter Preparing Lisp code for distribution 6@chapter Preparing Lisp code for distribution
8@cindex package 7@cindex package
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index 99722c93902..8ad52a8e56d 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/positions
6@node Positions, Markers, Frames, Top 5@node Positions, Markers, Frames, Top
7@chapter Positions 6@chapter Positions
8@cindex position (in buffer) 7@cindex position (in buffer)
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 0dae20427c6..ce5cfd12c87 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/processes
7@node Processes, Display, Abbrevs, Top 6@node Processes, Display, Abbrevs, Top
8@chapter Processes 7@chapter Processes
9@cindex child process 8@cindex child process
@@ -77,14 +76,14 @@ sections. Since the three functions are all called in a similar
77fashion, their common arguments are described here. 76fashion, their common arguments are described here.
78 77
79@cindex execute program 78@cindex execute program
80@cindex @code{PATH} environment variable 79@cindex @env{PATH} environment variable
81@cindex @code{HOME} environment variable 80@cindex @env{HOME} environment variable
82 In all cases, the function's @var{program} argument specifies the 81 In all cases, the function's @var{program} argument specifies the
83program to be run. An error is signaled if the file is not found or 82program to be run. An error is signaled if the file is not found or
84cannot be executed. If the file name is relative, the variable 83cannot be executed. If the file name is relative, the variable
85@code{exec-path} contains a list of directories to search. Emacs 84@code{exec-path} contains a list of directories to search. Emacs
86initializes @code{exec-path} when it starts up, based on the value of 85initializes @code{exec-path} when it starts up, based on the value of
87the environment variable @code{PATH}. The standard file name 86the environment variable @env{PATH}. The standard file name
88constructs, @samp{~}, @samp{.}, and @samp{..}, are interpreted as 87constructs, @samp{~}, @samp{.}, and @samp{..}, are interpreted as
89usual in @code{exec-path}, but environment variable substitutions 88usual in @code{exec-path}, but environment variable substitutions
90(@samp{$HOME}, etc.) are not recognized; use 89(@samp{$HOME}, etc.) are not recognized; use
@@ -268,6 +267,9 @@ system, much like text written into a file. @xref{Coding Systems}.
268@defun call-process program &optional infile destination display &rest args 267@defun call-process program &optional infile destination display &rest args
269This function calls @var{program} and waits for it to finish. 268This function calls @var{program} and waits for it to finish.
270 269
270The current working directory of the subprocess is
271@code{default-directory}.
272
271The standard input for the new process comes from file @var{infile} if 273The standard input for the new process comes from file @var{infile} if
272@var{infile} is not @code{nil}, and from the null device otherwise. 274@var{infile} is not @code{nil}, and from the null device otherwise.
273The argument @var{destination} says where to put the process output. 275The argument @var{destination} says where to put the process output.
@@ -714,7 +716,7 @@ This command displays a listing of all living processes. In addition,
714it finally deletes any process whose status was @samp{Exited} or 716it finally deletes any process whose status was @samp{Exited} or
715@samp{Signaled}. It returns @code{nil}. 717@samp{Signaled}. It returns @code{nil}.
716 718
717The processes are shown in a buffer named @samp{*Process List*}, whose 719The processes are shown in a buffer named @file{*Process List*}, whose
718major mode is named Process Menu mode. 720major mode is named Process Menu mode.
719 721
720If @var{query-only} is non-@code{nil} then it lists only processes 722If @var{query-only} is non-@code{nil} then it lists only processes
@@ -1629,35 +1631,17 @@ This returns the query flag of @var{process}.
1629This function sets the query flag of @var{process} to @var{flag}. It 1631This function sets the query flag of @var{process} to @var{flag}. It
1630returns @var{flag}. 1632returns @var{flag}.
1631 1633
1634Here is an example of using @code{set-process-query-on-exit-flag} on a
1635shell process to avoid querying:
1636
1632@smallexample 1637@smallexample
1633@group 1638@group
1634;; @r{Don't query about the shell process}
1635(set-process-query-on-exit-flag (get-process "shell") nil) 1639(set-process-query-on-exit-flag (get-process "shell") nil)
1636 @result{} t 1640 @result{} t
1637@end group 1641@end group
1638@end smallexample 1642@end smallexample
1639@end defun 1643@end defun
1640 1644
1641@defun process-kill-without-query process &optional do-query
1642This function clears the query flag of @var{process}, so that
1643Emacs will not query the user on account of that process.
1644
1645Actually, the function does more than that: it returns the old value of
1646the process's query flag, and sets the query flag to @var{do-query}.
1647Please don't use this function to do those things any more---please
1648use the newer, cleaner functions @code{process-query-on-exit-flag} and
1649@code{set-process-query-on-exit-flag} in all but the simplest cases.
1650The only way you should use @code{process-kill-without-query} nowadays
1651is like this:
1652
1653@smallexample
1654@group
1655;; @r{Don't query about the shell process}
1656(process-kill-without-query (get-process "shell"))
1657@end group
1658@end smallexample
1659@end defun
1660
1661@node System Processes 1645@node System Processes
1662@section Accessing Other Processes 1646@section Accessing Other Processes
1663@cindex system processes 1647@cindex system processes
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index e79d361bfeb..786bffc1f84 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/searching
7@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top 6@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
8@chapter Searching and Matching 7@chapter Searching and Matching
9@cindex searching 8@cindex searching
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index 50f75da2de8..16cc5f946d0 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/sequences
7@node Sequences Arrays Vectors, Hash Tables, Lists, Top 6@node Sequences Arrays Vectors, Hash Tables, Lists, Top
8@chapter Sequences, Arrays, and Vectors 7@chapter Sequences, Arrays, and Vectors
9@cindex sequence 8@cindex sequence
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi
index 1628f32aa29..7028b6e4e3f 100644
--- a/doc/lispref/streams.texi
+++ b/doc/lispref/streams.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/streams
6@node Read and Print, Minibuffers, Debugging, Top 5@node Read and Print, Minibuffers, Debugging, Top
7@comment node-name, next, previous, up 6@comment node-name, next, previous, up
8@chapter Reading and Printing Lisp Objects 7@chapter Reading and Printing Lisp Objects
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 7813283ade5..cadbc26b910 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/strings
7@node Strings and Characters, Lists, Numbers, Top 6@node Strings and Characters, Lists, Numbers, Top
8@comment node-name, next, previous, up 7@comment node-name, next, previous, up
9@chapter Strings and Characters 8@chapter Strings and Characters
@@ -1117,7 +1116,7 @@ Exits}).
1117@acronym{ASCII} characters; for example, in the Turkish language 1116@acronym{ASCII} characters; for example, in the Turkish language
1118environment, the @acronym{ASCII} character @samp{I} is downcased into 1117environment, the @acronym{ASCII} character @samp{I} is downcased into
1119a Turkish ``dotless i''. This can interfere with code that requires 1118a Turkish ``dotless i''. This can interfere with code that requires
1120ordinary ASCII case conversion, such as implementations of 1119ordinary @acronym{ASCII} case conversion, such as implementations of
1121@acronym{ASCII}-based network protocols. In that case, use the 1120@acronym{ASCII}-based network protocols. In that case, use the
1122@code{with-case-table} macro with the variable @var{ascii-case-table}, 1121@code{with-case-table} macro with the variable @var{ascii-case-table},
1123which stores the unmodified case table for the @acronym{ASCII} 1122which stores the unmodified case table for the @acronym{ASCII}
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index 0ee22b905b6..ac2cea02040 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/symbols
6@node Symbols, Evaluation, Hash Tables, Top 5@node Symbols, Evaluation, Hash Tables, Top
7@chapter Symbols 6@chapter Symbols
8@cindex symbol 7@cindex symbol
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index e2fb3238642..830ceeedefd 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/syntax
7@node Syntax Tables, Abbrevs, Searching and Matching, Top 6@node Syntax Tables, Abbrevs, Searching and Matching, Top
8@chapter Syntax Tables 7@chapter Syntax Tables
9@cindex parsing buffer text 8@cindex parsing buffer text
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 770dd5b5777..a9c51fead1b 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -1,8 +1,7 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/text
6@node Text, Non-ASCII Characters, Markers, Top 5@node Text, Non-ASCII Characters, Markers, Top
7@chapter Text 6@chapter Text
8@cindex text 7@cindex text
@@ -4345,7 +4344,7 @@ changed text, its length is simply the difference between the first two
4345arguments. 4344arguments.
4346@end defvar 4345@end defvar
4347 4346
4348 Output of messages into the @samp{*Messages*} buffer does not 4347 Output of messages into the @file{*Messages*} buffer does not
4349call these functions. 4348call these functions.
4350 4349
4351@defmac combine-after-change-calls body@dots{} 4350@defmac combine-after-change-calls body@dots{}
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index 5874a848807..4ba7dd9dfe9 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/tips
7@node Tips, GNU Emacs Internals, GPL, Top 6@node Tips, GNU Emacs Internals, GPL, Top
8@appendix Tips and Conventions 7@appendix Tips and Conventions
9@cindex tips for writing Lisp 8@cindex tips for writing Lisp
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 548d2e99414..e0e629ec9d3 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -2,7 +2,6 @@
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
5@setfilename ../../info/variables
6@node Variables, Functions, Control Structures, Top 5@node Variables, Functions, Control Structures, Top
7@chapter Variables 6@chapter Variables
8@cindex variable 7@cindex variable
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index df269868e09..45a0dee3b1c 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -141,7 +141,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
141* Functions:: A function is a Lisp program 141* Functions:: A function is a Lisp program
142 that can be invoked from other functions. 142 that can be invoked from other functions.
143* Macros:: Macros are a way to extend the Lisp language. 143* Macros:: Macros are a way to extend the Lisp language.
144* Customization:: Writing customization declarations. 144* Customization:: Making variables and faces customizable.
145 145
146* Loading:: Reading files of Lisp code into Lisp. 146* Loading:: Reading files of Lisp code into Lisp.
147* Byte Compilation:: Compilation makes programs run faster. 147* Byte Compilation:: Compilation makes programs run faster.
@@ -520,6 +520,8 @@ Writing Customization Definitions
520* Group Definitions:: Writing customization group definitions. 520* Group Definitions:: Writing customization group definitions.
521* Variable Definitions:: Declaring user options. 521* Variable Definitions:: Declaring user options.
522* Customization Types:: Specifying the type of a user option. 522* Customization Types:: Specifying the type of a user option.
523* Applying Customizations:: Functions to apply customization settings.
524* Custom Themes:: Writing Custom themes.
523 525
524Customization Types 526Customization Types
525 527
@@ -1317,7 +1319,7 @@ Overlays
1317 1319
1318Faces 1320Faces
1319 1321
1320* Defining Faces:: How to define a face with @code{defface}. 1322* Defining Faces:: How to define a face.
1321* Face Attributes:: What is in a face? 1323* Face Attributes:: What is in a face?
1322* Attribute Functions:: Functions to examine and set face attributes. 1324* Attribute Functions:: Functions to examine and set face attributes.
1323* Displaying Faces:: How Emacs combines the faces specified for 1325* Displaying Faces:: How Emacs combines the faces specified for
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index 2a2578158bf..01a3e3c129e 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -140,7 +140,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
140* Functions:: A function is a Lisp program 140* Functions:: A function is a Lisp program
141 that can be invoked from other functions. 141 that can be invoked from other functions.
142* Macros:: Macros are a way to extend the Lisp language. 142* Macros:: Macros are a way to extend the Lisp language.
143* Customization:: Writing customization declarations. 143* Customization:: Making variables and faces customizable.
144 144
145* Loading:: Reading files of Lisp code into Lisp. 145* Loading:: Reading files of Lisp code into Lisp.
146* Byte Compilation:: Compilation makes programs run faster. 146* Byte Compilation:: Compilation makes programs run faster.
@@ -519,6 +519,8 @@ Writing Customization Definitions
519* Group Definitions:: Writing customization group definitions. 519* Group Definitions:: Writing customization group definitions.
520* Variable Definitions:: Declaring user options. 520* Variable Definitions:: Declaring user options.
521* Customization Types:: Specifying the type of a user option. 521* Customization Types:: Specifying the type of a user option.
522* Applying Customizations:: Functions to apply customization settings.
523* Custom Themes:: Writing Custom themes.
522 524
523Customization Types 525Customization Types
524 526
@@ -1316,7 +1318,7 @@ Overlays
1316 1318
1317Faces 1319Faces
1318 1320
1319* Defining Faces:: How to define a face with @code{defface}. 1321* Defining Faces:: How to define a face.
1320* Face Attributes:: What is in a face? 1322* Face Attributes:: What is in a face?
1321* Attribute Functions:: Functions to examine and set face attributes. 1323* Attribute Functions:: Functions to examine and set face attributes.
1322* Displaying Faces:: How Emacs combines the faces specified for 1324* Displaying Faces:: How Emacs combines the faces specified for
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 8df32785036..a9a25d8e867 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -3,7 +3,6 @@
3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 3@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/windows
7@node Windows, Frames, Buffers, Top 6@node Windows, Frames, Buffers, Top
8@chapter Windows 7@chapter Windows
9 8
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index be79a9d864d..46fea77107b 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,24 @@
12012-04-14 Alan Mackenzie <acm@muc.de>
2
3 * cc-mode.texi (c-offsets-alist): Correct a typo.
4
52012-04-14 Jérémie Courrèges-Anglas <jca@wxcvbn.org> (tiny change)
6
7 * org.texi (Deadlines and scheduling): Fix the example: the
8 DEADLINE item should come right after the headline. We enforce
9 this convention, so it is a bug not to illustrate it correctly in
10 the manual.
11
122012-04-14 Ippei FURUHASHI <top.tuna+orgmode@gmail.com> (tiny change)
13
14 * org.texi (Agenda commands): Fix documentation bug by swapping
15 the equivalent keybindings to `org-agenda-next-line' with the ones
16 to `org-agenda-previous-line'.
17
182012-04-14 Glenn Morris <rgm@gnu.org>
19
20 * Makefile.in: Replace non-portable use of $< in ordinary rules.
21
12012-04-09 Eli Zaretskii <eliz@gnu.org> 222012-04-09 Eli Zaretskii <eliz@gnu.org>
2 23
3 * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add 24 * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 429b84abf8f..390b077bbb0 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -1,6 +1,6 @@
1#### Makefile for documentation other than the Emacs manual. 1#### Makefile for documentation other than the Emacs manual.
2 2
3# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc. 3# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
4 4
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6 6
@@ -227,235 +227,237 @@ pdf: $(PDF_TARGETS)
227# to exist in the build directory. 227# to exist in the build directory.
228# In a distribution of Emacs, the Info files should be up to date. 228# In a distribution of Emacs, the Info files should be up to date.
229 229
230# Note: "<" is not portable in ordinary make rules.
231
230## "short" target names for convenience, to just rebuild one manual. 232## "short" target names for convenience, to just rebuild one manual.
231ada-mode : $(infodir)/ada-mode 233ada-mode : $(infodir)/ada-mode
232$(infodir)/ada-mode: ada-mode.texi 234$(infodir)/ada-mode: ada-mode.texi
233 $(mkinfodir) 235 $(mkinfodir)
234 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 236 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ada-mode.texi
235ada-mode.dvi: ${srcdir}/ada-mode.texi 237ada-mode.dvi: ${srcdir}/ada-mode.texi
236 $(ENVADD) $(TEXI2DVI) $< 238 $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
237ada-mode.pdf: ${srcdir}/ada-mode.texi 239ada-mode.pdf: ${srcdir}/ada-mode.texi
238 $(ENVADD) $(TEXI2PDF) $< 240 $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
239 241
240auth : $(infodir)/auth 242auth : $(infodir)/auth
241$(infodir)/auth: auth.texi 243$(infodir)/auth: auth.texi
242 $(mkinfodir) 244 $(mkinfodir)
243 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 245 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) auth.texi
244auth.dvi: ${srcdir}/auth.texi 246auth.dvi: ${srcdir}/auth.texi
245 $(ENVADD) $(TEXI2DVI) $< 247 $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
246auth.pdf: ${srcdir}/auth.texi 248auth.pdf: ${srcdir}/auth.texi
247 $(ENVADD) $(TEXI2PDF) $< 249 $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
248 250
249autotype : $(infodir)/autotype 251autotype : $(infodir)/autotype
250$(infodir)/autotype: autotype.texi 252$(infodir)/autotype: autotype.texi
251 $(mkinfodir) 253 $(mkinfodir)
252 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 254 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) autotype.texi
253autotype.dvi: ${srcdir}/autotype.texi 255autotype.dvi: ${srcdir}/autotype.texi
254 $(ENVADD) $(TEXI2DVI) $< 256 $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
255autotype.pdf: ${srcdir}/autotype.texi 257autotype.pdf: ${srcdir}/autotype.texi
256 $(ENVADD) $(TEXI2PDF) $< 258 $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
257 259
258calc : $(infodir)/calc 260calc : $(infodir)/calc
259$(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi 261$(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi
260 $(mkinfodir) 262 $(mkinfodir)
261 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 263 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) calc.texi
262calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi 264calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
263 $(ENVADD) $(TEXI2DVI) $< 265 $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
264calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi 266calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
265 $(ENVADD) $(TEXI2PDF) $< 267 $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
266 268
267ccmode : $(infodir)/ccmode 269ccmode : $(infodir)/ccmode
268$(infodir)/ccmode: cc-mode.texi 270$(infodir)/ccmode: cc-mode.texi
269 $(mkinfodir) 271 $(mkinfodir)
270 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 272 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) cc-mode.texi
271cc-mode.dvi: ${srcdir}/cc-mode.texi 273cc-mode.dvi: ${srcdir}/cc-mode.texi
272 $(ENVADD) $(TEXI2DVI) $< 274 $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
273cc-mode.pdf: ${srcdir}/cc-mode.texi 275cc-mode.pdf: ${srcdir}/cc-mode.texi
274 $(ENVADD) $(TEXI2PDF) $< 276 $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
275 277
276cl : $(infodir)/cl 278cl : $(infodir)/cl
277$(infodir)/cl: cl.texi 279$(infodir)/cl: cl.texi
278 $(mkinfodir) 280 $(mkinfodir)
279 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 281 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) cl.texi
280cl.dvi: ${srcdir}/cl.texi 282cl.dvi: ${srcdir}/cl.texi
281 $(ENVADD) $(TEXI2DVI) $< 283 $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
282cl.pdf: ${srcdir}/cl.texi 284cl.pdf: ${srcdir}/cl.texi
283 $(ENVADD) $(TEXI2PDF) $< 285 $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
284 286
285dbus : $(infodir)/dbus 287dbus : $(infodir)/dbus
286$(infodir)/dbus: dbus.texi 288$(infodir)/dbus: dbus.texi
287 $(mkinfodir) 289 $(mkinfodir)
288 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 290 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) dbus.texi
289dbus.dvi: ${srcdir}/dbus.texi 291dbus.dvi: ${srcdir}/dbus.texi
290 $(ENVADD) $(TEXI2DVI) $< 292 $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
291dbus.pdf: ${srcdir}/dbus.texi 293dbus.pdf: ${srcdir}/dbus.texi
292 $(ENVADD) $(TEXI2PDF) $< 294 $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
293 295
294dired-x : $(infodir)/dired-x 296dired-x : $(infodir)/dired-x
295$(infodir)/dired-x: dired-x.texi $(emacsdir)/emacsver.texi 297$(infodir)/dired-x: dired-x.texi $(emacsdir)/emacsver.texi
296 $(mkinfodir) 298 $(mkinfodir)
297 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 299 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) dired-x.texi
298dired-x.dvi: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi 300dired-x.dvi: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
299 $(ENVADD) $(TEXI2DVI) $< 301 $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
300dired-x.pdf: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi 302dired-x.pdf: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
301 $(ENVADD) $(TEXI2PDF) $< 303 $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
302 304
303ebrowse : $(infodir)/ebrowse 305ebrowse : $(infodir)/ebrowse
304$(infodir)/ebrowse: ebrowse.texi 306$(infodir)/ebrowse: ebrowse.texi
305 $(mkinfodir) 307 $(mkinfodir)
306 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 308 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ebrowse.texi
307ebrowse.dvi: ${srcdir}/ebrowse.texi 309ebrowse.dvi: ${srcdir}/ebrowse.texi
308 $(ENVADD) $(TEXI2DVI) $< 310 $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
309ebrowse.pdf: ${srcdir}/ebrowse.texi 311ebrowse.pdf: ${srcdir}/ebrowse.texi
310 $(ENVADD) $(TEXI2PDF) $< 312 $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
311 313
312ede : $(infodir)/ede 314ede : $(infodir)/ede
313$(infodir)/ede: ede.texi 315$(infodir)/ede: ede.texi
314 $(mkinfodir) 316 $(mkinfodir)
315 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 317 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ede.texi
316ede.dvi: ${srcdir}/ede.texi 318ede.dvi: ${srcdir}/ede.texi
317 $(ENVADD) $(TEXI2DVI) $< 319 $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
318ede.pdf: ${srcdir}/ede.texi 320ede.pdf: ${srcdir}/ede.texi
319 $(ENVADD) $(TEXI2PDF) $< 321 $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
320 322
321ediff : $(infodir)/ediff 323ediff : $(infodir)/ediff
322$(infodir)/ediff: ediff.texi 324$(infodir)/ediff: ediff.texi
323 $(mkinfodir) 325 $(mkinfodir)
324 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 326 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ediff.texi
325ediff.dvi: ${srcdir}/ediff.texi 327ediff.dvi: ${srcdir}/ediff.texi
326 $(ENVADD) $(TEXI2DVI) $< 328 $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
327ediff.pdf: ${srcdir}/ediff.texi 329ediff.pdf: ${srcdir}/ediff.texi
328 $(ENVADD) $(TEXI2PDF) $< 330 $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
329 331
330edt : $(infodir)/edt 332edt : $(infodir)/edt
331$(infodir)/edt: edt.texi 333$(infodir)/edt: edt.texi
332 $(mkinfodir) 334 $(mkinfodir)
333 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 335 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) edt.texi
334edt.dvi: ${srcdir}/edt.texi 336edt.dvi: ${srcdir}/edt.texi
335 $(ENVADD) $(TEXI2DVI) $< 337 $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
336edt.pdf: ${srcdir}/edt.texi 338edt.pdf: ${srcdir}/edt.texi
337 $(ENVADD) $(TEXI2PDF) $< 339 $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
338 340
339eieio : $(infodir)/eieio 341eieio : $(infodir)/eieio
340$(infodir)/eieio: eieio.texi 342$(infodir)/eieio: eieio.texi
341 $(mkinfodir) 343 $(mkinfodir)
342 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 344 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eieio.texi
343eieio.dvi: ${srcdir}/eieio.texi 345eieio.dvi: ${srcdir}/eieio.texi
344 $(ENVADD) $(TEXI2DVI) $< 346 $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
345eieio.pdf: ${srcdir}/eieio.texi 347eieio.pdf: ${srcdir}/eieio.texi
346 $(ENVADD) $(TEXI2PDF) $< 348 $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
347 349
348emacs-gnutls : $(infodir)/emacs-gnutls 350emacs-gnutls : $(infodir)/emacs-gnutls
349$(infodir)/emacs-gnutls: emacs-gnutls.texi 351$(infodir)/emacs-gnutls: emacs-gnutls.texi
350 $(mkinfodir) 352 $(mkinfodir)
351 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 353 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) emacs-gnutls.texi
352emacs-gnutls.dvi: ${srcdir}/emacs-gnutls.texi 354emacs-gnutls.dvi: ${srcdir}/emacs-gnutls.texi
353 $(ENVADD) $(TEXI2DVI) $< 355 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi
354emacs-gnutls.pdf: ${srcdir}/emacs-gnutls.texi 356emacs-gnutls.pdf: ${srcdir}/emacs-gnutls.texi
355 $(ENVADD) $(TEXI2PDF) $< 357 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi
356 358
357emacs-mime : $(infodir)/emacs-mime 359emacs-mime : $(infodir)/emacs-mime
358$(infodir)/emacs-mime: emacs-mime.texi 360$(infodir)/emacs-mime: emacs-mime.texi
359 $(mkinfodir) 361 $(mkinfodir)
360 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding $< 362 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding emacs-mime.texi
361emacs-mime.dvi: ${srcdir}/emacs-mime.texi 363emacs-mime.dvi: ${srcdir}/emacs-mime.texi
362 $(ENVADD) $(TEXI2DVI) $< 364 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
363emacs-mime.pdf: ${srcdir}/emacs-mime.texi 365emacs-mime.pdf: ${srcdir}/emacs-mime.texi
364 $(ENVADD) $(TEXI2PDF) $< 366 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
365 367
366epa : $(infodir)/epa 368epa : $(infodir)/epa
367$(infodir)/epa: epa.texi 369$(infodir)/epa: epa.texi
368 $(mkinfodir) 370 $(mkinfodir)
369 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 371 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) epa.texi
370epa.dvi: ${srcdir}/epa.texi 372epa.dvi: ${srcdir}/epa.texi
371 $(ENVADD) $(TEXI2DVI) $< 373 $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
372epa.pdf: ${srcdir}/epa.texi 374epa.pdf: ${srcdir}/epa.texi
373 $(ENVADD) $(TEXI2PDF) $< 375 $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
374 376
375erc : $(infodir)/erc 377erc : $(infodir)/erc
376$(infodir)/erc: erc.texi 378$(infodir)/erc: erc.texi
377 $(mkinfodir) 379 $(mkinfodir)
378 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 380 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) erc.texi
379erc.dvi: ${srcdir}/erc.texi 381erc.dvi: ${srcdir}/erc.texi
380 $(ENVADD) $(TEXI2DVI) $< 382 $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
381erc.pdf: ${srcdir}/erc.texi 383erc.pdf: ${srcdir}/erc.texi
382 $(ENVADD) $(TEXI2PDF) $< 384 $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
383 385
384ert : $(infodir)/ert 386ert : $(infodir)/ert
385$(infodir)/ert: ert.texi 387$(infodir)/ert: ert.texi
386 $(mkinfodir) 388 $(mkinfodir)
387 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 389 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ert.texi
388ert.dvi: ${srcdir}/ert.texi 390ert.dvi: ${srcdir}/ert.texi
389 $(ENVADD) $(TEXI2DVI) $< 391 $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi
390ert.pdf: ${srcdir}/ert.texi 392ert.pdf: ${srcdir}/ert.texi
391 $(ENVADD) $(TEXI2PDF) $< 393 $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi
392 394
393eshell : $(infodir)/eshell 395eshell : $(infodir)/eshell
394$(infodir)/eshell: eshell.texi 396$(infodir)/eshell: eshell.texi
395 $(mkinfodir) 397 $(mkinfodir)
396 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 398 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eshell.texi
397eshell.dvi: ${srcdir}/eshell.texi 399eshell.dvi: ${srcdir}/eshell.texi
398 $(ENVADD) $(TEXI2DVI) $< 400 $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
399eshell.pdf: ${srcdir}/eshell.texi 401eshell.pdf: ${srcdir}/eshell.texi
400 $(ENVADD) $(TEXI2PDF) $< 402 $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi
401 403
402eudc : $(infodir)/eudc 404eudc : $(infodir)/eudc
403$(infodir)/eudc: eudc.texi 405$(infodir)/eudc: eudc.texi
404 $(mkinfodir) 406 $(mkinfodir)
405 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 407 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eudc.texi
406eudc.dvi: ${srcdir}/eudc.texi 408eudc.dvi: ${srcdir}/eudc.texi
407 $(ENVADD) $(TEXI2DVI) $< 409 $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
408eudc.pdf: ${srcdir}/eudc.texi 410eudc.pdf: ${srcdir}/eudc.texi
409 $(ENVADD) $(TEXI2PDF) $< 411 $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
410 412
411efaq : $(infodir)/efaq 413efaq : $(infodir)/efaq
412$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi 414$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi
413 $(mkinfodir) 415 $(mkinfodir)
414 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 416 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) faq.texi
415faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 417faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
416 $(ENVADD) $(TEXI2DVI) $< 418 $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
417faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 419faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
418 $(ENVADD) $(TEXI2PDF) $< 420 $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi
419## This is the name used on the Emacs web-page. 421## This is the name used on the Emacs web-page.
420## sed fixes up links to point to split version of the manual. 422## sed fixes up links to point to split version of the manual.
421emacs-faq.html: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 423emacs-faq.html: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
422 $(MAKEINFO) $(MAKEINFO_OPTS) --no-split \ 424 $(MAKEINFO) $(MAKEINFO_OPTS) --no-split \
423 --css-ref='/layout.css' --html -o $@ $< 425 --css-ref='/layout.css' --html -o $@ ${srcdir}/faq.texi
424 sed -i -e 's|a href="\([a-z]*\)\.html#\([^"]*\)"|a href="manual/html_node/\1/\2.html"|g' \ 426 sed -i -e 's|a href="\([a-z]*\)\.html#\([^"]*\)"|a href="manual/html_node/\1/\2.html"|g' \
425 -e 's|/Top\.html|/|g' $@ 427 -e 's|/Top\.html|/|g' $@
426emacs-faq.text: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 428emacs-faq.text: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
427 $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ $< 429 $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ ${srcdir}/faq.texi
428 430
429flymake : $(infodir)/flymake 431flymake : $(infodir)/flymake
430$(infodir)/flymake: flymake.texi 432$(infodir)/flymake: flymake.texi
431 $(mkinfodir) 433 $(mkinfodir)
432 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 434 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) flymake.texi
433flymake.dvi: ${srcdir}/flymake.texi 435flymake.dvi: ${srcdir}/flymake.texi
434 $(ENVADD) $(TEXI2DVI) $< 436 $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
435flymake.pdf: ${srcdir}/flymake.texi 437flymake.pdf: ${srcdir}/flymake.texi
436 $(ENVADD) $(TEXI2PDF) $< 438 $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
437 439
438forms : $(infodir)/forms 440forms : $(infodir)/forms
439$(infodir)/forms: forms.texi 441$(infodir)/forms: forms.texi
440 $(mkinfodir) 442 $(mkinfodir)
441 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 443 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) forms.texi
442forms.dvi: ${srcdir}/forms.texi 444forms.dvi: ${srcdir}/forms.texi
443 $(ENVADD) $(TEXI2DVI) $< 445 $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
444forms.pdf: ${srcdir}/forms.texi 446forms.pdf: ${srcdir}/forms.texi
445 $(ENVADD) $(TEXI2PDF) $< 447 $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi
446 448
447# gnus/message/emacs-mime/sieve/pgg are part of Gnus: 449# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
448gnus : $(infodir)/gnus 450gnus : $(infodir)/gnus
449$(infodir)/gnus: gnus.texi gnus-faq.texi 451$(infodir)/gnus: gnus.texi gnus-faq.texi
450 $(mkinfodir) 452 $(mkinfodir)
451 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 453 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) gnus.texi
452gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi 454gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi
453 sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi 455 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
454 $(ENVADD) $(TEXI2DVI) gnustmp.texi 456 $(ENVADD) $(TEXI2DVI) gnustmp.texi
455 cp gnustmp.dvi $*.dvi 457 cp gnustmp.dvi $*.dvi
456 rm gnustmp.* 458 rm gnustmp.*
457gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi 459gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi
458 sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi 460 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
459 $(ENVADD) $(TEXI2PDF) gnustmp.texi 461 $(ENVADD) $(TEXI2PDF) gnustmp.texi
460 cp gnustmp.pdf $@ 462 cp gnustmp.pdf $@
461 rm gnustmp.* 463 rm gnustmp.*
@@ -465,11 +467,11 @@ gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi
465idlwave : $(infodir)/idlwave 467idlwave : $(infodir)/idlwave
466$(infodir)/idlwave: idlwave.texi 468$(infodir)/idlwave: idlwave.texi
467 $(mkinfodir) 469 $(mkinfodir)
468 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $< 470 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split idlwave.texi
469idlwave.dvi: ${srcdir}/idlwave.texi 471idlwave.dvi: ${srcdir}/idlwave.texi
470 $(ENVADD) $(TEXI2DVI) $< 472 $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
471idlwave.pdf: ${srcdir}/idlwave.texi 473idlwave.pdf: ${srcdir}/idlwave.texi
472 $(ENVADD) $(TEXI2PDF) $< 474 $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
473 475
474# The following target uses an explicit -o switch to work around 476# The following target uses an explicit -o switch to work around
475# the @setfilename directive in info.texi, which is required for 477# the @setfilename directive in info.texi, which is required for
@@ -477,227 +479,227 @@ idlwave.pdf: ${srcdir}/idlwave.texi
477###info : $(infodir)/info # circular! 479###info : $(infodir)/info # circular!
478$(infodir)/info: info.texi 480$(infodir)/info: info.texi
479 $(mkinfodir) 481 $(mkinfodir)
480 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $< -o $@ 482 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split -o $@ info.texi
481info.dvi: ${srcdir}/info.texi 483info.dvi: ${srcdir}/info.texi
482 $(ENVADD) $(TEXI2DVI) $< 484 $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
483info.pdf: ${srcdir}/info.texi 485info.pdf: ${srcdir}/info.texi
484 $(ENVADD) $(TEXI2PDF) $< 486 $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
485 487
486mairix-el : $(infodir)/mairix-el 488mairix-el : $(infodir)/mairix-el
487$(infodir)/mairix-el: mairix-el.texi 489$(infodir)/mairix-el: mairix-el.texi
488 $(mkinfodir) 490 $(mkinfodir)
489 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 491 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) mairix-el.texi
490mairix-el.dvi: ${srcdir}/mairix-el.texi 492mairix-el.dvi: ${srcdir}/mairix-el.texi
491 $(ENVADD) $(TEXI2DVI) $< 493 $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
492mairix-el.pdf: ${srcdir}/mairix-el.texi 494mairix-el.pdf: ${srcdir}/mairix-el.texi
493 $(ENVADD) $(TEXI2PDF) $< 495 $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
494 496
495message : $(infodir)/message 497message : $(infodir)/message
496$(infodir)/message: message.texi 498$(infodir)/message: message.texi
497 $(mkinfodir) 499 $(mkinfodir)
498 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 500 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) message.texi
499message.dvi: ${srcdir}/message.texi 501message.dvi: ${srcdir}/message.texi
500 $(ENVADD) $(TEXI2DVI) $< 502 $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
501message.pdf: ${srcdir}/message.texi 503message.pdf: ${srcdir}/message.texi
502 $(ENVADD) $(TEXI2PDF) $< 504 $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
503 505
504mh-e : $(infodir)/mh-e 506mh-e : $(infodir)/mh-e
505$(infodir)/mh-e: mh-e.texi 507$(infodir)/mh-e: mh-e.texi
506 $(mkinfodir) 508 $(mkinfodir)
507 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 509 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) mh-e.texi
508mh-e.dvi: ${srcdir}/mh-e.texi 510mh-e.dvi: ${srcdir}/mh-e.texi
509 $(ENVADD) $(TEXI2DVI) $< 511 $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
510mh-e.pdf: ${srcdir}/mh-e.texi 512mh-e.pdf: ${srcdir}/mh-e.texi
511 $(ENVADD) $(TEXI2PDF) $< 513 $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
512 514
513newsticker : $(infodir)/newsticker 515newsticker : $(infodir)/newsticker
514$(infodir)/newsticker: newsticker.texi 516$(infodir)/newsticker: newsticker.texi
515 $(mkinfodir) 517 $(mkinfodir)
516 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 518 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) newsticker.texi
517newsticker.dvi: ${srcdir}/newsticker.texi 519newsticker.dvi: ${srcdir}/newsticker.texi
518 $(ENVADD) $(TEXI2DVI) $< 520 $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
519newsticker.pdf: ${srcdir}/newsticker.texi 521newsticker.pdf: ${srcdir}/newsticker.texi
520 $(ENVADD) $(TEXI2PDF) $< 522 $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
521 523
522nxml-mode : $(infodir)/nxml-mode 524nxml-mode : $(infodir)/nxml-mode
523$(infodir)/nxml-mode: nxml-mode.texi 525$(infodir)/nxml-mode: nxml-mode.texi
524 $(mkinfodir) 526 $(mkinfodir)
525 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 527 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) nxml-mode.texi
526nxml-mode.dvi: ${srcdir}/nxml-mode.texi 528nxml-mode.dvi: ${srcdir}/nxml-mode.texi
527 $(ENVADD) $(TEXI2DVI) $< 529 $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
528nxml-mode.pdf: ${srcdir}/nxml-mode.texi 530nxml-mode.pdf: ${srcdir}/nxml-mode.texi
529 $(ENVADD) $(TEXI2PDF) $< 531 $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
530 532
531org : $(infodir)/org 533org : $(infodir)/org
532$(infodir)/org: org.texi 534$(infodir)/org: org.texi
533 $(mkinfodir) 535 $(mkinfodir)
534 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 536 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) org.texi
535org.dvi: ${srcdir}/org.texi 537org.dvi: ${srcdir}/org.texi
536 $(ENVADD) $(TEXI2DVI) $< 538 $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
537org.pdf: ${srcdir}/org.texi 539org.pdf: ${srcdir}/org.texi
538 $(ENVADD) $(TEXI2PDF) $< 540 $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
539 541
540pcl-cvs : $(infodir)/pcl-cvs 542pcl-cvs : $(infodir)/pcl-cvs
541$(infodir)/pcl-cvs: pcl-cvs.texi 543$(infodir)/pcl-cvs: pcl-cvs.texi
542 $(mkinfodir) 544 $(mkinfodir)
543 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 545 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) pcl-cvs.texi
544pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi 546pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi
545 $(ENVADD) $(TEXI2DVI) $< 547 $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
546pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi 548pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi
547 $(ENVADD) $(TEXI2PDF) $< 549 $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
548 550
549pgg : $(infodir)/pgg 551pgg : $(infodir)/pgg
550$(infodir)/pgg: pgg.texi 552$(infodir)/pgg: pgg.texi
551 $(mkinfodir) 553 $(mkinfodir)
552 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 554 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) pgg.texi
553pgg.dvi: ${srcdir}/pgg.texi 555pgg.dvi: ${srcdir}/pgg.texi
554 $(ENVADD) $(TEXI2DVI) $< 556 $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
555pgg.pdf: ${srcdir}/pgg.texi 557pgg.pdf: ${srcdir}/pgg.texi
556 $(ENVADD) $(TEXI2PDF) $< 558 $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
557 559
558rcirc : $(infodir)/rcirc 560rcirc : $(infodir)/rcirc
559$(infodir)/rcirc: rcirc.texi 561$(infodir)/rcirc: rcirc.texi
560 $(mkinfodir) 562 $(mkinfodir)
561 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 563 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) rcirc.texi
562rcirc.dvi: ${srcdir}/rcirc.texi 564rcirc.dvi: ${srcdir}/rcirc.texi
563 $(ENVADD) $(TEXI2DVI) $< 565 $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
564rcirc.pdf: ${srcdir}/rcirc.texi 566rcirc.pdf: ${srcdir}/rcirc.texi
565 $(ENVADD) $(TEXI2PDF) $< 567 $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
566 568
567reftex : $(infodir)/reftex 569reftex : $(infodir)/reftex
568$(infodir)/reftex: reftex.texi 570$(infodir)/reftex: reftex.texi
569 $(mkinfodir) 571 $(mkinfodir)
570 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 572 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) reftex.texi
571reftex.dvi: ${srcdir}/reftex.texi 573reftex.dvi: ${srcdir}/reftex.texi
572 $(ENVADD) $(TEXI2DVI) $< 574 $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
573reftex.pdf: ${srcdir}/reftex.texi 575reftex.pdf: ${srcdir}/reftex.texi
574 $(ENVADD) $(TEXI2PDF) $< 576 $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
575 577
576remember : $(infodir)/remember 578remember : $(infodir)/remember
577$(infodir)/remember: remember.texi 579$(infodir)/remember: remember.texi
578 $(mkinfodir) 580 $(mkinfodir)
579 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 581 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) remember.texi
580remember.dvi: ${srcdir}/remember.texi 582remember.dvi: ${srcdir}/remember.texi
581 $(ENVADD) $(TEXI2DVI) $< 583 $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
582remember.pdf: ${srcdir}/remember.texi 584remember.pdf: ${srcdir}/remember.texi
583 $(ENVADD) $(TEXI2PDF) $< 585 $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
584 586
585sasl : $(infodir)/sasl 587sasl : $(infodir)/sasl
586$(infodir)/sasl: sasl.texi 588$(infodir)/sasl: sasl.texi
587 $(mkinfodir) 589 $(mkinfodir)
588 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 590 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sasl.texi
589sasl.dvi: ${srcdir}/sasl.texi 591sasl.dvi: ${srcdir}/sasl.texi
590 $(ENVADD) $(TEXI2DVI) $< 592 $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
591sasl.pdf: ${srcdir}/sasl.texi 593sasl.pdf: ${srcdir}/sasl.texi
592 $(ENVADD) $(TEXI2PDF) $< 594 $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
593 595
594sc : $(infodir)/sc 596sc : $(infodir)/sc
595$(infodir)/sc: sc.texi 597$(infodir)/sc: sc.texi
596 $(mkinfodir) 598 $(mkinfodir)
597 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 599 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sc.texi
598sc.dvi: ${srcdir}/sc.texi 600sc.dvi: ${srcdir}/sc.texi
599 $(ENVADD) $(TEXI2DVI) $< 601 $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
600sc.pdf: ${srcdir}/sc.texi 602sc.pdf: ${srcdir}/sc.texi
601 $(ENVADD) $(TEXI2PDF) $< 603 $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
602 604
603semantic : $(infodir)/semantic 605semantic : $(infodir)/semantic
604$(infodir)/semantic: semantic.texi sem-user.texi 606$(infodir)/semantic: semantic.texi sem-user.texi
605 $(mkinfodir) 607 $(mkinfodir)
606 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 608 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) semantic.texi
607semantic.dvi: ${srcdir}/semantic.texi sem-user.texi 609semantic.dvi: ${srcdir}/semantic.texi sem-user.texi
608 $(ENVADD) $(TEXI2DVI) $< 610 $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
609semantic.pdf: ${srcdir}/semantic.texi sem-user.texi 611semantic.pdf: ${srcdir}/semantic.texi sem-user.texi
610 $(ENVADD) $(TEXI2PDF) $< 612 $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
611 613
612ses : $(infodir)/ses 614ses : $(infodir)/ses
613$(infodir)/ses: ses.texi 615$(infodir)/ses: ses.texi
614 $(mkinfodir) 616 $(mkinfodir)
615 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 617 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ses.texi
616ses.dvi: ${srcdir}/ses.texi 618ses.dvi: ${srcdir}/ses.texi
617 $(ENVADD) $(TEXI2DVI) $< 619 $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
618ses.pdf: ${srcdir}/ses.texi 620ses.pdf: ${srcdir}/ses.texi
619 $(ENVADD) $(TEXI2PDF) $< 621 $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
620 622
621sieve : $(infodir)/sieve 623sieve : $(infodir)/sieve
622$(infodir)/sieve: sieve.texi 624$(infodir)/sieve: sieve.texi
623 $(mkinfodir) 625 $(mkinfodir)
624 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 626 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sieve.texi
625sieve.dvi: ${srcdir}/sieve.texi 627sieve.dvi: ${srcdir}/sieve.texi
626 $(ENVADD) $(TEXI2DVI) $< 628 $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
627sieve.pdf: ${srcdir}/sieve.texi 629sieve.pdf: ${srcdir}/sieve.texi
628 $(ENVADD) $(TEXI2PDF) $< 630 $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
629 631
630smtpmail : $(infodir)/smtpmail 632smtpmail : $(infodir)/smtpmail
631$(infodir)/smtpmail: smtpmail.texi 633$(infodir)/smtpmail: smtpmail.texi
632 $(mkinfodir) 634 $(mkinfodir)
633 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 635 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) smtpmail.texi
634smtpmail.dvi: ${srcdir}/smtpmail.texi 636smtpmail.dvi: ${srcdir}/smtpmail.texi
635 $(ENVADD) $(TEXI2DVI) $< 637 $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
636smtpmail.pdf: ${srcdir}/smtpmail.texi 638smtpmail.pdf: ${srcdir}/smtpmail.texi
637 $(ENVADD) $(TEXI2PDF) $< 639 $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
638 640
639speedbar : $(infodir)/speedbar 641speedbar : $(infodir)/speedbar
640$(infodir)/speedbar: speedbar.texi 642$(infodir)/speedbar: speedbar.texi
641 $(mkinfodir) 643 $(mkinfodir)
642 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 644 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) speedbar.texi
643speedbar.dvi: ${srcdir}/speedbar.texi 645speedbar.dvi: ${srcdir}/speedbar.texi
644 $(ENVADD) $(TEXI2DVI) $< 646 $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
645speedbar.pdf: ${srcdir}/speedbar.texi 647speedbar.pdf: ${srcdir}/speedbar.texi
646 $(ENVADD) $(TEXI2PDF) $< 648 $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
647 649
648tramp : $(infodir)/tramp 650tramp : $(infodir)/tramp
649$(infodir)/tramp: tramp.texi trampver.texi 651$(infodir)/tramp: tramp.texi trampver.texi
650 $(mkinfodir) 652 $(mkinfodir)
651 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) -D emacs $< 653 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) -D emacs tramp.texi
652tramp.dvi: ${srcdir}/tramp.texi trampver.texi 654tramp.dvi: ${srcdir}/tramp.texi trampver.texi
653 $(ENVADD) $(TEXI2DVI) $< 655 $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
654tramp.pdf: ${srcdir}/tramp.texi trampver.texi 656tramp.pdf: ${srcdir}/tramp.texi trampver.texi
655 $(ENVADD) $(TEXI2PDF) $< 657 $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
656 658
657url : $(infodir)/url 659url : $(infodir)/url
658$(infodir)/url: url.texi 660$(infodir)/url: url.texi
659 $(mkinfodir) 661 $(mkinfodir)
660 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 662 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) url.texi
661url.dvi: ${srcdir}/url.texi 663url.dvi: ${srcdir}/url.texi
662 $(ENVADD) $(TEXI2DVI) $< 664 $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
663url.pdf: ${srcdir}/url.texi 665url.pdf: ${srcdir}/url.texi
664 $(ENVADD) $(TEXI2PDF) $< 666 $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
665 667
666vip : $(infodir)/vip 668vip : $(infodir)/vip
667$(infodir)/vip: vip.texi 669$(infodir)/vip: vip.texi
668 $(mkinfodir) 670 $(mkinfodir)
669 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 671 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) vip.texi
670vip.dvi: ${srcdir}/vip.texi 672vip.dvi: ${srcdir}/vip.texi
671 $(ENVADD) $(TEXI2DVI) $< 673 $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
672vip.pdf: ${srcdir}/vip.texi 674vip.pdf: ${srcdir}/vip.texi
673 $(ENVADD) $(TEXI2PDF) $< 675 $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
674 676
675viper : $(infodir)/viper 677viper : $(infodir)/viper
676$(infodir)/viper: viper.texi 678$(infodir)/viper: viper.texi
677 $(mkinfodir) 679 $(mkinfodir)
678 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 680 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) viper.texi
679viper.dvi: ${srcdir}/viper.texi 681viper.dvi: ${srcdir}/viper.texi
680 $(ENVADD) $(TEXI2DVI) $< 682 $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
681viper.pdf: ${srcdir}/viper.texi 683viper.pdf: ${srcdir}/viper.texi
682 $(ENVADD) $(TEXI2PDF) $< 684 $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
683 685
684widget : $(infodir)/widget 686widget : $(infodir)/widget
685$(infodir)/widget: widget.texi 687$(infodir)/widget: widget.texi
686 $(mkinfodir) 688 $(mkinfodir)
687 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 689 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) widget.texi
688widget.dvi: ${srcdir}/widget.texi 690widget.dvi: ${srcdir}/widget.texi
689 $(ENVADD) $(TEXI2DVI) $< 691 $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
690widget.pdf: ${srcdir}/widget.texi 692widget.pdf: ${srcdir}/widget.texi
691 $(ENVADD) $(TEXI2PDF) $< 693 $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
692 694
693woman : $(infodir)/woman 695woman : $(infodir)/woman
694$(infodir)/woman: woman.texi 696$(infodir)/woman: woman.texi
695 $(mkinfodir) 697 $(mkinfodir)
696 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< 698 cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) woman.texi
697woman.dvi: ${srcdir}/woman.texi 699woman.dvi: ${srcdir}/woman.texi
698 $(ENVADD) $(TEXI2DVI) $< 700 $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
699woman.pdf: ${srcdir}/woman.texi 701woman.pdf: ${srcdir}/woman.texi
700 $(ENVADD) $(TEXI2PDF) $< 702 $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi
701 703
702 704
703.PHONY: mostlyclean clean distclean maintainer-clean 705.PHONY: mostlyclean clean distclean maintainer-clean
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 1a192123c3e..58420bbd99c 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -5195,7 +5195,7 @@ indentation.
5195@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5195@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5196 5196
5197This section explains the structure and semantics of the style 5197This section explains the structure and semantics of the style
5198variable @code{c-offset-alist}, the principal variable for configuring 5198variable @code{c-offsets-alist}, the principal variable for configuring
5199indentation. Details of how to set it up, and its relationship to 5199indentation. Details of how to set it up, and its relationship to
5200@ccmode{}'s style system are given in @ref{Style Variables}. 5200@ccmode{}'s style system are given in @ref{Style Variables}.
5201 5201
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index e033a47aa96..67633e1acac 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -4,8 +4,8 @@
4@setfilename ../../info/org 4@setfilename ../../info/org
5@settitle The Org Manual 5@settitle The Org Manual
6 6
7@set VERSION 7.8.07 7@set VERSION 7.8.09
8@set DATE March 2012 8@set DATE April 2012
9 9
10@c Use proper quote and backtick for code sections in PDF output 10@c Use proper quote and backtick for code sections in PDF output
11@c Cf. Texinfo manual 14.2 11@c Cf. Texinfo manual 14.2
@@ -5698,8 +5698,8 @@ until the entry is marked DONE. An example:
5698 5698
5699@example 5699@example
5700*** TODO write article about the Earth for the Guide 5700*** TODO write article about the Earth for the Guide
5701 The editor in charge is [[bbdb:Ford Prefect]]
5702 DEADLINE: <2004-02-29 Sun> 5701 DEADLINE: <2004-02-29 Sun>
5702 The editor in charge is [[bbdb:Ford Prefect]]
5703@end example 5703@end example
5704 5704
5705You can specify a different lead time for warnings for a specific 5705You can specify a different lead time for warnings for a specific
@@ -7852,9 +7852,9 @@ the other commands, the cursor needs to be in the desired line.
7852@tsubheading{Motion} 7852@tsubheading{Motion}
7853@cindex motion commands in agenda 7853@cindex motion commands in agenda
7854@orgcmd{n,org-agenda-next-line} 7854@orgcmd{n,org-agenda-next-line}
7855Next line (same as @key{up} and @kbd{C-p}). 7855Next line (same as @key{down} and @kbd{C-n}).
7856@orgcmd{p,org-agenda-previous-line} 7856@orgcmd{p,org-agenda-previous-line}
7857Previous line (same as @key{down} and @kbd{C-n}). 7857Previous line (same as @key{up} and @kbd{C-p}).
7858@tsubheading{View/Go to Org file} 7858@tsubheading{View/Go to Org file}
7859@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up} 7859@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up}
7860Display the original location of the item in another window. 7860Display the original location of the item in another window.
@@ -9537,12 +9537,12 @@ the web, while the XOXO format provides a solid base for exchange with a
9537broad range of other applications. @LaTeX{} export lets you use Org mode and 9537broad range of other applications. @LaTeX{} export lets you use Org mode and
9538its structured editing functions to easily create @LaTeX{} files. DocBook 9538its structured editing functions to easily create @LaTeX{} files. DocBook
9539export makes it possible to convert Org files to many other formats using 9539export makes it possible to convert Org files to many other formats using
9540DocBook tools. OpenDocument Text(ODT) export allows seamless 9540DocBook tools. OpenDocument Text (ODT) export allows seamless
9541collaboration across organizational boundaries. For project management you 9541collaboration across organizational boundaries. For project management you
9542can create gantt and resource charts by using TaskJuggler export. To 9542can create gantt and resource charts by using TaskJuggler export. To
9543incorporate entries with associated times like deadlines or appointments into 9543incorporate entries with associated times like deadlines or appointments into
9544a desktop calendar program like iCal, Org mode can also produce extracts in 9544a desktop calendar program like iCal, Org mode can also produce extracts in
9545the iCalendar format. Currently Org mode only supports export, not import of 9545the iCalendar format. Currently, Org mode only supports export, not import of
9546these different formats. 9546these different formats.
9547 9547
9548Org supports export of selected regions when @code{transient-mark-mode} is 9548Org supports export of selected regions when @code{transient-mark-mode} is
@@ -10869,10 +10869,10 @@ one format (say @samp{csv}) to another format (say @samp{ods} or @samp{xls}).
10869If you have a working installation of LibreOffice, a document converter is 10869If you have a working installation of LibreOffice, a document converter is
10870pre-configured for you and you can use it right away. If you would like to 10870pre-configured for you and you can use it right away. If you would like to
10871use @file{unoconv} as your preferred converter, customize the variable 10871use @file{unoconv} as your preferred converter, customize the variable
10872@code{org-export-odt-convert-process} to point to @code{unoconv}. If you 10872@code{org-export-odt-convert-process} to point to @code{unoconv}. You can
10873would like to use a converter of your own choosing or tweak the default 10873also use your own favorite converter or tweak the default settings of the
10874settings of the default @file{LibreOffice} and @samp{unoconv} converters 10874@file{LibreOffice} and @samp{unoconv} converters. @xref{Configuring a
10875@xref{Configuring a document converter}. 10875document converter}.
10876 10876
10877@subsubsection Automatically exporting to other formats 10877@subsubsection Automatically exporting to other formats
10878@anchor{x-export-to-other-formats} 10878@anchor{x-export-to-other-formats}
@@ -11206,7 +11206,7 @@ that the @file{dvipng} program be available on your system.
11206 11206
11207For various reasons, you may find embedding @LaTeX{} math snippets in an 11207For various reasons, you may find embedding @LaTeX{} math snippets in an
11208ODT document less than reliable. In that case, you can embed a 11208ODT document less than reliable. In that case, you can embed a
11209math equation by linking to its MathML(@file{.mml}) source or its 11209math equation by linking to its MathML (@file{.mml}) source or its
11210OpenDocument formula (@file{.odf}) file as shown below: 11210OpenDocument formula (@file{.odf}) file as shown below:
11211 11211
11212@example 11212@example
@@ -11269,7 +11269,7 @@ Illustration 2: Bell curve
11269Export of literal examples (@pxref{Literal examples}) with full fontification 11269Export of literal examples (@pxref{Literal examples}) with full fontification
11270is supported. Internally, the exporter relies on @file{htmlfontify.el} to 11270is supported. Internally, the exporter relies on @file{htmlfontify.el} to
11271generate all style definitions needed for a fancy listing.@footnote{Your 11271generate all style definitions needed for a fancy listing.@footnote{Your
11272@file{htmlfontify.el} library must atleast be at Emacs 24.1 levels for 11272@file{htmlfontify.el} library must at least be at Emacs 24.1 levels for
11273fontification to be turned on.} The auto-generated styles have @samp{OrgSrc} 11273fontification to be turned on.} The auto-generated styles have @samp{OrgSrc}
11274as prefix and inherit their color from the faces used by Emacs 11274as prefix and inherit their color from the faces used by Emacs
11275@code{font-lock} library for the source language. 11275@code{font-lock} library for the source language.
@@ -11318,10 +11318,9 @@ the variable @code{org-export-odt-convert-processes}. Also specify how the
11318converter can be invoked via command-line to effect the conversion. 11318converter can be invoked via command-line to effect the conversion.
11319 11319
11320@item Configure its capabilities 11320@item Configure its capabilities
11321@vindex org-export-odt-convert-capabilities
11322 11321
11322@vindex org-export-odt-convert-capabilities
11323@anchor{x-odt-converter-capabilities} 11323@anchor{x-odt-converter-capabilities}
11324
11325Specify the set of formats the converter can handle by customizing the 11324Specify the set of formats the converter can handle by customizing the
11326variable @code{org-export-odt-convert-capabilities}. Use the default value 11325variable @code{org-export-odt-convert-capabilities}. Use the default value
11327for this variable as a guide for configuring your converter. As suggested by 11326for this variable as a guide for configuring your converter. As suggested by
@@ -11460,7 +11459,7 @@ regular text.
11460@end example 11459@end example
11461 11460
11462@strong{Hint:} To see the above example in action, edit your 11461@strong{Hint:} To see the above example in action, edit your
11463@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a 11462@file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
11464custom @samp{Highlight} style as shown below. 11463custom @samp{Highlight} style as shown below.
11465 11464
11466@example 11465@example
@@ -11479,7 +11478,7 @@ directive. For example, to force a page break do the following:
11479@end example 11478@end example
11480 11479
11481@strong{Hint:} To see the above example in action, edit your 11480@strong{Hint:} To see the above example in action, edit your
11482@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a 11481@file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
11483custom @samp{PageBreak} style as shown below. 11482custom @samp{PageBreak} style as shown below.
11484 11483
11485@example 11484@example
diff --git a/etc/NEWS b/etc/NEWS
index 6937ea98163..e5157fd9da9 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -44,12 +44,30 @@ been adding them there, put them somewhere else, eg site-lisp.
44 44
45 45
46* Editing Changes in Emacs 24.2 46* Editing Changes in Emacs 24.2
47
48** M-x move-to-column, if called interactively with no prefix arg, now
49prompts for a column number.
50
51** `mouse-avoidance-banish-position' can now be used to customize
52`mouse-avoidance-mode' further.
53
54** `C-M-f' and `C-M-b' will now move to the path name separator
55character when doing minibuffer filename prompts.
56
47 57
48* Changes in Specialized Modes and Packages in Emacs 24.2 58* Changes in Specialized Modes and Packages in Emacs 24.2
49 59
60** which-function-mode now applies to all applicable major modes by default.
61
50** erc will look up server/channel names via auth-source and use the 62** erc will look up server/channel names via auth-source and use the
51 channel keys found, if any. 63 channel keys found, if any.
52 64
65** Obsolete packages:
66
67*** mailpost.el
68
69*** mouse-sel.el
70
53 71
54* New Modes and Packages in Emacs 24.2 72* New Modes and Packages in Emacs 24.2
55 73
diff --git a/etc/TODO b/etc/TODO
index db1d50192f2..6aa74df5a79 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -647,17 +647,29 @@ up on top of all others
647 647
648** Bidirectional editing 648** Bidirectional editing
649 649
650*** Support reordering structured text
651Two important use cases: (1) comments and strings in program sources,
652and (2) text with markup, like HTML or XML.
653
654One idea is to invent a special text property that would instruct the
655display engine to reorder only the parts of buffer text covered by
656that property. The display engine will then push its state onto the
657iterator stack, restrict the bidi iterator to accessing only the
658portion of buffer text covered by the property, reorder the text, then
659pop its state from stack and continue as usual. This will require
660minor changes in the bidi_it structure.
661
662This design requires Lisp-level code to put the text properties on the
663relevant parts of the buffer text. That could be done using JIT
664fontifications, or as a preliminary processing when the file is
665visited. With HTML/XML, the code that puts text properties needs to
666pay attention to the bidi directives embedded in the HTML/XML stream.
667
650*** Allow the user to control the direction of the UI 668*** Allow the user to control the direction of the UI
651 669
652**** Introduce user option to control direction of mode line. 670**** Introduce user option to control direction of mode line.
653This requires to figure out what to do with unibyte strings that are 671One problem is the header line, which is produced by the same routines
654used in constructing the mode line. Currently, unibyte strings are 672as the mode line. While it makes sense to have the mode-line
655not reordered by bidi.c, without which R2L mode line will not display
656correctly. One possibility would be to STRING_SET_MULTIBYTE all Lisp
657strings involved in the mode line, and then pass them through bidi.c.
658
659Another problem is the header line, which is produced by the same
660routines as the mode line. While it makes sense to have the mode-line
661direction controlled by a single global variable, header lines are 673direction controlled by a single global variable, header lines are
662buffer-specific, so they need a separate treatment in this regard. 674buffer-specific, so they need a separate treatment in this regard.
663 675
diff --git a/etc/refcards/orgcard.pdf b/etc/refcards/orgcard.pdf
index 201bb892dc0..3bedb6f2cf5 100644
--- a/etc/refcards/orgcard.pdf
+++ b/etc/refcards/orgcard.pdf
Binary files differ
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index d78f2a38021..d06afca8083 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
1% Reference Card for Org Mode 1% Reference Card for Org Mode
2\def\orgversionnumber{7.8.07} 2\def\orgversionnumber{7.8.09}
3\def\versionyear{2012} % latest update 3\def\versionyear{2012} % latest update
4\def\year{2012} % latest copyright year 4\def\year{2012} % latest copyright year
5 5
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index a9ad2a97ea3..6c2d23bbf44 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,10 +1,14 @@
12012-04-09 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 * Makefile.in (C_WARNINGS_SWITCH): Remove. 4 * Makefile.in (C_WARNINGS_SWITCH): Remove.
5 (WARN_CFLAGS, WERROR_CFLAGS): New macros. 5 (WARN_CFLAGS, WERROR_CFLAGS): New macros.
6 (BASE_CFLAGS): Use new macros rather than old. 6 (BASE_CFLAGS): Use new macros rather than old.
7 7
82012-04-14 Juanma Barranquero <lekktu@gmail.com>
9 * emacsclient.c (decode_options) [WINDOWSNT]:
10 Call ttyname instead of passing its address (typo in 2011-12-04T17:13:01Z!lekktu@gmail.com).
11
82012-04-07 Eli Zaretskii <eliz@gnu.org> 122012-04-07 Eli Zaretskii <eliz@gnu.org>
9 13
10 * makefile.w32-in (obj): Add xml.o. 14 * makefile.w32-in (obj): Add xml.o.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 049886ed2ba..05fd0f3515e 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -648,7 +648,7 @@ decode_options (int argc, char **argv)
648 server.el check whether it makes sense. */ 648 server.el check whether it makes sense. */
649 if (tty || !current_frame) 649 if (tty || !current_frame)
650 { 650 {
651 display = (const char *) ttyname; 651 display = (const char *) ttyname (0); /* Arg is ignored. */
652 current_frame = 0; 652 current_frame = 0;
653 tty = 1; 653 tty = 1;
654 } 654 }
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 135f01d6268..1974a7a5af1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,225 @@
12012-04-14 Juanma Barranquero <lekktu@gmail.com>
2
3 * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook.
4 (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix.
5 (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions)
6 (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017)
7
82012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
9
10 * progmodes/which-func.el (which-func-modes): Change default.
11
122012-04-14 Kim F. Storm <storm@cua.dk>
13
14 * emulation/cua-base.el (cua-exchange-point-and-mark): Just call
15 exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
16
172012-04-14 Chong Yidong <cyd@gnu.org>
18
19 * custom.el (custom-theme-set-variables): Doc fix.
20
212012-04-14 Glenn Morris <rgm@gnu.org>
22
23 * international/mule.el (set-auto-coding-for-load): Doc fix.
24
252012-04-14 Alan Mackenzie <acm@muc.de>
26
27 * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make
28 imenu work again for Objective C Mode. Correct the *-index values,
29 these having been disturbed by a previous change in 2011-08.
30
31 * progmodes/cc-engine.el (c-before-change-check-<>-operators):
32 Correct two search limits.
33
342012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
35
36 * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
37
382012-04-14 Andreas Schwab <schwab@linux-m68k.org>
39
40 * international/characters.el: Fix sorting.
41
422012-04-14 Eli Zaretskii <eliz@gnu.org>
43
44 * international/characters.el: Add more missing Latin case pairs.
45
462012-04-14 Glenn Morris <rgm@gnu.org>
47
48 * files.el (dir-locals-set-class-variables): Doc fix.
49
502012-04-14 Eli Zaretskii <eliz@gnu.org>
51
52 * international/characters.el: Add set-case-syntax-pair call for
53 LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
54 counterpart. (Bug#11209)
55
56 * simple.el (shell-command-on-region): Doc fix. (Bug#11208)
57
582012-04-14 Glenn Morris <rgm@gnu.org>
59
60 * calendar/holidays.el (calendar-check-holidays): Doc fix.
61
622012-04-14 Eli Zaretskii <eliz@gnu.org>
63
64 * textmodes/ispell.el (ispell-dictionary-base-alist):
65 Add data for Hebrew.
66
672012-04-14 Chong Yidong <cyd@gnu.org>
68
69 * net/rcirc.el (rcirc-cmd-quit):
70 Revert 2012-03-18 change (Bug#11192).
71
722012-04-14 Glenn Morris <rgm@gnu.org>
73
74 * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
75
762012-04-14 Eli Zaretskii <eliz@gnu.org>
77
78 * minibuffer.el (completion-in-region-mode-map):
79 Bind completion-help-at-point to M-? rather than ?. (Bug#11182)
80
812012-04-13 Vivek Dasmohapatra <vivek@etla.org>
82
83 * hexl.el (hexl-insert-char): Make display sizes other than 16 work.
84
852012-04-13 Masatake YAMATO <yamato@redhat.com>
86
87 * minibuffer.el (minibuffer-local-filename-syntax): New variable
88 to allow `C-M-f' and `C-M-b' to move to the nearest path
89 separator (bug#9511).
90
912012-04-13 Lars Ingebrigtsen <larsi@gnus.org>
92
93 * avoid.el: Require cl when compiling. And also move the
94 `provide' to the end.
95
962012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
97
98 * avoid.el (mouse-avoidance-banish-position): New variable.
99 (mouse-avoidance-banish-destination): Use it (bug#10165).
100
1012012-04-13 Leo Liu <sdl.web@gmail.com>
102
103 * progmodes/which-func.el (which-func-modes): Add objc-mode.
104
1052012-04-13 Ken Brown <kbrown@cornell.edu>
106
107 * net/browse-url.el (browse-url-file-url): Remove Cygwin hack;
108 this is no longer needed now that cygstart understands file:// URLs.
109 (browse-url-filename-alist): For the same reason, don't modify
110 file:// URLs on Cygwin.
111
1122012-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
113
114 * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate
115 the region on shift if the binding is already shifted (bug#11221).
116
1172012-04-12 Glenn Morris <rgm@gnu.org>
118
119 * mail/mailpost.el: Move to obsolete/.
120
1212012-04-12 Drew Adams <drew.adams@oracle.com>
122
123 * imenu.el (imenu--generic-function): Ignore invisible definitions
124 (bug#10123).
125
1262012-04-12 Vivek Dasmohapatra <vivek@etla.org>
127
128 * hexl.el (hexl-bits): New variable.
129 (hexl-options): Mention the variable in the doc string.
130 (hexl-rulerise): New function.
131 (hexl-line-displen): New function
132 (hexl-mode): Mention the new variable.
133 (hexl-mode, hexl-current-address, hexl-current-address): Use the
134 displen.
135 (hexl-ascii-start-column): New function.
136 (hexl-address-to-marker, hexl-beginning-of-line, hexl-options)
137 (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941).
138
1392012-04-12 Agustín Martín Domingo <agustin.martin@hispalinux.es>
140
141 * textmodes/flyspell.el (flyspell-large-region): For hunspell, use
142 '("-i" ENCODING), in 2 separate command-line arguments, to specify
143 the encoding, as expected by hunspell.
144
1452012-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
146
147 * battery.el (battery--linux-sysfs-regexp): New const.
148 (battery-status-function): Use it. Remove yeeloong special case.
149 (battery-yeeloong-sysfs): Remove.
150 (battery-echo-area-format): Remove yeeloong special case.
151
1522012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
153
154 * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
155 Reported by Noah Friedman.
156
157 * subr.el (read-passwd): Use read-string.
158
1592012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
160
161 * vcursor.el (vcursor-move): Increase the priority of the overlay
162 (bug#9663).
163
1642012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
165
166 * net/rcirc.el (rcirc-kill-channel-buffers): New variable.
167 (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128).
168
1692012-04-11 William Stevenson <yhvh2000@gmail.com>
170
171 * textmodes/artist.el (artist-mode): Convert artist-mode to use
172 define-minor-mode (bug#10760).
173
1742012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
175
176 * lisp/progmodes/grep.el (rgrep): Tweak the find command line so
177 that directories matching `grep-find-ignored-files' won't be
178 pruned (bug#10351).
179
1802012-04-11 Chong Yidong <cyd@gnu.org>
181
182 * startup.el (command-line): Remove support for long-obsolete
183 variable font-lock-face-attributes.
184
1852012-04-11 Glenn Morris <rgm@gnu.org>
186
187 * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug.
188
1892012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
190
191 * window.el (window--state-get-1): Obey window-point-insertion-type.
192
1932012-04-11 Lennart Borgman <lennart.borgman@gmail.com>
194
195 * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes
196 to previous function when point is on the first character of a
197 function. Take care of that in `narrow-to-defun' (bug#6157).
198
1992012-04-11 Glenn Morris <rgm@gnu.org>
200
201 * vc/vc-bzr.el (vc-bzr-status): Handle all errors,
202 not just file-errors.
203
204 * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove.
205 (vc-bzr-sha1): Use internal sha1.
206
2072012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
208
209 * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
210
2112012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change)
212
213 * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments
214 that start in the middle of the line (bug#10496).
215
2162012-04-10 Dan Nicolaescu <dann@gnu.org>
217
218 * battery.el (battery-linux-proc-acpi): Only one battery is
219 discharged at a time, but that seems to confuse battery.el when
220 computing `rate-type' for the battery not being discharged
221 (bug#10332).
222
12012-04-10 Stefan Monnier <monnier@iro.umontreal.ca> 2232012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2 224
3 * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. 225 * emacs-lisp/autoload.el (autoload-make-program): Remove, unused.
diff --git a/lisp/avoid.el b/lisp/avoid.el
index 17d99fd6517..eb8a4ad23a2 100644
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -67,7 +67,7 @@
67 67
68;;; Code: 68;;; Code:
69 69
70(provide 'avoid) 70(eval-when-compile (require 'cl))
71 71
72(defgroup avoid nil 72(defgroup avoid nil
73 "Make mouse pointer stay out of the way of editing." 73 "Make mouse pointer stay out of the way of editing."
@@ -115,6 +115,23 @@ Only applies in Mouse Avoidance modes `animate' and `jump'."
115 :type 'integer 115 :type 'integer
116 :group 'avoid) 116 :group 'avoid)
117 117
118(defcustom mouse-avoidance-banish-position '((frame-or-window . frame)
119 (side . right)
120 (side-pos . 3)
121 (top-or-bottom . top)
122 (top-or-bottom-pos . 0))
123 "Position to which Mouse Avoidance mode `banish' moves the mouse.
124An alist where keywords mean:
125FRAME-OR-WINDOW: banish the mouse to corner of frame or window.
126SIDE: banish the mouse on right or left corner of frame or window.
127SIDE-POS: Distance from right or left edge of frame or window.
128TOP-OR-BOTTOM: banish the mouse to top or bottom of frame or window.
129TOP-OR-BOTTOM-POS: Distance from top or bottom edge of frame or window."
130 :group 'avoid
131 :type '(alist :key-type symbol :value-type symbol)
132 :options '(frame-or-window side (side-pos integer)
133 top-or-bottom (top-or-bottom-pos integer)))
134
118;; Internal variables 135;; Internal variables
119(defvar mouse-avoidance-state nil) 136(defvar mouse-avoidance-state nil)
120(defvar mouse-avoidance-pointer-shapes nil) 137(defvar mouse-avoidance-pointer-shapes nil)
@@ -183,13 +200,45 @@ Acceptable distance is defined by `mouse-avoidance-threshold'."
183 200
184(defun mouse-avoidance-banish-destination () 201(defun mouse-avoidance-banish-destination ()
185 "The position to which Mouse Avoidance mode `banish' moves the mouse. 202 "The position to which Mouse Avoidance mode `banish' moves the mouse.
186You can redefine this if you want the mouse banished to a different corner." 203
187 (let* ((pos (window-edges))) 204If you want the mouse banished to a different corner set
188 (cons (- (nth 2 pos) 2) 205`mouse-avoidance-banish-position' as you need."
189 (nth 1 pos)))) 206 (let* ((fra-or-win (assoc-default
207 'frame-or-window
208 mouse-avoidance-banish-position 'eq))
209 (list-values (case fra-or-win
210 (frame (list 0 0 (frame-width) (frame-height)))
211 (window (window-edges))))
212 (alist (loop for v in list-values
213 for k in '(left top right bottom)
214 collect (cons k v)))
215 (side (assoc-default
216 'side
217 mouse-avoidance-banish-position 'eq))
218 (side-dist (assoc-default
219 'side-pos
220 mouse-avoidance-banish-position 'eq))
221 (top-or-bottom (assoc-default
222 'top-or-bottom
223 mouse-avoidance-banish-position 'eq))
224 (top-or-bottom-dist (assoc-default
225 'top-or-bottom-pos
226 mouse-avoidance-banish-position 'eq))
227 (side-fn (case side
228 (left '+)
229 (right '-)))
230 (top-or-bottom-fn (case top-or-bottom
231 (top '+)
232 (bottom '-))))
233 (cons (funcall side-fn ; -/+
234 (assoc-default side alist 'eq) ; right or left
235 side-dist) ; distance from side
236 (funcall top-or-bottom-fn ; -/+
237 (assoc-default top-or-bottom alist 'eq) ; top/bottom
238 top-or-bottom-dist)))) ; distance from top/bottom
190 239
191(defun mouse-avoidance-banish-mouse () 240(defun mouse-avoidance-banish-mouse ()
192 ;; Put the mouse pointer in the upper-right corner of the current frame. 241 "Put the mouse pointer to `mouse-avoidance-banish-position'."
193 (mouse-avoidance-set-mouse-position (mouse-avoidance-banish-destination))) 242 (mouse-avoidance-set-mouse-position (mouse-avoidance-banish-destination)))
194 243
195(defsubst mouse-avoidance-delta (cur delta dist var min max) 244(defsubst mouse-avoidance-delta (cur delta dist var min max)
@@ -408,4 +457,6 @@ definition of \"random distance\".)"
408(if mouse-avoidance-mode 457(if mouse-avoidance-mode
409 (mouse-avoidance-mode mouse-avoidance-mode)) 458 (mouse-avoidance-mode mouse-avoidance-mode))
410 459
460(provide 'avoid)
461
411;;; avoid.el ends here 462;;; avoid.el ends here
diff --git a/lisp/battery.el b/lisp/battery.el
index 586be9e8938..78898534a47 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -39,6 +39,9 @@
39 :prefix "battery-" 39 :prefix "battery-"
40 :group 'hardware) 40 :group 'hardware)
41 41
42;; Either BATn or yeeloong-bat, basically.
43(defconst battery--linux-sysfs-regexp "[bB][aA][tT][0-9]?$")
44
42(defcustom battery-status-function 45(defcustom battery-status-function
43 (cond ((and (eq system-type 'gnu/linux) 46 (cond ((and (eq system-type 'gnu/linux)
44 (file-readable-p "/proc/apm")) 47 (file-readable-p "/proc/apm"))
@@ -48,12 +51,9 @@
48 'battery-linux-proc-acpi) 51 'battery-linux-proc-acpi)
49 ((and (eq system-type 'gnu/linux) 52 ((and (eq system-type 'gnu/linux)
50 (file-directory-p "/sys/class/power_supply/") 53 (file-directory-p "/sys/class/power_supply/")
51 (directory-files "/sys/class/power_supply/" nil "BAT[0-9]$")) 54 (directory-files "/sys/class/power_supply/" nil
55 battery--linux-sysfs-regexp))
52 'battery-linux-sysfs) 56 'battery-linux-sysfs)
53 ((and (eq system-type 'gnu/linux)
54 (file-directory-p "/sys/class/power_supply/yeeloong-bat/")
55 (directory-files "/sys/class/power_supply/yeeloong-bat/" nil "charge_"))
56 'battery-yeeloong-sysfs)
57 ((and (eq system-type 'darwin) 57 ((and (eq system-type 'darwin)
58 (condition-case nil 58 (condition-case nil
59 (with-temp-buffer 59 (with-temp-buffer
@@ -81,8 +81,6 @@ introduced by a `%' character in a control string."
81 "Power %L, battery %B (%p%% load)") 81 "Power %L, battery %B (%p%% load)")
82 ((eq battery-status-function 'battery-pmset) 82 ((eq battery-status-function 'battery-pmset)
83 "%L power, battery %B (%p%% load, remaining time %t)") 83 "%L power, battery %B (%p%% load, remaining time %t)")
84 ((eq battery-status-function 'battery-yeeloong-sysfs)
85 "%L power, battery %B (%p%% load, remaining time %t)")
86 (battery-status-function 84 (battery-status-function
87 "Power %L, battery %B (%p%% load, remaining time %t)")) 85 "Power %L, battery %B (%p%% load, remaining time %t)"))
88 "Control string formatting the string to display in the echo area. 86 "Control string formatting the string to display in the echo area.
@@ -344,14 +342,15 @@ The following %-sequences are provided:
344 (setq charging-state (match-string 1))) 342 (setq charging-state (match-string 1)))
345 (when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$" 343 (when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$"
346 nil t) 344 nil t)
347 (setq rate (+ (or rate 0) (string-to-number (match-string 1))) 345 (setq rate (+ (or rate 0) (string-to-number (match-string 1))))
348 rate-type (or (and rate-type 346 (when (> rate 0)
347 (setq rate-type (or (and rate-type
349 (if (string= rate-type (match-string 2)) 348 (if (string= rate-type (match-string 2))
350 rate-type 349 rate-type
351 (error 350 (error
352 "Inconsistent rate types (%s vs. %s)" 351 "Inconsistent rate types (%s vs. %s)"
353 rate-type (match-string 2)))) 352 rate-type (match-string 2))))
354 (match-string 2)))) 353 (match-string 2)))))
355 (when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$" 354 (when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$"
356 nil t) 355 nil t)
357 (setq capacity 356 (setq capacity
@@ -447,7 +446,8 @@ The following %-sequences are provided:
447 (with-temp-buffer 446 (with-temp-buffer
448 (dolist (dir (ignore-errors 447 (dolist (dir (ignore-errors
449 (directory-files 448 (directory-files
450 "/sys/class/power_supply/" t "BAT[0-9]$"))) 449 "/sys/class/power_supply/" t
450 battery--linux-sysfs-regexp)))
451 (erase-buffer) 451 (erase-buffer)
452 (ignore-errors (insert-file-contents 452 (ignore-errors (insert-file-contents
453 (expand-file-name "uevent" dir))) 453 (expand-file-name "uevent" dir)))
@@ -524,91 +524,6 @@ The following %-sequences are provided:
524 "AC" 524 "AC"
525 "BAT") 525 "BAT")
526 "N/A"))))) 526 "N/A")))))
527
528(defun battery-yeeloong-sysfs ()
529 "Get ACPI status information from Linux (the kernel).
530This function works only on the Lemote Yeeloong.
531
532The following %-sequences are provided:
533%c Current capacity (mAh)
534%r Current rate
535%B Battery status (verbose)
536%b Battery status, empty means high, `-' means low,
537 `!' means critical, and `+' means charging
538%L AC line status (verbose)
539%p Battery load percentage
540%m Remaining time (to charge or discharge) in minutes
541%h Remaining time (to charge or discharge) in hours
542%t Remaining time (to charge or discharge) in the form `h:min'"
543
544 (let (capacity
545 capacity-level
546 status
547 ac-online
548 hours
549 current-now
550 charge-full
551 charge-now)
552
553 (with-temp-buffer
554 (ignore-errors
555 (insert-file-contents "/sys/class/power_supply/yeeloong-bat/uevent")
556 (goto-char 1)
557 (search-forward "POWER_SUPPLY_CHARGE_NOW=")
558 (setq charge-now (read (current-buffer)))
559 (goto-char 1)
560 (search-forward "POWER_SUPPLY_CHARGE_FULL=")
561 (setq charge-full (read (current-buffer)))
562 (goto-char 1)
563 (search-forward "POWER_SUPPLY_CURRENT_NOW=")
564 (setq current-now (read (current-buffer)))
565 (goto-char 1)
566 (search-forward "POWER_SUPPLY_CAPACITY_LEVEL=")
567 (setq capacity-level (buffer-substring (point) (line-end-position)))
568 (goto-char 1)
569 (search-forward "POWER_SUPPLY_STATUS=")
570 (setq status (buffer-substring (point) (line-end-position))))
571
572 (erase-buffer)
573 (ignore-errors
574 (insert-file-contents
575 "/sys/class/power_supply/yeeloong-ac/online")
576 (goto-char 1)
577 (setq ac-online (read (current-buffer)))
578 (erase-buffer)))
579
580
581 (setq capacity (round (/ (* charge-now 100.0) charge-full)))
582 (when (and current-now (not (= current-now 0)))
583 (if (< current-now 0)
584 ;; Charging
585 (setq hours (/ (- charge-now charge-full) (+ 0.0 current-now)))
586 ;; Discharging
587 (setq hours (/ charge-now (+ 0.0 current-now)))))
588
589 (list (cons ?c (if charge-now
590 (number-to-string charge-now)
591 "N/A"))
592 (cons ?r current-now)
593 (cons ?B (cond ((equal capacity-level "Full") "full")
594 ((equal status "Charging") "charging")
595 ((equal capacity-level "Low") "low")
596 ((equal capacity-level "Critical") "critical")
597 (t "high")))
598 (cons ?b (cond ((equal capacity-level "Full") " ")
599 ((equal status "Charging") "+")
600 ((equal capacity-level "Low") "-")
601 ((equal capacity-level "Critical") "!")
602 (t " ")))
603 (cons ?h (if hours (number-to-string hours) "N/A"))
604 (cons ?m (if hours (number-to-string (* 60 hours)) "N/A"))
605 (cons ?t (if hours
606 (format "%d:%d"
607 (/ (round (* 60 hours)) 60)
608 (% (round (* 60 hours)) 60))
609 "N/A"))
610 (cons ?p (if capacity (number-to-string capacity) "N/A"))
611 (cons ?L (if (eq ac-online 1) "AC" "BAT")))))
612 527
613;;; `pmset' interface for Darwin (OS X). 528;;; `pmset' interface for Darwin (OS X).
614 529
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index 37f511f7990..9edd353b889 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -634,7 +634,7 @@ The optional LABEL is used to label the buffer created."
634 "Check the list of holidays for any that occur on DATE. 634 "Check the list of holidays for any that occur on DATE.
635DATE is a list (month day year). This function considers the 635DATE is a list (month day year). This function considers the
636holidays from the list `calendar-holidays', and returns a list of 636holidays from the list `calendar-holidays', and returns a list of
637strings describing those holidays that apply on DATE." 637strings describing those holidays that apply on DATE, or nil if none do."
638 (let ((displayed-month (calendar-extract-month date)) 638 (let ((displayed-month (calendar-extract-month date))
639 (displayed-year (calendar-extract-year date)) 639 (displayed-year (calendar-extract-year date))
640 holiday-list) 640 holiday-list)
diff --git a/lisp/custom.el b/lisp/custom.el
index d8909f8be92..611d5688f30 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -936,16 +936,21 @@ Each of the arguments in ARGS should be a list of this form:
936 936
937 (SYMBOL EXP [NOW [REQUEST [COMMENT]]]) 937 (SYMBOL EXP [NOW [REQUEST [COMMENT]]])
938 938
939This stores EXP (without evaluating it) as the saved value for SYMBOL. 939SYMBOL is the variable name, and EXP is an expression which
940If NOW is present and non-nil, then also evaluate EXP and set 940evaluates to the customized value. EXP will also be stored,
941the default value for the SYMBOL to the value of EXP. 941without evaluating it, in SYMBOL's `saved-value' property, so
942that it can be restored via the Customize interface. It is also
943added to the alist in SYMBOL's `theme-value' property \(by
944calling `custom-push-theme').
942 945
943REQUEST is a list of features we must require in order to 946NOW, if present and non-nil, means to install the variable's
944handle SYMBOL properly. 947value directly now, even if its `defcustom' declaration has not
945COMMENT is a comment string about SYMBOL. 948been executed. This is for internal use only.
949
950REQUEST is a list of features to `require' (which are loaded
951prior to evaluating EXP).
946 952
947EXP itself is saved unevaluated as SYMBOL property `saved-value' and 953COMMENT is a comment string about SYMBOL."
948in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
949 (custom-check-theme theme) 954 (custom-check-theme theme)
950 955
951 ;; Process all the needed autoloads before anything else, so that the 956 ;; Process all the needed autoloads before anything else, so that the
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 4efdc3240cd..bcb7fab026b 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -447,7 +447,21 @@ Optional ARG is ignored."
447 ;; Try first in this order for the sake of languages with nested 447 ;; Try first in this order for the sake of languages with nested
448 ;; functions where several can end at the same place as with 448 ;; functions where several can end at the same place as with
449 ;; the offside rule, e.g. Python. 449 ;; the offside rule, e.g. Python.
450 (beginning-of-defun) 450
451 ;; Finding the start of the function is a bit problematic since
452 ;; `beginning-of-defun' when we are on the first character of
453 ;; the function might go to the previous function.
454 ;;
455 ;; Therefore we first move one character forward and then call
456 ;; `beginning-of-defun'. However now we must check that we did
457 ;; not move into the next function.
458 (let ((here (point)))
459 (unless (eolp)
460 (forward-char))
461 (beginning-of-defun)
462 (when (< (point) here)
463 (goto-char here)
464 (beginning-of-defun)))
451 (setq beg (point)) 465 (setq beg (point))
452 (end-of-defun) 466 (end-of-defun)
453 (setq end (point)) 467 (setq end (point))
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index 743b828326c..f5954564a2f 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -81,6 +81,13 @@ for both actions (NOT RECOMMENDED)."
81 :group 'emacs-lock 81 :group 'emacs-lock
82 :version "24.1") 82 :version "24.1")
83 83
84(defcustom emacs-lock-locked-buffer-functions nil
85 "Abnormal hook run when Emacs Lock prevents exiting Emacs, or killing a buffer.
86The functions get one argument, the first locked buffer found."
87 :type 'hook
88 :group 'emacs-lock
89 :version "24.2")
90
84(defvar emacs-lock-mode nil 91(defvar emacs-lock-mode nil
85 "If non-nil, the current buffer is locked. 92 "If non-nil, the current buffer is locked.
86It can be one of the following values: 93It can be one of the following values:
@@ -119,40 +126,45 @@ See `emacs-lock-unlockable-modes'."
119 (or (eq unlock 'all) (eq unlock action)))))) 126 (or (eq unlock 'all) (eq unlock action))))))
120 127
121(defun emacs-lock--exit-locked-buffer () 128(defun emacs-lock--exit-locked-buffer ()
122 "Return the name of the first exit-locked buffer found." 129 "Return the first exit-locked buffer found."
123 (save-current-buffer 130 (save-current-buffer
124 (catch :found 131 (catch :found
125 (dolist (buffer (buffer-list)) 132 (dolist (buffer (buffer-list))
126 (set-buffer buffer) 133 (set-buffer buffer)
127 (unless (or (emacs-lock--can-auto-unlock 'exit) 134 (unless (or (emacs-lock--can-auto-unlock 'exit)
128 (memq emacs-lock-mode '(nil kill))) 135 (memq emacs-lock-mode '(nil kill)))
129 (throw :found (buffer-name)))) 136 (throw :found buffer)))
130 nil))) 137 nil)))
131 138
132(defun emacs-lock--kill-emacs-hook () 139(defun emacs-lock--kill-emacs-hook ()
133 "Signal an error if any buffer is exit-locked. 140 "Signal an error if any buffer is exit-locked.
134Used from `kill-emacs-hook' (which see)." 141Used from `kill-emacs-hook' (which see)."
135 (let ((buffer-name (emacs-lock--exit-locked-buffer))) 142 (let ((locked (emacs-lock--exit-locked-buffer)))
136 (when buffer-name 143 (when locked
137 (error "Emacs cannot exit because buffer %S is locked" buffer-name)))) 144 (run-hook-with-args 'emacs-lock-locked-buffer-functions locked)
145 (error "Emacs cannot exit because buffer %S is locked"
146 (buffer-name locked)))))
138 147
139(defun emacs-lock--kill-emacs-query-functions () 148(defun emacs-lock--kill-emacs-query-functions ()
140 "Display a message if any buffer is exit-locked. 149 "Display a message if any buffer is exit-locked.
141Return a value appropriate for `kill-emacs-query-functions' (which see)." 150Return a value appropriate for `kill-emacs-query-functions' (which see)."
142 (let ((locked (emacs-lock--exit-locked-buffer))) 151 (let ((locked (emacs-lock--exit-locked-buffer)))
143 (or (not locked) 152 (if (not locked)
144 (progn 153 t
145 (message "Emacs cannot exit because buffer %S is locked" locked) 154 (run-hook-with-args 'emacs-lock-locked-buffer-functions locked)
146 nil)))) 155 (message "Emacs cannot exit because buffer %S is locked"
156 (buffer-name locked))
157 nil)))
147 158
148(defun emacs-lock--kill-buffer-query-functions () 159(defun emacs-lock--kill-buffer-query-functions ()
149 "Display a message if the current buffer is kill-locked. 160 "Display a message if the current buffer is kill-locked.
150Return a value appropriate for `kill-buffer-query-functions' (which see)." 161Return a value appropriate for `kill-buffer-query-functions' (which see)."
151 (or (emacs-lock--can-auto-unlock 'kill) 162 (if (or (emacs-lock--can-auto-unlock 'kill)
152 (memq emacs-lock-mode '(nil exit)) 163 (memq emacs-lock-mode '(nil exit)))
153 (progn 164 t
154 (message "Buffer %S is locked and cannot be killed" (buffer-name)) 165 (run-hook-with-args 'emacs-lock-locked-buffer-functions (current-buffer))
155 nil))) 166 (message "Buffer %S is locked and cannot be killed" (buffer-name))
167 nil))
156 168
157(defun emacs-lock--set-mode (mode arg) 169(defun emacs-lock--set-mode (mode arg)
158 "Setter function for `emacs-lock-mode'." 170 "Setter function for `emacs-lock-mode'."
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index a918f298a4e..ba6127b4cba 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1002,15 +1002,21 @@ behavior, see `cua-paste-pop-rotate-temporarily'."
1002 (setq this-command 'cua-paste-pop)))) 1002 (setq this-command 'cua-paste-pop))))
1003 1003
1004(defun cua-exchange-point-and-mark (arg) 1004(defun cua-exchange-point-and-mark (arg)
1005 "Exchanges point and mark, but don't activate the mark. 1005 "Exchange point and mark.
1006Activates the mark if a prefix argument is given." 1006Don't activate the mark if `cua-enable-cua-keys' is non-nil.
1007Otherwise, just activate the mark if a prefix ARG is given.
1008
1009See also `exchange-point-and-mark'."
1007 (interactive "P") 1010 (interactive "P")
1008 (if arg 1011 (cond ((null cua-enable-cua-keys)
1009 (setq mark-active t) 1012 (exchange-point-and-mark arg))
1010 (let (mark-active) 1013 (arg
1011 (exchange-point-and-mark) 1014 (setq mark-active t))
1012 (if cua--rectangle 1015 (t
1013 (cua--rectangle-corner 0))))) 1016 (let (mark-active)
1017 (exchange-point-and-mark)
1018 (if cua--rectangle
1019 (cua--rectangle-corner 0))))))
1014 1020
1015;; Typed text that replaced the highlighted region. 1021;; Typed text that replaced the highlighted region.
1016(defvar cua--repeat-replace-text nil) 1022(defvar cua--repeat-replace-text nil)
@@ -1246,22 +1252,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
1246 ;; (and region not started with C-SPC). 1252 ;; (and region not started with C-SPC).
1247 ;; If rectangle is active, expand rectangle in specified direction and 1253 ;; If rectangle is active, expand rectangle in specified direction and
1248 ;; ignore the movement. 1254 ;; ignore the movement.
1249 ((if window-system 1255 (this-command-keys-shift-translated
1250 ;; Shortcut for window-system, assuming that input-decode-map is empty.
1251 (memq 'shift (event-modifiers
1252 (aref (this-single-command-raw-keys) 0)))
1253 (or
1254 ;; Check if the final key-sequence was shifted.
1255 (memq 'shift (event-modifiers
1256 (aref (this-single-command-keys) 0)))
1257 ;; If not, maybe the raw key-sequence was mapped by input-decode-map
1258 ;; to a shifted key (and then mapped down to its unshifted form).
1259 (let* ((keys (this-single-command-raw-keys))
1260 (ev (lookup-key input-decode-map keys)))
1261 (or (and (vector ev) (memq 'shift (event-modifiers (aref ev 0))))
1262 ;; Or maybe, the raw key-sequence was not an escape sequence
1263 ;; and was shifted (and then mapped down to its unshifted form).
1264 (memq 'shift (event-modifiers (aref keys 0)))))))
1265 (unless mark-active 1256 (unless mark-active
1266 (push-mark-command nil t)) 1257 (push-mark-command nil t))
1267 (setq cua--last-region-shifted t) 1258 (setq cua--last-region-shifted t)
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 649ab7f3fc2..06c6d42ed39 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,8 @@
12012-04-11 Vivek Dasmohapatra <vivek@etla.org>
2
3 * erc-services.el (erc-nickserv-passwords): Don't display the
4 password (bug#4459).
5
12012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> 62012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 7
3 * erc-join.el (erc-server-join-channel): New function to look up 8 * erc-join.el (erc-server-join-channel): New function to look up
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el
index 66eb341b47a..5986d81efed 100644
--- a/lisp/erc/erc-services.el
+++ b/lisp/erc/erc-services.el
@@ -195,7 +195,8 @@ Example of use:
195 (repeat :tag "Nickname and password" 195 (repeat :tag "Nickname and password"
196 (cons :tag "Identity" 196 (cons :tag "Identity"
197 (string :tag "Nick") 197 (string :tag "Nick")
198 (string :tag "Password")))))) 198 (string :tag "Password"
199 :secret ?*))))))
199 200
200;; Variables: 201;; Variables:
201 202
diff --git a/lisp/files.el b/lisp/files.el
index e623bc66080..fb4662e7ea8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3523,7 +3523,7 @@ LIST is a list of the form accepted by the function.
3523When a file is visited, the file's class is found. A directory 3523When a file is visited, the file's class is found. A directory
3524may be assigned a class using `dir-locals-set-directory-class'. 3524may be assigned a class using `dir-locals-set-directory-class'.
3525Then variables are set in the file's buffer according to the 3525Then variables are set in the file's buffer according to the
3526class' LIST. The list is processed in order. 3526VARIABLES list of the class. The list is processed in order.
3527 3527
3528* If the element is of the form (MAJOR-MODE . ALIST), and the 3528* If the element is of the form (MAJOR-MODE . ALIST), and the
3529 buffer's major mode is derived from MAJOR-MODE (as determined 3529 buffer's major mode is derived from MAJOR-MODE (as determined
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index ef0f1c5c852..23e800e0f3f 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,19 @@
12012-04-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * gnus-msg.el (gnus-inews-insert-gcc): Don't do the alist stuff when we
4 don't have a current group.
5
6 * gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't
7 have a group name.
8
9 * gnus-art.el (article-wash-html): Ensure that we insert the HTML into
10 a multibyte buffer (bug#7410).
11 (article-wash-html): Parse the original article buffer to get the
12 unencoded data (bug#7410).
13
14 * gnus-start.el (gnus-read-newsrc-el-file): Protect against broken
15 .newsrc.el files.
16
12012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org> 172012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 18
3 * auth-source.el (auth-source-netrc-create): Quote tokens that contain 19 * auth-source.el (auth-source-netrc-create): Quote tokens that contain
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 048f8956567..b04615dc5a9 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -2754,9 +2754,11 @@ If READ-CHARSET, ask for a coding system."
2754 (let ((handles nil) 2754 (let ((handles nil)
2755 (buffer-read-only nil)) 2755 (buffer-read-only nil))
2756 (when (gnus-buffer-live-p gnus-original-article-buffer) 2756 (when (gnus-buffer-live-p gnus-original-article-buffer)
2757 (setq handles (mm-dissect-buffer t t))) 2757 (with-current-buffer gnus-original-article-buffer
2758 (setq handles (mm-dissect-buffer t t))))
2758 (article-goto-body) 2759 (article-goto-body)
2759 (delete-region (point) (point-max)) 2760 (delete-region (point) (point-max))
2761 (mm-enable-multibyte)
2760 (mm-inline-text-html handles))) 2762 (mm-inline-text-html handles)))
2761 2763
2762(defvar gnus-article-browse-html-temp-list nil 2764(defvar gnus-article-browse-html-temp-list nil
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 500ace9e8ff..815bd9e44a6 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -1664,17 +1664,19 @@ this is a reply."
1664 ((functionp var) 1664 ((functionp var)
1665 ;; A function. 1665 ;; A function.
1666 (funcall var group)) 1666 (funcall var group))
1667 (t 1667 (group
1668 ;; An alist of regexps/functions/forms. 1668 ;; An alist of regexps/functions/forms.
1669 (while (and var 1669 (while (and var
1670 (not 1670 (not
1671 (setq result 1671 (setq result
1672 (cond 1672 (cond
1673 ((stringp (caar var)) 1673 ((and group
1674 (stringp (caar var)))
1674 ;; Regexp. 1675 ;; Regexp.
1675 (when (string-match (caar var) group) 1676 (when (string-match (caar var) group)
1676 (cdar var))) 1677 (cdar var)))
1677 ((functionp (car var)) 1678 ((and group
1679 (functionp (car var)))
1678 ;; Function. 1680 ;; Function.
1679 (funcall (car var) group)) 1681 (funcall (car var) group))
1680 (t 1682 (t
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index bb7dd76d590..f025960c348 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -2442,7 +2442,9 @@ If FORCE is non-nil, the .newsrc file is read."
2442 (when gnus-newsrc-assoc 2442 (when gnus-newsrc-assoc
2443 (setq gnus-newsrc-alist gnus-newsrc-assoc)))) 2443 (setq gnus-newsrc-alist gnus-newsrc-assoc))))
2444 (dolist (elem gnus-newsrc-alist) 2444 (dolist (elem gnus-newsrc-alist)
2445 (setcar elem (mm-string-as-unibyte (car elem)))) 2445 ;; Protect against broken .newsrc.el files.
2446 (when (car elem)
2447 (setcar elem (mm-string-as-unibyte (car elem)))))
2446 (gnus-make-hashtable-from-newsrc-alist) 2448 (gnus-make-hashtable-from-newsrc-alist)
2447 (when (file-newer-than-file-p file ding-file) 2449 (when (file-newer-than-file-p file ding-file)
2448 ;; Old format quick file 2450 ;; Old format quick file
diff --git a/lisp/hexl.el b/lisp/hexl.el
index 538d218e38e..6c4d8d6dc34 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -51,6 +51,14 @@
51 "Edit a file in a hex dump format using the hexl filter." 51 "Edit a file in a hex dump format using the hexl filter."
52 :group 'data) 52 :group 'data)
53 53
54(defcustom hexl-bits 16
55 "The bit grouping that hexl will use."
56 :type '(choice (const 8 )
57 (const 16)
58 (const 32)
59 (const 64))
60 :group 'hexl
61 :version "24.2")
54 62
55(defcustom hexl-program "hexl" 63(defcustom hexl-program "hexl"
56 "The program that will hexlify and dehexlify its stdin. 64 "The program that will hexlify and dehexlify its stdin.
@@ -67,7 +75,9 @@ and \"-de\" when dehexlifying a buffer."
67 75
68(defcustom hexl-options (format "-hex %s" hexl-iso) 76(defcustom hexl-options (format "-hex %s" hexl-iso)
69 "Space separated options to `hexl-program' that suit your needs. 77 "Space separated options to `hexl-program' that suit your needs.
70Quoting cannot be used, so the arguments cannot themselves contain spaces." 78Quoting cannot be used, so the arguments cannot themselves contain spaces.
79If you wish to set the `-group-by-X-bits' options, set `hexl-bits' instead,
80as that will override any bit grouping options set here."
71 :type 'string 81 :type 'string
72 :group 'hexl) 82 :group 'hexl)
73 83
@@ -212,10 +222,34 @@ Quoting cannot be used, so the arguments cannot themselves contain spaces."
212 (2 'hexl-ascii-region t t))) 222 (2 'hexl-ascii-region t t)))
213 "Font lock keywords used in `hexl-mode'.") 223 "Font lock keywords used in `hexl-mode'.")
214 224
225(defun hexl-rulerise (string bits)
226 (let ((size (/ bits 4)) (strlen (length string)) (pos 0) (ruler ""))
227 (while (< pos strlen)
228 (setq ruler (concat ruler " " (substring string pos (+ pos size))))
229 (setq pos (+ pos size)))
230 (substring ruler 1) ))
231
232(defvar hexl-rulers
233 (mapcar
234 (lambda (bits)
235 (cons bits
236 (concat " 87654321 "
237 (hexl-rulerise "00112233445566778899aabbccddeeff" bits)
238 " 0123456789abcdef")))
239 '(8 16 32 64)))
215;; routines 240;; routines
216 241
217(put 'hexl-mode 'mode-class 'special) 242(put 'hexl-mode 'mode-class 'special)
218 243
244;; 10 chars for the "address: "
245;; 32 chars for the hexlified bytes
246;; 1 char for the space
247;; 16 chars for the character display
248;; X chars for the spaces (128 bits divided by the hexl-bits)
249;; 1 char for the newline.
250(defun hexl-line-displen ()
251 "The length of a hexl display line (varies with `hexl-bits')."
252 (+ 60 (/ 128 (or hexl-bits 16))))
219 253
220(defun hexl-mode--minor-mode-p (var) 254(defun hexl-mode--minor-mode-p (var)
221 (memq var '(ruler-mode hl-line-mode))) 255 (memq var '(ruler-mode hl-line-mode)))
@@ -248,7 +282,7 @@ using the function `hexlify-buffer'.
248Each line in the buffer has an \"address\" (displayed in hexadecimal) 282Each line in the buffer has an \"address\" (displayed in hexadecimal)
249representing the offset into the file that the characters on this line 283representing the offset into the file that the characters on this line
250are at and 16 characters from the file (displayed as hexadecimal 284are at and 16 characters from the file (displayed as hexadecimal
251values grouped every 16 bits) and as their ASCII values. 285values grouped every `hexl-bits' bits) and as their ASCII values.
252 286
253If any of the characters (displayed as ASCII characters) are 287If any of the characters (displayed as ASCII characters) are
254unprintable (control or meta characters) they will be replaced as 288unprintable (control or meta characters) they will be replaced as
@@ -330,10 +364,7 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode.
330 (hexlify-buffer) 364 (hexlify-buffer)
331 (restore-buffer-modified-p modified)) 365 (restore-buffer-modified-p modified))
332 (set (make-local-variable 'hexl-max-address) 366 (set (make-local-variable 'hexl-max-address)
333 (let* ((full-lines (/ (buffer-size) 68)) 367 (+ (* (/ (1- (buffer-size)) (hexl-line-displen)) 16) 15))
334 (last-line (% (buffer-size) 68))
335 (last-line-bytes (% last-line 52)))
336 (+ last-line-bytes (* full-lines 16) -1)))
337 (condition-case nil 368 (condition-case nil
338 (hexl-goto-address original-point) 369 (hexl-goto-address original-point)
339 (error nil))) 370 (error nil)))
@@ -510,17 +541,20 @@ Ask the user for confirmation."
510(defun hexl-current-address (&optional validate) 541(defun hexl-current-address (&optional validate)
511 "Return current hexl-address." 542 "Return current hexl-address."
512 (interactive) 543 (interactive)
513 (let ((current-column (- (% (- (point) (point-min) -1) 68) 11)) 544 (let ((current-column
545 (- (% (- (point) (point-min) -1) (hexl-line-displen)) 11))
514 (hexl-address 0)) 546 (hexl-address 0))
515 (if (< current-column 0) 547 (if (< current-column 0)
516 (if validate 548 (if validate
517 (error "Point is not on a character in the file") 549 (error "Point is not on a character in the file")
518 (setq current-column 0))) 550 (setq current-column 0)))
519 (setq hexl-address 551 (setq hexl-address
520 (+ (* (/ (- (point) (point-min) -1) 68) 16) 552 (+ (* (/ (- (point) (point-min) -1)
521 (if (>= current-column 41) 553 (hexl-line-displen)) 16)
522 (- current-column 41) 554 (if (>= current-column (- (hexl-ascii-start-column) 10))
523 (/ (- current-column (/ current-column 5)) 2)))) 555 (- current-column (- (hexl-ascii-start-column) 10))
556 (/ (- current-column
557 (/ current-column (1+ (/ hexl-bits 4)))) 2))))
524 (when (called-interactively-p 'interactive) 558 (when (called-interactively-p 'interactive)
525 (message "Current address is %d/0x%08x" hexl-address hexl-address)) 559 (message "Current address is %d/0x%08x" hexl-address hexl-address))
526 hexl-address)) 560 hexl-address))
@@ -531,10 +565,18 @@ This function is intended to be used as eldoc callback."
531 (let ((addr (hexl-current-address))) 565 (let ((addr (hexl-current-address)))
532 (format "Current address is %d/0x%08x" addr addr))) 566 (format "Current address is %d/0x%08x" addr addr)))
533 567
568(defun hexl-ascii-start-column ()
569 "Column at which the ascii portion of the hexl display starts."
570 (+ 43 (/ 128 hexl-bits)))
571
534(defun hexl-address-to-marker (address) 572(defun hexl-address-to-marker (address)
535 "Return buffer position for ADDRESS." 573 "Return buffer position for ADDRESS."
536 (interactive "nAddress: ") 574 (interactive "nAddress: ")
537 (+ (* (/ address 16) 68) 10 (point-min) (/ (* (% address 16) 5) 2))) 575 (let ((N (* (% address 16) 2)))
576 (+ (* (/ address 16) (hexl-line-displen)) ; hexl line no * display length
577 10 ; 10 chars for the "address: " prefix
578 (point-min) ; base offset (point usually starts at 1, not 0)
579 (+ N (/ N (/ hexl-bits 4))) )) ) ; char offset into hexl display line
538 580
539(defun hexl-goto-address (address) 581(defun hexl-goto-address (address)
540 "Go to hexl-mode (decimal) address ADDRESS. 582 "Go to hexl-mode (decimal) address ADDRESS.
@@ -700,7 +742,7 @@ With prefix arg N, puts point N bytes of the way from the true beginning."
700(defun hexl-beginning-of-line () 742(defun hexl-beginning-of-line ()
701 "Goto beginning of line in hexl mode." 743 "Goto beginning of line in hexl mode."
702 (interactive) 744 (interactive)
703 (goto-char (+ (* (/ (point) 68) 68) 11))) 745 (goto-char (+ (* (/ (point) (hexl-line-displen)) (hexl-line-displen)) 11)))
704 746
705(defun hexl-end-of-line () 747(defun hexl-end-of-line ()
706 "Goto end of line in hexl mode." 748 "Goto end of line in hexl mode."
@@ -776,6 +818,17 @@ You may also type octal digits, to insert a character with that code."
776 818
777;00000000: 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789ABCDEF 819;00000000: 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789ABCDEF
778 820
821(defun hexl-options (&optional test)
822 "Combine `hexl-bits' with `hexl-options', altering `hexl-options' as needed
823to produce the command line options to pass to the hexl command."
824 (let ((opts (or test hexl-options)))
825 (when (memq hexl-bits '(8 16 32 64))
826 (when (string-match "\\(.*\\)-group-by-[0-9]+-bits\\(.*\\)" opts)
827 (setq opts (concat (match-string 1 opts)
828 (match-string 2 opts))))
829 (setq opts (format "%s -group-by-%d-bits " opts hexl-bits)) )
830 opts))
831
779;;;###autoload 832;;;###autoload
780(defun hexlify-buffer () 833(defun hexlify-buffer ()
781 "Convert a binary buffer to hexl format. 834 "Convert a binary buffer to hexl format.
@@ -798,7 +851,7 @@ This discards the buffer's undo information."
798 (mapcar (lambda (s) 851 (mapcar (lambda (s)
799 (if (not (multibyte-string-p s)) s 852 (if (not (multibyte-string-p s)) s
800 (encode-coding-string s locale-coding-system))) 853 (encode-coding-string s locale-coding-system)))
801 (split-string hexl-options))) 854 (split-string (hexl-options))))
802 (if (> (point) (hexl-address-to-marker hexl-max-address)) 855 (if (> (point) (hexl-address-to-marker hexl-max-address))
803 (hexl-goto-address hexl-max-address)))) 856 (hexl-goto-address hexl-max-address))))
804 857
@@ -815,7 +868,7 @@ This discards the buffer's undo information."
815 (buffer-undo-list t)) 868 (buffer-undo-list t))
816 (apply 'call-process-region (point-min) (point-max) 869 (apply 'call-process-region (point-min) (point-max)
817 (expand-file-name hexl-program exec-directory) 870 (expand-file-name hexl-program exec-directory)
818 t t nil "-de" (split-string hexl-options)))) 871 t t nil "-de" (split-string (hexl-options)))))
819 872
820(defun hexl-char-after-point () 873(defun hexl-char-after-point ()
821 "Return char for ASCII hex digits at point." 874 "Return char for ASCII hex digits at point."
@@ -911,13 +964,12 @@ CH must be a unibyte character whose value is between 0 and 255."
911 (error "Invalid character 0x%x -- must be in the range [0..255]" ch)) 964 (error "Invalid character 0x%x -- must be in the range [0..255]" ch))
912 (let ((address (hexl-current-address t))) 965 (let ((address (hexl-current-address t)))
913 (while (> num 0) 966 (while (> num 0)
914 (let ((hex-position 967 (let ((hex-position (hexl-address-to-marker address))
915 (+ (* (/ address 16) 68)
916 10 (point-min)
917 (* 2 (% address 16))
918 (/ (% address 16) 2)))
919 (ascii-position 968 (ascii-position
920 (+ (* (/ address 16) 68) 51 (point-min) (% address 16))) 969 (+ (* (/ address 16) (hexl-line-displen))
970 (hexl-ascii-start-column)
971 (point-min)
972 (% address 16)))
921 at-ascii-position) 973 at-ascii-position)
922 (if (= (point) ascii-position) 974 (if (= (point) ascii-position)
923 (setq at-ascii-position t)) 975 (setq at-ascii-position t))
@@ -933,7 +985,7 @@ CH must be a unibyte character whose value is between 0 and 255."
933 (if at-ascii-position 985 (if at-ascii-position
934 (progn 986 (progn
935 (beginning-of-line) 987 (beginning-of-line)
936 (forward-char 51) 988 (forward-char (hexl-ascii-start-column))
937 (forward-char (% address 16))))) 989 (forward-char (% address 16)))))
938 (setq num (1- num))))) 990 (setq num (1- num)))))
939 991
@@ -1041,7 +1093,7 @@ This function is assumed to be used as callback function for `hl-line-mode'."
1041 1093
1042(defun hexl-follow-ascii-find () 1094(defun hexl-follow-ascii-find ()
1043 "Find and highlight the ASCII element corresponding to current point." 1095 "Find and highlight the ASCII element corresponding to current point."
1044 (let ((pos (+ 51 1096 (let ((pos (+ (hexl-ascii-start-column)
1045 (- (point) (current-column)) 1097 (- (point) (current-column))
1046 (mod (hexl-current-address) 16)))) 1098 (mod (hexl-current-address) 16))))
1047 (move-overlay hexl-ascii-overlay pos (1+ pos)) 1099 (move-overlay hexl-ascii-overlay pos (1+ pos))
@@ -1050,7 +1102,7 @@ This function is assumed to be used as callback function for `hl-line-mode'."
1050(defun hexl-mode-ruler () 1102(defun hexl-mode-ruler ()
1051 "Return a string ruler for hexl mode." 1103 "Return a string ruler for hexl mode."
1052 (let* ((highlight (mod (hexl-current-address) 16)) 1104 (let* ((highlight (mod (hexl-current-address) 16))
1053 (s " 87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef") 1105 (s (cdr (assq hexl-bits hexl-rulers)))
1054 (pos 0)) 1106 (pos 0))
1055 (set-text-properties 0 (length s) nil s) 1107 (set-text-properties 0 (length s) nil s)
1056 ;; Turn spaces in the header into stretch specs so they work 1108 ;; Turn spaces in the header into stretch specs so they work
@@ -1062,12 +1114,12 @@ This function is assumed to be used as callback function for `hl-line-mode'."
1062 `(space :align-to ,(1- pos)) 1114 `(space :align-to ,(1- pos))
1063 s)) 1115 s))
1064 ;; Highlight the current column. 1116 ;; Highlight the current column.
1065 (put-text-property (+ 11 (/ (* 5 highlight) 2)) 1117 (let ( (offset (+ (* 2 highlight) (/ (* 8 highlight) hexl-bits))) )
1066 (+ 13 (/ (* 5 highlight) 2)) 1118 (put-text-property (+ 11 offset) (+ 13 offset) 'face 'highlight s))
1067 'face 'highlight s)
1068 ;; Highlight the current ascii column 1119 ;; Highlight the current ascii column
1069 (put-text-property (+ 13 39 highlight) (+ 13 40 highlight) 1120 (put-text-property (+ (hexl-ascii-start-column) highlight 1)
1070 'face 'highlight s) 1121 (+ (hexl-ascii-start-column) highlight 2)
1122 'face 'highlight s)
1071 s)) 1123 s))
1072 1124
1073;; startup stuff. 1125;; startup stuff.
diff --git a/lisp/imenu.el b/lisp/imenu.el
index 8363956355b..08e6338b39e 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -800,7 +800,17 @@ depending on PATTERNS."
800 (goto-char (point-max)) 800 (goto-char (point-max))
801 (while (and (if (functionp regexp) 801 (while (and (if (functionp regexp)
802 (funcall regexp) 802 (funcall regexp)
803 (re-search-backward regexp nil t)) 803 (and
804 (re-search-backward regexp nil t)
805 ;; Do not count invisible definitions.
806 (let ((invis (invisible-p (point))))
807 (or (not invis)
808 (progn
809 (while (and invis
810 (not (bobp)))
811 (setq invis (not (re-search-backward
812 regexp nil 'move))))
813 (not invis))))))
804 ;; Exit the loop if we get an empty match, 814 ;; Exit the loop if we get an empty match,
805 ;; because it means a bad regexp was specified. 815 ;; because it means a bad regexp was specified.
806 (not (= (match-beginning 0) (match-end 0)))) 816 (not (= (match-beginning 0) (match-end 0))))
@@ -963,7 +973,8 @@ See the command `imenu' for more information."
963 imenu-generic-expression 973 imenu-generic-expression
964 (not (eq imenu-create-index-function 974 (not (eq imenu-create-index-function
965 'imenu-default-create-index-function))) 975 'imenu-default-create-index-function)))
966 (unless (keymapp (lookup-key (current-local-map) [menu-bar index])) 976 (unless (and (current-local-map)
977 (keymapp (lookup-key (current-local-map) [menu-bar index])))
967 (let ((newmap (make-sparse-keymap))) 978 (let ((newmap (make-sparse-keymap)))
968 (set-keymap-parent newmap (current-local-map)) 979 (set-keymap-parent newmap (current-local-map))
969 (setq imenu--last-menubar-index-alist nil) 980 (setq imenu--last-menubar-index-alist nil)
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 1739b1f9ea3..c75ca8106ac 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -576,9 +576,7 @@ with L, LRE, or LRO Unicode bidi character type.")
576 (set-case-syntax-pair from (1+ from) tbl) 576 (set-case-syntax-pair from (1+ from) tbl)
577 (setq from (+ from 2)))))) 577 (setq from (+ from 2))))))
578 578
579 (set-case-syntax-pair #x178 #x0ff tbl) 579 (set-case-syntax-pair ?Ÿ ?ÿ tbl)
580 (set-case-syntax-pair #x189 #x256 tbl)
581 (set-case-syntax-pair #x18A #x257 tbl)
582 580
583 ;; In some languages, such as Turkish, U+0049 LATIN CAPITAL LETTER I 581 ;; In some languages, such as Turkish, U+0049 LATIN CAPITAL LETTER I
584 ;; and U+0131 LATIN SMALL LETTER DOTLESS I make a case pair, and so 582 ;; and U+0131 LATIN SMALL LETTER DOTLESS I make a case pair, and so
@@ -594,6 +592,8 @@ with L, LRE, or LRO Unicode bidi character type.")
594 592
595 (set-case-syntax-pair ?Ɓ ?ɓ tbl) 593 (set-case-syntax-pair ?Ɓ ?ɓ tbl)
596 (set-case-syntax-pair ?Ɔ ?ɔ tbl) 594 (set-case-syntax-pair ?Ɔ ?ɔ tbl)
595 (set-case-syntax-pair ?Ɖ ?ɖ tbl)
596 (set-case-syntax-pair ?Ɗ ?ɗ tbl)
597 (set-case-syntax-pair ?Ǝ ?ǝ tbl) 597 (set-case-syntax-pair ?Ǝ ?ǝ tbl)
598 (set-case-syntax-pair ?Ə ?ə tbl) 598 (set-case-syntax-pair ?Ə ?ə tbl)
599 (set-case-syntax-pair ?Ɛ ?ɛ tbl) 599 (set-case-syntax-pair ?Ɛ ?ɛ tbl)
@@ -622,6 +622,12 @@ with L, LRE, or LRO Unicode bidi character type.")
622 (set-case-syntax-pair ?Dz ?dz tbl) 622 (set-case-syntax-pair ?Dz ?dz tbl)
623 (set-case-syntax-pair ?Ƕ ?ƕ tbl) 623 (set-case-syntax-pair ?Ƕ ?ƕ tbl)
624 (set-case-syntax-pair ?Ƿ ?ƿ tbl) 624 (set-case-syntax-pair ?Ƿ ?ƿ tbl)
625 (set-case-syntax-pair ?Ⱥ ?ⱥ tbl)
626 (set-case-syntax-pair ?Ƚ ?ƚ tbl)
627 (set-case-syntax-pair ?Ⱦ ?ⱦ tbl)
628 (set-case-syntax-pair ?Ƀ ?ƀ tbl)
629 (set-case-syntax-pair ?Ʉ ?ʉ tbl)
630 (set-case-syntax-pair ?Ʌ ?ʌ tbl)
625 631
626 ;; Latin Extended Additional 632 ;; Latin Extended Additional
627 (modify-category-entry '(#x1e00 . #x1ef9) ?l) 633 (modify-category-entry '(#x1e00 . #x1ef9) ?l)
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 7bf15009687..1f88df52fd4 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -1754,8 +1754,9 @@ functions, so they won't be called at all."
1754 :type '(repeat function)) 1754 :type '(repeat function))
1755 1755
1756(defvar set-auto-coding-for-load nil 1756(defvar set-auto-coding-for-load nil
1757 "Non-nil means look for `load-coding' property instead of `coding'. 1757 "Non-nil means respect a \"unibyte: t\" entry in file local variables.
1758This is used for loading and byte-compiling Emacs Lisp files.") 1758Emacs binds this variable to t when loading or byte-compiling Emacs Lisp
1759files.")
1759 1760
1760(defun auto-coding-alist-lookup (filename) 1761(defun auto-coding-alist-lookup (filename)
1761 "Return the coding system specified by `auto-coding-alist' for FILENAME." 1762 "Return the coding system specified by `auto-coding-alist' for FILENAME."
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index bcc6a808d22..c7e14ca481b 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1506,7 +1506,7 @@ exit."
1506 (let ((map (make-sparse-keymap))) 1506 (let ((map (make-sparse-keymap)))
1507 ;; FIXME: Only works if completion-in-region-mode was activated via 1507 ;; FIXME: Only works if completion-in-region-mode was activated via
1508 ;; completion-at-point called directly. 1508 ;; completion-at-point called directly.
1509 (define-key map "?" 'completion-help-at-point) 1509 (define-key map "\M-?" 'completion-help-at-point)
1510 (define-key map "\t" 'completion-at-point) 1510 (define-key map "\t" 'completion-at-point)
1511 map) 1511 map)
1512 "Keymap activated during `completion-in-region'.") 1512 "Keymap activated during `completion-in-region'.")
@@ -2045,6 +2045,21 @@ and `read-file-name-function'."
2045 (funcall (or read-file-name-function #'read-file-name-default) 2045 (funcall (or read-file-name-function #'read-file-name-default)
2046 prompt dir default-filename mustmatch initial predicate)) 2046 prompt dir default-filename mustmatch initial predicate))
2047 2047
2048(defvar minibuffer-local-filename-syntax
2049 (let ((table (make-syntax-table))
2050 (punctuation (car (string-to-syntax "."))))
2051 ;; Convert all punctuation entries to symbol.
2052 (map-char-table (lambda (c syntax)
2053 (when (eq (car syntax) punctuation)
2054 (modify-syntax-entry c "_" table)))
2055 table)
2056 (mapc
2057 (lambda (c)
2058 (modify-syntax-entry c "." table))
2059 '(?/ ?: ?\\))
2060 table)
2061 "Syntax table to be used in minibuffer for reading file name.")
2062
2048;; minibuffer-completing-file-name is a variable used internally in minibuf.c 2063;; minibuffer-completing-file-name is a variable used internally in minibuf.c
2049;; to determine whether to use minibuffer-local-filename-completion-map or 2064;; to determine whether to use minibuffer-local-filename-completion-map or
2050;; minibuffer-local-completion-map. It shouldn't be exported to Elisp. 2065;; minibuffer-local-completion-map. It shouldn't be exported to Elisp.
@@ -2113,7 +2128,8 @@ See `read-file-name' for the meaning of the arguments."
2113 (lambda () 2128 (lambda ()
2114 (with-current-buffer 2129 (with-current-buffer
2115 (window-buffer (minibuffer-selected-window)) 2130 (window-buffer (minibuffer-selected-window))
2116 (read-file-name--defaults dir initial))))) 2131 (read-file-name--defaults dir initial))))
2132 (set-syntax-table minibuffer-local-filename-syntax))
2117 (completing-read prompt 'read-file-name-internal 2133 (completing-read prompt 'read-file-name-internal
2118 pred mustmatch insdef 2134 pred mustmatch insdef
2119 'file-name-history default-filename))) 2135 'file-name-history default-filename)))
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 0bfc8eda3b1..62c0e317a81 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -467,7 +467,7 @@ commands reverses the effect of this variable. Requires Netscape version
467 ;; it in anonymous cases. If it's not anonymous the next regexp 467 ;; it in anonymous cases. If it's not anonymous the next regexp
468 ;; applies. 468 ;; applies.
469 ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/") 469 ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/")
470 ,@(if (memq system-type '(windows-nt ms-dos cygwin)) 470 ,@(if (memq system-type '(windows-nt ms-dos))
471 '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/") 471 '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/")
472 ("^[\\/][\\/]+" . "file://"))) 472 ("^[\\/][\\/]+" . "file://")))
473 ("^/+" . "file:///")) 473 ("^/+" . "file:///"))
@@ -724,12 +724,6 @@ interactively. Turn the filename into a URL with function
724(defun browse-url-file-url (file) 724(defun browse-url-file-url (file)
725 "Return the URL corresponding to FILE. 725 "Return the URL corresponding to FILE.
726Use variable `browse-url-filename-alist' to map filenames to URLs." 726Use variable `browse-url-filename-alist' to map filenames to URLs."
727 ;; De-munge Cygwin filenames before passing them to Windows browser.
728 (if (eq system-type 'cygwin)
729 (let ((winfile (with-output-to-string
730 (call-process "cygpath" nil standard-output
731 nil "-m" file))))
732 (setq file (substring winfile 0 -1))))
733 (let ((coding (and (default-value 'enable-multibyte-characters) 727 (let ((coding (and (default-value 'enable-multibyte-characters)
734 (or file-name-coding-system 728 (or file-name-coding-system
735 default-file-name-coding-system)))) 729 default-file-name-coding-system))))
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 9d7e8664542..485af6e1b5e 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -361,6 +361,14 @@ of a line. The string is passed as the first argument to
361 :type 'string 361 :type 'string
362 :group 'rcirc) 362 :group 'rcirc)
363 363
364(defcustom rcirc-kill-channel-buffers nil
365 "When non-nil, kill channel buffers when the server buffer is killed.
366Only the channel buffers associated with the server in question
367will be killed."
368 :version "24.2"
369 :type 'boolean
370 :group 'rcirc)
371
364(defvar rcirc-nick nil) 372(defvar rcirc-nick nil)
365 373
366(defvar rcirc-prompt-start-marker nil) 374(defvar rcirc-prompt-start-marker nil)
@@ -1088,12 +1096,20 @@ Logfiles are kept in `rcirc-log-directory'."
1088 :group 'rcirc) 1096 :group 'rcirc)
1089 1097
1090(defun rcirc-kill-buffer-hook () 1098(defun rcirc-kill-buffer-hook ()
1091 "Part the channel when killing an rcirc buffer." 1099 "Part the channel when killing an rcirc buffer.
1100
1101If `rcirc-kill-channel-buffers' is non-nil and the killed buffer
1102is a server buffer, kills all of the channel buffers associated
1103with it."
1092 (when (eq major-mode 'rcirc-mode) 1104 (when (eq major-mode 'rcirc-mode)
1093 (when (and rcirc-log-flag 1105 (when (and rcirc-log-flag
1094 rcirc-log-directory) 1106 rcirc-log-directory)
1095 (rcirc-log-write)) 1107 (rcirc-log-write))
1096 (rcirc-clean-up-buffer "Killed buffer"))) 1108 (rcirc-clean-up-buffer "Killed buffer")
1109 (when (and rcirc-buffer-alist ;; it's a server buffer
1110 rcirc-kill-channel-buffers)
1111 (dolist (channel rcirc-buffer-alist)
1112 (kill-buffer (cdr channel))))))
1097 1113
1098(defun rcirc-change-major-mode-hook () 1114(defun rcirc-change-major-mode-hook ()
1099 "Part the channel when changing the major-mode." 1115 "Part the channel when changing the major-mode."
@@ -2165,17 +2181,13 @@ CHANNELS is a comma- or space-separated string of channel names."
2165 (let ((channel (if (> (length channel) 0) channel target))) 2181 (let ((channel (if (> (length channel) 0) channel target)))
2166 (rcirc-send-string process (concat "PART " channel " :" rcirc-id-string)))) 2182 (rcirc-send-string process (concat "PART " channel " :" rcirc-id-string))))
2167 2183
2168(defun-rcirc-command quit (reason all) 2184(defun-rcirc-command quit (reason)
2169 "Send a quit message to server with REASON. 2185 "Send a quit message to server with REASON."
2170When called with prefix, quit all servers." 2186 (interactive "sQuit reason: ")
2171 (interactive "sQuit reason: \nP") 2187 (rcirc-send-string process (concat "QUIT :"
2172 (dolist (p (if all 2188 (if (not (zerop (length reason)))
2173 (rcirc-process-list) 2189 reason
2174 (list process))) 2190 rcirc-id-string))))
2175 (rcirc-send-string p (concat "QUIT :"
2176 (if (not (zerop (length reason)))
2177 reason
2178 rcirc-id-string)))))
2179 2191
2180(defun-rcirc-command nick (nick) 2192(defun-rcirc-command nick (nick)
2181 "Change nick to NICK." 2193 "Change nick to NICK."
diff --git a/lisp/mail/mailpost.el b/lisp/obsolete/mailpost.el
index 7c4bea830d8..158523e8ef2 100644
--- a/lisp/mail/mailpost.el
+++ b/lisp/obsolete/mailpost.el
@@ -9,6 +9,7 @@
9;; Maintainer: FSF 9;; Maintainer: FSF
10;; Created: 13 Jan 1986 10;; Created: 13 Jan 1986
11;; Keywords: mail 11;; Keywords: mail
12;; Obsolete-since: 24.2
12 13
13;;; Commentary: 14;;; Commentary:
14 15
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 618d5753a46..86f493a0a5b 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,49 @@
12012-04-14 Bastien Guerry <bzg@gnu.org>
2
3 * org.el (org-point-at-end-of-empty-headline): Only try to match
4 `org-todo-line-regexp' when the value is non-nil, e.g. in non-org
5 modes.
6 (org-fontify-meta-lines-and-blocks-1): Prevent errors when trying
7 to fontify beyond (point-max).
8
9 * org-clock.el (org-clock-task-overrun-text)
10 (org-task-overrun, org-clock-get-clock-string)
11 (org-clock-update-mode-line)
12 (org-clock-notify-once-if-expired): Rename `org-task-overrun'
13 and `org-task-overrun-text' to `org-clock-task-overrun' and
14 `org-clock-task-overrun-text' respectively.
15 (org-task-overrun-text): New alias.
16
17 * org-table.el (org-table-eval-formula): Fix bug about handling
18 remote references as durations.
19 (org-table-get-range): Fix bug: make sure references to $0 are
20 correctly handled.
21
22 * org-pcomplete.el (pcomplete/org-mode/file-option):
23 Fix bug in `pcomplete/org-mode/file-option'.
24 (org-thing-at-point): Also match line options like LATEX_CLASS
25 when pcompleting from LATEX_.
26
27 * org-agenda.el (org-agenda-filter-make-matcher)
28 (org-agenda-filter-apply): Allow filtering entries out by
29 category. Using `C-u <' from the agenda view will redisplay
30 the agenda without entries from categories of the current line.
31
322012-04-14 Eric Schulte <eric.schulte@gmx.com>
33
34 * ob-C.el (org-babel-C-ensure-main-wrap):
35 Add an explicit return to automatically generated main methods.
36
372012-04-14 Matt Lundin <mdl@imapmail.org>
38
39 * org.el (org-after-todo-state-change-hook):
40 Fix docstring to reflect name change of state to `org-state'.
41
422012-04-14 Mike Sperber <sperber@deinprogramm.de> (tiny change)
43
44 * org-footnote.el (org-footnote-normalize):
45 Correctly pass keyword arguments to `org-export-preprocess-string'.
46
12012-04-03 Bastien Guerry <bzg@gnu.org> 472012-04-03 Bastien Guerry <bzg@gnu.org>
2 48
3 * org.el (org-todo): Fix regression: rename `state' to 49 * org.el (org-todo): Fix regression: rename `state' to
diff --git a/lisp/org/ob-C.el b/lisp/org/ob-C.el
index 5f6c1cb1dd1..583510ac618 100644
--- a/lisp/org/ob-C.el
+++ b/lisp/org/ob-C.el
@@ -152,7 +152,7 @@ it's header arguments."
152 "Wrap body in a \"main\" function call if none exists." 152 "Wrap body in a \"main\" function call if none exists."
153 (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body) 153 (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body)
154 body 154 body
155 (format "int main() {\n%s\n}\n" body))) 155 (format "int main() {\n%s\nreturn(0);\n}\n" body)))
156 156
157(defun org-babel-prep-session:C (session params) 157(defun org-babel-prep-session:C (session params)
158 "This function does nothing as C is a compiled language with no 158 "This function does nothing as C is a compiled language with no
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 324ddd27f9a..3bb0fc84897 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -6365,7 +6365,9 @@ to switch to narrowing."
6365 (dolist (x (delete-dups 6365 (dolist (x (delete-dups
6366 (append (get 'org-agenda-category-filter 6366 (append (get 'org-agenda-category-filter
6367 :preset-filter) org-agenda-category-filter))) 6367 :preset-filter) org-agenda-category-filter)))
6368 (setq f1 (list 'equal (substring x 1) 'cat)) 6368 (if (equal "-" (substring x 0 1))
6369 (setq f1 (list 'not (list 'equal (substring x 1) 'cat)))
6370 (setq f1 (list 'equal (substring x 1) 'cat)))
6369 (push f1 f)) 6371 (push f1 f))
6370 (cons 'and (nreverse f)))) 6372 (cons 'and (nreverse f))))
6371 6373
@@ -6396,9 +6398,13 @@ If the line does not have an effort defined, return nil."
6396 (let (tags cat) 6398 (let (tags cat)
6397 (if (eq type 'tag) 6399 (if (eq type 'tag)
6398 (setq org-agenda-tag-filter filter) 6400 (setq org-agenda-tag-filter filter)
6399 (setq org-agenda-category-filter filter 6401 (setq org-agenda-category-filter filter))
6400 org-agenda-filtered-by-category t))
6401 (setq org-agenda-filter-form (org-agenda-filter-make-matcher)) 6402 (setq org-agenda-filter-form (org-agenda-filter-make-matcher))
6403 (if (and (eq type 'category)
6404 (not (equal (substring (car filter) 0 1) "-")))
6405 ;; Only set `org-agenda-filtered-by-category' to t
6406 ;; when a unique category is used as the filter
6407 (setq org-agenda-filtered-by-category t))
6402 (org-agenda-set-mode-name) 6408 (org-agenda-set-mode-name)
6403 (save-excursion 6409 (save-excursion
6404 (goto-char (point-min)) 6410 (goto-char (point-min))
@@ -6412,7 +6418,7 @@ If the line does not have an effort defined, return nil."
6412 (beginning-of-line 2)) 6418 (beginning-of-line 2))
6413 (beginning-of-line 2)))) 6419 (beginning-of-line 2))))
6414 (if (get-char-property (point) 'invisible) 6420 (if (get-char-property (point) 'invisible)
6415 (org-agenda-previous-line)))) 6421 (ignore-errors (org-agenda-previous-line)))))
6416 6422
6417(defun org-agenda-filter-hide-line (type) 6423(defun org-agenda-filter-hide-line (type)
6418 (let (ov) 6424 (let (ov)
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 7105bfe13dc..434f6a1d5f6 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -219,7 +219,8 @@ auto Automatically, either `all', or `repeat' for repeating tasks"
219 (const :tag "All task time" all) 219 (const :tag "All task time" all)
220 (const :tag "Automatically, `all' or since `repeat'" auto))) 220 (const :tag "Automatically, `all' or since `repeat'" auto)))
221 221
222(defcustom org-task-overrun-text nil 222(defvaralias 'org-task-overrun-text 'org-clock-task-overrun-text)
223(defcustom org-clock-task-overrun-text nil
223 "The extra modeline text that should indicate that the clock is overrun. 224 "The extra modeline text that should indicate that the clock is overrun.
224The can be nil to indicate that instead of adding text, the clock time 225The can be nil to indicate that instead of adding text, the clock time
225should get a different face (`org-mode-line-clock-overrun'). 226should get a different face (`org-mode-line-clock-overrun').
@@ -495,7 +496,7 @@ pointing to it."
495 (insert (format "[%c] %-15s %s\n" i cat task)) 496 (insert (format "[%c] %-15s %s\n" i cat task))
496 (cons i marker))))) 497 (cons i marker)))))
497 498
498(defvar org-task-overrun nil 499(defvar org-clock-task-overrun nil
499 "Internal flag indicating if the clock has overrun the planned time.") 500 "Internal flag indicating if the clock has overrun the planned time.")
500(defvar org-clock-update-period 60 501(defvar org-clock-update-period 60
501 "Number of seconds between mode line clock string updates.") 502 "Number of seconds between mode line clock string updates.")
@@ -516,7 +517,7 @@ If not, show simply the clocked time like 01:50."
516 (work-done-str 517 (work-done-str
517 (org-propertize 518 (org-propertize
518 (format org-time-clocksum-format h m) 519 (format org-time-clocksum-format h m)
519 'face (if (and org-task-overrun (not org-task-overrun-text)) 520 'face (if (and org-clock-task-overrun (not org-clock-task-overrun-text))
520 'org-mode-line-clock-overrun 'org-mode-line-clock))) 521 'org-mode-line-clock-overrun 'org-mode-line-clock)))
521 (effort-str (format org-time-clocksum-format effort-h effort-m)) 522 (effort-str (format org-time-clocksum-format effort-h effort-m))
522 (clockstr (org-propertize 523 (clockstr (org-propertize
@@ -532,7 +533,7 @@ If not, show simply the clocked time like 01:50."
532(defun org-clock-update-mode-line () 533(defun org-clock-update-mode-line ()
533 (if org-clock-effort 534 (if org-clock-effort
534 (org-clock-notify-once-if-expired) 535 (org-clock-notify-once-if-expired)
535 (setq org-task-overrun nil)) 536 (setq org-clock-task-overrun nil))
536 (setq org-mode-line-string 537 (setq org-mode-line-string
537 (org-propertize 538 (org-propertize
538 (let ((clock-string (org-clock-get-clock-string)) 539 (let ((clock-string (org-clock-get-clock-string))
@@ -546,10 +547,10 @@ If not, show simply the clocked time like 01:50."
546 'local-map org-clock-mode-line-map 547 'local-map org-clock-mode-line-map
547 'mouse-face (if (featurep 'xemacs) 'highlight 'mode-line-highlight) 548 'mouse-face (if (featurep 'xemacs) 'highlight 'mode-line-highlight)
548 )) 549 ))
549 (if (and org-task-overrun org-task-overrun-text) 550 (if (and org-clock-task-overrun org-clock-task-overrun-text)
550 (setq org-mode-line-string 551 (setq org-mode-line-string
551 (concat (org-propertize 552 (concat (org-propertize
552 org-task-overrun-text 553 org-clock-task-overrun-text
553 'face 'org-mode-line-clock-overrun) org-mode-line-string))) 554 'face 'org-mode-line-clock-overrun) org-mode-line-string)))
554 (force-mode-line-update)) 555 (force-mode-line-update))
555 556
@@ -606,7 +607,7 @@ Notification is shown only once."
606 (when (org-clocking-p) 607 (when (org-clocking-p)
607 (let ((effort-in-minutes (org-duration-string-to-minutes org-clock-effort)) 608 (let ((effort-in-minutes (org-duration-string-to-minutes org-clock-effort))
608 (clocked-time (org-clock-get-clocked-time))) 609 (clocked-time (org-clock-get-clocked-time)))
609 (if (setq org-task-overrun 610 (if (setq org-clock-task-overrun
610 (if (or (null effort-in-minutes) (zerop effort-in-minutes)) 611 (if (or (null effort-in-minutes) (zerop effort-in-minutes))
611 nil 612 nil
612 (>= clocked-time effort-in-minutes))) 613 (>= clocked-time effort-in-minutes)))
diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el
index 34fc31f39d6..9319e0813c0 100644
--- a/lisp/org/org-footnote.el
+++ b/lisp/org/org-footnote.el
@@ -704,7 +704,7 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
704 (org-combine-plists 704 (org-combine-plists
705 export-props 705 export-props
706 '(:todo-keywords t :tags t :priority t)))) 706 '(:todo-keywords t :tags t :priority t))))
707 (org-export-preprocess-string def parameters)) 707 (apply #'org-export-preprocess-string def parameters))
708 def) 708 def)
709 ;; Reference beginning position is a marker 709 ;; Reference beginning position is a marker
710 ;; to preserve it during further buffer 710 ;; to preserve it during further buffer
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el
index 0ca8777878c..5950d8e26da 100644
--- a/lisp/org/org-pcomplete.el
+++ b/lisp/org/org-pcomplete.el
@@ -69,7 +69,7 @@ The return value is a string naming the thing at point."
69 (re-search-backward "^[ \t]*#\\+\\([A-Z_]+\\):.*" 69 (re-search-backward "^[ \t]*#\\+\\([A-Z_]+\\):.*"
70 (line-beginning-position) t)) 70 (line-beginning-position) t))
71 (cons "file-option" (match-string-no-properties 1))) 71 (cons "file-option" (match-string-no-properties 1)))
72 ((string-match "\\`[ \t]*#\\+[a-zA-Z]*\\'" line-to-here) 72 ((string-match "\\`[ \t]*#\\+[a-zA-Z_]*\\'" line-to-here)
73 (cons "file-option" nil)) 73 (cons "file-option" nil))
74 ((equal (char-before beg) ?\[) 74 ((equal (char-before beg) ?\[)
75 (cons "link" nil)) 75 (cons "link" nil))
@@ -144,7 +144,7 @@ When completing for #+STARTUP, for example, this function returns
144 (if (string-match "^#\\+\\([A-Z_]+:?\\)" x) 144 (if (string-match "^#\\+\\([A-Z_]+:?\\)" x)
145 (match-string 1 x))) 145 (match-string 1 x)))
146 (org-split-string (org-get-current-options) "\n")) 146 (org-split-string (org-get-current-options) "\n"))
147 org-additional-option-like-keywords))))) 147 (copy-sequence org-additional-option-like-keywords))))))
148 (substring pcomplete-stub 2))) 148 (substring pcomplete-stub 2)))
149 149
150(defvar org-startup-options) 150(defvar org-startup-options)
diff --git a/lisp/org/org-special-blocks.el b/lisp/org/org-special-blocks.el
index 5bf8362357f..43b37c64016 100644
--- a/lisp/org/org-special-blocks.el
+++ b/lisp/org/org-special-blocks.el
@@ -80,17 +80,17 @@ seen. This is run after a few special cases are taken care of."
80(add-hook 'org-export-latex-after-blockquotes-hook 80(add-hook 'org-export-latex-after-blockquotes-hook
81 'org-special-blocks-convert-latex-special-cookies) 81 'org-special-blocks-convert-latex-special-cookies)
82 82
83(defvar org-special-blocks-line) 83(defvar line)
84(defun org-special-blocks-convert-html-special-cookies () 84(defun org-special-blocks-convert-html-special-cookies ()
85 "Converts the special cookies into div blocks." 85 "Converts the special cookies into div blocks."
86 ;; Uses the dynamically-bound variable `org-special-blocks-line'. 86 ;; Uses the dynamically-bound variable `line'.
87 (when (string-match "^ORG-\\(.*\\)-\\(START\\|END\\)$" org-special-blocks-line) 87 (when (string-match "^ORG-\\(.*\\)-\\(START\\|END\\)$" line)
88 (message "%s" (match-string 1)) 88 (message "%s" (match-string 1))
89 (when (equal (match-string 2 org-special-blocks-line) "START") 89 (when (equal (match-string 2 line) "START")
90 (org-close-par-maybe) 90 (org-close-par-maybe)
91 (insert "\n<div class=\"" (match-string 1 org-special-blocks-line) "\">") 91 (insert "\n<div class=\"" (match-string 1 line) "\">")
92 (org-open-par)) 92 (org-open-par))
93 (when (equal (match-string 2 org-special-blocks-line) "END") 93 (when (equal (match-string 2 line) "END")
94 (org-close-par-maybe) 94 (org-close-par-maybe)
95 (insert "\n</div>") 95 (insert "\n</div>")
96 (org-open-par)) 96 (org-open-par))
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index ae12cee2abe..08981b57e49 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -2526,8 +2526,13 @@ not overwrite the stored one."
2526 (replace-match 2526 (replace-match
2527 (save-match-data 2527 (save-match-data
2528 (org-table-make-reference 2528 (org-table-make-reference
2529 (org-table-get-remote-range 2529 (let ((rmtrng (org-table-get-remote-range
2530 (match-string 1 form) (match-string 2 form)) 2530 (match-string 1 form) (match-string 2 form))))
2531 (if duration
2532 (if (listp rmtrng)
2533 (mapcar (lambda(x) (org-table-time-string-to-seconds x)) rmtrng)
2534 (org-table-time-string-to-seconds rmtrng))
2535 rmtrng))
2531 keep-empty numbers lispp)) 2536 keep-empty numbers lispp))
2532 t t form))) 2537 t t form)))
2533 ;; Insert complex ranges 2538 ;; Insert complex ranges
@@ -2663,8 +2668,8 @@ in the buffer and column1 and column2 are table column numbers."
2663; (setq r2 (or r2 r1) c2 (or c2 c1)) 2668; (setq r2 (or r2 r1) c2 (or c2 c1))
2664 (if (not r1) (setq r1 thisline)) 2669 (if (not r1) (setq r1 thisline))
2665 (if (not r2) (setq r2 thisline)) 2670 (if (not r2) (setq r2 thisline))
2666 (if (not c1) (setq c1 col)) 2671 (if (or (not c1) (= 0 c1)) (setq c1 col))
2667 (if (not c2) (setq c2 col)) 2672 (if (or (not c2) (= 0 c2)) (setq c2 col))
2668 (if (and (not corners-only) 2673 (if (and (not corners-only)
2669 (or (not rangep) (and (= r1 r2) (= c1 c2)))) 2674 (or (not rangep) (and (= r1 r2) (= c1 c2))))
2670 ;; just one field 2675 ;; just one field
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 0f13223d0c1..c2cc2354439 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -6,7 +6,7 @@
6;; Maintainer: Bastien Guerry <bzg at gnu dot org> 6;; Maintainer: Bastien Guerry <bzg at gnu dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
9;; Version: 7.8.08 9;; Version: 7.8.09
10;; 10;;
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12;; 12;;
@@ -206,7 +206,7 @@ identifier."
206 206
207;;; Version 207;;; Version
208 208
209(defconst org-version "7.8.08" 209(defconst org-version "7.8.09"
210 "The version number of the file org.el.") 210 "The version number of the file org.el.")
211 211
212;;;###autoload 212;;;###autoload
@@ -2225,7 +2225,7 @@ property and include the word \"recursive\" into the value."
2225(defcustom org-after-todo-state-change-hook nil 2225(defcustom org-after-todo-state-change-hook nil
2226 "Hook which is run after the state of a TODO item was changed. 2226 "Hook which is run after the state of a TODO item was changed.
2227The new state (a string with a TODO keyword, or nil) is available in the 2227The new state (a string with a TODO keyword, or nil) is available in the
2228Lisp variable `state'." 2228Lisp variable `org-state'."
2229 :group 'org-todo 2229 :group 'org-todo
2230 :type 'hook) 2230 :type 'hook)
2231 2231
@@ -5427,7 +5427,8 @@ will be prompted for."
5427 (when (re-search-forward 5427 (when (re-search-forward
5428 (concat "^[ \t]*#\\+end" (match-string 4) "\\>.*") 5428 (concat "^[ \t]*#\\+end" (match-string 4) "\\>.*")
5429 nil t) ;; on purpose, we look further than LIMIT 5429 nil t) ;; on purpose, we look further than LIMIT
5430 (setq end (match-end 0) end1 (1- (match-beginning 0))) 5430 (setq end (min (point-max) (match-end 0))
5431 end1 (min (point-max) (1- (match-beginning 0))))
5431 (setq block-end (match-beginning 0)) 5432 (setq block-end (match-beginning 0))
5432 (when quoting 5433 (when quoting
5433 (remove-text-properties beg end 5434 (remove-text-properties beg end
@@ -5455,11 +5456,12 @@ will be prompted for."
5455 '(face org-block))) ; end of source block 5456 '(face org-block))) ; end of source block
5456 ((not org-fontify-quote-and-verse-blocks)) 5457 ((not org-fontify-quote-and-verse-blocks))
5457 ((string= block-type "quote") 5458 ((string= block-type "quote")
5458 (add-text-properties beg1 (1+ end1) '(face org-quote))) 5459 (add-text-properties beg1 (min (point-max) (1+ end1)) '(face org-quote)))
5459 ((string= block-type "verse") 5460 ((string= block-type "verse")
5460 (add-text-properties beg1 (1+ end1) '(face org-verse)))) 5461 (add-text-properties beg1 (min (point-max) (1+ end1)) '(face org-verse))))
5461 (add-text-properties beg beg1 '(face org-block-begin-line)) 5462 (add-text-properties beg beg1 '(face org-block-begin-line))
5462 (add-text-properties (1+ end) (1+ end1) '(face org-block-end-line)) 5463 (add-text-properties (min (point-max) (1+ end)) (min (point-max) (1+ end1))
5464 '(face org-block-end-line))
5463 t)) 5465 t))
5464 ((member dc1 '("title:" "author:" "email:" "date:")) 5466 ((member dc1 '("title:" "author:" "email:" "date:"))
5465 (add-text-properties 5467 (add-text-properties
@@ -5475,7 +5477,7 @@ will be prompted for."
5475 ((not (member (char-after beg) '(?\ ?\t))) 5477 ((not (member (char-after beg) '(?\ ?\t)))
5476 ;; just any other in-buffer setting, but not indented 5478 ;; just any other in-buffer setting, but not indented
5477 (add-text-properties 5479 (add-text-properties
5478 beg (1+ (match-end 0)) 5480 beg (match-end 0)
5479 '(font-lock-fontified t face org-meta-line)) 5481 '(font-lock-fontified t face org-meta-line))
5480 t) 5482 t)
5481 ((or (member dc1 '("begin:" "end:" "caption:" "label:" 5483 ((or (member dc1 '("begin:" "end:" "caption:" "label:"
@@ -13422,8 +13424,7 @@ With prefix ARG, realign all tags in headings in the current buffer."
13422 ;; Get a new set of tags from the user 13424 ;; Get a new set of tags from the user
13423 (save-excursion 13425 (save-excursion
13424 (setq table (append org-tag-persistent-alist 13426 (setq table (append org-tag-persistent-alist
13425 org-tag-alist 13427 (or org-tag-alist (org-get-buffer-tags))
13426 (org-get-buffer-tags)
13427 (and 13428 (and
13428 org-complete-tags-always-offer-all-agenda-tags 13429 org-complete-tags-always-offer-all-agenda-tags
13429 (org-global-tags-completion-table 13430 (org-global-tags-completion-table
@@ -13725,11 +13726,9 @@ Returns the new tags string, or nil to not change the current settings."
13725 (condition-case nil 13726 (condition-case nil
13726 (setq tg (org-icompleting-read 13727 (setq tg (org-icompleting-read
13727 "Tag: " 13728 "Tag: "
13728 (delete-dups 13729 (or buffer-tags
13729 (append (or buffer-tags 13730 (with-current-buffer buf
13730 (with-current-buffer buf 13731 (org-get-buffer-tags)))))
13731 (mapcar 'car (org-get-buffer-tags))))
13732 (mapcar 'car table)))))
13733 (quit (setq tg ""))) 13732 (quit (setq tg "")))
13734 (when (string-match "\\S-" tg) 13733 (when (string-match "\\S-" tg)
13735 (add-to-list 'buffer-tags (list tg)) 13734 (add-to-list 'buffer-tags (list tg))
@@ -20775,11 +20774,12 @@ This version does not only check the character property, but also
20775If the heading only contains a TODO keyword, it is still still considered 20774If the heading only contains a TODO keyword, it is still still considered
20776empty." 20775empty."
20777 (and (looking-at "[ \t]*$") 20776 (and (looking-at "[ \t]*$")
20778 (save-excursion 20777 (when org-todo-line-regexp
20779 (beginning-of-line 1) 20778 (save-excursion
20780 (let ((case-fold-search nil)) 20779 (beginning-of-line 1)
20781 (looking-at org-todo-line-regexp))) 20780 (let ((case-fold-search nil))
20782 (string= (match-string 3) ""))) 20781 (looking-at org-todo-line-regexp)
20782 (string= (match-string 3) ""))))))
20783 20783
20784(defun org-at-heading-or-item-p () 20784(defun org-at-heading-or-item-p ()
20785 (or (org-at-heading-p) (org-at-item-p))) 20785 (or (org-at-heading-p) (org-at-item-p)))
diff --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el
index 8019b876562..f28469d791b 100644
--- a/lisp/pcmpl-rpm.el
+++ b/lisp/pcmpl-rpm.el
@@ -1,6 +1,6 @@
1;;; pcmpl-rpm.el --- functions for dealing with rpm completions 1;;; pcmpl-rpm.el --- functions for dealing with rpm completions
2 2
3;; Copyright (C) 1999-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
4 4
5;; Package: pcomplete 5;; Package: pcomplete
6 6
@@ -29,6 +29,13 @@
29 29
30;; Functions: 30;; Functions:
31 31
32;; FIXME rpm -qa can be slow, so:
33;; Adding --nodigest --nosignature is MUCH faster.
34;; (Probably need to test --help for those options though.)
35;; Consider caching the result (cf woman).
36;; Consider printing an explanatory message before running -qa.
37;;
38;; Seems pointless for this to be a defsubst.
32(defsubst pcmpl-rpm-packages () 39(defsubst pcmpl-rpm-packages ()
33 (split-string (pcomplete-process-result "rpm" "-q" "-a"))) 40 (split-string (pcomplete-process-result "rpm" "-q" "-a")))
34 41
@@ -92,6 +99,7 @@
92 '("--changelog" 99 '("--changelog"
93 "--dbpath" 100 "--dbpath"
94 "--dump" 101 "--dump"
102 "--file"
95 "--ftpport" ;nyi for the next four 103 "--ftpport" ;nyi for the next four
96 "--ftpproxy" 104 "--ftpproxy"
97 "--httpport" 105 "--httpport"
@@ -112,6 +120,8 @@
112 (pcomplete-here*)) 120 (pcomplete-here*))
113 ((pcomplete-test "--rcfile") 121 ((pcomplete-test "--rcfile")
114 (pcomplete-here* (pcomplete-entries))) 122 (pcomplete-here* (pcomplete-entries)))
123 ((pcomplete-test "--file")
124 (pcomplete-here* (pcomplete-entries)))
115 ((pcomplete-test "--root") 125 ((pcomplete-test "--root")
116 (pcomplete-here* (pcomplete-dirs))) 126 (pcomplete-here* (pcomplete-dirs)))
117 ((pcomplete-test "--scripts") 127 ((pcomplete-test "--scripts")
@@ -129,7 +139,9 @@
129 (pcomplete-opt "af.p(pcmpl-rpm-files)ilsdcvR") 139 (pcomplete-opt "af.p(pcmpl-rpm-files)ilsdcvR")
130 (if (pcomplete-test "-[^-]*p" 'first 1) 140 (if (pcomplete-test "-[^-]*p" 'first 1)
131 (pcomplete-here (pcmpl-rpm-files)) 141 (pcomplete-here (pcmpl-rpm-files))
132 (pcomplete-here (pcmpl-rpm-packages)))))) 142 (if (pcomplete-test "-[^-]*f" 'first 1)
143 (pcomplete-here* (pcomplete-entries))
144 (pcomplete-here (pcmpl-rpm-packages)))))))
133 ((pcomplete-test "--pipe") 145 ((pcomplete-test "--pipe")
134 (pcomplete-here* (funcall pcomplete-command-completion-function))) 146 (pcomplete-here* (funcall pcomplete-command-completion-function)))
135 ((pcomplete-test "--rmsource") 147 ((pcomplete-test "--rmsource")
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index cf38001c123..65e28c11e21 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -5382,7 +5382,7 @@ comment at the start of cc-engine.el for more info."
5382 new-beg new-end need-new-beg need-new-end) 5382 new-beg new-end need-new-beg need-new-end)
5383 ;; Locate the barrier before the changed region 5383 ;; Locate the barrier before the changed region
5384 (goto-char (if beg-lit-limits (car beg-lit-limits) beg)) 5384 (goto-char (if beg-lit-limits (car beg-lit-limits) beg))
5385 (c-syntactic-skip-backward "^;{}" (max (- beg 2048) (point-min))) 5385 (c-syntactic-skip-backward "^;{}" (c-determine-limit 512))
5386 (setq new-beg (point)) 5386 (setq new-beg (point))
5387 5387
5388 ;; Remove the syntax-table properties from each pertinent <...> pair. 5388 ;; Remove the syntax-table properties from each pertinent <...> pair.
@@ -5393,8 +5393,7 @@ comment at the start of cc-engine.el for more info."
5393 5393
5394 ;; Locate the barrier after END. 5394 ;; Locate the barrier after END.
5395 (goto-char (if end-lit-limits (cdr end-lit-limits) end)) 5395 (goto-char (if end-lit-limits (cdr end-lit-limits) end))
5396 (c-syntactic-re-search-forward "[;{}]" 5396 (c-syntactic-re-search-forward "[;{}]" (c-determine-+ve-limit 512) 'end)
5397 (min (+ end 2048) (point-max)) 'end)
5398 (setq new-end (point)) 5397 (setq new-end (point))
5399 5398
5400 ;; Remove syntax-table properties from the remaining pertinent <...> 5399 ;; Remove syntax-table properties from the remaining pertinent <...>
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index f57fcbff5ca..a53d65f6307 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -63,6 +63,20 @@ For example:
63 63
64A sample value might look like: `\\(_P\\|_PROTO\\)'.") 64A sample value might look like: `\\(_P\\|_PROTO\\)'.")
65 65
66;; *Warning for cc-mode developers*
67;;
68;; `cc-imenu-objc-generic-expression' elements depend on
69;; `cc-imenu-c++-generic-expression'. So if you change this
70;; expression, you need to change following variables,
71;; `cc-imenu-objc-generic-expression-*-index',
72;; too. `cc-imenu-objc-function' uses these *-index variables, in
73;; order to know where the each regexp *group \\(foobar\\)* elements
74;; are started.
75;;
76;; *-index variables are initialized during `cc-imenu-objc-generic-expression'
77;; being initialized.
78;;
79
66(defvar cc-imenu-c++-generic-expression 80(defvar cc-imenu-c++-generic-expression
67 `( 81 `(
68 ;; Try to match ::operator definitions first. Otherwise `X::operator new ()' 82 ;; Try to match ::operator definitions first. Otherwise `X::operator new ()'
@@ -187,23 +201,8 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
187 ")" 201 ")"
188 "[.," c-alnum " \t\n\r]*" 202 "[.," c-alnum " \t\n\r]*"
189 "{" 203 "{"
190 )) 1)) 204 )) 1))
191 "Imenu generic expression for Java mode. See 205 "Imenu generic expression for Java mode. See `imenu-generic-expression'.")
192`imenu-generic-expression'.")
193
194;; *Warning for cc-mode developers*
195;;
196;; `cc-imenu-objc-generic-expression' elements depend on
197;; `cc-imenu-c++-generic-expression'. So if you change this
198;; expression, you need to change following variables,
199;; `cc-imenu-objc-generic-expression-*-index',
200;; too. `cc-imenu-objc-function' uses these *-index variables, in
201;; order to know where the each regexp *group \\(foobar\\)* elements
202;; are started.
203;;
204;; *-index variables are initialized during `cc-imenu-objc-generic-expression'
205;; being initialized.
206;;
207 206
208;; Internal variables 207;; Internal variables
209(defvar cc-imenu-objc-generic-expression-noreturn-index nil) 208(defvar cc-imenu-objc-generic-expression-noreturn-index nil)
@@ -224,7 +223,7 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
224 "\\|" 223 "\\|"
225 ;; > General function name regexp 224 ;; > General function name regexp
226 ;; Pick a token by (match-string 3) 225 ;; Pick a token by (match-string 3)
227 (car (cdr (nth 2 cc-imenu-c++-generic-expression))) ; -> index += 5 226 (car (cdr (nth 2 cc-imenu-c++-generic-expression))) ; -> index += 6
228 (prog2 (setq cc-imenu-objc-generic-expression-general-func-index 3) "") 227 (prog2 (setq cc-imenu-objc-generic-expression-general-func-index 3) "")
229 ;; > Special case for definitions using phony prototype macros like: 228 ;; > Special case for definitions using phony prototype macros like:
230 ;; > `int main _PROTO( (int argc,char *argv[]) )'. 229 ;; > `int main _PROTO( (int argc,char *argv[]) )'.
@@ -233,11 +232,11 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
233 (concat 232 (concat
234 "\\|" 233 "\\|"
235 (car (cdr (nth 3 cc-imenu-c++-generic-expression))) ; -> index += 1 234 (car (cdr (nth 3 cc-imenu-c++-generic-expression))) ; -> index += 1
236 (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 9) "") 235 (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 10) "")
237 ) 236 )
238 (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 8) "") 237 (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 9) "")
239 "") ; -> index += 0 238 "") ; -> index += 0
240 (prog2 (setq cc-imenu-objc-generic-expression-proto-index 8) "") 239 (prog2 (setq cc-imenu-objc-generic-expression-proto-index 9) "")
241 ;; 240 ;;
242 ;; For Objective-C 241 ;; For Objective-C
243 ;; Pick a token by (match-string 8 or 9) 242 ;; Pick a token by (match-string 8 or 9)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 07393c6954d..ed8eb81932e 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1356,8 +1356,12 @@ if ARG is omitted or nil."
1356 (setq flymake-timer 1356 (setq flymake-timer
1357 (run-at-time nil 1 'flymake-on-timer-event (current-buffer))) 1357 (run-at-time nil 1 'flymake-on-timer-event (current-buffer)))
1358 1358
1359 (when flymake-start-syntax-check-on-find-file 1359 (when (and flymake-start-syntax-check-on-find-file
1360 (flymake-start-syntax-check))))) 1360 ;; Since we write temp files in current dir, there's no point
1361 ;; trying if the directory is read-only (bug#8954).
1362 (file-writable-p (file-name-directory buffer-file-name)))
1363 (with-demoted-errors
1364 (flymake-start-syntax-check))))))
1361 1365
1362 ;; Turning the mode OFF. 1366 ;; Turning the mode OFF.
1363 (t 1367 (t
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index d41364547f2..569e864a1c6 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -1024,7 +1024,8 @@ to specify a command to run."
1024 (shell-quote-argument ")") 1024 (shell-quote-argument ")")
1025 " -prune -o ")) 1025 " -prune -o "))
1026 (and grep-find-ignored-files 1026 (and grep-find-ignored-files
1027 (concat (shell-quote-argument "(") 1027 (concat (shell-quote-argument "!") " -type d "
1028 (shell-quote-argument "(")
1028 ;; we should use shell-quote-argument here 1029 ;; we should use shell-quote-argument here
1029 " -name " 1030 " -name "
1030 (mapconcat 1031 (mapconcat
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index e2016e206a8..b6d2b5e319c 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -802,12 +802,15 @@ If `hs-hide-comments-when-hiding-all' is non-nil, also hide the comments."
802 (forward-comment (point-max))) 802 (forward-comment (point-max)))
803 (re-search-forward re (point-max) t)) 803 (re-search-forward re (point-max) t))
804 (if (match-beginning 1) 804 (if (match-beginning 1)
805 ;; we have found a block beginning 805 ;; We have found a block beginning.
806 (progn 806 (progn
807 (goto-char (match-beginning 1)) 807 (goto-char (match-beginning 1))
808 (if hs-hide-all-non-comment-function 808 (unless (if hs-hide-all-non-comment-function
809 (funcall hs-hide-all-non-comment-function) 809 (funcall hs-hide-all-non-comment-function)
810 (hs-hide-block-at-point t))) 810 (hs-hide-block-at-point t))
811 ;; Go to end of matched data to prevent from getting stuck
812 ;; with an endless loop.
813 (goto-char (match-end 0))))
811 ;; found a comment, probably 814 ;; found a comment, probably
812 (let ((c-reg (hs-inside-comment-p))) 815 (let ((c-reg (hs-inside-comment-p)))
813 (when (and c-reg (car c-reg)) 816 (when (and c-reg (car c-reg))
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 721c610517a..bacc542a388 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -1,6 +1,6 @@
1;;; which-func.el --- print current function in mode line 1;;; which-func.el --- print current function in mode line
2 2
3;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
4 4
5;; Author: Alex Rezinsky <alexr@msil.sps.mot.com> 5;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
6;; (doesn't seem to be responsive any more) 6;; (doesn't seem to be responsive any more)
@@ -72,14 +72,15 @@
72 :group 'tools 72 :group 'tools
73 :version "20.3") 73 :version "20.3")
74 74
75(defcustom which-func-modes 75(defcustom which-func-modes t
76 '(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode python-mode 76 ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
77 makefile-mode sh-mode fortran-mode f90-mode ada-mode 77 ;; makefile-mode sh-mode fortran-mode f90-mode ada-mode
78 diff-mode) 78 ;; diff-mode)
79 "List of major modes for which Which Function mode should be used. 79 "List of major modes for which Which Function mode should be used.
80For other modes it is disabled. If this is equal to t, 80For other modes it is disabled. If this is equal to t,
81then Which Function mode is enabled in any major mode that supports it." 81then Which Function mode is enabled in any major mode that supports it."
82 :group 'which-func 82 :group 'which-func
83 :version "24.2" ; added objc-mode
83 :type '(choice (const :tag "All modes" t) 84 :type '(choice (const :tag "All modes" t)
84 (repeat (symbol :tag "Major mode")))) 85 (repeat (symbol :tag "Major mode"))))
85 86
diff --git a/lisp/simple.el b/lisp/simple.el
index 54005ebd2b3..b8422f9923a 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2464,9 +2464,9 @@ COMMAND.
2464To specify a coding system for converting non-ASCII characters 2464To specify a coding system for converting non-ASCII characters
2465in the input and output to the shell command, use \\[universal-coding-system-argument] 2465in the input and output to the shell command, use \\[universal-coding-system-argument]
2466before this command. By default, the input (from the current buffer) 2466before this command. By default, the input (from the current buffer)
2467is encoded in the same coding system that will be used to save the file, 2467is encoded using coding-system specified by `process-coding-system-alist',
2468`buffer-file-coding-system'. If the output is going to replace the region, 2468falling back to `default-process-coding-system' if no match for COMMAND
2469then it is decoded from that same coding system. 2469is found in `process-coding-system-alist'.
2470 2470
2471The noninteractive arguments are START, END, COMMAND, 2471The noninteractive arguments are START, END, COMMAND,
2472OUTPUT-BUFFER, REPLACE, ERROR-BUFFER, and DISPLAY-ERROR-BUFFER. 2472OUTPUT-BUFFER, REPLACE, ERROR-BUFFER, and DISPLAY-ERROR-BUFFER.
diff --git a/lisp/startup.el b/lisp/startup.el
index 518b53ccdf1..4a8af55af2f 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1169,38 +1169,6 @@ the `--debug-init' option to view a complete error backtrace."
1169 (or mail-host-address 1169 (or mail-host-address
1170 (system-name)))))) 1170 (system-name))))))
1171 1171
1172 ;; Originally face attributes were specified via
1173 ;; `font-lock-face-attributes'. Users then changed the default
1174 ;; face attributes by setting that variable. However, we try and
1175 ;; be back-compatible and respect its value if set except for
1176 ;; faces where M-x customize has been used to save changes for the
1177 ;; face.
1178 (when (boundp 'font-lock-face-attributes)
1179 (let ((face-attributes font-lock-face-attributes))
1180 (while face-attributes
1181 (let* ((face-attribute (pop face-attributes))
1182 (face (car face-attribute)))
1183 ;; Rustle up a `defface' SPEC from a
1184 ;; `font-lock-face-attributes' entry.
1185 (unless (get face 'saved-face)
1186 (let ((foreground (nth 1 face-attribute))
1187 (background (nth 2 face-attribute))
1188 (bold-p (nth 3 face-attribute))
1189 (italic-p (nth 4 face-attribute))
1190 (underline-p (nth 5 face-attribute))
1191 face-spec)
1192 (when foreground
1193 (setq face-spec (cons ':foreground (cons foreground face-spec))))
1194 (when background
1195 (setq face-spec (cons ':background (cons background face-spec))))
1196 (when bold-p
1197 (setq face-spec (append '(:weight bold) face-spec)))
1198 (when italic-p
1199 (setq face-spec (append '(:slant italic) face-spec)))
1200 (when underline-p
1201 (setq face-spec (append '(:underline t) face-spec)))
1202 (face-spec-set face (list (list t face-spec)) nil)))))))
1203
1204 ;; If parameter have been changed in the init file which influence 1172 ;; If parameter have been changed in the init file which influence
1205 ;; face realization, clear the face cache so that new faces will 1173 ;; face realization, clear the face cache so that new faces will
1206 ;; be realized. 1174 ;; be realized.
@@ -2348,6 +2316,7 @@ A fancy display is used on graphic displays, normal otherwise."
2348 (if (or inhibit-startup-screen 2316 (if (or inhibit-startup-screen
2349 initial-buffer-choice 2317 initial-buffer-choice
2350 noninteractive 2318 noninteractive
2319 (daemonp)
2351 inhibit-x-resources) 2320 inhibit-x-resources)
2352 2321
2353 ;; Not displaying a startup screen. If 3 or more files 2322 ;; Not displaying a startup screen. If 3 or more files
@@ -2390,9 +2359,7 @@ A fancy display is used on graphic displays, normal otherwise."
2390 ;; (with-no-warnings 2359 ;; (with-no-warnings
2391 ;; (setq menubar-bindings-done t)) 2360 ;; (setq menubar-bindings-done t))
2392 2361
2393 (if (> file-count 0) 2362 (display-startup-screen (> file-count 0)))))
2394 (display-startup-screen t)
2395 (display-startup-screen nil)))))
2396 2363
2397(defun command-line-normalize-file-name (file) 2364(defun command-line-normalize-file-name (file)
2398 "Collapse multiple slashes to one, to handle non-Emacs file names." 2365 "Collapse multiple slashes to one, to handle non-Emacs file names."
diff --git a/lisp/subr.el b/lisp/subr.el
index a6ad67283be..0cd00995f45 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -871,6 +871,7 @@ The normal global definition of the character C-x indirects to this keymap.")
871(defsubst eventp (obj) 871(defsubst eventp (obj)
872 "True if the argument is an event object." 872 "True if the argument is an event object."
873 (or (and (integerp obj) 873 (or (and (integerp obj)
874 ;; FIXME: Why bother?
874 ;; Filter out integers too large to be events. 875 ;; Filter out integers too large to be events.
875 ;; M is the biggest modifier. 876 ;; M is the biggest modifier.
876 (zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1))))) 877 (zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1)))))
@@ -1989,6 +1990,10 @@ obey the input decoding and translations usually done by `read-key-sequence'.
1989So escape sequences and keyboard encoding are taken into account. 1990So escape sequences and keyboard encoding are taken into account.
1990When there's an ambiguity because the key looks like the prefix of 1991When there's an ambiguity because the key looks like the prefix of
1991some sort of escape sequence, the ambiguity is resolved via `read-key-delay'." 1992some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
1993 ;; This overriding-terminal-local-map binding also happens to
1994 ;; disable quail's input methods, so although read-key-sequence
1995 ;; always inherits the input method, in practice read-key does not
1996 ;; inherit the input method (at least not if it's based on quail).
1992 (let ((overriding-terminal-local-map read-key-empty-map) 1997 (let ((overriding-terminal-local-map read-key-empty-map)
1993 (overriding-local-map nil) 1998 (overriding-local-map nil)
1994 (echo-keystrokes 0) 1999 (echo-keystrokes 0)
@@ -2093,77 +2098,45 @@ Optional DEFAULT is a default password to use instead of empty input.
2093 2098
2094This function echoes `.' for each character that the user types. 2099This function echoes `.' for each character that the user types.
2095 2100
2096The user ends with RET, LFD, or ESC. DEL or C-h rubs out.
2097C-y yanks the current kill. C-u kills line.
2098C-g quits; if `inhibit-quit' was non-nil around this function,
2099then it returns nil if the user types C-g, but `quit-flag' remains set.
2100
2101Once the caller uses the password, it can erase the password 2101Once the caller uses the password, it can erase the password
2102by doing (clear-string STRING)." 2102by doing (clear-string STRING)."
2103 (with-local-quit 2103 (if confirm
2104 (if confirm 2104 (let (success)
2105 (let (success) 2105 (while (not success)
2106 (while (not success) 2106 (let ((first (read-passwd prompt nil default))
2107 (let ((first (read-passwd prompt nil default)) 2107 (second (read-passwd "Confirm password: " nil default)))
2108 (second (read-passwd "Confirm password: " nil default))) 2108 (if (equal first second)
2109 (if (equal first second) 2109 (progn
2110 (progn 2110 (and (arrayp second) (clear-string second))
2111 (and (arrayp second) (clear-string second)) 2111 (setq success first))
2112 (setq success first)) 2112 (and (arrayp first) (clear-string first))
2113 (and (arrayp first) (clear-string first)) 2113 (and (arrayp second) (clear-string second))
2114 (and (arrayp second) (clear-string second)) 2114 (message "Password not repeated accurately; please start over")
2115 (message "Password not repeated accurately; please start over") 2115 (sit-for 1))))
2116 (sit-for 1)))) 2116 success)
2117 success) 2117 (let (minibuf)
2118 (let ((pass nil) 2118 (minibuffer-with-setup-hook
2119 ;; Copy it so that add-text-properties won't modify 2119 (lambda ()
2120 ;; the object that was passed in by the caller. 2120 (setq minibuf (current-buffer))
2121 (prompt (copy-sequence prompt)) 2121 ;; Turn off electricity.
2122 (c 0) 2122 (set (make-local-variable 'post-self-insert-hook) nil)
2123 (echo-keystrokes 0) 2123 (add-hook 'after-change-functions
2124 (cursor-in-echo-area t) 2124 (lambda (beg end len)
2125 (message-log-max nil) 2125 (clear-this-command-keys)
2126 (stop-keys (list 'return ?\r ?\n ?\e)) 2126 (setq beg (min end (max (minibuffer-prompt-end)
2127 (rubout-keys (list 'backspace ?\b ?\177))) 2127 beg)))
2128 (add-text-properties 0 (length prompt) 2128 (dotimes (i (- end beg))
2129 minibuffer-prompt-properties prompt) 2129 (put-text-property (+ i beg) (+ 1 i beg)
2130 (while (progn (message "%s%s" 2130 'display (string ?.))))
2131 prompt 2131 nil t))
2132 (make-string (length pass) ?.)) 2132 (unwind-protect
2133 (setq c (read-key)) 2133 (read-string prompt nil
2134 (not (memq c stop-keys))) 2134 (let ((sym (make-symbol "forget-history")))
2135 (clear-this-command-keys) 2135 (set sym nil)
2136 (cond ((memq c rubout-keys) ; rubout 2136 sym)
2137 (when (> (length pass) 0) 2137 default)
2138 (let ((new-pass (substring pass 0 -1))) 2138 (when (buffer-live-p minibuf)
2139 (and (arrayp pass) (clear-string pass)) 2139 (with-current-buffer minibuf (erase-buffer))))))))
2140 (setq pass new-pass))))
2141 ((eq c ?\C-g) (keyboard-quit))
2142 ((not (numberp c)))
2143 ((= c ?\C-u) ; kill line
2144 (and (arrayp pass) (clear-string pass))
2145 (setq pass ""))
2146 ((= c ?\C-y) ; yank
2147 (let* ((str (condition-case nil
2148 (current-kill 0)
2149 (error nil)))
2150 new-pass)
2151 (when str
2152 (setq new-pass
2153 (concat pass
2154 (substring-no-properties str)))
2155 (and (arrayp pass) (clear-string pass))
2156 (setq c ?\0)
2157 (setq pass new-pass))))
2158 ((characterp c) ; insert char
2159 (let* ((new-char (char-to-string c))
2160 (new-pass (concat pass new-char)))
2161 (and (arrayp pass) (clear-string pass))
2162 (clear-string new-char)
2163 (setq c ?\0)
2164 (setq pass new-pass)))))
2165 (message nil)
2166 (or pass default "")))))
2167 2140
2168;; This should be used by `call-interactively' for `n' specs. 2141;; This should be used by `call-interactively' for `n' specs.
2169(defun read-number (prompt &optional default) 2142(defun read-number (prompt &optional default)
@@ -3557,8 +3530,7 @@ of STRING.
3557To replace only the first match (if any), make REGEXP match up to \\' 3530To replace only the first match (if any), make REGEXP match up to \\'
3558and replace a sub-expression, e.g. 3531and replace a sub-expression, e.g.
3559 (replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1) 3532 (replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1)
3560 => \" bar foo\" 3533 => \" bar foo\""
3561"
3562 3534
3563 ;; To avoid excessive consing from multiple matches in long strings, 3535 ;; To avoid excessive consing from multiple matches in long strings,
3564 ;; don't just call `replace-match' continually. Walk down the 3536 ;; don't just call `replace-match' continually. Walk down the
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index dedbfcbf338..76d03dd164f 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1197,9 +1197,9 @@ PREV-OP-ARG are used when invoked recursively during the build-up."
1197;;; --------------------------------- 1197;;; ---------------------------------
1198 1198
1199;;;###autoload 1199;;;###autoload
1200(defun artist-mode (&optional state) 1200(define-minor-mode artist-mode
1201 "Toggle Artist mode. 1201 "Toggle Artist mode.
1202With argument STATE, turn Artist mode on if STATE is positive. 1202With argument ARG, turn Artist mode on if ARG is positive.
1203Artist lets you draw lines, squares, rectangles and poly-lines, 1203Artist lets you draw lines, squares, rectangles and poly-lines,
1204ellipses and circles with your mouse and/or keyboard. 1204ellipses and circles with your mouse and/or keyboard.
1205 1205
@@ -1388,36 +1388,24 @@ Variables
1388 1388
1389Hooks 1389Hooks
1390 1390
1391 When entering artist-mode, the hook `artist-mode-init-hook' is called. 1391 Turning the mode on or off runs `artist-mode-hook'.
1392 When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
1393 1392
1394 1393
1395Keymap summary 1394Keymap summary
1396 1395
1397\\{artist-mode-map}" 1396\\{artist-mode-map}"
1398 (interactive) 1397 :init-value nil :group 'artist :lighter artist-mode-name
1399 (if (setq artist-mode 1398 :keymap artist-mode-map
1400 (if (null state) (not artist-mode) 1399 (cond ((null artist-mode)
1401 (> (prefix-numeric-value state) 0))) 1400 ;; Turn mode off
1402 (artist-mode-init) 1401 (artist-mode-exit))
1403 (artist-mode-exit))) 1402 (t
1404 1403 ;; Turn mode on
1405;; insert our minor mode string 1404 (artist-mode-init))))
1406(or (assq 'artist-mode minor-mode-alist)
1407 (setq minor-mode-alist
1408 (cons '(artist-mode artist-mode-name)
1409 minor-mode-alist)))
1410
1411;; insert our minor mode keymap
1412(or (assq 'artist-mode minor-mode-map-alist)
1413 (setq minor-mode-map-alist
1414 (cons (cons 'artist-mode artist-mode-map)
1415 minor-mode-map-alist)))
1416
1417 1405
1418;; Init and exit 1406;; Init and exit
1419(defun artist-mode-init () 1407(defun artist-mode-init ()
1420 "Init Artist mode. This will call the hook `artist-mode-init-hook'." 1408 "Init Artist mode. This will call the hook `artist-mode-hook'."
1421 ;; Set up a conversion table for mapping tabs and new-lines to spaces. 1409 ;; Set up a conversion table for mapping tabs and new-lines to spaces.
1422 ;; the last case, 0, is for the last position in buffer/region, where 1410 ;; the last case, 0, is for the last position in buffer/region, where
1423 ;; the `following-char' function returns 0. 1411 ;; the `following-char' function returns 0.
@@ -1459,15 +1447,13 @@ Keymap summary
1459 (progn 1447 (progn
1460 (picture-mode) 1448 (picture-mode)
1461 (message ""))) 1449 (message "")))
1462 (run-hooks 'artist-mode-init-hook)
1463 (artist-mode-line-show-curr-operation artist-key-is-drawing)) 1450 (artist-mode-line-show-curr-operation artist-key-is-drawing))
1464 1451
1465(defun artist-mode-exit () 1452(defun artist-mode-exit ()
1466 "Exit Artist mode. This will call the hook `artist-mode-exit-hook'." 1453 "Exit Artist mode. This will call the hook `artist-mode-hook'."
1467 (if (and artist-picture-compatibility (eq major-mode 'picture-mode)) 1454 (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
1468 (picture-mode-exit)) 1455 (picture-mode-exit))
1469 (kill-local-variable 'next-line-add-newlines) 1456 (kill-local-variable 'next-line-add-newlines))
1470 (run-hooks 'artist-mode-exit-hook))
1471 1457
1472(defun artist-mode-off () 1458(defun artist-mode-off ()
1473 "Turn Artist mode off." 1459 "Turn Artist mode off."
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 24967ded154..72a3eb474f8 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1576,10 +1576,11 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
1576 (if ispell-encoding8-command 1576 (if ispell-encoding8-command
1577 (setq args 1577 (setq args
1578 (append args 1578 (append args
1579 (list 1579 (if ispell-really-hunspell
1580 (concat ispell-encoding8-command 1580 (list ispell-encoding8-command
1581 (symbol-name 1581 (upcase (symbol-name encoding)))
1582 encoding)))))) 1582 (list (concat ispell-encoding8-command
1583 (symbol-name encoding)))))))
1583 1584
1584 (let ((process-coding-system-alist (list (cons "\\.*" encoding)))) 1585 (let ((process-coding-system-alist (list (cons "\\.*" encoding))))
1585 (setq c (apply 'ispell-call-process-region beg 1586 (setq c (apply 'ispell-call-process-region beg
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 74c32817734..37311b7337d 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -684,7 +684,8 @@ re-start Emacs."
684 ("svenska" ; Swedish mode 684 ("svenska" ; Swedish mode
685 "[A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]" 685 "[A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
686 "[^A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]" 686 "[^A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
687 "[']" nil ("-C") "~list" iso-8859-1)) 687 "[']" nil ("-C") "~list" iso-8859-1)
688 ("hebrew" "[\340\341\342\343\344\345\346\347\350\351\353\352\354\356\355\360\357\361\362\364\363\367\366\365\370\371\372]" "[^\340\341\342\343\344\345\346\347\350\351\353\352\354\356\355\360\357\361\362\364\363\367\366\365\370\371\372]" "" nil ("-B") nil cp1255))
688 "Base value for `ispell-dictionary-alist'.") 689 "Base value for `ispell-dictionary-alist'.")
689 690
690(defvar ispell-dictionary-alist nil 691(defvar ispell-dictionary-alist nil
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index 798131236d5..505e40f46ba 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -37,7 +37,6 @@
37;; are bzr-versioned, `vc-bzr` presently runs `bzr status` on the 37;; are bzr-versioned, `vc-bzr` presently runs `bzr status` on the
38;; symlink, thereby not detecting whether the actual contents 38;; symlink, thereby not detecting whether the actual contents
39;; (that is, the target contents) are changed. 39;; (that is, the target contents) are changed.
40;; See https://bugs.launchpad.net/vc-bzr/+bug/116607
41 40
42;;; Properties of the backend 41;;; Properties of the backend
43 42
@@ -65,14 +64,6 @@
65 :group 'vc-bzr 64 :group 'vc-bzr
66 :type 'string) 65 :type 'string)
67 66
68(defcustom vc-bzr-sha1-program '("sha1sum")
69 "Name of program to compute SHA1.
70It must be a string \(program name\) or list of strings \(name and its args\)."
71 :type '(repeat string)
72 :group 'vc-bzr)
73
74(define-obsolete-variable-alias 'sha1-program 'vc-bzr-sha1-program "24.1")
75
76(defcustom vc-bzr-diff-switches nil 67(defcustom vc-bzr-diff-switches nil
77 "String or list of strings specifying switches for bzr diff under VC. 68 "String or list of strings specifying switches for bzr diff under VC.
78If nil, use the value of `vc-diff-switches'. If t, use no switches." 69If nil, use the value of `vc-diff-switches'. If t, use no switches."
@@ -190,20 +181,15 @@ in the repository root directory of FILE."
190(defun vc-bzr-sha1 (file) 181(defun vc-bzr-sha1 (file)
191 (with-temp-buffer 182 (with-temp-buffer
192 (set-buffer-multibyte nil) 183 (set-buffer-multibyte nil)
193 (let ((prog vc-bzr-sha1-program) 184 (insert-file-contents-literally file)
194 (args nil) 185 (sha1 (current-buffer))))
195 process-file-side-effects)
196 (when (consp prog)
197 (setq args (cdr prog))
198 (setq prog (car prog)))
199 (apply 'process-file prog (file-relative-name file) t nil args)
200 (buffer-substring (point-min) (+ (point-min) 40)))))
201 186
202(defun vc-bzr-state-heuristic (file) 187(defun vc-bzr-state-heuristic (file)
203 "Like `vc-bzr-state' but hopefully without running Bzr." 188 "Like `vc-bzr-state' but hopefully without running Bzr."
204 ;; `bzr status' was excruciatingly slow with large histories and 189 ;; `bzr status' could be slow with large histories and pending merges,
205 ;; pending merges, so try to avoid using it until they fix their 190 ;; so this tries to avoid calling it if possible. bzr status is
206 ;; performance problems. 191 ;; faster now, so this is not as important as it was.
192 ;;
207 ;; This function tries first to parse Bzr internal file 193 ;; This function tries first to parse Bzr internal file
208 ;; `checkout/dirstate', but it may fail if Bzr internal file format 194 ;; `checkout/dirstate', but it may fail if Bzr internal file format
209 ;; has changed. As a safeguard, the `checkout/dirstate' file is 195 ;; has changed. As a safeguard, the `checkout/dirstate' file is
@@ -299,10 +285,7 @@ in the repository root directory of FILE."
299 'up-to-date) 285 'up-to-date)
300 (t 'edited)) 286 (t 'edited))
301 'unregistered)))) 287 'unregistered))))
302 ;; Either the dirstate file can't be read, or the sha1 288 ;; The dirstate file can't be read, or some other problem.
303 ;; executable is missing, or ...
304 ;; In either case, recent versions of Bzr aren't that slow
305 ;; any more.
306 (error (vc-bzr-state file))))))) 289 (error (vc-bzr-state file)))))))
307 290
308 291
@@ -417,49 +400,56 @@ string or nil, and STATUS is one of the symbols: `added',
417`ignored', `kindchanged', `modified', `removed', `renamed', `unknown', 400`ignored', `kindchanged', `modified', `removed', `renamed', `unknown',
418which directly correspond to `bzr status' output, or 'unchanged 401which directly correspond to `bzr status' output, or 'unchanged
419for files whose copy in the working tree is identical to the one 402for files whose copy in the working tree is identical to the one
420in the branch repository, or nil for files that are not 403in the branch repository (or whose status not be determined)."
421registered with Bzr. 404;; Doc used to also say the following, but AFAICS, it has never been true.
422 405;;
423If any error occurred in running `bzr status', then return nil." 406;; ", or nil for files that are not registered with Bzr.
407;; If any error occurred in running `bzr status', then return nil."
408;;
409;; Rather than returning nil in case of an error, it returns
410;; (unchanged . WARNING). FIXME unchanged is not the best status to
411;; return in case of error.
424 (with-temp-buffer 412 (with-temp-buffer
425 (let ((ret (condition-case nil 413 ;; This is with-demoted-errors without the condition-case-unless-debug
426 (vc-bzr-command "status" t 0 file) 414 ;; annoyance, which makes it fail during ert testing.
427 (file-error nil))) ; vc-bzr-program not found. 415 (let (err)
428 (status 'unchanged)) 416 (condition-case err (vc-bzr-command "status" t 0 file)
429 ;; the only secure status indication in `bzr status' output 417 (error (message "Error: %S" err) nil)))
430 ;; is a couple of lines following the pattern:: 418 (let ((status 'unchanged))
431 ;; | <status>: 419 ;; the only secure status indication in `bzr status' output
432 ;; | <file name> 420 ;; is a couple of lines following the pattern::
433 ;; if the file is up-to-date, we get no status report from `bzr', 421 ;; | <status>:
434 ;; so if the regexp search for the above pattern fails, we consider 422 ;; | <file name>
435 ;; the file to be up-to-date. 423 ;; if the file is up-to-date, we get no status report from `bzr',
436 (goto-char (point-min)) 424 ;; so if the regexp search for the above pattern fails, we consider
437 (when (re-search-forward 425 ;; the file to be up-to-date.
438 ;; bzr prints paths relative to the repository root. 426 (goto-char (point-min))
439 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+" 427 (when (re-search-forward
440 (regexp-quote (vc-bzr-file-name-relative file)) 428 ;; bzr prints paths relative to the repository root.
441 ;; Bzr appends a '/' to directory names and 429 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
442 ;; '*' to executable files 430 (regexp-quote (vc-bzr-file-name-relative file))
443 (if (file-directory-p file) "/?" "\\*?") 431 ;; Bzr appends a '/' to directory names and
444 "[ \t\n]*$") 432 ;; '*' to executable files
445 nil t) 433 (if (file-directory-p file) "/?" "\\*?")
446 (lexical-let ((statusword (match-string 1))) 434 "[ \t\n]*$")
447 ;; Erase the status text that matched. 435 nil t)
448 (delete-region (match-beginning 0) (match-end 0)) 436 (lexical-let ((statusword (match-string 1)))
449 (setq status 437 ;; Erase the status text that matched.
450 (intern (replace-regexp-in-string " " "" statusword))))) 438 (delete-region (match-beginning 0) (match-end 0))
451 (when status 439 (setq status
452 (goto-char (point-min)) 440 (intern (replace-regexp-in-string " " "" statusword)))))
453 (skip-chars-forward " \n\t") ;Throw away spaces. 441 (when status
454 (cons status 442 (goto-char (point-min))
455 ;; "bzr" will output warnings and informational messages to 443 (skip-chars-forward " \n\t") ;Throw away spaces.
456 ;; stderr; due to Emacs's `vc-do-command' (and, it seems, 444 (cons status
457 ;; `start-process' itself) limitations, we cannot catch stderr 445 ;; "bzr" will output warnings and informational messages to
458 ;; and stdout into different buffers. So, if there's anything 446 ;; stderr; due to Emacs's `vc-do-command' (and, it seems,
459 ;; left in the buffer after removing the above status 447 ;; `start-process' itself) limitations, we cannot catch stderr
460 ;; keywords, let us just presume that any other message from 448 ;; and stdout into different buffers. So, if there's anything
461 ;; "bzr" is a user warning, and display it. 449 ;; left in the buffer after removing the above status
462 (unless (eobp) (buffer-substring (point) (point-max)))))))) 450 ;; keywords, let us just presume that any other message from
451 ;; "bzr" is a user warning, and display it.
452 (unless (eobp) (buffer-substring (point) (point-max))))))))
463 453
464(defun vc-bzr-state (file) 454(defun vc-bzr-state (file)
465 (lexical-let ((result (vc-bzr-status file))) 455 (lexical-let ((result (vc-bzr-status file)))
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 95928ebe87a..19cb7a9df8d 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -656,12 +656,13 @@ another window. With LEAVE-W, use the current `vcursor-window'."
656 (or window-system 656 (or window-system
657 (display-color-p) 657 (display-color-p)
658 (overlay-put vcursor-overlay 'before-string vcursor-string)) 658 (overlay-put vcursor-overlay 'before-string vcursor-string))
659 (overlay-put vcursor-overlay 'face 'vcursor)) 659 (overlay-put vcursor-overlay 'face 'vcursor)
660 ;; 200 is purely an arbitrary "high" number. See bug#9663.
661 (overlay-put vcursor-overlay 'priority 200))
660 (or leave-w (vcursor-find-window nil t)) 662 (or leave-w (vcursor-find-window nil t))
661 ;; vcursor-window now contains the right buffer 663 ;; vcursor-window now contains the right buffer
662 (or (pos-visible-in-window-p pt vcursor-window) 664 (or (pos-visible-in-window-p pt vcursor-window)
663 (set-window-point vcursor-window pt))) 665 (set-window-point vcursor-window pt))))
664 )
665 666
666(defun vcursor-insert (text) 667(defun vcursor-insert (text)
667 "Insert TEXT, respecting `vcursor-interpret-input'." 668 "Insert TEXT, respecting `vcursor-interpret-input'."
diff --git a/lisp/window.el b/lisp/window.el
index c9e2469b0d2..ca2cc9e7950 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -3643,7 +3643,11 @@ specific buffers."
3643 (scroll-bars . ,(window-scroll-bars window)) 3643 (scroll-bars . ,(window-scroll-bars window))
3644 (vscroll . ,(window-vscroll window)) 3644 (vscroll . ,(window-vscroll window))
3645 (dedicated . ,(window-dedicated-p window)) 3645 (dedicated . ,(window-dedicated-p window))
3646 (point . ,(if writable point (copy-marker point))) 3646 (point . ,(if writable point
3647 (copy-marker point
3648 (buffer-local-value
3649 'window-point-insertion-type
3650 buffer))))
3647 (start . ,(if writable start (copy-marker start))))))))) 3651 (start . ,(if writable start (copy-marker start)))))))))
3648 (tail 3652 (tail
3649 (when (memq type '(vc hc)) 3653 (when (memq type '(vc hc))
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog
index b7751f90a91..85b69f47d28 100644
--- a/lwlib/ChangeLog
+++ b/lwlib/ChangeLog
@@ -1,10 +1,15 @@
12012-04-09 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 * Makefile.in (C_WARNINGS_SWITCH): Remove. 4 * Makefile.in (C_WARNINGS_SWITCH): Remove.
5 (WARN_CFLAGS, WERROR_CFLAGS): New macros. 5 (WARN_CFLAGS, WERROR_CFLAGS): New macros.
6 (ALL_CFLAGS): Use new macros rather than old. 6 (ALL_CFLAGS): Use new macros rather than old.
7 7
82012-04-11 Glenn Morris <rgm@gnu.org>
9
10 * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
11 (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
12
82011-10-13 Dmitry Antipov <dmantipov@yandex.ru> 132011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
9 14
10 * lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with 15 * lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with
@@ -1763,7 +1768,7 @@
1763;; coding: utf-8 1768;; coding: utf-8
1764;; End: 1769;; End:
1765 1770
1766 Copyright (C) 1995-1999, 2001-2012 Free Software Foundation, Inc. 1771 Copyright (C) 1995-1999, 2001-2012 Free Software Foundation, Inc.
1767 1772
1768 This file is part of GNU Emacs. 1773 This file is part of GNU Emacs.
1769 1774
diff --git a/lwlib/Makefile.in b/lwlib/Makefile.in
index 76507ac4b24..d43d9ca211e 100644
--- a/lwlib/Makefile.in
+++ b/lwlib/Makefile.in
@@ -1,5 +1,5 @@
1# Copyright (C) 1992, 1993 Lucid, Inc. 1# Copyright (C) 1992, 1993 Lucid, Inc.
2# Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc. 2# Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
3# 3#
4# This file is part of the Lucid Widget Library. 4# This file is part of the Lucid Widget Library.
5# 5#
@@ -26,7 +26,6 @@ srcdir=@srcdir@
26VPATH=@srcdir@ 26VPATH=@srcdir@
27@SET_MAKE@ 27@SET_MAKE@
28C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ 28C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
29C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
30C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ 29C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
31C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ 30C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
32PROFILING_CFLAGS = @PROFILING_CFLAGS@ 31PROFILING_CFLAGS = @PROFILING_CFLAGS@
@@ -54,9 +53,8 @@ OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o
54## $(srcdir) is where the lwlib sources are. 53## $(srcdir) is where the lwlib sources are.
55## There are no generated lwlib files, hence no need for -I. 54## There are no generated lwlib files, hence no need for -I.
56ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ 55ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
57 $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) \ 56 $(C_SWITCH_MACHINE) \
58 $(WARN_CFLAGS) $(WERROR_CFLAGS) \ 57 $(WARN_CFLAGS) $(WERROR_CFLAGS) $(PROFILING_CFLAGS) $(CFLAGS) \
59 $(PROFILING_CFLAGS) $(CFLAGS) \
60 -DHAVE_CONFIG_H -Demacs -I../src \ 58 -DHAVE_CONFIG_H -Demacs -I../src \
61 -I$(srcdir) -I$(srcdir)/../src -I../lib -I$(srcdir)/../lib 59 -I$(srcdir) -I$(srcdir)/../src -I../lib -I$(srcdir)/../lib
62 60
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index 0c00364d6fa..320d2f5e6c1 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -1,3 +1,7 @@
12012-04-11 Glenn Morris <rgm@gnu.org>
2
3 * sedlibmk.inp, sed1v2.inp: GNUSTEP_CFLAGS replaces C_SWITCH_X_SYSTEM.
4
12012-04-07 Glenn Morris <rgm@gnu.org> 52012-04-07 Glenn Morris <rgm@gnu.org>
2 6
3 * sed2v2.inp: Bump version to 24.1.50. 7 * sed2v2.inp: Bump version to 24.1.50.
@@ -1312,7 +1316,7 @@
1312;; coding: utf-8 1316;; coding: utf-8
1313;; End: 1317;; End:
1314 1318
1315 Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc. 1319 Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
1316 1320
1317 This file is part of GNU Emacs. 1321 This file is part of GNU Emacs.
1318 1322
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index c13fbe621f4..cdaf9430b25 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -2,7 +2,7 @@
2# Configuration script for src/Makefile under DJGPP v2.x 2# Configuration script for src/Makefile under DJGPP v2.x
3# ---------------------------------------------------------------------- 3# ----------------------------------------------------------------------
4# 4#
5# Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc. 5# Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc.
6# 6#
7# This file is part of GNU Emacs. 7# This file is part of GNU Emacs.
8# 8#
@@ -39,7 +39,7 @@ s/\.h\.in/.h-in/
39/^LIBOBJS *=/s/@[^@\n]*@// 39/^LIBOBJS *=/s/@[^@\n]*@//
40/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@// 40/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
41/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@// 41/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
42/^C_SWITCH_X_SYSTEM *=/s/@C_SWITCH_X_SYSTEM@// 42/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
43/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@// 43/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
44/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@// 44/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@//
45/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@// 45/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
@@ -186,7 +186,7 @@ s/echo.*buildobj.lst/dj&/
186/^ *THEFILE=/s|$|\; cd ../src| 186/^ *THEFILE=/s|$|\; cd ../src|
187/^ echo.* buildobj.h/s|echo |djecho | 187/^ echo.* buildobj.h/s|echo |djecho |
188# Make the GCC command line fit one screen line 188# Make the GCC command line fit one screen line
189/^[ ][ ]*\$(C_SWITCH_X_SYSTEM)/d 189/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
190/^[ ][ ]*\$(GCONF_CFLAGS)/d 190/^[ ][ ]*\$(GCONF_CFLAGS)/d
191/^[ ][ ]*\$(LIBGNUTLS_CFLAGS)/d 191/^[ ][ ]*\$(LIBGNUTLS_CFLAGS)/d
192s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) \$(DEPFLAGS) // 192s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) \$(DEPFLAGS) //
diff --git a/msdos/sedlibmk.inp b/msdos/sedlibmk.inp
index e13464a9b88..1bb622b29e8 100644
--- a/msdos/sedlibmk.inp
+++ b/msdos/sedlibmk.inp
@@ -2,7 +2,7 @@
2# Configuration script for lib/Makefile under DJGPP v2.x 2# Configuration script for lib/Makefile under DJGPP v2.x
3# ---------------------------------------------------------------------- 3# ----------------------------------------------------------------------
4# 4#
5# Copyright (C) 2011-2012 Free Software Foundation, Inc. 5# Copyright (C) 2011-2012 Free Software Foundation, Inc.
6# 6#
7# This file is part of GNU Emacs. 7# This file is part of GNU Emacs.
8# 8#
@@ -124,7 +124,7 @@ am__cd = cd
124/^CYGWIN_OBJ *=/s/@[^@\n]*@// 124/^CYGWIN_OBJ *=/s/@[^@\n]*@//
125/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@// 125/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
126/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@// 126/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
127/^C_SWITCH_X_SYSTEM *=/s/@C_SWITCH_X_SYSTEM@// 127/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
128/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@// 128/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
129/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@// 129/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@//
130/^DEFS *=/s/@[^@\n]*@/-DHAVE_CONFIG_H/ 130/^DEFS *=/s/@[^@\n]*@/-DHAVE_CONFIG_H/
diff --git a/nt/ChangeLog b/nt/ChangeLog
index c7b94e64083..323e00bbd5f 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12012-04-14 Dani Moncayo <dmoncayo@gmail.com> (tiny change)
2
3 * makefile.w32-in: Fix typo (Bug#10261).
4
12012-04-10 Eli Zaretskii <eliz@gnu.org> 52012-04-10 Eli Zaretskii <eliz@gnu.org>
2 6
3 * makefile.w32-in (emacs, misc, lispref, lispintro): New targets, 7 * makefile.w32-in (emacs, misc, lispref, lispintro): New targets,
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index fcf57e8046d..3ddf3a04cb6 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -264,10 +264,10 @@ install-shortcuts: $(INSTALL_DIR)/bin
264maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE) 264maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
265 265
266maybe-copy-distfiles-CMD: create-tmp-dist-dir doit 266maybe-copy-distfiles-CMD: create-tmp-dist-dir doit
267 @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin 267 @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
268 268
269maybe-copy-distfiles-SH: create-tmp-dist-dir doit 269maybe-copy-distfiles-SH: create-tmp-dist-dir doit
270 @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \ 270 @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \
271 $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \ 271 $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
272 fi 272 fi
273 273
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog
index 87dadb2745e..a76ea61abd8 100644
--- a/oldXMenu/ChangeLog
+++ b/oldXMenu/ChangeLog
@@ -1,10 +1,15 @@
12012-04-09 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 * Makefile.in (C_WARNINGS_SWITCH): Remove. 4 * Makefile.in (C_WARNINGS_SWITCH): Remove.
5 (WARN_CFLAGS, WERROR_CFLAGS): New macros. 5 (WARN_CFLAGS, WERROR_CFLAGS): New macros.
6 (ALL_CFLAGS): Use new macros rather than old. 6 (ALL_CFLAGS): Use new macros rather than old.
7 7
82012-04-11 Glenn Morris <rgm@gnu.org>
9
10 * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
11 (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
12
82011-04-16 Paul Eggert <eggert@cs.ucla.edu> 132011-04-16 Paul Eggert <eggert@cs.ucla.edu>
9 14
10 Static checks with GCC 4.6.0 and non-default toolkits. 15 Static checks with GCC 4.6.0 and non-default toolkits.
@@ -622,7 +627,7 @@
622;; coding: utf-8 627;; coding: utf-8
623;; End: 628;; End:
624 629
625 Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc. 630 Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc.
626 631
627 This file is part of GNU Emacs. 632 This file is part of GNU Emacs.
628 633
diff --git a/oldXMenu/Makefile.in b/oldXMenu/Makefile.in
index e7bc402cb0d..01855f6585b 100644
--- a/oldXMenu/Makefile.in
+++ b/oldXMenu/Makefile.in
@@ -1,4 +1,4 @@
1## Makefile for oldXMenu 1## Makefile for oldXMenu
2 2
3## Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology 3## Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
4 4
@@ -15,7 +15,7 @@
15## without express or implied warranty. 15## without express or implied warranty.
16 16
17 17
18## Copyright (C) 2001-2012 Free Software Foundation, Inc. 18## Copyright (C) 2001-2012 Free Software Foundation, Inc.
19 19
20## This program is free software: you can redistribute it and/or modify 20## This program is free software: you can redistribute it and/or modify
21## it under the terms of the GNU General Public License as published by 21## it under the terms of the GNU General Public License as published by
@@ -45,7 +45,6 @@
45srcdir=@srcdir@ 45srcdir=@srcdir@
46VPATH=@srcdir@ 46VPATH=@srcdir@
47C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ 47C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
48C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
49C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ 48C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
50C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ 49C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
51PROFILING_CFLAGS = @PROFILING_CFLAGS@ 50PROFILING_CFLAGS = @PROFILING_CFLAGS@
@@ -89,8 +88,8 @@ OBJS = Activate.o \
89all:: libXMenu11.a 88all:: libXMenu11.a
90 89
91ALL_CFLAGS=$(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \ 90ALL_CFLAGS=$(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
92 $(C_SWITCH_X_SITE) $(C_SWITCH_X_SYSTEM) \ 91 $(C_SWITCH_X_SITE) \
93 $(WARN_CFLAGS) $(WERROR_CFLAGS) ${C_WARNINGS_SWITCH} ${PROFILING_CFLAGS} \ 92 $(WARN_CFLAGS) $(WERROR_CFLAGS) ${PROFILING_CFLAGS} \
94 $(CPPFLAGS) $(CFLAGS) -DEMACS_BITMAP_FILES \ 93 $(CPPFLAGS) $(CFLAGS) -DEMACS_BITMAP_FILES \
95 -I../src -I${srcdir} -I${srcdir}/../src 94 -I../src -I${srcdir} -I${srcdir}/../src
96 95
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b6a0b2246e..20a6dfca643 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12012-04-10 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 * Makefile.in (C_WARNINGS_SWITCH): Remove. 4 * Makefile.in (C_WARNINGS_SWITCH): Remove.
@@ -11,6 +11,47 @@
11 the Emacs and Gnulib regex code is merged. 11 the Emacs and Gnulib regex code is merged.
12 (xmalloc, xrealloc): Now static. 12 (xmalloc, xrealloc): Now static.
13 13
142012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
15
16 * lread.c (lisp_file_lexically_bound_p):
17 Fix hang at ";-*-\n" (bug#11238).
18
192012-04-14 Eli Zaretskii <eliz@gnu.org>
20
21 * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
22 "unchanged" if its end.pos is beyond ZV. (Bug#11199)
23
242012-04-14 Jan Djärv <jan.h.d@swipnet.se>
25
26 * nsterm.m (constrainFrameRect): Always constrain when there is only
27 one screen (Bug#10962).
28
292012-04-13 Ken Brown <kbrown@cornell.edu>
30
31 * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
32
332012-04-13 Reuben Thomas <rrt@sc3d.org>
34
35 * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
36
372012-04-11 Daniel Colascione <dancol@dancol.org>
38
39 * s/cygwin.h: The vfork the #define in cygwin.h was protecting
40 against is gone. It's better to use vfork now so that when Cygwin
41 gains a new, working vfork, we use it automatically (bug#10398).
42
432012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
44
45 * window.c (save_window_save): Obey window-point-insertion-type.
46
472012-04-11 Glenn Morris <rgm@gnu.org>
48
49 * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
50
512012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
52
53 * alloc.c (lisp_align_malloc): Remove unneeded prototype.
54
142012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change) 552012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change)
15 56
16 * keyboard.c: Override inhibit-quit after the third C-g (bug#6585). 57 * keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
@@ -9747,7 +9788,7 @@ See ChangeLog.11 for earlier changes.
9747;; coding: utf-8 9788;; coding: utf-8
9748;; End: 9789;; End:
9749 9790
9750 Copyright (C) 2011-2012 Free Software Foundation, Inc. 9791 Copyright (C) 2011-2012 Free Software Foundation, Inc.
9751 9792
9752 This file is part of GNU Emacs. 9793 This file is part of GNU Emacs.
9753 9794
diff --git a/src/Makefile.in b/src/Makefile.in
index 9525996caea..37480f8269d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -76,16 +76,13 @@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
76## System-specific CFLAGS. 76## System-specific CFLAGS.
77C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ 77C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
78 78
79## Currently only set if NS_IMPL_GNUSTEP. 79GNUSTEP_CFLAGS=@GNUSTEP_CFLAGS@
80## C_SWITCH_X_SITE may override this.
81C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
82 80
83## Define C_SWITCH_X_SITE to contain any special flags your compiler 81## Define C_SWITCH_X_SITE to contain any special flags your compiler
84## may need to deal with X Windows. For instance, if you've defined 82## may need to deal with X Windows. For instance, if you've defined
85## HAVE_X_WINDOWS and your X include files aren't in a place that your 83## HAVE_X_WINDOWS and your X include files aren't in a place that your
86## compiler can find on its own, you might want to add "-I/..." or 84## compiler can find on its own, you might want to add "-I/..." or
87## something similar. This is normally set by configure. 85## something similar. This is normally set by configure.
88## This is used before C_SWITCH_X_SYSTEM and may override it.
89C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ 86C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
90 87
91## Define LD_SWITCH_X_SITE to contain any special flags your loader 88## Define LD_SWITCH_X_SITE to contain any special flags your loader
@@ -303,14 +300,11 @@ MKDEPDIR=@MKDEPDIR@
303## -DHAVE_CONFIG_H is needed for some other files to take advantage of 300## -DHAVE_CONFIG_H is needed for some other files to take advantage of
304## the information in `config.h'. 301## the information in `config.h'.
305## 302##
306## C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM
307## since it may have -I options that should override those.
308##
309## FIXME? MYCPPFLAGS only referenced in etc/DEBUG. 303## FIXME? MYCPPFLAGS only referenced in etc/DEBUG.
310ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \ 304ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \
311 -I$(lib) -I$(srcdir)/../lib \ 305 -I$(lib) -I$(srcdir)/../lib \
312 $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ 306 $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
313 $(C_SWITCH_X_SYSTEM) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ 307 $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
314 $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ 308 $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
315 $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ 309 $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
316 $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ 310 $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \
diff --git a/src/alloc.c b/src/alloc.c
index 16b004fc0e9..314438ba9f1 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -296,7 +296,6 @@ enum mem_type
296 MEM_TYPE_VECTORLIKE 296 MEM_TYPE_VECTORLIKE
297}; 297};
298 298
299static POINTER_TYPE *lisp_align_malloc (size_t, enum mem_type);
300static POINTER_TYPE *lisp_malloc (size_t, enum mem_type); 299static POINTER_TYPE *lisp_malloc (size_t, enum mem_type);
301 300
302 301
@@ -938,9 +937,10 @@ lisp_free (POINTER_TYPE *block)
938 MALLOC_UNBLOCK_INPUT; 937 MALLOC_UNBLOCK_INPUT;
939} 938}
940 939
941/* Allocation of aligned blocks of memory to store Lisp data. */ 940/***** Allocation of aligned blocks of memory to store Lisp data. *****/
942/* The entry point is lisp_align_malloc which returns blocks of at most */ 941
943/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */ 942/* The entry point is lisp_align_malloc which returns blocks of at most
943 BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
944 944
945/* Use posix_memalloc if the system has it and we're using the system's 945/* Use posix_memalloc if the system has it and we're using the system's
946 malloc (because our gmalloc.c routines don't have posix_memalign although 946 malloc (because our gmalloc.c routines don't have posix_memalign although
@@ -1099,7 +1099,7 @@ lisp_align_malloc (size_t nbytes, enum mem_type type)
1099#endif 1099#endif
1100 1100
1101 /* Initialize the blocks and put them on the free list. 1101 /* Initialize the blocks and put them on the free list.
1102 Is `base' was not properly aligned, we can't use the last block. */ 1102 If `base' was not properly aligned, we can't use the last block. */
1103 for (i = 0; i < (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1); i++) 1103 for (i = 0; i < (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1); i++)
1104 { 1104 {
1105 abase->blocks[i].abase = abase; 1105 abase->blocks[i].abase = abase;
@@ -1146,8 +1146,8 @@ lisp_align_free (POINTER_TYPE *block)
1146 ablock->x.next_free = free_ablock; 1146 ablock->x.next_free = free_ablock;
1147 free_ablock = ablock; 1147 free_ablock = ablock;
1148 /* Update busy count. */ 1148 /* Update busy count. */
1149 ABLOCKS_BUSY (abase) = 1149 ABLOCKS_BUSY (abase)
1150 (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase)); 1150 = (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase));
1151 1151
1152 if (2 > (intptr_t) ABLOCKS_BUSY (abase)) 1152 if (2 > (intptr_t) ABLOCKS_BUSY (abase))
1153 { /* All the blocks are free. */ 1153 { /* All the blocks are free. */
diff --git a/src/indent.c b/src/indent.c
index 1531d2ffde8..280607f7ecb 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -956,7 +956,8 @@ indented_beyond_p (EMACS_INT pos, EMACS_INT pos_byte, EMACS_INT column)
956 return val >= column; 956 return val >= column;
957} 957}
958 958
959DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p", 959DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2,
960 "NMove to column: ",
960 doc: /* Move point to column COLUMN in the current line. 961 doc: /* Move point to column COLUMN in the current line.
961Interactively, COLUMN is the value of prefix numeric argument. 962Interactively, COLUMN is the value of prefix numeric argument.
962The column of a character is calculated by adding together the widths 963The column of a character is calculated by adding together the widths
diff --git a/src/lread.c b/src/lread.c
index bfb37b4fc89..50465fd01e8 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -839,7 +839,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
839 } 839 }
840 840
841 /* Stop scanning if no colon was found before end marker. */ 841 /* Stop scanning if no colon was found before end marker. */
842 if (!in_file_vars) 842 if (!in_file_vars || ch == '\n' || ch == EOF)
843 break; 843 break;
844 844
845 while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t')) 845 while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t'))
@@ -863,8 +863,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
863 ch = READCHAR; 863 ch = READCHAR;
864 } 864 }
865 if (! in_file_vars) 865 if (! in_file_vars)
866 /* The value was terminated by an end-marker, which 866 /* The value was terminated by an end-marker, which remove. */
867 remove. */
868 i -= 3; 867 i -= 3;
869 while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t')) 868 while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t'))
870 i--; 869 i--;
diff --git a/src/nsterm.m b/src/nsterm.m
index a45792fd645..7cbaf991311 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6038,11 +6038,15 @@ ns_term_shutdown (int sig)
6038 restrict the height to just one monitor. So we override this. */ 6038 restrict the height to just one monitor. So we override this. */
6039- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen 6039- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
6040{ 6040{
6041 /* When making the frame visible for the first time, we want to 6041 /* When making the frame visible for the first time or if there is just
6042 constrain. Other times not. */ 6042 one screen, we want to constrain. Other times not. */
6043 NSUInteger nr_screens = [[NSScreen screens] count];
6043 struct frame *f = ((EmacsView *)[self delegate])->emacsframe; 6044 struct frame *f = ((EmacsView *)[self delegate])->emacsframe;
6044 NSTRACE (constrainFrameRect); 6045 NSTRACE (constrainFrameRect);
6045 6046
6047 if (nr_screens == 1)
6048 return [super constrainFrameRect:frameRect toScreen:screen];
6049
6046 if (f->output_data.ns->dont_constrain 6050 if (f->output_data.ns->dont_constrain
6047 || ns_menu_bar_should_be_hidden ()) 6051 || ns_menu_bar_should_be_hidden ())
6048 return frameRect; 6052 return frameRect;
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index 9a371829eaa..f8c656e8ebc 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -58,7 +58,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
58 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ 58 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
59 fd = -1; \ 59 fd = -1; \
60 sigsetmask (mask); \ 60 sigsetmask (mask); \
61 emacs_close (dummy); \ 61 if (fd >= 0) \
62 emacs_close (dummy); \
62 } \ 63 } \
63 while (0) 64 while (0)
64 65
@@ -81,10 +82,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
81 82
82#define HAVE_SOCKETS 83#define HAVE_SOCKETS
83 84
84/* vfork() interacts badly with setsid(), causing ptys to fail to
85 change their controlling terminal */
86#define vfork fork
87
88/* This should work (at least when compiling with gcc). But I have no way 85/* This should work (at least when compiling with gcc). But I have no way
89 or intention to verify or even test it. If you encounter a problem with 86 or intention to verify or even test it. If you encounter a problem with
90 it, feel free to change this setting, but please add a comment here about 87 it, feel free to change this setting, but please add a comment here about
diff --git a/src/window.c b/src/window.c
index af7968f9edf..1f27cba444b 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5945,6 +5945,8 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
5945 } 5945 }
5946 else 5946 else
5947 p->pointm = Fcopy_marker (w->pointm, Qnil); 5947 p->pointm = Fcopy_marker (w->pointm, Qnil);
5948 XMARKER (p->pointm)->insertion_type
5949 = !NILP (Vwindow_point_insertion_type);
5948 5950
5949 p->start = Fcopy_marker (w->start, Qnil); 5951 p->start = Fcopy_marker (w->start, Qnil);
5950 p->start_at_line_beg = w->start_at_line_beg; 5952 p->start_at_line_beg = w->start_at_line_beg;
diff --git a/src/xdisp.c b/src/xdisp.c
index c6939a5dcf9..ea964f4dadc 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -16606,7 +16606,15 @@ find_last_unchanged_at_beg_row (struct window *w)
16606 continued. */ 16606 continued. */
16607 && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos 16607 && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos
16608 && (row->continued_p 16608 && (row->continued_p
16609 || row->exact_window_width_line_p))) 16609 || row->exact_window_width_line_p))
16610 /* If ROW->end is beyond ZV, then ROW->end is outdated and
16611 needs to be recomputed, so don't consider this row as
16612 unchanged. This happens when the last line was
16613 bidi-reordered and was killed immediately before this
16614 redisplay cycle. In that case, ROW->end stores the
16615 buffer position of the first visual-order character of
16616 the killed text, which is now beyond ZV. */
16617 && CHARPOS (row->end.pos) <= ZV)
16610 row_found = row; 16618 row_found = row;
16611 16619
16612 /* Stop if last visible row. */ 16620 /* Stop if last visible row. */
diff --git a/test/ChangeLog b/test/ChangeLog
index f44b09102d9..66f8592c79c 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,7 @@
12012-04-11 Glenn Morris <rgm@gnu.org>
2
3 * automated/vc-bzr.el (vc-bzr-test-faulty-bzr-autoloads): New test.
4
12012-02-13 Teodor Zlatanov <tzz@lifelogs.com> 52012-02-13 Teodor Zlatanov <tzz@lifelogs.com>
2 6
3 * automated/url-future-tests.el (url-future-tests): Move from 7 * automated/url-future-tests.el (url-future-tests): Move from
diff --git a/test/automated/vc-bzr.el b/test/automated/vc-bzr.el
index 904ab4d1304..94f8502b882 100644
--- a/test/automated/vc-bzr.el
+++ b/test/automated/vc-bzr.el
@@ -1,6 +1,6 @@
1;;; vc-bzr.el --- tests for vc/vc-bzr.el 1;;; vc-bzr.el --- tests for vc/vc-bzr.el
2 2
3;; Copyright (C) 2011-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
4 4
5;; Author: Glenn Morris <rgm@gnu.org> 5;; Author: Glenn Morris <rgm@gnu.org>
6 6
@@ -98,4 +98,31 @@
98 (should (get-buffer "*vc-log*"))) 98 (should (get-buffer "*vc-log*")))
99 (delete-directory tempdir t)))) 99 (delete-directory tempdir t))))
100 100
101;; http://lists.gnu.org/archive/html/help-gnu-emacs/2012-04/msg00145.html
102(ert-deftest vc-bzr-test-faulty-bzr-autoloads ()
103 "Test we can generate autoloads in a bzr directory when bzr is faulty."
104 :expected-result (if (executable-find vc-bzr-program) :passed :failed)
105 (should (executable-find vc-bzr-program))
106 (let* ((tempdir (make-temp-file "vc-bzr-test" t))
107 (file (expand-file-name "foo.el" tempdir))
108 (default-directory (file-name-as-directory tempdir))
109 (generated-autoload-file (expand-file-name "loaddefs.el" tempdir)))
110 (unwind-protect
111 (progn
112 (call-process vc-bzr-program nil nil nil "init")
113 (with-temp-buffer
114 (insert ";;;###autoload
115\(defun foo () \"foo\" (interactive) (message \"foo!\"))")
116 (write-region nil nil file nil 'silent))
117 (call-process vc-bzr-program nil nil nil "add")
118 (call-process vc-bzr-program nil nil nil "commit" "-m" "Commit 1")
119 ;; Deleting dirstate ensures both that vc-bzr's status heuristic
120 ;; fails, so it has to call the external bzr status, and
121 ;; causes bzr status to fail. This simulates a broken bzr
122 ;; installation.
123 (delete-file ".bzr/checkout/dirstate")
124 (should (progn (update-directory-autoloads default-directory)
125 t)))
126 (delete-directory tempdir t))))
127
101;;; vc-bzr.el ends here 128;;; vc-bzr.el ends here