summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-04-13 21:37:44 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-04-13 21:37:44 -0700
commitbdf35b6a6a78e444563a8e321ccb42b4b4a419bd (patch)
treee96324ace186c7acc92182a255c3aa7ff315b82f
parent1530927cb9a3dca7c0f41975f2e9e62ef8be92a2 (diff)
parentd5e6342ed5e408014019c478ce16a47a2aad418b (diff)
downloademacs-bdf35b6a6a78e444563a8e321ccb42b4b4a419bd.tar.gz
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 @@
-2012-04-10 Paul Eggert <eggert@cs.ucla.edu>
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
configure: new option --enable-gcc-warnings (Bug#11207)
I have been using this change for many months in my private copy
@@ -15,6 +15,14 @@
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
+2012-04-12 Ken Brown <kbrown@cornell.edu>
+
+ * configure.in: Warn that Cygwin 1.5 is unsupported. (Bug#10398)
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * configure.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
+
2012-04-10 Glenn Morris <rgm@gnu.org>
* 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@
C_SWITCH_MACHINE = @C_SWITCH_MACHINE@
C_SWITCH_SYSTEM = @C_SWITCH_SYSTEM@
C_SWITCH_X_SITE = @C_SWITCH_X_SITE@
-C_SWITCH_X_SYSTEM = @C_SWITCH_X_SYSTEM@
C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
@@ -332,6 +331,7 @@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
+GNUSTEP_CFLAGS = @GNUSTEP_CFLAGS@
GNU_OBJC_CFLAGS = @GNU_OBJC_CFLAGS@
GREP = @GREP@
GSETTINGS_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
S_FILE
M_FILE
X_TOOLKIT_TYPE
-C_SWITCH_X_SYSTEM
+GNUSTEP_CFLAGS
C_SWITCH_X_SITE
LD_SWITCH_X_SITE
gameuser
@@ -13413,7 +13413,7 @@ fi
-C_SWITCH_X_SYSTEM=
+GNUSTEP_CFLAGS=
### Use NeXTstep API to implement GUI.
if test "${HAVE_NS}" = "yes"; then
@@ -13430,7 +13430,7 @@ $as_echo "#define NS_IMPL_GNUSTEP 1" >>confdefs.h
# See also .m.o rule in Makefile.in */
# FIXME: are all these flags really needed? Document here why. */
- C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
+ GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
## Extra CFLAGS applied to src/*.m files.
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"
fi
@@ -22410,6 +22410,14 @@ to run if these resources are not installed."
echo
fi
+if test "${opsys}" = "cygwin"; then
+ case `uname -r` in
+ 1.5.*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: building Emacs on Cygwin 1.5 is not supported." >&5
+$as_echo "$as_me: WARNING: building Emacs on Cygwin 1.5 is not supported." >&2;}
+ echo
+ ;;
+ esac
+fi
# Remove any trailing slashes in these variables.
test "${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)
dnl Check for malloc/malloc.h on darwin
AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
-C_SWITCH_X_SYSTEM=
+GNUSTEP_CFLAGS=
### Use NeXTstep API to implement GUI.
if test "${HAVE_NS}" = "yes"; then
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
AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
# See also .m.o rule in Makefile.in */
# FIXME: are all these flags really needed? Document here why. */
- dnl FIXME this should be renamed to GNUSTEP_CFLAGS, and only
- dnl used in src/Makefile.in.
- C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
+ GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
## Extra CFLAGS applied to src/*.m files.
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"
fi
@@ -3301,7 +3299,7 @@ AC_SUBST(gameuser)
## end of LIBX_BASE, but nothing ever set it.
AC_SUBST(LD_SWITCH_X_SITE)
AC_SUBST(C_SWITCH_X_SITE)
-AC_SUBST(C_SWITCH_X_SYSTEM)
+AC_SUBST(GNUSTEP_CFLAGS)
AC_SUBST(CFLAGS)
## Used in lwlib/Makefile.in.
AC_SUBST(X_TOOLKIT_TYPE)
@@ -3881,6 +3879,13 @@ to run if these resources are not installed."
echo
fi
+if test "${opsys}" = "cygwin"; then
+ case `uname -r` in
+ 1.5.*) AC_MSG_WARN([[building Emacs on Cygwin 1.5 is not supported.]])
+ echo
+ ;;
+ esac
+fi
# Remove any trailing slashes in these variables.
[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 @@
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * mule.texi (Select Input Method, Coding Systems, Recognize Coding):
+ Copyedits.
+ (Coding Systems): Mac OS X apparently uses newlines for EOL.
+ (Recognize Coding): Remove old auto-coding-regexp-alist example.
+ auto-coding-functions does not override coding: tags.
+ Remove rmail-decode-mime-charset; it no longer has any effect.
+
+2012-04-14 Chong Yidong <cyd@gnu.org>
+
+ * custom.texi (Creating Custom Themes): Add reference to Custom
+ Themes node in Lisp manual.
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * mule.texi (International): Copyedits.
+ (International Chars): Update C-x = example output.
+ (Disabling Multibyte): Rename from "Enabling Multibyte".
+ Clarify what "unibyte: t" does, and mode-line description.
+ (Unibyte Mode): Update for "Disabling Multibyte" node name change.
+ Use Texinfo recommended convention for quotes+punctuation.
+ (Language Environments): Copyedits.
+ (Input Methods): Copyedits. Use "^" for the postfix example,
+ because it is less confusing inside Info's `quotes'.
+
+ * custom.texi (Specifying File Variables): Fix "unibyte" description.
+ Update for "Disabling Multibyte" node name change.
+ * emacs.texi: Update for "Disabling Multibyte" node name change.
+
+ * abbrevs.texi, arevert-xtra.texi, buffers.texi, building.texi:
+ * cmdargs.texi, custom.texi, entering.texi, files.texi, frames.texi:
+ * glossary.texi, help.texi, macos.texi, maintaining.texi, mini.texi:
+ * misc.texi, package.texi, programs.texi, screen.texi, search.texi:
+ * sending.texi, text.texi, trouble.texi:
+ Use @file for buffers, per the Texinfo manual.
+
+ * entering.texi (Entering Emacs):
+ Do not mention initial-buffer-choice = t.
+
+ * misc.texi (Gnus Startup): Use @env for environment variables.
+
+ * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
+2012-04-12 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.
+
2012-04-07 Glenn Morris <rgm@gnu.org>
* 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 @@
#### Makefile for the Emacs Manual
-# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@@ -127,31 +127,31 @@ ps: emacs.ps
# Note that all the Info targets build the Info files in srcdir.
# There is no provision for Info files to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.
-
+# Note: "<" is not portable in ordinary make rules.
$(infodir)/emacs: ${EMACSSOURCES}
$(mkinfodir)
- $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs.texi
emacs.dvi: ${EMACSSOURCES}
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
emacs.ps: emacs.dvi
- $(DVIPS) -o $@ $<
+ $(DVIPS) -o $@ emacs.dvi
emacs.pdf: ${EMACSSOURCES}
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
emacs.html: ${EMACSSOURCES}
- $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi
emacs-xtra.dvi: $(EMACS_XTRA)
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
emacs-xtra.ps: emacs-xtra.dvi
- $(DVIPS) -o $@ $<
+ $(DVIPS) -o $@ emacs-xtra.dvi
emacs-xtra.pdf: $(EMACS_XTRA)
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
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.
@kbd{M-x edit-abbrevs} allows you to add, change or kill abbrev
definitions by editing a list of them in an Emacs buffer. The list has
the same format described above. The buffer of abbrevs is called
-@samp{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in
+@file{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in
this buffer to install the abbrev definitions as specified in the
buffer---and delete any abbrev definitions not listed.
The command @code{edit-abbrevs} is actually the same as
-@code{list-abbrevs} except that it selects the buffer @samp{*Abbrevs*}
+@code{list-abbrevs} except that it selects the buffer @file{*Abbrevs*}
whereas @code{list-abbrevs} merely displays it in another window.
@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
source tree to HTML.
@item
-Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
-@file{/usr/uci/post} mailer.
-
-@item
Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
text replace the current selection.
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.
Remote Dired buffers are not auto-reverted (because it may be slow).
Neither are Dired buffers for which you used shell wildcards or file
-arguments to list only some of the files. @samp{*Find*} and
-@samp{*Locate*} buffers do not auto-revert either.
+arguments to list only some of the files. @file{*Find*} and
+@file{*Locate*} buffers do not auto-revert either.
@c FIXME? This should be in the elisp manual?
@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 @@
the file's text. Each time you invoke Dired, a buffer is used to hold
the directory listing. If you send a message with @kbd{C-x m}, a
buffer is used to hold the text of the message. When you ask for a
-command's documentation, that appears in a buffer named @samp{*Help*}.
+command's documentation, that appears in a buffer named @file{*Help*}.
Each buffer has a unique name, which can be of any length. When a
buffer 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
matters in buffer names. Most buffers are made by visiting files, and
their names are derived from the files' names; however, you can also
create an empty buffer with any name you want. A newly started Emacs
-has several buffers, including one named @samp{*scratch*}, which can
+has several buffers, including one named @file{*scratch*}, which can
be used for evaluating Lisp expressions and is not associated with any
file (@pxref{Lisp Interaction}).
@@ -198,7 +198,7 @@ CRM Buffer Size Mode File
@end smallexample
@noindent
-The buffer @samp{*Help*} was made by a help request (@pxref{Help}); it
+The buffer @file{*Help*} was made by a help request (@pxref{Help}); it
is not visiting any file. The buffer @code{src} was made by Dired on
the directory @file{~/cvs/emacs/src/}. You can list only buffers that
are visiting files by giving the command a prefix argument, as in
@@ -248,9 +248,9 @@ happens and no renaming is done.
@kbd{M-x rename-uniquely} renames the current buffer to a similar
name with a numeric suffix added to make it both different and unique.
This command does not need an argument. It is useful for creating
-multiple shell buffers: if you rename the @samp{*shell*} buffer, then
+multiple shell buffers: if you rename the @file{*shell*} buffer, then
do @kbd{M-x shell} again, it makes a new shell buffer named
-@samp{*shell*}; meanwhile, the old shell buffer continues to exist
+@file{*shell*}; meanwhile, the old shell buffer continues to exist
under its new name. This method is also good for mail buffers,
compilation buffers, and most Emacs features that create special
buffers with particular names. (With some of these features, such as
@@ -354,7 +354,7 @@ operations on buffers, through an interface similar to Dired
@findex buffer-menu
@findex buffer-menu-other-window
To use the buffer menu, type @kbd{C-x C-b} and switch to the window
-displaying the @samp{*Buffer List*} buffer. You can also type
+displaying the @file{*Buffer List*} buffer. You can also type
@kbd{M-x buffer-menu} to open the buffer menu in the selected window.
Alternatively, the command @kbd{M-x buffer-menu-other-window} opens
the buffer menu in another window, and selects that window.
@@ -409,11 +409,11 @@ Quit the buffer menu---immediately display the most recent formerly
visible buffer in its place.
@item @key{RET}
@itemx f
-Immediately select this line's buffer in place of the @samp{*Buffer
+Immediately select this line's buffer in place of the @file{*Buffer
List*} buffer.
@item o
Immediately select this line's buffer in another window as if by
-@kbd{C-x 4 b}, leaving @samp{*Buffer List*} visible.
+@kbd{C-x 4 b}, leaving @file{*Buffer List*} visible.
@item C-o
Immediately display this line's buffer in another window, but don't
select the window.
@@ -422,7 +422,7 @@ Immediately select this line's buffer in a full-screen window.
@item 2
Immediately set up two windows, with this line's buffer selected in
one, and the previously current buffer (aside from the buffer
-@samp{*Buffer List*}) displayed in the other.
+@file{*Buffer List*}) displayed in the other.
@item b
Bury the buffer listed on this line.
@item m
@@ -448,19 +448,19 @@ the inclusion of such buffers in the buffer list.
suitable buffer, and turn on Buffer Menu mode in it. Everything else
described above is implemented by the special commands provided in
Buffer Menu mode. One consequence of this is that you can switch from
-the @samp{*Buffer List*} buffer to another Emacs buffer, and edit
-there. You can reselect the @samp{*Buffer List*} buffer later, to
+the @file{*Buffer List*} buffer to another Emacs buffer, and edit
+there. You can reselect the @file{*Buffer List*} buffer later, to
perform the operations already requested, or you can kill it, or pay
no further attention to it.
- Normally, the buffer @samp{*Buffer List*} is not updated
+ Normally, the buffer @file{*Buffer List*} is not updated
automatically when buffers are created and killed; its contents are
just text. If you have created, deleted or renamed buffers, the way
-to update @samp{*Buffer List*} to show what you have done is to type
+to update @file{*Buffer List*} to show what you have done is to type
@kbd{g} (@code{revert-buffer}). You can make this happen regularly
every @code{auto-revert-interval} seconds if you enable Auto Revert
mode in this buffer, as long as it is not marked modified. Global
-Auto Revert mode applies to the @samp{*Buffer List*} buffer only if
+Auto Revert mode applies to the @file{*Buffer List*} buffer only if
@code{global-auto-revert-non-file-buffers} is non-@code{nil}.
@iftex
@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.
@table @kbd
@item M-x compile
Run a compiler asynchronously under Emacs, with error messages going to
-the @samp{*compilation*} buffer.
+the @file{*compilation*} buffer.
@item M-x recompile
Invoke a compiler with the same command as in the last invocation of
@kbd{M-x compile}.
@@ -57,7 +57,7 @@ Kill the running compilation subprocess.
compile}. This reads a shell command line using the minibuffer, and
then executes the command by running a shell as a subprocess (or
@dfn{inferior process}) of Emacs. The output is inserted in a buffer
-named @samp{*compilation*}. The current buffer's default directory is
+named @file{*compilation*}. The current buffer's default directory is
used as the working directory for the execution of the command;
normally, therefore, compilation takes place in this directory.
@@ -72,19 +72,19 @@ specified is automatically stored in the variable
type @kbd{M-x compile}. A file can also specify a file-local value
for @code{compile-command} (@pxref{File Variables}).
- Starting a compilation displays the @samp{*compilation*} buffer in
+ Starting a compilation displays the @file{*compilation*} buffer in
another window but does not select it. While the compilation is
running, the word @samp{run} is shown in the major mode indicator for
-the @samp{*compilation*} buffer, and the word @samp{Compiling} appears
-in all mode lines. You do not have to keep the @samp{*compilation*}
+the @file{*compilation*} buffer, and the word @samp{Compiling} appears
+in all mode lines. You do not have to keep the @file{*compilation*}
buffer visible while compilation is running; it continues in any case.
When the compilation ends, for whatever reason, the mode line of the
-@samp{*compilation*} buffer changes to say @samp{exit} (followed by
+@file{*compilation*} buffer changes to say @samp{exit} (followed by
the exit code: @samp{[0]} for a normal exit), or @samp{signal} (if a
signal terminated the process).
If you want to watch the compilation transcript as it appears,
-switch to the @samp{*compilation*} buffer and move point to the end of
+switch to the @file{*compilation*} buffer and move point to the end of
the buffer. When point is at the end, new compilation output is
inserted above point, which remains at the end. Otherwise, point
remains fixed while compilation output is added at the end of the
@@ -93,7 +93,7 @@ buffer.
@cindex compilation buffer, keeping point at end
@vindex compilation-scroll-output
If you change the variable @code{compilation-scroll-output} to a
-non-@code{nil} value, the @samp{*compilation*} buffer scrolls
+non-@code{nil} value, the @file{*compilation*} buffer scrolls
automatically to follow the output. If the value is
@code{first-error}, scrolling stops when the first error appears,
leaving point at that error. For any other non-@code{nil} value,
@@ -103,22 +103,22 @@ scrolling continues until there is no more output.
To rerun the last compilation with the same command, type @kbd{M-x
recompile}. This reuses the compilation command from the last
invocation of @kbd{M-x compile}. It also reuses the
-@samp{*compilation*} buffer and starts the compilation in its default
+@file{*compilation*} buffer and starts the compilation in its default
directory, which is the directory in which the previous compilation
was started.
@findex kill-compilation
Starting a new compilation also kills any compilation already
-running in @samp{*compilation*}, as the buffer can only handle one
+running in @file{*compilation*}, as the buffer can only handle one
compilation at any time. However, @kbd{M-x compile} asks for
confirmation before actually killing a compilation that is running.
You can also kill the compilation process with @kbd{M-x
kill-compilation}.
To run two compilations at once, start the first one, then rename
-the @samp{*compilation*} buffer (perhaps using @code{rename-uniquely};
+the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
@pxref{Misc Buffer}), then switch buffers and start the other
-compilation. This will create a new @samp{*compilation*} buffer.
+compilation. This will create a new @file{*compilation*} buffer.
@vindex compilation-environment
You can control the environment passed to the compilation command
@@ -133,7 +133,7 @@ variable settings override the usual ones.
@cindex Compilation mode
@cindex mode, Compilation
@cindex locus
- The @samp{*compilation*} buffer uses a major mode called Compilation
+ The @file{*compilation*} buffer uses a major mode called Compilation
mode. Compilation mode turns each error message in the buffer into a
hyperlink; you can move point to it and type @key{RET}, or click on it
with the mouse (@pxref{Mouse References}), to visit the @dfn{locus} of
@@ -145,10 +145,10 @@ position in a file where that error occurred.
If you change the variable
@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value,
Emacs automatically visits the locus of the first error message that
-appears in the @samp{*compilation*} buffer.
+appears in the @file{*compilation*} buffer.
Compilation mode provides the following additional commands. These
-commands can also be used in @samp{*grep*} buffers, where the
+commands can also be used in @file{*grep*} buffers, where the
hyperlinks are search matches rather than error messages (@pxref{Grep
Searching}).
@@ -190,7 +190,7 @@ mode buffer. The first time you invoke it after a compilation, it
visits the locus of the first error message. Each subsequent
@w{@kbd{C-x `}} visits the next error, in a similar fashion. If you
visit a specific error with @key{RET} or a mouse click in the
-@samp{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
+@file{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
advance from there. When @w{@kbd{C-x `}} finds no more error messages
to visit, it signals an error. @w{@kbd{C-u C-x `}} starts again from
the 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.
through errors in the opposite direction.
The @code{next-error} and @code{previous-error} commands don't just
-act on the errors or matches listed in @samp{*compilation*} and
-@samp{*grep*} buffers; they also know how to iterate through error or
+act on the errors or matches listed in @file{*compilation*} and
+@file{*grep*} buffers; they also know how to iterate through error or
match lists produced by other commands, such as @kbd{M-x occur}
(@pxref{Other Repeating Search}). If you are already in a buffer
containing error messages or matches, those are the ones that are
@@ -224,7 +224,7 @@ highlights the relevant source line. The duration of this highlight
is determined by the variable @code{next-error-highlight}.
@vindex compilation-context-lines
- If the @samp{*compilation*} buffer is shown in a window with a left
+ If the @file{*compilation*} buffer is shown in a window with a left
fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in
the fringe, pointing to the current error message. If the window has
no left fringe, such as on a text-only terminal, these commands scroll
@@ -276,7 +276,7 @@ Names}).
command, but specifies the option for a noninteractive shell. This
means, in particular, that the shell should start with no prompt. If
you find your usual shell prompt making an unsightly appearance in the
-@samp{*compilation*} buffer, it means you have made a mistake in your
+@file{*compilation*} buffer, it means you have made a mistake in your
shell's init file by setting the prompt unconditionally. (This init
file may be named @file{.bashrc}, @file{.profile}, @file{.cshrc},
@file{.shrc}, etc., depending on what shell you use.) The shell init
@@ -339,14 +339,14 @@ mode (@pxref{Compilation Mode}).
@item M-x grep
@itemx M-x lgrep
Run @command{grep} asynchronously under Emacs, listing matching lines in
-the buffer named @samp{*grep*}.
+the buffer named @file{*grep*}.
@item M-x grep-find
@itemx M-x find-grep
@itemx M-x rgrep
Run @command{grep} via @code{find}, and collect output in the
-@samp{*grep*} buffer.
+@file{*grep*} buffer.
@item M-x zrgrep
-Run @code{zgrep} and collect output in the @samp{*grep*} buffer.
+Run @code{zgrep} and collect output in the @file{*grep*} buffer.
@item M-x kill-grep
Kill the running @command{grep} subprocess.
@end table
@@ -369,7 +369,7 @@ can chain @command{grep} commands, like this:
grep -nH -e foo *.el | grep bar | grep toto
@end example
- The output from @command{grep} goes in the @samp{*grep*} buffer. You
+ The output from @command{grep} goes in the @file{*grep*} buffer. You
can find the corresponding lines in the original files using @w{@kbd{C-x
`}}, @key{RET}, and so forth, just like compilation errors.
@@ -1506,14 +1506,14 @@ commands are used; its default is @code{t}.
@section Lisp Interaction Buffers
@findex lisp-interaction-mode
- When Emacs starts up, it contains a buffer named @samp{*scratch*},
+ When Emacs starts up, it contains a buffer named @file{*scratch*},
which is provided for evaluating Emacs Lisp expressions interactively.
Its major mode is Lisp Interaction mode. You can also enable Lisp
Interaction mode by typing @kbd{M-x lisp-interaction-mode}.
@findex eval-print-last-sexp
@kindex C-j @r{(Lisp Interaction mode)}
- In the @samp{*scratch*} buffer, and other Lisp Interaction mode
+ In the @file{*scratch*} buffer, and other Lisp Interaction mode
buffers, @kbd{C-j} (@code{eval-print-last-sexp}) evaluates the Lisp
expression before point, and inserts the value at point. Thus, as you
type 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
mode are the same as in Emacs Lisp mode.
@vindex initial-scratch-message
- At startup, the @samp{*scratch*} buffer contains a short message, in
+ At startup, the @file{*scratch*} buffer contains a short message, in
the form of a Lisp comment, that explains what it is for. This
message is controlled by the variable @code{initial-scratch-message},
which should be either a string, or @code{nil} (which means to
@@ -1533,7 +1533,7 @@ suppress the message).
interactively is to use Inferior Emacs Lisp mode, which provides an
interface rather like Shell mode (@pxref{Shell Mode}) for evaluating
Emacs Lisp expressions. Type @kbd{M-x ielm} to create an
-@samp{*ielm*} buffer which uses this mode. For more information, see
+@file{*ielm*} buffer which uses this mode. For more information, see
that command's documentation.
@node External Lisp
@@ -1555,13 +1555,13 @@ whose names end in @file{.l}, @file{.lsp}, or @file{.lisp}.
evaluated. To begin an external Lisp session, type @kbd{M-x
run-lisp}. This runs the program named @command{lisp}, and sets it up
so that both input and output go through an Emacs buffer named
-@samp{*inferior-lisp*}. To change the name of the Lisp program run by
+@file{*inferior-lisp*}. To change the name of the Lisp program run by
@kbd{M-x run-lisp}, change the variable @code{inferior-lisp-program}.
- The major mode for the @samp{*lisp*} buffer is Inferior Lisp mode,
+ The major mode for the @file{*lisp*} buffer is Inferior Lisp mode,
which combines the characteristics of Lisp mode and Shell mode
(@pxref{Shell Mode}). To send input to the Lisp session, go to the
-end of the @samp{*lisp*} buffer and type the input, followed by
+end of the @file{*lisp*} buffer and type the input, followed by
@key{RET}. Terminal output from the Lisp session is automatically
inserted in the buffer.
@@ -1572,7 +1572,7 @@ inserted in the buffer.
buffer to a Lisp session that you had started with @kbd{M-x run-lisp}.
The expression sent is the top-level Lisp expression at or following
point. The resulting value goes as usual into the
-@samp{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in
+@file{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in
Lisp mode is thus very similar to its effect in Emacs Lisp mode
(@pxref{Lisp Eval}), except that the expression is sent to a different
Lisp environment instead of being evaluated in Emacs.
@@ -1587,4 +1587,4 @@ to a Scheme subprocess, are very similar. Scheme source files are
edited in Scheme mode, which can be explicitly enabled with @kbd{M-x
scheme-mode}. You can initiate a Scheme session by typing @kbd{M-x
run-scheme} (the buffer for interacting with Scheme is named
-@samp{*scheme*}), and send expressions to it by typing @kbd{C-M-x}.
+@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}.
@item --insert=@var{file}
@opindex --insert
@cindex insert file contents, command-line argument
-Insert the contents of @var{file} into the @samp{*scratch*} buffer
+Insert the contents of @var{file} into the @file{*scratch*} buffer
(@pxref{Lisp Interaction}). This is like what @kbd{M-x insert-file}
does (@pxref{Misc File Ops}).
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.
@vindex custom-theme-directory
@cindex color scheme
Type @kbd{M-x customize-themes} to switch to a buffer named
-@samp{*Custom Themes*}, which lists the Custom themes that Emacs knows
+@file{*Custom Themes*}, which lists the Custom themes that Emacs knows
about. By default, Emacs looks for theme files in two locations: the
directory specified by the variable @code{custom-theme-directory}
(which defaults to @file{~/.emacs.d/}), and a directory named
@@ -580,11 +580,11 @@ add the directory name to the list variable
@code{custom-theme-directory} has the special meaning of the value of
the variable @code{custom-theme-directory}, while @code{t} stands for
the built-in theme directory @file{etc/themes}. The themes listed in
-the @samp{*Custom Themes*} buffer are those found in the directories
+the @file{*Custom Themes*} buffer are those found in the directories
specified by @code{custom-theme-load-path}.
@kindex C-x C-s @r{(Custom Themes buffer)}
- In the @samp{*Custom Themes*} buffer, you can activate the checkbox
+ In the @file{*Custom Themes*} buffer, you can activate the checkbox
next to a Custom theme to enable or disable the theme for the current
Emacs session. When a Custom theme is enabled, all of its settings
(variables and faces) take effect in the Emacs session. To apply the
@@ -608,7 +608,7 @@ always considered safe.
Setting or saving Custom themes actually works by customizing the
variable @code{custom-enabled-themes}. The value of this variable is
a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}).
-Instead of using the @samp{*Custom Themes*} buffer to set
+Instead of using the @file{*Custom Themes*} buffer to set
@code{custom-enabled-themes}, you can customize the variable using the
usual customization interface, e.g.@: with @kbd{M-x customize-option}.
Note that Custom themes are not allowed to set
@@ -635,7 +635,7 @@ type @kbd{M-x disable-theme}.
@findex describe-theme
To see a description of a Custom theme, type @kbd{?} on its line in
-the @samp{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
+the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
anywhere in Emacs and enter the theme name in the minibuffer.
@node Creating Custom Themes
@@ -645,12 +645,12 @@ anywhere in Emacs and enter the theme name in the minibuffer.
@findex customize-create-theme
You can define a Custom theme using an interface similar to the
customization buffer, by typing @kbd{M-x customize-create-theme}.
-This switches to a buffer named @samp{*Custom Theme*}. It also offers
+This switches to a buffer named @file{*Custom Theme*}. It also offers
to insert some common Emacs faces into the theme (a convenience, since
Custom themes are often used to customize faces). If you answer no,
the theme will initially contain no settings.
- Near the top of the @samp{*Custom Theme*} buffer are editable fields
+ Near the top of the @file{*Custom Theme*} buffer are editable fields
where you can enter the theme's name and description. The name can be
anything except @samp{user}. The description is the one that will be
shown when you invoke @kbd{M-x describe-theme} for the theme. Its
@@ -673,7 +673,7 @@ theme, uncheck the checkbox next to its name.
@file{@var{name}-theme.el} where @var{name} is the theme name, in the
directory named by @code{custom-theme-directory}.
- From the @samp{*Custom Theme*} buffer, you can view and edit an
+ From the @file{*Custom Theme*} buffer, you can view and edit an
existing Custom theme by activating the @samp{[Visit Theme]} button
and specifying the theme name. You can also add the settings of
another 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
A theme file is simply an Emacs Lisp source file, and loading the
Custom theme works by loading the Lisp file. Therefore, you can edit
-a theme file directly instead of using the @samp{*Custom Theme*}
-buffer.
-@c Add link to the relevant Emacs Lisp Reference manual node, once
-@c that is written.
+a theme file directly instead of using the @file{*Custom Theme*}
+buffer. @xref{Custom Themes,,, elisp, The Emacs Lisp Reference
+Manual}, for details.
@node Variables
@section Variables
@@ -809,7 +808,7 @@ can set any variable with a Lisp expression like this:
@noindent
To execute such an expression, type @kbd{M-:} (@code{eval-expression})
and enter the expression in the minibuffer (@pxref{Lisp Eval}).
-Alternatively, go to the @samp{*scratch*} buffer, type in the
+Alternatively, go to the @file{*scratch*} buffer, type in the
expression, and then type @kbd{C-j} (@pxref{Lisp Interaction}).
Setting variables, like all means of customizing Emacs except where
@@ -1163,8 +1162,8 @@ returned by that expression is ignored).
conversion of this file. @xref{Coding Systems}.
@item
-@code{unibyte} says to visit the file in a unibyte buffer, if the
-value is @code{t}. @xref{Enabling Multibyte}.
+@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
+mode, if the value is @code{t}. @xref{Disabling Multibyte}.
@end itemize
@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
International Character Set Support
* International Chars:: Basic concepts of multibyte characters.
-* Enabling Multibyte:: Controlling whether to use multibyte characters.
+* Disabling Multibyte:: Controlling whether to use multibyte characters.
* Language Environments:: Setting things up for the language you use.
* Input Methods:: Entering text characters not on your keyboard.
* 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.
If the variable @code{inhibit-startup-screen} is non-@code{nil},
Emacs does not display the startup screen. In that case, if one or
more files were specified on the command line, Emacs simply displays
-those files; otherwise, it displays a buffer named @samp{*scratch*},
+those files; otherwise, it displays a buffer named @file{*scratch*},
which can be used to evaluate Emacs Lisp expressions interactively.
@xref{Lisp Interaction}. You can set the variable
@code{inhibit-startup-screen} using the Customize facility
@@ -77,9 +77,13 @@ information about @file{site-start.el}.}
by setting the variable @code{initial-buffer-choice} to a
non-@code{nil} value. (In that case, even if you specify one or more
files on the command line, Emacs opens but does not display them.)
-The value of @code{initial-buffer-choice} can be either the name of
-the desired file or directory, or @code{t}, which means to display the
-@samp{*scratch*} buffer.
+The value of @code{initial-buffer-choice} should be the name of
+the desired file or directory.
+@ignore
+@c I do not think this should be mentioned. AFAICS it is just a dodge
+@c around inhibit-startup-screen not being settable on a site-wide basis.
+or @code{t}, which means to display the @file{*scratch*} buffer.
+@end ignore
@node Exiting, Basic, Entering Emacs, Top
@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;
when they are auto-saved, the auto-save file name is made by appending
@samp{#} to the front and rear of buffer name, then
adding digits and letters at the end for uniqueness. For
-example, the @samp{*mail*} buffer in which you compose messages to be
+example, the @file{*mail*} buffer in which you compose messages to be
sent might be auto-saved in a file named @file{#*mail*#704juu}. Auto-save file
names are made this way unless you reprogram parts of Emacs to do
something different (the functions @code{make-auto-save-file-name} and
@@ -1245,7 +1245,7 @@ for more information about using the Trash.
@vindex diff-switches
The command @kbd{M-x diff} prompts for two file names, using the
minibuffer, and displays the differences between the two files in a
-buffer named @samp{*diff*}. This works by running the @command{diff}
+buffer named @file{*diff*}. This works by running the @command{diff}
program, using options taken from the variable @code{diff-switches}.
The value of @code{diff-switches} should be a string; the default is
@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.
@key{RET}, or by clicking either @kbd{Mouse-1} or @kbd{Mouse-2} on the
button. For example, in a Dired buffer, each file name is a button;
activating it causes Emacs to visit that file (@pxref{Dired}). In a
-@samp{*Compilation*} buffer, each error message is a button, and
+@file{*Compilation*} buffer, each error message is a button, and
activating it visits the source code for that error
(@pxref{Compilation}).
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}.
The echo area is the bottom line of the screen, used for echoing the
arguments to commands, for asking questions, and showing brief messages
(including error messages). The messages are stored in the buffer
-@samp{*Messages*} so you can review them later. @xref{Echo Area}.
+@file{*Messages*} so you can review them later. @xref{Echo Area}.
@item Echoing
Echoing 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
Display the commands and variables whose documentation matches
@var{topics} (@code{apropos-documentation}).
@item C-h e
-Display the @code{*Messages*} buffer
+Display the @file{*Messages*} buffer
(@code{view-echo-area-messages}).
@item C-h f @var{function} @key{RET}
Display documentation on the Lisp function named @var{function}
@@ -168,7 +168,7 @@ programming language you are editing (@code{info-lookup-symbol}).
@item C-h .
Display the help message for a special text area, if point is in one
(@code{display-local-help}). (These include, for example, links in
-@samp{*Help*} buffers.)
+@file{*Help*} buffers.)
@end table
@node Key Help
@@ -519,7 +519,7 @@ use @kbd{C-h c} to find out what they do.
@findex view-echo-area-messages
To review recent echo area messages, use @kbd{C-h e}
(@code{view-echo-area-messages}). This displays the buffer
-@code{*Messages*}, where those messages are kept.
+@file{*Messages*}, where those messages are kept.
@kindex C-h m
@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
double-clicking a file in the Finder application. By default, Emacs
responds to this event by opening a new frame and visiting the file in
that frame (@code{ns-find-file}). As an exception, if the selected
-buffer is the @samp{*scratch*} buffer, Emacs visits the file in the
+buffer is the @file{*scratch*} buffer, Emacs visits the file in the
selected frame.
You 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.
@item
If every work file in the VC fileset has been modified, commit the
-changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
+changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
desired log entry for the new revision, followed by @kbd{C-c C-c} to
commit. @xref{Log Buffer}.
@@ -530,7 +530,7 @@ so that you can begin to edit it.
@item
If each file is locked by you and contains changes, commit the
-changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
+changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
desired log entry for the new revision, followed by @kbd{C-c C-c} to
commit (@pxref{Log Buffer}).
@@ -588,7 +588,7 @@ they use the concept of ``checking out'' individual files.
@cindex C-c C-c @r{(Log Edit mode)}
@findex log-edit-done
When you tell VC to commit a change, it pops up a buffer named
-@samp{*vc-log*}. In this buffer, you should write a @dfn{log entry}
+@file{*vc-log*}. In this buffer, you should write a @dfn{log entry}
describing the changes you have made (@pxref{Why Version Control?}).
After you are done, type @kbd{C-c C-c} (@code{log-edit-done}) to exit
the 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.
@cindex Log Edit mode
@cindex mode, Log Edit
@vindex vc-log-mode-hook
- The major mode for the @samp{*vc-log*} buffer is Log Edit mode, a
+ The major mode for the @file{*vc-log*} buffer is Log Edit mode, a
variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode,
Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
(@pxref{Hooks}).
- In the @samp{*vc-log*} buffer, you can write one or more @dfn{header
+ In the @file{*vc-log*} buffer, you can write one or more @dfn{header
lines}, specifying additional information to be supplied to the
version control system. Each header line must occupy a single line at
the 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.
@findex log-edit-show-files
@kindex C-c C-d @r{(Log Edit mode)}
@findex log-edit-show-diff
- While in the @samp{*vc-log*} buffer, the ``current VC fileset'' is
+ While in the @file{*vc-log*} buffer, the ``current VC fileset'' is
considered to be the fileset that will be committed if you type
@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset,
type @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}
If the VC fileset includes one or more @file{ChangeLog} files
(@pxref{Change Log}), type @kbd{C-c C-a}
(@code{log-edit-insert-changelog}) to pull the relevant entries into
-the @samp{*vc-log*} buffer. If the topmost item in each
+the @file{*vc-log*} buffer. If the topmost item in each
@file{ChangeLog} was made under your user name on the current date,
this command searches that item for entries matching the file(s) to be
committed, and inserts them.
@@ -652,7 +652,7 @@ Edit buffer.
To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
buffer. You can switch buffers and do other editing. As long as you
don't try to make another commit, the entry you were editing remains
-in the @samp{*vc-log*} buffer, and you can go back to that buffer at
+in the @file{*vc-log*} buffer, and you can go back to that buffer at
any time to complete the commit.
@kindex M-n @r{(Log Edit mode)}
@@ -904,10 +904,10 @@ Display the changes that will be sent by the next push operation
@kindex C-x v l
@findex vc-print-log
The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer
-named @samp{*vc-change-log*}, showing the history of changes made to
+named @file{*vc-change-log*}, showing the history of changes made to
the current file, including who made the changes, the dates, and the
log entry for each change (these are the same log entries you would
-enter via the @samp{*vc-log*} buffer; @pxref{Log Buffer}). Point is
+enter via the @file{*vc-log*} buffer; @pxref{Log Buffer}). Point is
centered at the revision of the file currently being visited. With a
prefix argument, the command prompts for the revision to center on,
and the maximum number of revisions to display.
@@ -919,7 +919,7 @@ file listed on the current line.
@findex vc-print-root-log
@findex log-view-toggle-entry-display
@kbd{C-x v L} (@code{vc-print-root-log}) displays a
-@samp{*vc-change-log*} buffer showing the history of the entire
+@file{*vc-change-log*} buffer showing the history of the entire
version-controlled directory tree (RCS, SCCS, and CVS do not support
this feature). With a prefix argument, the command prompts for the
maximum number of revisions to display.
@@ -927,7 +927,7 @@ maximum number of revisions to display.
The @kbd{C-x v L} history is shown in a compact form, usually
showing only the first line of each log entry. However, you can type
@key{RET} (@code{log-view-toggle-entry-display}) in the
-@samp{*vc-change-log*} buffer to reveal the entire log entry for the
+@file{*vc-change-log*} buffer to reveal the entire log entry for the
revision at point. A second @key{RET} hides it again.
On a decentralized version control system, the @kbd{C-x v I}
@@ -942,7 +942,7 @@ specific repository. Similarly, @kbd{C-x v O}
another repository, the next time you run the ``push'' command; with a
prefix argument, it prompts for a specific destination repository.
- In the @samp{*vc-change-log*} buffer, you can use the following keys
+ In the @file{*vc-change-log*} buffer, you can use the following keys
to move between the logs of revisions and of files, and to examine and
compare past revisions (@pxref{Old Revisions}):
@@ -993,11 +993,11 @@ revision at point.
@vindex vc-log-show-limit
Because fetching many log entries can be slow, the
-@samp{*vc-change-log*} buffer displays no more than 2000 revisions by
+@file{*vc-change-log*} buffer displays no more than 2000 revisions by
default. The variable @code{vc-log-show-limit} specifies this limit;
if you set the value to zero, that removes the limit. You can also
increase the number of revisions shown in an existing
-@samp{*vc-change-log*} buffer by clicking on the @samp{Show 2X
+@file{*vc-change-log*} buffer by clicking on the @samp{Show 2X
entries} or @samp{Show unlimited entries} buttons at the end of the
buffer. However, RCS, SCCS, and CVS do not support this feature.
@@ -1045,7 +1045,7 @@ it is used to specify multi-file VC filesets for commands like
To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}).
This reads a directory name using the minibuffer, and switches to a VC
Directory buffer for that directory. By default, the buffer is named
-@samp{*vc-dir*}. Its contents are described
+@file{*vc-dir*}. Its contents are described
@iftex
below.
@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}.
@findex minibuffer-inactive-mode
When not active, the minibuffer is in @code{minibuffer-inactive-mode},
-and clicking @kbd{Mouse-1} there shows the @samp{*Messages*} buffer.
+and clicking @kbd{Mouse-1} there shows the @file{*Messages*} buffer.
If you use a dedicated frame for minibuffers, Emacs also recognizes
certain keys there, for example @kbd{n} to make a new frame.
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
Usenet newsgroups and subscriptions (this file is not unique to Gnus;
it is used by many other newsreader programs). It then tries to
contact the system's default news server, which is typically specified
-by the @samp{NNTPSERVER} environment variable.
+by the @env{NNTPSERVER} environment variable.
If your system does not have a default news server, or if you wish
to 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
for that command. Standard input for the command comes from the null
device. If the shell command produces any output, the output appears
either in the echo area (if it is short), or in an Emacs buffer named
-@samp{*Shell Command Output*}, displayed in another window (if the
+@file{*Shell Command Output*}, displayed in another window (if the
output is long).
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.
see what keys are in the buffer. If the buffer contains a GnuPG key,
type @kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents
to @command{gpg}. This will output the list of keys to the
-@samp{*Shell Command Output*} buffer.
+@file{*Shell Command Output*} buffer.
@vindex shell-file-name
The above commands use the shell specified by the variable
@@ -577,7 +577,7 @@ inserted into a buffer of that name.
@findex shell
To run a subshell interactively, type @kbd{M-x shell}. This creates
-(or reuses) a buffer named @samp{*shell*}, and runs a shell subprocess
+(or reuses) a buffer named @file{*shell*}, and runs a shell subprocess
with input coming from and output going to that buffer. That is to
say, any terminal output from the subshell goes into the buffer,
advancing point, and any terminal input for the subshell comes from
@@ -600,8 +600,8 @@ easier to distinguish input lines from the shell output.
To make multiple subshells, invoke @kbd{M-x shell} with a prefix
argument (e.g. @kbd{C-u M-x shell}). Then the command will read a
buffer name, and create (or reuse) a subshell in that buffer. You can
-also rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely},
-then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
+also rename the @file{*shell*} buffer using @kbd{M-x rename-uniquely},
+then create a new @file{*shell*} buffer using plain @kbd{M-x shell}.
Subshells in different buffers run independently and in parallel.
@vindex explicit-shell-file-name
@@ -1183,7 +1183,7 @@ underlying shell, of course.
@findex term
To run a subshell in a terminal emulator, use @kbd{M-x term}. This
-creates (or reuses) a buffer named @samp{*terminal*}, and runs a
+creates (or reuses) a buffer named @file{*terminal*}, and runs a
subshell with input coming from your keyboard, and output going to
that buffer.
@@ -1212,7 +1212,7 @@ serial port. @xref{Serial Terminal}.
The file name used to load the subshell is determined the same way
as for Shell mode. To make multiple terminal emulators, rename the
-buffer @samp{*terminal*} to something different using @kbd{M-x
+buffer @file{*terminal*} to something different using @kbd{M-x
rename-uniquely}, just as with Shell mode.
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}),
where it cannot create graphical frames when started from a text-only
terminal, it creates a new text-only terminal frame (@pxref{Frames}).
If you omit a filename argument while supplying the @samp{-c} option,
-the new frame displays the @samp{*scratch*} buffer (@pxref{Buffers}).
+the new frame displays the @file{*scratch*} buffer (@pxref{Buffers}).
@item -F @var{alist}
@itemx --frame-parameters=@var{alist}
@@ -1600,7 +1600,7 @@ graphical display. On systems, such as MS-Windows, where this is
impossible, Emacs will create a new frame, either GUI or text-only, on
the same terminal where it was started (@pxref{Windows Startup,
emacsclient}). If you omit a filename argument while supplying this
-option, the new frame displays the @samp{*scratch*} buffer.
+option, the new frame displays the @file{*scratch*} buffer.
@xref{Buffers}.
@end table
@@ -1868,7 +1868,7 @@ init file (@pxref{Init File}), followed by @code{(pr-update-menus)}.
This function replaces the usual printing commands in the menu bar
with a @samp{Printing} submenu that contains various printing options.
You can also type @kbd{M-x pr-interface RET}; this creates a
-@samp{*Printing Interface*} buffer, similar to a customization buffer,
+@file{*Printing Interface*} buffer, similar to a customization buffer,
where you can set the printing options. After selecting what and how
to print, you start the print job using the @samp{Print} button (click
@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.
@findex dissociated-press
@kbd{M-x dissociated-press} scrambles the text in the current Emacs
buffer, word by word or character by character, writing its output to
-a buffer named @samp{*Dissociation*}. A positive argument tells it to
+a buffer named @file{*Dissociation*}. A positive argument tells it to
operate character by character, and specifies the number of overlap
characters. A negative argument tells it to operate word by word, and
specifies 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
well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
-Emacs also supports various encodings of these characters used by
+Emacs also supports various encodings of these characters that are used by
other internationalized software, such as word processors and mailers.
Emacs allows editing text with international characters by supporting
@@ -74,14 +74,14 @@ others.
@item
You can insert non-@acronym{ASCII} characters or search for them. To do that,
you can specify an input method (@pxref{Select Input Method}) suitable
-for your language, or use the default input method set up when you set
+for your language, or use the default input method set up when you chose
your language environment. If
your keyboard can produce non-@acronym{ASCII} characters, you can select an
appropriate keyboard coding system (@pxref{Terminal Coding}), and Emacs
will accept those characters. Latin-1 characters can also be input by
using the @kbd{C-x 8} prefix, see @ref{Unibyte Mode}.
-On the X Window System, your locale should be set to an appropriate
+With the X Window System, your locale should be set to an appropriate
value to make sure Emacs interprets keyboard input correctly; see
@ref{Language Environments, locales}.
@end itemize
@@ -90,7 +90,7 @@ value to make sure Emacs interprets keyboard input correctly; see
@menu
* International Chars:: Basic concepts of multibyte characters.
-* Enabling Multibyte:: Controlling whether to use multibyte characters.
+* Disabling Multibyte:: Controlling whether to use multibyte characters.
* Language Environments:: Setting things up for the language you use.
* Input Methods:: Entering text characters not on your keyboard.
* Select Input Method:: Specifying your choice of input methods.
@@ -224,29 +224,30 @@ faces used to display the character, and any overlays containing it
in a buffer whose coding system is @code{utf-8-unix}:
@smallexample
- character: @`A (192, #o300, #xc0)
-preferred charset: unicode (Unicode (ISO10646))
- code point: 0xC0
- syntax: w which means: word
- category: j:Japanese l:Latin v:Vietnamese
- buffer code: #xC3 #x80
- file code: not encodable by coding system undecided-unix
- display: by this font (glyph code)
+ position: 1 of 1 (0%), column: 0
+ character: @`A (displayed as @`A) (codepoint 192, #o300, #xc0)
+ preferred charset: unicode (Unicode (ISO10646))
+code point in charset: 0xC0
+ syntax: w which means: word
+ category: .:Base, L:Left-to-right (strong),
+ j:Japanese, l:Latin, v:Viet
+ buffer code: #xC3 #x80
+ file code: not encodable by coding system undecided-unix
+ display: by this font (glyph code)
xft:-unknown-DejaVu Sans Mono-normal-normal-
normal-*-13-*-*-*-m-0-iso10646-1 (#x82)
Character code properties: customize what to show
name: LATIN CAPITAL LETTER A WITH GRAVE
+ old-name: LATIN CAPITAL LETTER A GRAVE
general-category: Lu (Letter, Uppercase)
decomposition: (65 768) ('A' '`')
- old-name: LATIN CAPITAL LETTER A GRAVE
-
-There are text properties here:
- auto-composed t
@end smallexample
-@node Enabling Multibyte
-@section Enabling Multibyte Characters
+@c FIXME? Does this section even belong in the user manual?
+@c Seems more appropriate to the lispref?
+@node Disabling Multibyte
+@section Disabling Multibyte Characters
By default, Emacs starts in multibyte mode: it stores the contents
of buffers and strings using an internal encoding that represents
@@ -275,32 +276,48 @@ Coding}. Unlike @code{find-file-literally}, finding a file as
@samp{raw-text} doesn't disable format conversion, uncompression, or
auto mode selection.
+@c Not a single file in Emacs uses this feature. Is it really worth
+@c mentioning in the _user_ manual? Also, this duplicates somewhat
+@c "Loading Non-ASCII" from the lispref.
@cindex Lisp files, and multibyte operation
@cindex multibyte operation, and Lisp files
@cindex unibyte operation, and Lisp files
@cindex init file, and non-@acronym{ASCII} characters
Emacs normally loads Lisp files as multibyte.
This includes the Emacs initialization
-file, @file{.emacs}, and the initialization files of Emacs packages
+file, @file{.emacs}, and the initialization files of packages
such as Gnus. However, you can specify unibyte loading for a
-particular Lisp file, by putting @w{@samp{-*-unibyte: t;-*-}} in a
-comment on the first line (@pxref{File Variables}). Then that file is
-always loaded as unibyte text. The motivation for these conventions
-is that it is more reliable to always load any particular Lisp file in
-the same way. However, you can load a Lisp file as unibyte, on any
-one occasion, by typing @kbd{C-x @key{RET} c raw-text @key{RET}}
-immediately before loading it.
-
- The mode line indicates whether multibyte character support is
-enabled in the current buffer. If it is, there are two or more
-characters (most often two dashes) near the beginning of the mode
-line, before the indication of the visited file's end-of-line
-convention (colon, backslash, etc.). When multibyte characters
-are not enabled, nothing precedes the colon except a single dash.
-@xref{Mode Line}, for more details about this.
+particular Lisp file, by adding an entry @samp{unibyte: t} in a file
+local variables section (@pxref{File Variables}). Then that file is
+always loaded as unibyte text. Note that this does not represent a
+real @code{unibyte} variable, rather it just acts as an indicator
+to Emacs in the same way as @code{coding} does (@pxref{Specify Coding}).
+@ignore
+@c I don't see the point of this statement:
+The motivation for these conventions is that it is more reliable to
+always load any particular Lisp file in the same way.
+@end ignore
+Note also that this feature only applies to @emph{loading} Lisp files
+for evaluation, not to visiting them for editing. You can also load a
+Lisp file as unibyte, on any one occasion, by typing @kbd{C-x
+@key{RET} c raw-text @key{RET}} immediately before loading it.
+
+@c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
+@vindex enable-multibyte-characters
+The buffer-local variable @code{enable-multibyte-characters} is
+non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones.
+The mode line also indicates whether a buffer is multibyte or not.
+@xref{Mode Line}. With a graphical display, in a multibyte buffer,
+the portion of the mode line that indicates the character set has a
+tooltip that (amongst other things) says that the buffer is multibyte.
+In a unibyte buffer, the character set indicator is absent. Thus, in
+a unibyte buffer (when using a graphical display) there is normally
+nothing before the indication of the visited file's end-of-line
+convention (colon, backslash, etc.), unless you are using an input
+method.
@findex toggle-enable-multibyte-characters
-You can turn on multibyte support in a specific buffer by invoking the
+You can turn off multibyte support in a specific buffer by invoking the
command @code{toggle-enable-multibyte-characters} in that buffer.
@node Language Environments
@@ -309,8 +326,8 @@ command @code{toggle-enable-multibyte-characters} in that buffer.
All supported character sets are supported in Emacs buffers whenever
multibyte characters are enabled; there is no need to select a
-particular language in order to display its characters in an Emacs
-buffer. However, it is important to select a @dfn{language
+particular language in order to display its characters.
+However, it is important to select a @dfn{language
environment} in order to set various defaults. Roughly speaking, the
language environment represents a choice of preferred script rather
than a choice of language.
@@ -327,7 +344,8 @@ language environment also specifies a default input method.
@code{current-language-environment} or use the command @kbd{M-x
set-language-environment}. It makes no difference which buffer is
current when you use this command, because the effects apply globally
-to the Emacs session. The supported language environments include:
+to the Emacs session. The supported language environments
+(see the variable @code{language-info-alist}) include:
@cindex Euro sign
@cindex UTF-8
@@ -351,11 +369,15 @@ which prefers Cyrillic characters and files encoded in Windows-1255).
@cindex Intlfonts package, installation
To display the script(s) used by your language environment on a
graphical display, you need to have a suitable font. If some of the
-characters appear as empty boxes or hex codes, you should install the
+characters appear as empty boxes or hex codes, you should install
+extra fonts. Your operating system may have optional fonts that
+you can install; or you can install the
GNU Intlfonts package, which includes fonts for most supported
-scripts.@footnote{If you run Emacs on X, you need to inform the X
-server about the location of the newly installed fonts with the
-following commands:
+scripts.@footnote{If you run Emacs on X, you may need to inform the X
+server about the location of the newly installed fonts with
+commands such as:
+@c FIXME? I feel like this may be out of date.
+@c Eg the intlfonts tarfile is ~ 10 years old.
@example
xset fp+ /usr/local/share/emacs/fonts
@@ -370,22 +392,25 @@ following commands:
@cindex locales
Some operating systems let you specify the character-set locale you
are using by setting the locale environment variables @env{LC_ALL},
-@env{LC_CTYPE}, or @env{LANG}.@footnote{If more than one of these is
+@env{LC_CTYPE}, or @env{LANG}. (If more than one of these is
set, the first one that is nonempty specifies your locale for this
-purpose.} During startup, Emacs looks up your character-set locale's
+purpose.) During startup, Emacs looks up your character-set locale's
name in the system locale alias table, matches its canonical name
against entries in the value of the variables
-@code{locale-charset-language-names} and @code{locale-language-names},
+@code{locale-charset-language-names} and @code{locale-language-names}
+(the former overrides the latter),
and selects the corresponding language environment if a match is found.
-(The former variable overrides the latter.) It also adjusts the display
+It also adjusts the display
table and terminal coding system, the locale coding system, the
preferred coding system as needed for the locale, and---last but not
least---the way Emacs decodes non-@acronym{ASCII} characters sent by your keyboard.
+@c This seems unlikely, doesn't it?
If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG}
-environment variables while running Emacs, you may want to invoke the
-@code{set-locale-environment} function afterwards to readjust the
-language environment from the new locale.
+environment variables while running Emacs (by using @kbd{M-x setenv}),
+you may want to invoke the @code{set-locale-environment}
+function afterwards to readjust the language environment from the new
+locale.
@vindex locale-preferred-coding-systems
The @code{set-locale-environment} function normally uses the preferred
@@ -421,7 +446,7 @@ this command describes the chosen language environment.
language environment. The hook functions can test for a specific
language environment by checking the variable
@code{current-language-environment}. This hook is where you should
-put non-default settings for specific language environment, such as
+put non-default settings for specific language environments, such as
coding systems for keyboard input and terminal output, the default
input method, etc.
@@ -441,7 +466,7 @@ for that key.
@cindex input methods
An @dfn{input method} is a kind of character conversion designed
specifically for interactive input. In Emacs, typically each language
-has its own input method; sometimes several languages which use the same
+has its own input method; sometimes several languages that use the same
characters can share one input method. A few languages support several
input methods.
@@ -454,14 +479,14 @@ work this way.
characters into one letter. Many European input methods use composition
to produce a single non-@acronym{ASCII} letter from a sequence that consists of a
letter followed by accent characters (or vice versa). For example, some
-methods convert the sequence @kbd{a'} into a single accented letter.
+methods convert the sequence @kbd{o ^} into a single accented letter.
These input methods have no special commands of their own; all they do
is compose sequences of printing characters.
The input methods for syllabic scripts typically use mapping followed
by composition. The input methods for Thai and Korean work this way.
First, letters are mapped into symbols for particular sounds or tone
-marks; then, sequences of these which make up a whole syllable are
+marks; then, sequences of these that make up a whole syllable are
mapped into one syllable sign.
Chinese and Japanese require more complex methods. In Chinese input
@@ -471,7 +496,8 @@ portions of the character (input methods @code{chinese-4corner} and
@code{chinese-sw}, and others). One input sequence typically
corresponds to many possible Chinese characters. You select the one
you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n},
-@kbd{C-p}, and digits, which have special meanings in this situation.
+@kbd{C-p} (or the arrow keys), and digits, which have special meanings
+in this situation.
The possible characters are conceptually arranged in several rows,
with 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
the current alternative with a special color; type @code{C-@key{SPC}}
to select the current alternative and use it as input. The
alternatives in the row are also numbered; the number appears before
-the alternative. Typing a digit @var{n} selects the @var{n}th
-alternative of the current row and uses it as input.
+the alternative. Typing a number selects the associated alternative
+of the current row and uses it as input.
@key{TAB} in these Chinese input methods displays a buffer showing
all the possible characters at once; then clicking @kbd{Mouse-2} on
@@ -505,15 +531,15 @@ the alternatives.
Sometimes it is useful to cut off input method processing so that the
characters you have just entered will not combine with subsequent
characters. For example, in input method @code{latin-1-postfix}, the
-sequence @kbd{e '} combines to form an @samp{e} with an accent. What if
+sequence @kbd{o ^} combines to form an @samp{o} with an accent. What if
you want to enter them as separate characters?
One way is to type the accent twice; this is a special feature for
-entering the separate letter and accent. For example, @kbd{e ' '} gives
-you the two characters @samp{e'}. Another way is to type another letter
-after the @kbd{e}---something that won't combine with that---and
-immediately delete it. For example, you could type @kbd{e e @key{DEL}
-'} to get separate @samp{e} and @samp{'}.
+entering the separate letter and accent. For example, @kbd{o ^ ^} gives
+you the two characters @samp{o^}. Another way is to type another letter
+after the @kbd{o}---something that won't combine with that---and
+immediately delete it. For example, you could type @kbd{o o @key{DEL}
+^} to get separate @samp{o} and @samp{^}.
Another method, more general but not quite as easy to type, is to use
@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
not when you are in the minibuffer).
Another facility for typing characters not on your keyboard is by
-using the @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single
+using @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single
character based on its Unicode name or code-point; see @ref{Inserting
Text}.
@@ -588,7 +614,7 @@ turn off the input method temporarily. To do this, type @kbd{C-\}
@kbd{C-\} again.
If you type @kbd{C-\} and you have not yet selected an input method,
-it prompts for you to specify one. This has the same effect as using
+it prompts you to specify one. This has the same effect as using
@kbd{C-x @key{RET} C-\} to specify an input method.
When invoked with a numeric argument, as in @kbd{C-u C-\},
@@ -631,7 +657,7 @@ automatically. For example:
@end lisp
@noindent
-This activates the input method ``german-prefix'' automatically in the
+This automatically activates the input method ``german-prefix'' in
Text mode.
@findex quail-set-keyboard-layout
@@ -645,7 +671,7 @@ the command @kbd{M-x quail-set-keyboard-layout}.
You can use the command @kbd{M-x quail-show-key} to show what key (or
key sequence) to type in order to input the character following point,
using the selected keyboard layout. The command @kbd{C-u C-x =} also
-shows that information in addition to the other information about the
+shows that information, in addition to other information about the
character.
@findex list-input-methods
@@ -685,7 +711,8 @@ system; for example, to visit a file encoded in codepage 850, type
In addition to converting various representations of non-@acronym{ASCII}
characters, a coding system can perform end-of-line conversion. Emacs
handles three different conventions for how to separate lines in a file:
-newline, carriage-return linefeed, and just carriage-return.
+newline (``unix''), carriage-return linefeed (``dos''), and just
+carriage-return (``mac'').
@table @kbd
@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.
For example, if the file appears to use the sequence carriage-return
linefeed to separate lines, DOS end-of-line conversion will be used.
- Each of the listed coding systems has three variants which specify
+ Each of the listed coding systems has three variants, which specify
exactly what to do for end-of-line conversion:
@table @code
@item @dots{}-unix
Don't do any end-of-line conversion; assume the file uses
newline to separate lines. (This is the convention normally used
-on Unix and GNU systems.)
+on Unix and GNU systems, and Mac OS X.)
@item @dots{}-dos
Assume the file uses carriage-return linefeed to separate lines, and do
the appropriate conversion. (This is the convention normally used on
Microsoft systems.@footnote{It is also specified for MIME @samp{text/*}
bodies and in other network transport contexts. It is different
-from the SGML reference syntax record-start/record-end format which
+from the SGML reference syntax record-start/record-end format, which
Emacs doesn't support directly.})
@item @dots{}-mac
Assume the file uses carriage-return to separate lines, and do the
-appropriate conversion. (This is the convention normally used on the
-Macintosh system.)
+appropriate conversion. (This was the convention used on the
+Macintosh system prior to OS X.)
@end table
These variant coding systems are omitted from the
@@ -763,7 +790,7 @@ be deduced from the text itself.
@cindex @code{raw-text}, coding system
The coding system @code{raw-text} is good for a file which is mainly
-@acronym{ASCII} text, but may contain byte values above 127 which are
+@acronym{ASCII} text, but may contain byte values above 127 that are
not meant to encode non-@acronym{ASCII} characters. With
@code{raw-text}, Emacs copies those byte values unchanged, and sets
@code{enable-multibyte-characters} to @code{nil} in the current buffer
@@ -880,37 +907,47 @@ the buffer.
The default value of @code{inhibit-iso-escape-detection} is
@code{nil}. We recommend that you not change it permanently, only for
-one specific operation. That's because many Emacs Lisp source files
+one specific operation. That's because some Emacs Lisp source files
in the Emacs distribution contain non-@acronym{ASCII} characters encoded in the
coding system @code{iso-2022-7bit}, and they won't be
decoded correctly when you visit those files if you suppress the
escape sequence detection.
+@c I count a grand total of 3 such files, so is the above really true?
@vindex auto-coding-alist
@vindex auto-coding-regexp-alist
-@vindex auto-coding-functions
- The variables @code{auto-coding-alist},
-@code{auto-coding-regexp-alist} and @code{auto-coding-functions} are
+ The variables @code{auto-coding-alist} and
+@code{auto-coding-regexp-alist} are
the strongest way to specify the coding system for certain patterns of
-file names, or for files containing certain patterns; these variables
-even override @samp{-*-coding:-*-} tags in the file itself. Emacs
+file names, or for files containing certain patterns, respectively.
+These variables even override @samp{-*-coding:-*-} tags in the file
+itself. For example, Emacs
uses @code{auto-coding-alist} for tar and archive files, to prevent it
from being confused by a @samp{-*-coding:-*-} tag in a member of the
archive and thinking it applies to the archive file as a whole.
+@ignore
+@c This describes old-style BABYL files, which are no longer relevant.
Likewise, Emacs uses @code{auto-coding-regexp-alist} to ensure that
RMAIL files, whose names in general don't match any particular
-pattern, are decoded correctly. One of the builtin
+pattern, are decoded correctly.
+@end ignore
+
+@vindex auto-coding-functions
+ Another way to specify a coding system is with the variable
+@code{auto-coding-functions}. For example, one of the builtin
@code{auto-coding-functions} detects the encoding for XML files.
+Unlike the previous two, this variable does not override any
+@samp{-*-coding:-*-} tag.
+@c FIXME? This seems somewhat out of place. Move to the Rmail section?
@vindex rmail-decode-mime-charset
@vindex rmail-file-coding-system
When you get new mail in Rmail, each message is translated
automatically from the coding system it is written in, as if it were a
separate file. This uses the priority list of coding systems that you
have specified. If a MIME message specifies a character set, Rmail
-obeys that specification, unless @code{rmail-decode-mime-charset} is
-@code{nil}. For reading and saving Rmail files themselves, Emacs uses
-the coding system specified by the variable
+obeys that specification. For reading and saving Rmail files
+themselves, Emacs uses the coding system specified by the variable
@code{rmail-file-coding-system}. The default value is @code{nil},
which means that Rmail files are not translated (they are read and
written in the Emacs internal character code).
@@ -1540,7 +1577,7 @@ can still handle these character codes as if they belonged to
set-language-environment} and specify a suitable language environment
such as @samp{Latin-@var{n}}.
- For more information about unibyte operation, see @ref{Enabling
+ For more information about unibyte operation, see @ref{Disabling
Multibyte}. Note particularly that you probably want to ensure that
your initialization files are read as unibyte if they contain
non-@acronym{ASCII} characters.
@@ -1613,7 +1650,7 @@ a key sequence is allowed.
library is loaded, the @key{ALT} modifier key, if the keyboard has
one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together
with an accent character to modify the following letter. In addition,
-if the keyboard has keys for the Latin-1 ``dead accent characters,''
+if the keyboard has keys for the Latin-1 ``dead accent characters'',
they too are defined to compose with the following character, once
@code{iso-transl} is loaded.
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
separate Emacs Lisp program, sometimes including other components such
as an Info manual.
- @kbd{M-x list-packages} brings up a buffer named @samp{*Packages*}
+ @kbd{M-x list-packages} brings up a buffer named @file{*Packages*}
with a list of all packages. You can install or uninstall packages
via this buffer. @xref{Package Menu}.
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
the @command{man} program to format the corresponding man page. If
the system permits, it runs @command{man} asynchronously, so that you
can keep on editing while the page is being formatted. The result
-goes in a buffer named @samp{*Man @var{topic}*}. These buffers use a
+goes in a buffer named @file{*Man @var{topic}*}. These buffers use a
special major mode, Man mode, that facilitates scrolling and jumping
to other manual pages. For details, type @kbd{C-h m} while in a Man
mode buffer.
@@ -1165,7 +1165,7 @@ command. Unlike @kbd{M-x man}, it does not run any external programs
to format and display the man pages; the formatting is done by Emacs,
so it works on systems such as MS-Windows where the @command{man}
program may be unavailable. It prompts for a man page, and displays
-it in a buffer named @samp{*WoMan @var{section} @var{topic}}.
+it in a buffer named @file{*WoMan @var{section} @var{topic}}.
@kbd{M-x woman} computes the completion list for manpages the first
time you invoke the command. With a numeric argument, it recomputes
@@ -1705,7 +1705,7 @@ inserted on that line, and any @samp{\} there is deleted.
@cindex preprocessor highlighting
@findex cpp-highlight-buffer
Highlight parts of the text according to its preprocessor conditionals.
-This command displays another buffer named @samp{*CPP Edit*}, which
+This command displays another buffer named @file{*CPP Edit*}, which
serves as a graphic menu for selecting how to display particular kinds
of conditionals and their contents. After changing various settings,
click 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
progress has been made, as a percentage), and add @samp{done} when
they are finished.
-@cindex @samp{*Messages*} buffer
+@cindex @file{*Messages*} buffer
@cindex saved echo area messages
@cindex messages saved from echo area
@vindex message-log-max
Informative echo area messages are saved in a special buffer named
-@samp{*Messages*}. (We have not explained buffers yet; see
+@file{*Messages*}. (We have not explained buffers yet; see
@ref{Buffers}, for more information about them.) If you miss a
message that appeared briefly on the screen, you can switch to the
-@samp{*Messages*} buffer to see it again. The @samp{*Messages*}
+@file{*Messages*} buffer to see it again. The @file{*Messages*}
buffer is limited to a certain number of lines, specified by the
variable @code{message-log-max}. (We have not explained variables
either; 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.
@kindex RET @r{(Occur mode)}
@kindex o @r{(Occur mode)}
@kindex C-o @r{(Occur mode)}
-In the @samp{*Occur*} buffer, you can click on each entry, or move
+In the @file{*Occur*} buffer, you can click on each entry, or move
point there and type @key{RET}, to visit the corresponding position in
the buffer that was searched. @kbd{o} and @kbd{C-o} display the match
in another window; @kbd{C-o} does not select it. Alternatively, you
@@ -1317,7 +1317,7 @@ occurrences one by one (@pxref{Compilation Mode}).
@cindex Occur Edit mode
@cindex mode, Occur Edit
-Typing @kbd{e} in the @samp{*Occur*} buffer switches to Occur Edit
+Typing @kbd{e} in the @file{*Occur*} buffer switches to Occur Edit
mode, in which edits made to the entries are also applied to the text
in the originating buffer. Type @kbd{C-c C-c} to return to Occur
mode.
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 @@
@kindex C-x m
@findex compose-mail
To send an email message from Emacs, type @kbd{C-x m}. This
-switches to a buffer named @samp{*unsent mail*}, where you can edit
+switches to a buffer named @file{*unsent mail*}, where you can edit
the text and headers of the message. When done, type @kbd{C-c C-s} or
@kbd{C-c C-c} to send it.
@@ -306,7 +306,7 @@ completion, and inserts its definition at point.
@cindex Message mode
@cindex mode, Message
- The default major mode for the @samp{*mail*} buffer is called
+ The default major mode for the @file{*mail*} buffer is called
Message mode. It behaves like Text mode in many ways, but provides
several additional commands on the @kbd{C-c} prefix, which make
editing 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 @}}
point, and inserts two newlines to start a new paragraph. It outputs
a message in the echo area if any mismatch is found. @kbd{M-x
tex-validate-region} checks a region, paragraph by paragraph. The
-errors are listed in an @samp{*Occur*} buffer; you can use the usual
+errors are listed in an @file{*Occur*} buffer; you can use the usual
Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
particular mismatch (@pxref{Other Repeating Search}).
@@ -1694,7 +1694,7 @@ name with @samp{*} in the command string. For example,
@findex tex-recenter-output-buffer
@kindex C-c C-l @r{(@TeX{} mode)}
The terminal output from @TeX{}, including any error messages,
-appears in a buffer called @samp{*tex-shell*}. If @TeX{} gets an
+appears in a buffer called @file{*tex-shell*}. If @TeX{} gets an
error, you can switch to this buffer and feed it input (this works as
in Shell mode; @pxref{Interactive Shell}). Without switching to this
buffer 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.
The type of machine you are using, and the operating system name and
version number (again, automatically included by @kbd{M-x
report-emacs-bug}). @kbd{M-x emacs-version @key{RET}} provides this
-information too. Copy its output from the @samp{*Messages*} buffer,
+information too. Copy its output from the @file{*Messages*} buffer,
so that you get it all and get it accurately.
@item
@@ -699,7 +699,7 @@ The way to collect the terminal output is to execute the Lisp expression
@end example
@noindent
-using @kbd{M-:} or from the @samp{*scratch*} buffer just after
+using @kbd{M-:} or from the @file{*scratch*} buffer just after
starting Emacs. From then on, Emacs copies all terminal output to the
specified termscript file as well, until the Emacs process is killed.
If 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,
to display your locale settings.
You can use the @kbd{M-!} command to execute these commands from
-Emacs, and then copy the output from the @samp{*Messages*} buffer into
+Emacs, and then copy the output from the @file{*Messages*} buffer into
the bug report. Alternatively, @kbd{M-x getenv @key{RET} LC_ALL
@key{RET}} will display the value of @code{LC_ALL} in the echo area, and
-you can copy its output from the @samp{*Messages*} buffer.
+you can copy its output from the @file{*Messages*} buffer.
@item
A 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
backtrace showing how the Lisp program in Emacs arrived at the error.
To get the error message text accurately, copy it from the
-@samp{*Messages*} buffer into the bug report. Copy all of it, not just
+@file{*Messages*} buffer into the bug report. Copy all of it, not just
part.
@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 @@
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
2012-02-28 Glenn Morris <rgm@gnu.org>
* 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 @@
#### Makefile for the Emacs Lisp Introduction manual
-# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@@ -48,21 +48,22 @@ ps: emacs-lisp-intro.ps
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing.
+# Note: "<" is not portable in ordinary make rules.
${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi
$(mkinfodir)
- $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
emacs-lisp-intro.ps: emacs-lisp-intro.dvi
- $(DVIPS) -o $@ $<
+ $(DVIPS) -o $@ emacs-lisp-intro.dvi
emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi
- $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
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 @@
+2012-04-14 Chong Yidong <cyd@gnu.org>
+
+ * customize.texi (Applying Customizations):
+ (Custom Themes): New nodes.
+
+ * display.texi (Defining Faces): Reference custom-set-faces.
+
+ * modes.texi (Defining Minor Modes, Defining Minor Modes):
+ * os.texi (Startup Summary): Copyedits.
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * loading.texi (Loading Non-ASCII): "unibyte:" can also be at the end.
+
+ * strings.texi (Case Tables):
+ * objects.texi (General Escape Syntax):
+ * keymaps.texi (Key Sequences): Use @acronym with "ASCII".
+
+ * buffers.texi, compile.texi, customize.texi, debugging.texi:
+ * display.texi, edebug.texi, eval.texi, help.texi, intro.texi:
+ * keymaps.texi, minibuf.texi, modes.texi, os.texi, processes.texi:
+ * text.texi: Use @file for buffers, per the Texinfo manual.
+
+ * compile.texi (Compiler Errors): Add missing space in buffer name.
+
+2012-04-14 Chong Yidong <cyd@gnu.org>
+
+ * processes.texi (Query Before Exit): Remove obsolete function
+ process-kill-without-query (Bug#11190).
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * files.texi, frames.texi, loading.texi, os.texi, processes.texi:
+ Use @env for environment variables.
+
+ * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
+2012-04-12 Jari Aalto <jari.aalto@cante.net>
+
+ * processes.texi (Synchronous Processes): Mention
+ `default-directory' (bug#7515).
+
2012-04-09 Chong Yidong <cyd@gnu.org>
* 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
pdf: elisp.pdf
ps: elisp.ps
+## Note: "<" is not portable in ordinary make rules.
$(infodir)/elisp: $(srcs)
$(mkinfodir)
- $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $(srcdir)/elisp.texi
elisp.dvi: $(srcs)
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
elisp.html: $(srcs)
- $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi
elisp.ps: elisp.dvi
- $(DVIPS) -o $@ $<
+ $(DVIPS) -o $@ elisp.dvi
elisp.pdf: $(srcs)
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/abbrevs
@node Abbrevs, Processes, Syntax Tables, Top
@chapter Abbrevs and Abbrev Expansion
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/advising
@node Advising Functions, Debugging, Byte Compilation, Top
@chapter Advising Emacs Lisp Functions
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/backups
@node Backups and Auto-Saving, Buffers, Files, Top
@chapter Backups and Auto-Saving
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/buffers
@node Buffers, Windows, Backups and Auto-Saving, Top
@chapter Buffers
@cindex buffer
@@ -863,7 +862,7 @@ a buffer visible in any window on any visible frame, except as a last
resort. If @var{visible-ok} is non-@code{nil}, then it does not matter
whether a buffer is displayed somewhere or not.
-If no suitable buffer exists, the buffer @samp{*scratch*} is returned
+If no suitable buffer exists, the buffer @file{*scratch*} is returned
(and created, if necessary).
@end defun
@@ -874,7 +873,7 @@ selected frame's buffer list.
The argument @var{visible-ok} is handled as with @code{other-buffer},
see above. If no suitable buffer can be found, the buffer
-@samp{*scratch*} is returned.
+@file{*scratch*} is returned.
@end defun
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/commands
@node Command Loop, Keymaps, Minibuffers, Top
@chapter Command Loop
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/compile
@node Byte Compilation, Advising Functions, Loading, Top
@chapter Byte Compilation
@cindex byte compilation
@@ -92,7 +91,7 @@ the @code{byte-compile} function. You can compile a whole file with
Sometimes, the byte compiler produces warning and/or error messages
(@pxref{Compiler Errors}, for details). These messages are recorded
-in a buffer called @samp{*Compile-Log*}, which uses Compilation mode.
+in a buffer called @file{*Compile-Log*}, which uses Compilation mode.
@xref{Compilation Mode,,,emacs, The GNU Emacs Manual}.
@cindex macro compilation
@@ -443,14 +442,14 @@ to what @code{eval-when-compile} does.
@cindex compiler errors
Byte compilation outputs all errors and warnings into the buffer
-@samp{*Compile-Log*}. The messages include file names and line
+@file{*Compile-Log*}. The messages include file names and line
numbers that identify the location of the problem. The usual Emacs
commands for operating on compiler diagnostics work properly on these
messages.
When an error is due to invalid syntax in the program, the byte
compiler might get confused about the errors' exact location. One way
-to investigate is to switch to the buffer @w{@samp{*Compiler Input*}}.
+to investigate is to switch to the buffer @w{@file{ *Compiler Input*}}.
(This buffer name starts with a space, so it does not show up in
@kbd{M-x list-buffers}.) This buffer contains the program being
compiled, and point shows how far the byte compiler was able to read;
@@ -602,7 +601,7 @@ the stack.
@deffn Command disassemble object &optional buffer-or-name
This command displays the disassembled code for @var{object}. In
interactive use, or if @var{buffer-or-name} is @code{nil} or omitted,
-the output goes in a buffer named @samp{*Disassemble*}. If
+the output goes in a buffer named @file{*Disassemble*}. If
@var{buffer-or-name} is non-@code{nil}, it must be a buffer or the
name of an existing buffer. Then the output goes there, at point, and
point 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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/control
@node Control Structures, Variables, Evaluation, Top
@chapter Control Structures
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/customize
@node Customization, Loading, Macros, Top
-@chapter Writing Customization Definitions
+@chapter Customization Settings
-@cindex customization definitions
- This chapter describes how to declare user options for customization,
-and also customization groups for classifying them. We use the term
-@dfn{customization item} to include both kinds of customization
-definitions---as well as face definitions (@pxref{Defining Faces}).
+@cindex customization item
+ This chapter describes how to declare customizable variables and
+customization groups for classifying them. We use the term
+@dfn{customization item} to include customizable variables,
+customization groups, as well as faces.
+
+ @xref{Defining Faces}, for the @code{defface} macro, which is used
+for declaring customizable faces.
@menu
-* Common Keywords:: Common keyword arguments for all kinds of
- customization declarations.
-* Group Definitions:: Writing customization group definitions.
-* Variable Definitions:: Declaring user options.
-* Customization Types:: Specifying the type of a user option.
+* Common Keywords:: Common keyword arguments for all kinds of
+ customization declarations.
+* Group Definitions:: Writing customization group definitions.
+* Variable Definitions:: Declaring user options.
+* Customization Types:: Specifying the type of a user option.
+* Applying Customizations:: Functions to apply customization settings.
+* Custom Themes:: Writing Custom themes.
@end menu
@node Common Keywords
@@ -306,7 +310,7 @@ individual types for a description of how to use @code{:options}.
@item :set @var{setfunction}
@kindex set@r{, @code{defcustom} keyword}
Specify @var{setfunction} as the way to change the value of this
-option when using the Customize user interface. The function
+option when using the Customize interface. The function
@var{setfunction} should take two arguments, a symbol (the option
name) and the new value, and should do whatever is necessary to update
the 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
@item color
The value must be a valid color name. The widget provides completion
for color names, as well as a sample and a button for selecting a
-color name from a list of color names shown in a @samp{*Colors*}
+color name from a list of color names shown in a @file{*Colors*}
buffer.
@end table
@@ -1242,3 +1246,168 @@ the inferior widgets will convert @emph{their} inferior widgets. If
the data structure is itself recursive, this conversion is an infinite
recursion. The @code{lazy} widget prevents the recursion: it convert
its @code{:type} argument only when needed.
+
+@node Applying Customizations
+@section Applying Customizations
+
+The following functions are responsible for installing the user's
+customization settings for variables and faces, respectively. When
+the user invokes @samp{Save for future sessions} in the Customize
+interface, that takes effect by writing a @code{custom-set-variables}
+and/or a @code{custom-set-faces} form into the custom file, to be
+evaluated the next time Emacs starts up.
+
+@defun custom-set-variables &rest args
+This function installs the variable customizations specified by
+@var{args}. Each argument in @var{args} should have the form
+
+@example
+(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
+@end example
+
+@noindent
+@var{var} is a variable name (a symbol), and @var{expression} is an
+expression which evaluates to the desired customized value.
+
+If the @code{defcustom} form for @var{var} has been evaluated prior to
+this @code{custom-set-variables} call, @var{expression} is immediately
+evaluated, and the variable's value is set to the result. Otherwise,
+@var{expression} is stored into the variable's @code{saved-value}
+property, to be evaluated when the relevant @code{defcustom} is called
+(usually when the library defining that variable is loaded into
+Emacs).
+
+The @var{now}, @var{request}, and @var{comment} entries are for
+internal use only, and may be omitted. @var{now}, if non-@code{nil},
+means to set the variable's value now, even if the variable's
+@code{defcustom} form has not been evaluated. @var{request} is a list
+of features to be loaded immediately (@pxref{Named Features}).
+@var{comment} is a string describing the customization.
+@end defun
+
+@defun custom-set-faces &rest args
+This function installs the face customizations specified by
+@var{args}. Each argument in @var{args} should have the form
+
+@example
+(@var{face} @var{spec} [@var{now} [@var{comment}]])
+@end example
+
+@noindent
+@var{face} is a face name (a symbol), and @var{spec} is the customized
+face specification for that face (@pxref{Defining Faces}).
+
+The @var{now} and @var{comment} entries are for internal use only, and
+may be omitted. @var{now}, if non-@code{nil}, means to install the
+face specification now, even if the @code{defface} form has not been
+evaluated. @var{comment} is a string describing the customization.
+@end defun
+
+@node Custom Themes
+@section Custom Themes
+
+ @dfn{Custom themes} are collections of settings that can be enabled
+or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
+Manual}. Each Custom theme is defined by an Emacs Lisp source file,
+which should follow the conventions described in this section.
+(Instead of writing a Custom theme by hand, you can also create one
+using a Customize-like interface; @pxref{Creating Custom Themes,,,
+emacs, The GNU Emacs Manual}.)
+
+ A Custom theme file should be named @file{@var{foo}-theme.el}, where
+@var{foo} is the theme name. The first Lisp form in the file should
+be a call to @code{deftheme}, and the last form should be a call to
+@code{provide-theme}.
+
+@defmac deftheme theme &optional doc
+This macro declares @var{theme} (a symbol) as the name of a Custom
+theme. The optional argument @var{doc} should be a string describing
+the theme; this is the description shown when the user invokes the
+@code{describe-theme} command or types @kbd{?} in the @samp{*Custom
+Themes*} buffer.
+
+Two special theme names are disallowed: @code{user} is a ``dummy''
+theme which stores the user's direct customization settings, and
+@code{changed} is a ``dummy'' theme which stores changes made outside
+of the Customize system. If you specify either of these as the
+@var{theme} argument, @code{deftheme} signals an error.
+@end defmac
+
+@defmac provide-theme theme
+This macro declares that the theme named @var{theme} has been fully
+specified.
+@end defmac
+
+ In between @code{deftheme} and @code{provide-theme} are Lisp forms
+specifying the theme settings: usually a call to
+@code{custom-theme-set-variables} and/or a call to
+@code{custom-theme-set-faces}.
+
+@defun custom-theme-set-variables theme &rest args
+This function specifies the Custom theme @var{theme}'s variable
+settings. @var{theme} should be a symbol. Each argument in
+@var{args} should be a list of the form
+
+@example
+(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
+@end example
+
+@noindent
+where the list entries have the same meanings as in
+@code{custom-set-variables}. @xref{Applying Customizations}.
+@end defun
+
+@defun custom-theme-set-faces theme &rest args
+This function specifies the Custom theme @var{theme}'s face settings.
+@var{theme} should be a symbol. Each argument in @var{args} should be
+a list of the form
+
+@example
+(@var{face} @var{spec} [@var{now} [@var{comment}]])
+@end example
+
+@noindent
+where the list entries have the same meanings as in
+@code{custom-set-faces}. @xref{Applying Customizations}.
+@end defun
+
+ In theory, a theme file can also contain other Lisp forms, which
+would be evaluated when loading the theme, but that is ``bad form''.
+To protect against loading themes containing malicious code, Emacs
+displays the source file and asks for confirmation from the user
+before loading any non-built-in theme for the first time.
+
+ The following functions are useful for programmatically enabling and
+disabling Custom themes:
+
+@defun custom-theme-p theme
+This function return a non-@code{nil} value if @var{theme} (a symbol)
+is the name of a Custom theme (i.e.@: a Custom theme which has been
+loaded into Emacs, whether or not the theme is enabled). Otherwise,
+it returns @code{nil}.
+@end defun
+
+@deffn Command load-theme theme &optional no-confirm no-enable
+This function loads the Custom theme named @var{theme} from its source
+file, looking for the source file in the directories specified by the
+variable @code{custom-theme-load-path}. @xref{Custom Themes,,, emacs,
+The GNU Emacs Manual}. It also @dfn{enables} the theme, causing its
+variable and face settings to take effect.
+
+If the optional argument @var{no-confirm} is non-@code{nil}, this
+skips prompting the user for confirmation before loading the theme.
+
+If the optional argument @var{no-enable} is non-@code{nil}, the theme
+is loaded but not enabled.
+@end deffn
+
+@deffn Command enable-theme theme
+This function enables the Custom theme named @var{theme}. It signals
+an error if no such theme has been loaded.
+@end deffn
+
+@deffn Command disable-theme theme
+This function disables the Custom theme named @var{theme}. The theme
+remains loaded, so that a subsequent call to @code{enable-theme} will
+re-enable it.
+@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/debugging
@node Debugging, Read and Print, Advising Functions, Top
@chapter Debugging Lisp Programs
@@ -303,7 +302,7 @@ an implicit @code{progn} (@pxref{Sequencing}).
@subsection Using the Debugger
When the debugger is entered, it displays the previously selected
-buffer in one window and a buffer named @samp{*Backtrace*} in another
+buffer in one window and a buffer named @file{*Backtrace*} in another
window. The backtrace buffer contains one line for each level of Lisp
function execution currently going on. At the beginning of this buffer
is a message describing the reason that the debugger was invoked (such
@@ -412,7 +411,7 @@ the variable values within the debugger.
@item R
Like @kbd{e}, but also save the result of evaluation in the
-buffer @samp{*Debugger-record*}.
+buffer @file{*Debugger-record*}.
@item q
Terminate the program being debugged; return to top-level Emacs
@@ -450,7 +449,7 @@ to invoke the debugger.
@defun debug &rest debugger-args
This function enters the debugger. It switches buffers to a buffer
-named @samp{*Backtrace*} (or @samp{*Backtrace*<2>} if it is the second
+named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second
recursive entry to the debugger, etc.), and fills it with information
about the stack of Lisp function calls. It then enters a recursive
edit, showing the backtrace buffer in Debugger mode.
@@ -461,7 +460,7 @@ buffer and returns to whatever called @code{debug}. This is the only
way the function @code{debug} can return to its caller.
The use of the @var{debugger-args} is that @code{debug} displays the
-rest of its arguments at the top of the @samp{*Backtrace*} buffer, so
+rest of its arguments at the top of the @file{*Backtrace*} buffer, so
that the user can see them. Except as described below, this is the
@emph{only} way these arguments are used.
@@ -560,7 +559,7 @@ of @code{debug} (@pxref{Invoking the Debugger}).
@cindex call stack
This function prints a trace of Lisp function calls currently active.
This is the function used by @code{debug} to fill up the
-@samp{*Backtrace*} buffer. It is written in C, since it must have access
+@file{*Backtrace*} buffer. It is written in C, since it must have access
to the stack to determine which function calls are active. The return
value is always @code{nil}.
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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/display
@node Display, System Interface, Processes, Top
@chapter Emacs Display
@@ -268,7 +267,7 @@ objects for its format specifications, like in the @code{format}
function (@pxref{Formatting Strings}). The resulting formatted string
is displayed in the echo area; if it contains @code{face} text
properties, it is displayed with the specified faces (@pxref{Faces}).
-The string is also added to the @samp{*Messages*} buffer, but without
+The string is also added to the @file{*Messages*} buffer, but without
text properties (@pxref{Logging Messages}).
In batch mode, the message is printed to the standard error stream,
@@ -341,7 +340,7 @@ buffer is used, the window used to display it.
If @var{message} is a string, then the optional argument
@var{buffer-name} is the name of the buffer used to display it when a
-pop-up buffer is used, defaulting to @samp{*Message*}. In the case
+pop-up buffer is used, defaulting to @file{*Message*}. In the case
where @var{message} is a string and displayed in the echo area, it is
not specified whether the contents are inserted into the buffer anyway.
@@ -474,16 +473,16 @@ this macro this way:
@end defmac
@node Logging Messages
-@subsection Logging Messages in @samp{*Messages*}
+@subsection Logging Messages in @file{*Messages*}
@cindex logging echo-area messages
Almost all the messages displayed in the echo area are also recorded
-in the @samp{*Messages*} buffer so that the user can refer back to
+in the @file{*Messages*} buffer so that the user can refer back to
them. This includes all the messages that are output with
@code{message}.
@defopt message-log-max
-This variable specifies how many lines to keep in the @samp{*Messages*}
+This variable specifies how many lines to keep in the @file{*Messages*}
buffer. The value @code{t} means there is no limit on how many lines to
keep. The value @code{nil} disables message logging entirely. Here's
how 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:
@end example
@end defopt
- To make @samp{*Messages*} more convenient for the user, the logging
+ To make @file{*Messages*} more convenient for the user, the logging
facility combines successive identical messages. It also combines
successive related messages for the sake of two cases: question
followed by answer, and a series of progress messages.
@@ -624,7 +623,7 @@ and @var{type} as the warning type. @var{level} should be the
severity level, with @code{:warning} being the default.
@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer
-for logging the warning. By default, it is @samp{*Warnings*}.
+for logging the warning. By default, it is @file{*Warnings*}.
@end defun
@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
attributes in one frame (@pxref{Attribute Functions}).
@menu
-* Defining Faces:: How to define a face with @code{defface}.
+* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Attribute Functions:: Functions to examine and set face attributes.
* Displaying Faces:: How Emacs combines the faces specified for a character.
@@ -1904,22 +1903,17 @@ attributes in one frame (@pxref{Attribute Functions}).
@node Defining Faces
@subsection Defining Faces
- The way to define a new face is with @code{defface}. This creates a
-kind of customization item which the user can customize using the
-Customization buffer (@pxref{Customization}).
-
- People are sometimes tempted to create variables whose values specify
-which faces to use (for example, Font-Lock does this). In the vast
-majority of cases, this is not necessary, and simply using faces
-directly is preferable.
+ The @code{defface} macro defines a face and specifies its default
+appearance. The user can subsequently customize the face using the
+Customize interface (@pxref{Customization}).
@defmac defface face spec doc [keyword value]@dots{}
-This declares @var{face} as a customizable face whose default
+This macro declares @var{face} as a customizable face whose default
attributes are given by @var{spec}. You should not quote the symbol
@var{face}, and it should not end in @samp{-face} (that would be
-redundant). The argument @var{doc} specifies the face documentation.
-The keywords you can use in @code{defface} are the same as in
-@code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
+redundant). The argument @var{doc} is a documentation string for the
+face. The additional @var{keyword} arguments have the same meanings
+as in @code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
When @code{defface} executes, it defines the face according to
@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}
overrides any customizations of the face. This way, the face reflects
exactly what the @code{defface} says.
-The purpose of @var{spec} is to specify how the face should appear on
-different kinds of terminals. It should be an alist whose elements
-have the form @code{(@var{display} @var{atts})}. @var{display}
-specifies a class of terminals (see below), while @var{atts} is a
-property list of face attributes and their values, specifying the
-appearance of the face on matching terminals
+@cindex face specification
+The @var{spec} argument is a @dfn{face specification}, which states
+how the face should appear on different kinds of terminals. It should
+be an alist whose elements each have the form @code{(@var{display}
+@var{atts})}. @var{display} specifies a class of terminals (see
+below), while @var{atts} is a property list of face attributes and
+their values, specifying the appearance of the face on matching
+terminals
@iftex
(see the next section for details about face attributes).
@end iftex
@@ -2022,14 +2018,22 @@ frame must match one of the @var{value}s specified for it in
:group 'basic-faces)
@end example
- Internally, @code{defface} uses the symbol property
-@code{face-defface-spec} to record the specified face attributes. The
-attributes saved by the user with the customization buffer are
-recorded in the symbol property @code{saved-face}; the attributes
-customized by the user for the current session, but not saved, are
-recorded in the symbol property @code{customized-face}. The
-documentation string is recorded in the symbol property
-@code{face-documentation}.
+ Internally, Emacs stores the face's default specification in its
+@code{face-defface-spec} symbol property (@pxref{Property Lists}).
+The @code{saved-face} property stores the face specification saved by
+the user, using the customization buffer; the @code{customized-face}
+property stores the face specification customized for the current
+session, but not saved; and the @code{theme-face} property stores an
+alist associating the active customization settings and Custom themes
+with their specifications for that face. The face's documentation
+string is stored in the @code{face-documentation} property. But
+normally you should not try to set any of these properties directly.
+@xref{Applying Customizations}, for the @code{custom-set-faces}
+function, which is used to apply customized face settings.
+
+ People are sometimes tempted to create variables whose values
+specify a face to use. In the vast majority of cases, this is not
+necessary; it is preferable to simply use faces directly.
@defopt frame-background-mode
This option, if non-@code{nil}, specifies the background type to use for
@@ -2752,7 +2756,7 @@ For text matching a search command.
@itemx warning
@itemx success
For text concerning errors, warnings, or successes. For example,
-these are used for messages in @samp{*Compilation*} buffers.
+these are used for messages in @file{*Compilation*} buffers.
@end table
@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
saved outside window configuration---so that even if you turn saving
back @emph{on}, the current window configuration remains unchanged when
you next exit Edebug (by continuing the program). However, the
-automatic redisplay of @samp{*edebug*} and @samp{*edebug-trace*} may
+automatic redisplay of @file{*edebug*} and @file{*edebug-trace*} may
conflict with the buffers you wish to see unless you have enough windows
open.
@@ -661,18 +661,18 @@ lexically bound symbols created by the following constructs in
@node Eval List
@subsection Evaluation List Buffer
- You can use the @dfn{evaluation list buffer}, called @samp{*edebug*}, to
+ You can use the @dfn{evaluation list buffer}, called @file{*edebug*}, to
evaluate expressions interactively. You can also set up the
@dfn{evaluation list} of expressions to be evaluated automatically each
time Edebug updates the display.
@table @kbd
@item E
-Switch to the evaluation list buffer @samp{*edebug*}
+Switch to the evaluation list buffer @file{*edebug*}
(@code{edebug-visit-eval-list}).
@end table
- In the @samp{*edebug*} buffer you can use the commands of Lisp
+ In the @file{*edebug*} buffer you can use the commands of Lisp
Interaction mode (@pxref{Lisp Interaction,,, emacs, The GNU Emacs
Manual}) as well as these special commands:
@@ -699,7 +699,7 @@ Switch back to the source code buffer at the current stop point
@end table
You can evaluate expressions in the evaluation list window with
-@kbd{C-j} or @kbd{C-x C-e}, just as you would in @samp{*scratch*};
+@kbd{C-j} or @kbd{C-x C-e}, just as you would in @file{*scratch*};
but they are evaluated in the context outside of Edebug.
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
@kbd{C-c C-u}. You need not insert dashes in the comment line---its
contents don't matter.
-After selecting @samp{*edebug*}, you can return to the source code
-buffer with @kbd{C-c C-w}. The @samp{*edebug*} buffer is killed when
+After selecting @file{*edebug*}, you can return to the source code
+buffer with @kbd{C-c C-w}. The @file{*edebug*} buffer is killed when
you continue execution, and recreated next time it is needed.
@node Printing in Edebug
@@ -819,7 +819,7 @@ for details.
@cindex trace buffer
Edebug can record an execution trace, storing it in a buffer named
-@samp{*edebug-trace*}. This is a log of function calls and returns,
+@file{*edebug-trace*}. This is a log of function calls and returns,
showing the function names and their arguments and values. To enable
trace recording, set @code{edebug-trace} to a non-@code{nil} value.
@@ -1567,7 +1567,7 @@ The default value is @code{step}.
@defopt edebug-trace
If this is non-@code{nil}, trace each function entry and exit.
-Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
+Tracing output is displayed in a buffer named @file{*edebug-trace*}, one
function entry or exit per line, indented by the recursion level.
Also 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.
* Functions:: A function is a Lisp program
that can be invoked from other functions.
* Macros:: Macros are a way to extend the Lisp language.
-* Customization:: Writing customization declarations.
+* Customization:: Making variables and faces customizable.
* Loading:: Reading files of Lisp code into Lisp.
* Byte Compilation:: Compilation makes programs run faster.
@@ -500,6 +500,8 @@ Writing Customization Definitions
* Group Definitions:: Writing customization group definitions.
* Variable Definitions:: Declaring user options.
* Customization Types:: Specifying the type of a user option.
+* Applying Customizations:: Functions to apply customization settings.
+* Custom Themes:: Writing Custom themes.
Customization Types
@@ -1295,7 +1297,7 @@ Overlays
Faces
-* Defining Faces:: How to define a face with @code{defface}.
+* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Attribute Functions:: Functions to examine and set face attributes.
* 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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/errors
@node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top
@appendix Standard Errors
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/eval
@node Evaluation, Control Structures, Symbols, Top
@chapter Evaluation
@cindex evaluation
@@ -807,7 +806,7 @@ The value of this variable is a list of the values returned by all the
expressions that were read, evaluated, and printed from buffers
(including the minibuffer) by the standard Emacs commands which do
this. (Note that this does @emph{not} include evaluation in
-@samp{*ielm*} buffers, nor evaluation using @kbd{C-j} in
+@file{*ielm*} buffers, nor evaluation using @kbd{C-j} in
@code{lisp-interaction-mode}.) The elements are ordered most recent
first.
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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/files
@node Files, Backups and Auto-Saving, Documentation, Top
@comment node-name, next, previous, up
@chapter Files
@@ -2154,7 +2153,7 @@ double all @samp{$} characters to prevent subsequent incorrect
results.
@c Wordy to avoid overfull hbox. --rjc 15mar92
-Here we assume that the environment variable @code{HOME}, which holds
+Here we assume that the environment variable @env{HOME}, which holds
the user's home directory name, has value @samp{/xcssun/users/rms}.
@example
@@ -2239,9 +2238,9 @@ non-@code{nil}. To use it, you should expand the prefix against
the proper directory before calling @code{make-temp-file}.
@defopt temporary-file-directory
-@cindex @code{TMPDIR} environment variable
-@cindex @code{TMP} environment variable
-@cindex @code{TEMP} environment variable
+@cindex @env{TMPDIR} environment variable
+@cindex @env{TMP} environment variable
+@cindex @env{TEMP} environment variable
This variable specifies the directory name for creating temporary files.
Its value should be a directory name (@pxref{Directory Names}), but it
is 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
@code{expand-file-name} is a good way to achieve that.
The default value is determined in a reasonable way for your operating
-system; it is based on the @code{TMPDIR}, @code{TMP} and @code{TEMP}
+system; it is based on the @env{TMPDIR}, @env{TMP} and @env{TEMP}
environment variables, with a fall-back to a system-dependent name if
none of these variables is defined.
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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/frames
@node Frames, Positions, Windows, Top
@chapter Frames
@cindex frame
@@ -488,7 +487,7 @@ frame. @code{title} and @code{name} are meaningful on all terminals.
@item display
The display on which to open this frame. It should be a string of the
form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
-@code{DISPLAY} environment variable.
+@env{DISPLAY} environment variable.
@vindex display-type, a frame parameter
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/functions
@node Functions, Macros, Variables, Top
@chapter Functions
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 @@
@c -*-texinfo-*-
-@setfilename ../../info/gpl
@node GPL, Tips, GNU Free Documentation License, Top
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/hash
@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
@chapter Hash Tables
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/help
@node Documentation, Files, Modes, Top
@chapter Documentation
@cindex documentation strings
@@ -180,7 +179,7 @@ face.
@c Wordy to prevent overfull hboxes. --rjc 15mar92
Here is an example of using the two functions, @code{documentation} and
@code{documentation-property}, to display the documentation strings for
-several symbols in a @samp{*Help*} buffer.
+several symbols in a @file{*Help*} buffer.
@anchor{describe-symbols example}
@smallexample
@@ -535,7 +534,7 @@ seems to be as a match. Each of the remaining elements is a
documentation string, or @code{nil}, for @var{symbol} as a function,
variable, etc.
-It also displays the symbols in a buffer named @samp{*Apropos*}, each
+It also displays the symbols in a buffer named @file{*Apropos*}, each
with a one-line description taken from the beginning of its
documentation string.
@@ -648,7 +647,7 @@ certain documentation and text files that come with Emacs.
@defun help-buffer
This function returns the name of the help buffer, which is normally
-@samp{*Help*}; if such a buffer does not exist, it is first created.
+@file{*Help*}; if such a buffer does not exist, it is first created.
@end defun
@defmac with-help-window buffer-name body@dots{}
@@ -662,16 +661,16 @@ scroll the help window.
@end defmac
@defun help-setup-xref item interactive-p
-This function updates the cross reference data in the @samp{*Help*}
+This function updates the cross reference data in the @file{*Help*}
buffer, which is used to regenerate the help information when the user
clicks on the @samp{Back} or @samp{Forward} buttons. Most commands
-that use the @samp{*Help*} buffer should invoke this function before
+that use the @file{*Help*} buffer should invoke this function before
clearing the buffer. The @var{item} argument should have the form
@code{(@var{function} . @var{args})}, where @var{function} is a function
to call, with argument list @var{args}, to regenerate the help buffer.
The @var{interactive-p} argument is non-@code{nil} if the calling
command was invoked interactively; in that case, the stack of items
-for the @samp{*Help*} buffer's @samp{Back} buttons is cleared.
+for the @file{*Help*} buffer's @samp{Back} buttons is cleared.
@end defun
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/hooks
@node Standard Hooks, Index, Standard Keymaps, Top
@appendix Standard Hooks
@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 @@
@c -*-texinfo-*-
-@setfilename ../../info/index
@c Indexing guidelines
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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/internals
@node GNU Emacs Internals, Standard Errors, Tips, Top
@comment node-name, next, previous, up
@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 @@
@c -*-coding: iso-latin-1-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/intro
@node Introduction, Lisp Data Types, Top, Top
@comment node-name, next, previous, up
@@ -247,7 +246,7 @@ indicated with @samp{@equiv{}}.
Many of the examples in this manual print text when they are
evaluated. If you execute example code in a Lisp Interaction buffer
-(such as the buffer @samp{*scratch*}), the printed text is inserted into
+(such as the buffer @file{*scratch*}), the printed text is inserted into
the buffer. If you execute the example by other means (such as by
evaluating the function @code{eval-region}), the printed text is
displayed 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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/keymaps
@node Keymaps, Modes, Command Loop, Top
@chapter Keymaps
@cindex keymap
@@ -64,7 +63,7 @@ constituent events; thus, @code{"\C-xl"} represents the key sequence
@kbd{C-x l}.
Key sequences containing function keys, mouse button events, or
-non-ASCII characters such as @kbd{C-=} or @kbd{H-a} cannot be
+non-@acronym{ASCII} characters such as @kbd{C-=} or @kbd{H-a} cannot be
represented as strings; they have to be represented as vectors.
In the vector representation, each element of the vector represents
@@ -808,7 +807,7 @@ bindings.
@defun current-local-map
This function returns the current buffer's local keymap, or @code{nil}
if it has none. In the following example, the keymap for the
-@samp{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap
+@file{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap
in which the entry for @key{ESC}, @acronym{ASCII} code 27, is another sparse
keymap.
@@ -1922,7 +1921,7 @@ other command. However, if @var{no-remap} is non-@code{nil}.
@deffn Command describe-bindings &optional prefix buffer-or-name
This function creates a listing of all current key bindings, and
-displays it in a buffer named @samp{*Help*}. The text is grouped by
+displays it in a buffer named @file{*Help*}. The text is grouped by
modes---minor modes first, then the major mode, then global bindings.
If @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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/lists
@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
@chapter Lists
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/loading
@node Loading, Byte Compilation, Customization, Top
@chapter Loading
@cindex loading
@@ -235,7 +234,7 @@ it skips the latter group.
in a list of directories specified by the variable @code{load-path}.
@defvar load-path
-@cindex @code{EMACSLOADPATH} environment variable
+@cindex @env{EMACSLOADPATH} environment variable
The value of this variable is a list of directories to search when
loading files with @code{load}. Each element is a string (which must be
a directory name) or @code{nil} (which stands for the current working
@@ -375,7 +374,7 @@ strings are multibyte strings should not be noticeable, since
inserting them in unibyte buffers converts them to unibyte
automatically. However, if this does make a difference, you can force
a particular Lisp file to be interpreted as unibyte by writing
-@samp{-*-unibyte: t;-*-} in a comment on the file's first line. With
+@samp{unibyte: t} in a local variables section. With
that designator, the file will unconditionally be interpreted as
unibyte, even in an ordinary multibyte Emacs session. This can matter
when 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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/macros
@node Macros, Customization, Functions, Top
@chapter Macros
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/maps
@node Standard Keymaps, Standard Hooks, Standard Errors, Top
@appendix Standard Keymaps
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/markers
@node Markers, Text, Positions, Top
@chapter Markers
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/minibuf
@node Minibuffers, Command Loop, Read and Print, Top
@chapter Minibuffers
@cindex arguments, reading
@@ -1062,7 +1061,7 @@ using the value of the variable @code{minibuffer-completion-table} as
the @var{collection} argument, and the value of
@code{minibuffer-completion-predicate} as the @var{predicate} argument.
The list of completions is displayed as text in a buffer named
-@samp{*Completions*}.
+@file{*Completions*}.
@end deffn
@defun display-completion-list completions &optional common-substring
@@ -1756,7 +1755,7 @@ completion behavior is overridden. @xref{Completion Variables}.
The value should be a function for @dfn{annotating} completions. The
function should take one argument, @var{string}, which is a possible
completion. It should return a string, which is displayed after the
-completion @var{string} in the @samp{*Completions*} buffer.
+completion @var{string} in the @file{*Completions*} buffer.
@item display-sort-function
The 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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/modes
@node Modes, Documentation, Keymaps, Top
@chapter Major and Minor Modes
@cindex mode
@@ -628,7 +627,7 @@ have set.
This function sets the major mode of @var{buffer} to the default value of
@code{major-mode}; if that is @code{nil}, it uses the
current buffer's major mode (if that is suitable). As an exception,
-if @var{buffer}'s name is @samp{*scratch*}, it sets the mode to
+if @var{buffer}'s name is @file{*scratch*}, it sets the mode to
@code{initial-major-mode}.
The 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
@end defun
@defopt initial-major-mode
-@cindex @samp{*scratch*}
+@cindex @file{*scratch*}
The value of this variable determines the major mode of the initial
-@samp{*scratch*} buffer. The value should be a symbol that is a major
+@file{*scratch*} buffer. The value should be a symbol that is a major
mode command. The default value is @code{lisp-interaction-mode}.
@end defopt
@@ -908,7 +907,7 @@ common bindings, including @kbd{q} for @code{quit-window}, @kbd{z} for
(@pxref{Reverting}).
An example of a major mode derived from Special mode is Buffer Menu
-mode, which is used by the @samp{*Buffer List*} buffer. @xref{List
+mode, which is used by the @file{*Buffer List*} buffer. @xref{List
Buffers,,Listing Existing Buffers, emacs, The GNU Emacs Manual}.
@end deffn
@@ -1571,8 +1570,8 @@ rather than buffer-local. It defaults to @code{nil}.
One of the effects of making a minor mode global is that the
@var{mode} variable becomes a customization variable. Toggling it
-through the Custom interface turns the mode on and off, and its value
-can be saved for future Emacs sessions (@pxref{Saving
+through the Customize interface turns the mode on and off, and its
+value can be saved for future Emacs sessions (@pxref{Saving
Customizations,,, emacs, The GNU Emacs Manual}. For the saved
variable to work, you should ensure that the @code{define-minor-mode}
form 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
in Fundamental mode.
This defines the customization option @var{global-mode} (@pxref{Customization}),
-which can be toggled in the Custom interface to turn the minor mode on
+which can be toggled in the Customize interface to turn the minor mode on
and off. As with @code{define-minor-mode}, you should ensure that the
@code{define-globalized-minor-mode} form is evaluated each time Emacs
starts, 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}
This buffer-local variable contains the mode line information on process
status in modes used for communicating with subprocesses. It is
displayed immediately following the major mode name, with no intervening
-space. For example, its value in the @samp{*shell*} buffer is
+space. For example, its value in the @file{*shell*} buffer is
@code{(":%s")}, which allows the shell to display its status along
with the major mode as: @samp{(Shell:run)}. Normally this variable
is @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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/characters
@node Non-ASCII Characters, Searching and Matching, Text, Top
@chapter Non-@acronym{ASCII} Characters
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/numbers
@node Numbers, Strings and Characters, Lisp Data Types, Top
@chapter Numbers
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/objects
@node Lisp Data Types, Numbers, Introduction, Top
@chapter Lisp Data Types
@cindex object
@@ -352,7 +351,7 @@ following text.)
In addition to the specific escape sequences for special important
control characters, Emacs provides several types of escape syntax that
-you can use to specify non-ASCII text characters.
+you can use to specify non-@acronym{ASCII} text characters.
@cindex unicode character escape
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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/os
@node System Interface, Packaging, Display, Top
@chapter Operating System Interface
@@ -89,7 +88,7 @@ that Emacs is being initialized.
@c set-locale-environment
@item
It sets the language environment and the terminal coding system,
-if requested by environment variables such as @code{LANG}.
+if requested by environment variables such as @env{LANG}.
@item
It does some basic parsing of the command-line arguments.
@@ -170,7 +169,7 @@ measurement of how long it took.
It runs the normal hook @code{after-init-hook}.
@item
-If the buffer @samp{*scratch*} exists and is still in Fundamental mode
+If the buffer @file{*scratch*} exists and is still in Fundamental mode
(as it should be by default), it sets its major mode according to
@code{initial-major-mode}.
@@ -196,7 +195,7 @@ It now exits if the option @code{--batch} was specified.
@item
If @code{initial-buffer-choice} is a string, it visits the file with
-that name. If the @samp{*scratch*} buffer exists and is
+that name. If the @file{*scratch*} buffer exists and is
empty, it inserts @code{initial-scratch-message} into that buffer.
@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.
@defopt inhibit-startup-screen
This variable, if non-@code{nil}, inhibits the startup screen. In
-that case, Emacs typically displays the @samp{*scratch*} buffer; but
+that case, Emacs typically displays the @file{*scratch*} buffer; but
see @code{initial-buffer-choice}, below.
Do not set this variable in the init file of a new user, or in a way
@@ -274,7 +273,7 @@ startup screen.
@ignore
@c I do not think this should be mentioned. AFAICS it is just a dodge
@c around inhibit-startup-screen not being settable on a site-wide basis.
-If its value is @code{t}, Emacs displays the @samp{*scratch*} buffer.
+If its value is @code{t}, Emacs displays the @file{*scratch*} buffer.
@end ignore
@end defopt
@@ -290,17 +289,17 @@ form to your init file:
Emacs explicitly checks for an expression as shown above in your init
file; your login name must appear in the expression as a Lisp string
-constant. You can also use the Custom interface. Other methods of setting
-@code{inhibit-startup-echo-area-message} to the same value do not
-inhibit the startup message. This way, you can easily inhibit the
+constant. You can also use the Customize interface. Other methods of
+setting @code{inhibit-startup-echo-area-message} to the same value do
+not inhibit the startup message. This way, you can easily inhibit the
message for yourself if you wish, but thoughtless copying of your init
file will not inhibit the message for someone else.
@end defopt
@defopt initial-scratch-message
This variable, if non-@code{nil}, should be a string, which is
-inserted into the @samp{*scratch*} buffer when Emacs starts up. If it
-is @code{nil}, the @samp{*scratch*} buffer is empty.
+inserted into the @file{*scratch*} buffer when Emacs starts up. If it
+is @code{nil}, the @file{*scratch*} buffer is empty.
@end defopt
@noindent
@@ -352,8 +351,8 @@ control whether and where to find the init file; @samp{-q} (and the
stronger @samp{-Q}) says not to load an init file, while @samp{-u
@var{user}} says to load @var{user}'s init file instead of yours.
@xref{Entering Emacs,,, emacs, The GNU Emacs Manual}. If neither
-option is specified, Emacs uses the @code{LOGNAME} environment
-variable, or the @code{USER} (most systems) or @code{USERNAME} (MS
+option is specified, Emacs uses the @env{LOGNAME} environment
+variable, or the @env{USER} (most systems) or @env{USERNAME} (MS
systems) variable, to find your home directory and thus your init
file; this way, even if you have su'd, Emacs still loads your own init
file. 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
Each terminal type can have its own Lisp library that Emacs loads when
run on that type of terminal. The library's name is constructed by
concatenating the value of the variable @code{term-file-prefix} and the
-terminal type (specified by the environment variable @code{TERM}).
+terminal type (specified by the environment variable @env{TERM}).
Normally, @code{term-file-prefix} has the value
@code{"term/"}; changing this is not recommended. Emacs finds the file
in 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
have their own libraries. @xref{Hooks}.
@defvar term-file-prefix
-@cindex @code{TERM} environment variable
+@cindex @env{TERM} environment variable
If the value of this variable is non-@code{nil}, Emacs loads a
terminal-specific initialization file as follows:
@@ -481,7 +480,7 @@ You may set the @code{term-file-prefix} variable to @code{nil} in your
init file if you do not wish to load the
terminal-initialization file.
-On MS-DOS, Emacs sets the @code{TERM} environment variable to @samp{internal}.
+On MS-DOS, Emacs sets the @env{TERM} environment variable to @samp{internal}.
@end defvar
@defvar term-setup-hook
@@ -1010,7 +1009,7 @@ value is @code{":"} for Unix and GNU systems, and @code{";"} for MS systems.
@defun parse-colon-path path
This function takes a search path string such as the value of
-the @code{PATH} environment variable, and splits it at the separators,
+the @env{PATH} environment variable, and splits it at the separators,
returning a list of directory names. @code{nil} in this list means
the current directory. Although the function's name says
``colon'', it actually uses the value of @code{path-separator}.
@@ -1113,7 +1112,7 @@ want to use the default value.
@defun user-login-name &optional uid
This function returns the name under which the user is logged in.
-It uses the environment variables @code{LOGNAME} or @code{USER} if
+It uses the environment variables @env{LOGNAME} or @env{USER} if
either is set. Otherwise, the value is based on the effective
@acronym{UID}, not the real @acronym{UID}.
@@ -1124,12 +1123,12 @@ corresponds to @var{uid}, or @code{nil} if there is no such user.
@defun user-real-login-name
This function returns the user name corresponding to Emacs's real
@acronym{UID}. This ignores the effective @acronym{UID}, and the
-environment variables @code{LOGNAME} and @code{USER}.
+environment variables @env{LOGNAME} and @env{USER}.
@end defun
@defun user-full-name &optional uid
This function returns the full name of the logged-in user---or the value
-of the environment variable @code{NAME}, if that is set.
+of the environment variable @env{NAME}, if that is set.
If the Emacs process's user-id does not correspond to any known user (and
provided @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
as a list of integers) to analyze instead of the current time.
@end defun
-The current time zone is determined by the @samp{TZ} environment
+The current time zone is determined by the @env{TZ} environment
variable. @xref{System Environment}. For example, you can tell Emacs
-to use universal time with @code{(setenv "TZ" "UTC0")}. If @samp{TZ}
+to use universal time with @code{(setenv "TZ" "UTC0")}. If @env{TZ}
is not in the environment, Emacs uses a platform-dependent default
time zone.
@@ -1325,7 +1324,7 @@ yourself before you call @code{encode-time}.
The optional argument @var{zone} defaults to the current time zone and
its daylight saving time rules. If specified, it can be either a list
(as you would get from @code{current-time-zone}), a string as in the
-@code{TZ} environment variable, @code{t} for Universal Time, or an
+@env{TZ} environment variable, @code{t} for Universal Time, or an
integer (as you would get from @code{decode-time}). The specified
zone is used without any further alteration for daylight saving time.
@@ -2233,7 +2232,7 @@ non-@code{nil}, Emacs tells the session manager to cancel the
shutdown.
@end defvar
-Here is an example that just inserts some text into @samp{*scratch*} when
+Here is an example that just inserts some text into @file{*scratch*} when
Emacs is restarted by the session manager.
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2010-2012 Free Software Foundation, Inc.
+@c Copyright (C) 2010-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/package
@node Packaging, Antinews, System Interface, Top
@chapter Preparing Lisp code for distribution
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/positions
@node Positions, Markers, Frames, Top
@chapter Positions
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/processes
@node Processes, Display, Abbrevs, Top
@chapter Processes
@cindex child process
@@ -77,14 +76,14 @@ sections. Since the three functions are all called in a similar
fashion, their common arguments are described here.
@cindex execute program
-@cindex @code{PATH} environment variable
-@cindex @code{HOME} environment variable
+@cindex @env{PATH} environment variable
+@cindex @env{HOME} environment variable
In all cases, the function's @var{program} argument specifies the
program to be run. An error is signaled if the file is not found or
cannot be executed. If the file name is relative, the variable
@code{exec-path} contains a list of directories to search. Emacs
initializes @code{exec-path} when it starts up, based on the value of
-the environment variable @code{PATH}. The standard file name
+the environment variable @env{PATH}. The standard file name
constructs, @samp{~}, @samp{.}, and @samp{..}, are interpreted as
usual in @code{exec-path}, but environment variable substitutions
(@samp{$HOME}, etc.) are not recognized; use
@@ -268,6 +267,9 @@ system, much like text written into a file. @xref{Coding Systems}.
@defun call-process program &optional infile destination display &rest args
This function calls @var{program} and waits for it to finish.
+The current working directory of the subprocess is
+@code{default-directory}.
+
The standard input for the new process comes from file @var{infile} if
@var{infile} is not @code{nil}, and from the null device otherwise.
The 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,
it finally deletes any process whose status was @samp{Exited} or
@samp{Signaled}. It returns @code{nil}.
-The processes are shown in a buffer named @samp{*Process List*}, whose
+The processes are shown in a buffer named @file{*Process List*}, whose
major mode is named Process Menu mode.
If @var{query-only} is non-@code{nil} then it lists only processes
@@ -1629,35 +1631,17 @@ This returns the query flag of @var{process}.
This function sets the query flag of @var{process} to @var{flag}. It
returns @var{flag}.
+Here is an example of using @code{set-process-query-on-exit-flag} on a
+shell process to avoid querying:
+
@smallexample
@group
-;; @r{Don't query about the shell process}
(set-process-query-on-exit-flag (get-process "shell") nil)
@result{} t
@end group
@end smallexample
@end defun
-@defun process-kill-without-query process &optional do-query
-This function clears the query flag of @var{process}, so that
-Emacs will not query the user on account of that process.
-
-Actually, the function does more than that: it returns the old value of
-the process's query flag, and sets the query flag to @var{do-query}.
-Please don't use this function to do those things any more---please
-use the newer, cleaner functions @code{process-query-on-exit-flag} and
-@code{set-process-query-on-exit-flag} in all but the simplest cases.
-The only way you should use @code{process-kill-without-query} nowadays
-is like this:
-
-@smallexample
-@group
-;; @r{Don't query about the shell process}
-(process-kill-without-query (get-process "shell"))
-@end group
-@end smallexample
-@end defun
-
@node System Processes
@section Accessing Other Processes
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/searching
@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@chapter Searching and Matching
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/sequences
@node Sequences Arrays Vectors, Hash Tables, Lists, Top
@chapter Sequences, Arrays, and Vectors
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/streams
@node Read and Print, Minibuffers, Debugging, Top
@comment node-name, next, previous, up
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/strings
@node Strings and Characters, Lists, Numbers, Top
@comment node-name, next, previous, up
@chapter Strings and Characters
@@ -1117,7 +1116,7 @@ Exits}).
@acronym{ASCII} characters; for example, in the Turkish language
environment, the @acronym{ASCII} character @samp{I} is downcased into
a Turkish ``dotless i''. This can interfere with code that requires
-ordinary ASCII case conversion, such as implementations of
+ordinary @acronym{ASCII} case conversion, such as implementations of
@acronym{ASCII}-based network protocols. In that case, use the
@code{with-case-table} macro with the variable @var{ascii-case-table},
which 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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/symbols
@node Symbols, Evaluation, Hash Tables, Top
@chapter Symbols
@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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/syntax
@node Syntax Tables, Abbrevs, Searching and Matching, Top
@chapter Syntax Tables
@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 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/text
@node Text, Non-ASCII Characters, Markers, Top
@chapter Text
@cindex text
@@ -4345,7 +4344,7 @@ changed text, its length is simply the difference between the first two
arguments.
@end defvar
- Output of messages into the @samp{*Messages*} buffer does not
+ Output of messages into the @file{*Messages*} buffer does not
call these functions.
@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 @@
@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/tips
@node Tips, GNU Emacs Internals, GPL, Top
@appendix Tips and Conventions
@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 @@
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/variables
@node Variables, Functions, Control Structures, Top
@chapter Variables
@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}.
* Functions:: A function is a Lisp program
that can be invoked from other functions.
* Macros:: Macros are a way to extend the Lisp language.
-* Customization:: Writing customization declarations.
+* Customization:: Making variables and faces customizable.
* Loading:: Reading files of Lisp code into Lisp.
* Byte Compilation:: Compilation makes programs run faster.
@@ -520,6 +520,8 @@ Writing Customization Definitions
* Group Definitions:: Writing customization group definitions.
* Variable Definitions:: Declaring user options.
* Customization Types:: Specifying the type of a user option.
+* Applying Customizations:: Functions to apply customization settings.
+* Custom Themes:: Writing Custom themes.
Customization Types
@@ -1317,7 +1319,7 @@ Overlays
Faces
-* Defining Faces:: How to define a face with @code{defface}.
+* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Attribute Functions:: Functions to examine and set face attributes.
* 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}.
* Functions:: A function is a Lisp program
that can be invoked from other functions.
* Macros:: Macros are a way to extend the Lisp language.
-* Customization:: Writing customization declarations.
+* Customization:: Making variables and faces customizable.
* Loading:: Reading files of Lisp code into Lisp.
* Byte Compilation:: Compilation makes programs run faster.
@@ -519,6 +519,8 @@ Writing Customization Definitions
* Group Definitions:: Writing customization group definitions.
* Variable Definitions:: Declaring user options.
* Customization Types:: Specifying the type of a user option.
+* Applying Customizations:: Functions to apply customization settings.
+* Custom Themes:: Writing Custom themes.
Customization Types
@@ -1316,7 +1318,7 @@ Overlays
Faces
-* Defining Faces:: How to define a face with @code{defface}.
+* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Attribute Functions:: Functions to examine and set face attributes.
* 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 @@
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/windows
@node Windows, Frames, Buffers, Top
@chapter Windows
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 @@
+2012-04-14 Alan Mackenzie <acm@muc.de>
+
+ * cc-mode.texi (c-offsets-alist): Correct a typo.
+
+2012-04-14 Jérémie Courrèges-Anglas <jca@wxcvbn.org> (tiny change)
+
+ * org.texi (Deadlines and scheduling): Fix the example: the
+ DEADLINE item should come right after the headline. We enforce
+ this convention, so it is a bug not to illustrate it correctly in
+ the manual.
+
+2012-04-14 Ippei FURUHASHI <top.tuna+orgmode@gmail.com> (tiny change)
+
+ * org.texi (Agenda commands): Fix documentation bug by swapping
+ the equivalent keybindings to `org-agenda-next-line' with the ones
+ to `org-agenda-previous-line'.
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
2012-04-09 Eli Zaretskii <eliz@gnu.org>
* 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 @@
#### Makefile for documentation other than the Emacs manual.
-# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@@ -227,235 +227,237 @@ pdf: $(PDF_TARGETS)
# to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.
+# Note: "<" is not portable in ordinary make rules.
+
## "short" target names for convenience, to just rebuild one manual.
ada-mode : $(infodir)/ada-mode
$(infodir)/ada-mode: ada-mode.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ada-mode.texi
ada-mode.dvi: ${srcdir}/ada-mode.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
ada-mode.pdf: ${srcdir}/ada-mode.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
auth : $(infodir)/auth
$(infodir)/auth: auth.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) auth.texi
auth.dvi: ${srcdir}/auth.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
auth.pdf: ${srcdir}/auth.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
autotype : $(infodir)/autotype
$(infodir)/autotype: autotype.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) autotype.texi
autotype.dvi: ${srcdir}/autotype.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
autotype.pdf: ${srcdir}/autotype.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
calc : $(infodir)/calc
$(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) calc.texi
calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
ccmode : $(infodir)/ccmode
$(infodir)/ccmode: cc-mode.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) cc-mode.texi
cc-mode.dvi: ${srcdir}/cc-mode.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
cc-mode.pdf: ${srcdir}/cc-mode.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
cl : $(infodir)/cl
$(infodir)/cl: cl.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) cl.texi
cl.dvi: ${srcdir}/cl.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
cl.pdf: ${srcdir}/cl.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
dbus : $(infodir)/dbus
$(infodir)/dbus: dbus.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) dbus.texi
dbus.dvi: ${srcdir}/dbus.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
dbus.pdf: ${srcdir}/dbus.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
dired-x : $(infodir)/dired-x
$(infodir)/dired-x: dired-x.texi $(emacsdir)/emacsver.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) dired-x.texi
dired-x.dvi: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
dired-x.pdf: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
ebrowse : $(infodir)/ebrowse
$(infodir)/ebrowse: ebrowse.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ebrowse.texi
ebrowse.dvi: ${srcdir}/ebrowse.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
ebrowse.pdf: ${srcdir}/ebrowse.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
ede : $(infodir)/ede
$(infodir)/ede: ede.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ede.texi
ede.dvi: ${srcdir}/ede.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
ede.pdf: ${srcdir}/ede.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
ediff : $(infodir)/ediff
$(infodir)/ediff: ediff.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ediff.texi
ediff.dvi: ${srcdir}/ediff.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
ediff.pdf: ${srcdir}/ediff.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
edt : $(infodir)/edt
$(infodir)/edt: edt.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) edt.texi
edt.dvi: ${srcdir}/edt.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
edt.pdf: ${srcdir}/edt.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
eieio : $(infodir)/eieio
$(infodir)/eieio: eieio.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eieio.texi
eieio.dvi: ${srcdir}/eieio.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
eieio.pdf: ${srcdir}/eieio.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
emacs-gnutls : $(infodir)/emacs-gnutls
$(infodir)/emacs-gnutls: emacs-gnutls.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) emacs-gnutls.texi
emacs-gnutls.dvi: ${srcdir}/emacs-gnutls.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi
emacs-gnutls.pdf: ${srcdir}/emacs-gnutls.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi
emacs-mime : $(infodir)/emacs-mime
$(infodir)/emacs-mime: emacs-mime.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding emacs-mime.texi
emacs-mime.dvi: ${srcdir}/emacs-mime.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
emacs-mime.pdf: ${srcdir}/emacs-mime.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
epa : $(infodir)/epa
$(infodir)/epa: epa.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) epa.texi
epa.dvi: ${srcdir}/epa.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
epa.pdf: ${srcdir}/epa.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
erc : $(infodir)/erc
$(infodir)/erc: erc.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) erc.texi
erc.dvi: ${srcdir}/erc.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
erc.pdf: ${srcdir}/erc.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
ert : $(infodir)/ert
$(infodir)/ert: ert.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ert.texi
ert.dvi: ${srcdir}/ert.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi
ert.pdf: ${srcdir}/ert.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi
eshell : $(infodir)/eshell
$(infodir)/eshell: eshell.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eshell.texi
eshell.dvi: ${srcdir}/eshell.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
eshell.pdf: ${srcdir}/eshell.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi
eudc : $(infodir)/eudc
$(infodir)/eudc: eudc.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) eudc.texi
eudc.dvi: ${srcdir}/eudc.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
eudc.pdf: ${srcdir}/eudc.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
efaq : $(infodir)/efaq
$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) faq.texi
faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi
## This is the name used on the Emacs web-page.
## sed fixes up links to point to split version of the manual.
emacs-faq.html: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
$(MAKEINFO) $(MAKEINFO_OPTS) --no-split \
- --css-ref='/layout.css' --html -o $@ $<
+ --css-ref='/layout.css' --html -o $@ ${srcdir}/faq.texi
sed -i -e 's|a href="\([a-z]*\)\.html#\([^"]*\)"|a href="manual/html_node/\1/\2.html"|g' \
-e 's|/Top\.html|/|g' $@
emacs-faq.text: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
- $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ $<
+ $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ ${srcdir}/faq.texi
flymake : $(infodir)/flymake
$(infodir)/flymake: flymake.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) flymake.texi
flymake.dvi: ${srcdir}/flymake.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
flymake.pdf: ${srcdir}/flymake.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
forms : $(infodir)/forms
$(infodir)/forms: forms.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) forms.texi
forms.dvi: ${srcdir}/forms.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
forms.pdf: ${srcdir}/forms.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi
# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
gnus : $(infodir)/gnus
$(infodir)/gnus: gnus.texi gnus-faq.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) gnus.texi
gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi
- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
+ sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
$(ENVADD) $(TEXI2DVI) gnustmp.texi
cp gnustmp.dvi $*.dvi
rm gnustmp.*
gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi
- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
+ sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
$(ENVADD) $(TEXI2PDF) gnustmp.texi
cp gnustmp.pdf $@
rm gnustmp.*
@@ -465,11 +467,11 @@ gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi
idlwave : $(infodir)/idlwave
$(infodir)/idlwave: idlwave.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split idlwave.texi
idlwave.dvi: ${srcdir}/idlwave.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
idlwave.pdf: ${srcdir}/idlwave.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
# The following target uses an explicit -o switch to work around
# the @setfilename directive in info.texi, which is required for
@@ -477,227 +479,227 @@ idlwave.pdf: ${srcdir}/idlwave.texi
###info : $(infodir)/info # circular!
$(infodir)/info: info.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $< -o $@
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split -o $@ info.texi
info.dvi: ${srcdir}/info.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
info.pdf: ${srcdir}/info.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
mairix-el : $(infodir)/mairix-el
$(infodir)/mairix-el: mairix-el.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) mairix-el.texi
mairix-el.dvi: ${srcdir}/mairix-el.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
mairix-el.pdf: ${srcdir}/mairix-el.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
message : $(infodir)/message
$(infodir)/message: message.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) message.texi
message.dvi: ${srcdir}/message.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
message.pdf: ${srcdir}/message.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
mh-e : $(infodir)/mh-e
$(infodir)/mh-e: mh-e.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) mh-e.texi
mh-e.dvi: ${srcdir}/mh-e.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
mh-e.pdf: ${srcdir}/mh-e.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
newsticker : $(infodir)/newsticker
$(infodir)/newsticker: newsticker.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) newsticker.texi
newsticker.dvi: ${srcdir}/newsticker.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
newsticker.pdf: ${srcdir}/newsticker.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
nxml-mode : $(infodir)/nxml-mode
$(infodir)/nxml-mode: nxml-mode.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) nxml-mode.texi
nxml-mode.dvi: ${srcdir}/nxml-mode.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
nxml-mode.pdf: ${srcdir}/nxml-mode.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
org : $(infodir)/org
$(infodir)/org: org.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) org.texi
org.dvi: ${srcdir}/org.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
org.pdf: ${srcdir}/org.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
pcl-cvs : $(infodir)/pcl-cvs
$(infodir)/pcl-cvs: pcl-cvs.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) pcl-cvs.texi
pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
pgg : $(infodir)/pgg
$(infodir)/pgg: pgg.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) pgg.texi
pgg.dvi: ${srcdir}/pgg.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
pgg.pdf: ${srcdir}/pgg.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
rcirc : $(infodir)/rcirc
$(infodir)/rcirc: rcirc.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) rcirc.texi
rcirc.dvi: ${srcdir}/rcirc.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
rcirc.pdf: ${srcdir}/rcirc.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
reftex : $(infodir)/reftex
$(infodir)/reftex: reftex.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) reftex.texi
reftex.dvi: ${srcdir}/reftex.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
reftex.pdf: ${srcdir}/reftex.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
remember : $(infodir)/remember
$(infodir)/remember: remember.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) remember.texi
remember.dvi: ${srcdir}/remember.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
remember.pdf: ${srcdir}/remember.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
sasl : $(infodir)/sasl
$(infodir)/sasl: sasl.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sasl.texi
sasl.dvi: ${srcdir}/sasl.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
sasl.pdf: ${srcdir}/sasl.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
sc : $(infodir)/sc
$(infodir)/sc: sc.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sc.texi
sc.dvi: ${srcdir}/sc.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
sc.pdf: ${srcdir}/sc.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
semantic : $(infodir)/semantic
$(infodir)/semantic: semantic.texi sem-user.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) semantic.texi
semantic.dvi: ${srcdir}/semantic.texi sem-user.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
semantic.pdf: ${srcdir}/semantic.texi sem-user.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
ses : $(infodir)/ses
$(infodir)/ses: ses.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) ses.texi
ses.dvi: ${srcdir}/ses.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
ses.pdf: ${srcdir}/ses.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
sieve : $(infodir)/sieve
$(infodir)/sieve: sieve.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) sieve.texi
sieve.dvi: ${srcdir}/sieve.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
sieve.pdf: ${srcdir}/sieve.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
smtpmail : $(infodir)/smtpmail
$(infodir)/smtpmail: smtpmail.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) smtpmail.texi
smtpmail.dvi: ${srcdir}/smtpmail.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
smtpmail.pdf: ${srcdir}/smtpmail.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
speedbar : $(infodir)/speedbar
$(infodir)/speedbar: speedbar.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) speedbar.texi
speedbar.dvi: ${srcdir}/speedbar.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
speedbar.pdf: ${srcdir}/speedbar.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
tramp : $(infodir)/tramp
$(infodir)/tramp: tramp.texi trampver.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) -D emacs $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) -D emacs tramp.texi
tramp.dvi: ${srcdir}/tramp.texi trampver.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
tramp.pdf: ${srcdir}/tramp.texi trampver.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
url : $(infodir)/url
$(infodir)/url: url.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) url.texi
url.dvi: ${srcdir}/url.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
url.pdf: ${srcdir}/url.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
vip : $(infodir)/vip
$(infodir)/vip: vip.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) vip.texi
vip.dvi: ${srcdir}/vip.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
vip.pdf: ${srcdir}/vip.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
viper : $(infodir)/viper
$(infodir)/viper: viper.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) viper.texi
viper.dvi: ${srcdir}/viper.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
viper.pdf: ${srcdir}/viper.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
widget : $(infodir)/widget
$(infodir)/widget: widget.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) widget.texi
widget.dvi: ${srcdir}/widget.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
widget.pdf: ${srcdir}/widget.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
woman : $(infodir)/woman
$(infodir)/woman: woman.texi
$(mkinfodir)
- cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $<
+ cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) woman.texi
woman.dvi: ${srcdir}/woman.texi
- $(ENVADD) $(TEXI2DVI) $<
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
woman.pdf: ${srcdir}/woman.texi
- $(ENVADD) $(TEXI2PDF) $<
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi
.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.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This section explains the structure and semantics of the style
-variable @code{c-offset-alist}, the principal variable for configuring
+variable @code{c-offsets-alist}, the principal variable for configuring
indentation. Details of how to set it up, and its relationship to
@ccmode{}'s style system are given in @ref{Style Variables}.
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 @@
@setfilename ../../info/org
@settitle The Org Manual
-@set VERSION 7.8.07
-@set DATE March 2012
+@set VERSION 7.8.09
+@set DATE April 2012
@c Use proper quote and backtick for code sections in PDF output
@c Cf. Texinfo manual 14.2
@@ -5698,8 +5698,8 @@ until the entry is marked DONE. An example:
@example
*** TODO write article about the Earth for the Guide
- The editor in charge is [[bbdb:Ford Prefect]]
DEADLINE: <2004-02-29 Sun>
+ The editor in charge is [[bbdb:Ford Prefect]]
@end example
You 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.
@tsubheading{Motion}
@cindex motion commands in agenda
@orgcmd{n,org-agenda-next-line}
-Next line (same as @key{up} and @kbd{C-p}).
+Next line (same as @key{down} and @kbd{C-n}).
@orgcmd{p,org-agenda-previous-line}
-Previous line (same as @key{down} and @kbd{C-n}).
+Previous line (same as @key{up} and @kbd{C-p}).
@tsubheading{View/Go to Org file}
@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up}
Display 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
broad range of other applications. @LaTeX{} export lets you use Org mode and
its structured editing functions to easily create @LaTeX{} files. DocBook
export makes it possible to convert Org files to many other formats using
-DocBook tools. OpenDocument Text(ODT) export allows seamless
+DocBook tools. OpenDocument Text (ODT) export allows seamless
collaboration across organizational boundaries. For project management you
can create gantt and resource charts by using TaskJuggler export. To
incorporate entries with associated times like deadlines or appointments into
a desktop calendar program like iCal, Org mode can also produce extracts in
-the iCalendar format. Currently Org mode only supports export, not import of
+the iCalendar format. Currently, Org mode only supports export, not import of
these different formats.
Org 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}).
If you have a working installation of LibreOffice, a document converter is
pre-configured for you and you can use it right away. If you would like to
use @file{unoconv} as your preferred converter, customize the variable
-@code{org-export-odt-convert-process} to point to @code{unoconv}. If you
-would like to use a converter of your own choosing or tweak the default
-settings of the default @file{LibreOffice} and @samp{unoconv} converters
-@xref{Configuring a document converter}.
+@code{org-export-odt-convert-process} to point to @code{unoconv}. You can
+also use your own favorite converter or tweak the default settings of the
+@file{LibreOffice} and @samp{unoconv} converters. @xref{Configuring a
+document converter}.
@subsubsection Automatically exporting to other formats
@anchor{x-export-to-other-formats}
@@ -11206,7 +11206,7 @@ that the @file{dvipng} program be available on your system.
For various reasons, you may find embedding @LaTeX{} math snippets in an
ODT document less than reliable. In that case, you can embed a
-math equation by linking to its MathML(@file{.mml}) source or its
+math equation by linking to its MathML (@file{.mml}) source or its
OpenDocument formula (@file{.odf}) file as shown below:
@example
@@ -11269,7 +11269,7 @@ Illustration 2: Bell curve
Export of literal examples (@pxref{Literal examples}) with full fontification
is supported. Internally, the exporter relies on @file{htmlfontify.el} to
generate all style definitions needed for a fancy listing.@footnote{Your
-@file{htmlfontify.el} library must atleast be at Emacs 24.1 levels for
+@file{htmlfontify.el} library must at least be at Emacs 24.1 levels for
fontification to be turned on.} The auto-generated styles have @samp{OrgSrc}
as prefix and inherit their color from the faces used by Emacs
@code{font-lock} library for the source language.
@@ -11318,10 +11318,9 @@ the variable @code{org-export-odt-convert-processes}. Also specify how the
converter can be invoked via command-line to effect the conversion.
@item Configure its capabilities
-@vindex org-export-odt-convert-capabilities
+@vindex org-export-odt-convert-capabilities
@anchor{x-odt-converter-capabilities}
-
Specify the set of formats the converter can handle by customizing the
variable @code{org-export-odt-convert-capabilities}. Use the default value
for this variable as a guide for configuring your converter. As suggested by
@@ -11460,7 +11459,7 @@ regular text.
@end example
@strong{Hint:} To see the above example in action, edit your
-@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
+@file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
custom @samp{Highlight} style as shown below.
@example
@@ -11479,7 +11478,7 @@ directive. For example, to force a page break do the following:
@end example
@strong{Hint:} To see the above example in action, edit your
-@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
+@file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
custom @samp{PageBreak} style as shown below.
@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.
* Editing Changes in Emacs 24.2
+
+** M-x move-to-column, if called interactively with no prefix arg, now
+prompts for a column number.
+
+** `mouse-avoidance-banish-position' can now be used to customize
+`mouse-avoidance-mode' further.
+
+** `C-M-f' and `C-M-b' will now move to the path name separator
+character when doing minibuffer filename prompts.
+
* Changes in Specialized Modes and Packages in Emacs 24.2
+** which-function-mode now applies to all applicable major modes by default.
+
** erc will look up server/channel names via auth-source and use the
channel keys found, if any.
+** Obsolete packages:
+
+*** mailpost.el
+
+*** mouse-sel.el
+
* New Modes and Packages in Emacs 24.2
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
** Bidirectional editing
+*** Support reordering structured text
+Two important use cases: (1) comments and strings in program sources,
+and (2) text with markup, like HTML or XML.
+
+One idea is to invent a special text property that would instruct the
+display engine to reorder only the parts of buffer text covered by
+that property. The display engine will then push its state onto the
+iterator stack, restrict the bidi iterator to accessing only the
+portion of buffer text covered by the property, reorder the text, then
+pop its state from stack and continue as usual. This will require
+minor changes in the bidi_it structure.
+
+This design requires Lisp-level code to put the text properties on the
+relevant parts of the buffer text. That could be done using JIT
+fontifications, or as a preliminary processing when the file is
+visited. With HTML/XML, the code that puts text properties needs to
+pay attention to the bidi directives embedded in the HTML/XML stream.
+
*** Allow the user to control the direction of the UI
**** Introduce user option to control direction of mode line.
-This requires to figure out what to do with unibyte strings that are
-used in constructing the mode line. Currently, unibyte strings are
-not reordered by bidi.c, without which R2L mode line will not display
-correctly. One possibility would be to STRING_SET_MULTIBYTE all Lisp
-strings involved in the mode line, and then pass them through bidi.c.
-
-Another problem is the header line, which is produced by the same
-routines as the mode line. While it makes sense to have the mode-line
+One problem is the header line, which is produced by the same routines
+as the mode line. While it makes sense to have the mode-line
direction controlled by a single global variable, header lines are
buffer-specific, so they need a separate treatment in this regard.
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 @@
% Reference Card for Org Mode
-\def\orgversionnumber{7.8.07}
+\def\orgversionnumber{7.8.09}
\def\versionyear{2012} % latest update
\def\year{2012} % latest copyright year
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 @@
-2012-04-09 Paul Eggert <eggert@cs.ucla.edu>
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
configure: new option --enable-gcc-warnings (Bug#11207)
* Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
+ * emacsclient.c (decode_options) [WINDOWSNT]:
+ Call ttyname instead of passing its address (typo in 2011-12-04T17:13:01Z!lekktu@gmail.com).
+
2012-04-07 Eli Zaretskii <eliz@gnu.org>
* 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)
server.el check whether it makes sense. */
if (tty || !current_frame)
{
- display = (const char *) ttyname;
+ display = (const char *) ttyname (0); /* Arg is ignored. */
current_frame = 0;
tty = 1;
}
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 135f01d6268..1974a7a5af1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,225 @@
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook.
+ (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix.
+ (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions)
+ (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017)
+
+2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/which-func.el (which-func-modes): Change default.
+
+2012-04-14 Kim F. Storm <storm@cua.dk>
+
+ * emulation/cua-base.el (cua-exchange-point-and-mark): Just call
+ exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
+
+2012-04-14 Chong Yidong <cyd@gnu.org>
+
+ * custom.el (custom-theme-set-variables): Doc fix.
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * international/mule.el (set-auto-coding-for-load): Doc fix.
+
+2012-04-14 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make
+ imenu work again for Objective C Mode. Correct the *-index values,
+ these having been disturbed by a previous change in 2011-08.
+
+ * progmodes/cc-engine.el (c-before-change-check-<>-operators):
+ Correct two search limits.
+
+2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
+
+2012-04-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * international/characters.el: Fix sorting.
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * international/characters.el: Add more missing Latin case pairs.
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * files.el (dir-locals-set-class-variables): Doc fix.
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * international/characters.el: Add set-case-syntax-pair call for
+ LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
+ counterpart. (Bug#11209)
+
+ * simple.el (shell-command-on-region): Doc fix. (Bug#11208)
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * calendar/holidays.el (calendar-check-holidays): Doc fix.
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * textmodes/ispell.el (ispell-dictionary-base-alist):
+ Add data for Hebrew.
+
+2012-04-14 Chong Yidong <cyd@gnu.org>
+
+ * net/rcirc.el (rcirc-cmd-quit):
+ Revert 2012-03-18 change (Bug#11192).
+
+2012-04-14 Glenn Morris <rgm@gnu.org>
+
+ * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * minibuffer.el (completion-in-region-mode-map):
+ Bind completion-help-at-point to M-? rather than ?. (Bug#11182)
+
+2012-04-13 Vivek Dasmohapatra <vivek@etla.org>
+
+ * hexl.el (hexl-insert-char): Make display sizes other than 16 work.
+
+2012-04-13 Masatake YAMATO <yamato@redhat.com>
+
+ * minibuffer.el (minibuffer-local-filename-syntax): New variable
+ to allow `C-M-f' and `C-M-b' to move to the nearest path
+ separator (bug#9511).
+
+2012-04-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * avoid.el: Require cl when compiling. And also move the
+ `provide' to the end.
+
+2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+
+ * avoid.el (mouse-avoidance-banish-position): New variable.
+ (mouse-avoidance-banish-destination): Use it (bug#10165).
+
+2012-04-13 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/which-func.el (which-func-modes): Add objc-mode.
+
+2012-04-13 Ken Brown <kbrown@cornell.edu>
+
+ * net/browse-url.el (browse-url-file-url): Remove Cygwin hack;
+ this is no longer needed now that cygstart understands file:// URLs.
+ (browse-url-filename-alist): For the same reason, don't modify
+ file:// URLs on Cygwin.
+
+2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate
+ the region on shift if the binding is already shifted (bug#11221).
+
+2012-04-12 Glenn Morris <rgm@gnu.org>
+
+ * mail/mailpost.el: Move to obsolete/.
+
+2012-04-12 Drew Adams <drew.adams@oracle.com>
+
+ * imenu.el (imenu--generic-function): Ignore invisible definitions
+ (bug#10123).
+
+2012-04-12 Vivek Dasmohapatra <vivek@etla.org>
+
+ * hexl.el (hexl-bits): New variable.
+ (hexl-options): Mention the variable in the doc string.
+ (hexl-rulerise): New function.
+ (hexl-line-displen): New function
+ (hexl-mode): Mention the new variable.
+ (hexl-mode, hexl-current-address, hexl-current-address): Use the
+ displen.
+ (hexl-ascii-start-column): New function.
+ (hexl-address-to-marker, hexl-beginning-of-line, hexl-options)
+ (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941).
+
+2012-04-12 Agustín Martín Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-large-region): For hunspell, use
+ '("-i" ENCODING), in 2 separate command-line arguments, to specify
+ the encoding, as expected by hunspell.
+
+2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * battery.el (battery--linux-sysfs-regexp): New const.
+ (battery-status-function): Use it. Remove yeeloong special case.
+ (battery-yeeloong-sysfs): Remove.
+ (battery-echo-area-format): Remove yeeloong special case.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
+ Reported by Noah Friedman.
+
+ * subr.el (read-passwd): Use read-string.
+
+2012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * vcursor.el (vcursor-move): Increase the priority of the overlay
+ (bug#9663).
+
+2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el (rcirc-kill-channel-buffers): New variable.
+ (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128).
+
+2012-04-11 William Stevenson <yhvh2000@gmail.com>
+
+ * textmodes/artist.el (artist-mode): Convert artist-mode to use
+ define-minor-mode (bug#10760).
+
+2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
+
+ * lisp/progmodes/grep.el (rgrep): Tweak the find command line so
+ that directories matching `grep-find-ignored-files' won't be
+ pruned (bug#10351).
+
+2012-04-11 Chong Yidong <cyd@gnu.org>
+
+ * startup.el (command-line): Remove support for long-obsolete
+ variable font-lock-face-attributes.
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.el (window--state-get-1): Obey window-point-insertion-type.
+
+2012-04-11 Lennart Borgman <lennart.borgman@gmail.com>
+
+ * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes
+ to previous function when point is on the first character of a
+ function. Take care of that in `narrow-to-defun' (bug#6157).
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-status): Handle all errors,
+ not just file-errors.
+
+ * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove.
+ (vc-bzr-sha1): Use internal sha1.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
+
+2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change)
+
+ * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments
+ that start in the middle of the line (bug#10496).
+
+2012-04-10 Dan Nicolaescu <dann@gnu.org>
+
+ * battery.el (battery-linux-proc-acpi): Only one battery is
+ discharged at a time, but that seems to confuse battery.el when
+ computing `rate-type' for the battery not being discharged
+ (bug#10332).
+
2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
* 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 @@
;;; Code:
-(provide 'avoid)
+(eval-when-compile (require 'cl))
(defgroup avoid nil
"Make mouse pointer stay out of the way of editing."
@@ -115,6 +115,23 @@ Only applies in Mouse Avoidance modes `animate' and `jump'."
:type 'integer
:group 'avoid)
+(defcustom mouse-avoidance-banish-position '((frame-or-window . frame)
+ (side . right)
+ (side-pos . 3)
+ (top-or-bottom . top)
+ (top-or-bottom-pos . 0))
+ "Position to which Mouse Avoidance mode `banish' moves the mouse.
+An alist where keywords mean:
+FRAME-OR-WINDOW: banish the mouse to corner of frame or window.
+SIDE: banish the mouse on right or left corner of frame or window.
+SIDE-POS: Distance from right or left edge of frame or window.
+TOP-OR-BOTTOM: banish the mouse to top or bottom of frame or window.
+TOP-OR-BOTTOM-POS: Distance from top or bottom edge of frame or window."
+ :group 'avoid
+ :type '(alist :key-type symbol :value-type symbol)
+ :options '(frame-or-window side (side-pos integer)
+ top-or-bottom (top-or-bottom-pos integer)))
+
;; Internal variables
(defvar mouse-avoidance-state nil)
(defvar mouse-avoidance-pointer-shapes nil)
@@ -183,13 +200,45 @@ Acceptable distance is defined by `mouse-avoidance-threshold'."
(defun mouse-avoidance-banish-destination ()
"The position to which Mouse Avoidance mode `banish' moves the mouse.
-You can redefine this if you want the mouse banished to a different corner."
- (let* ((pos (window-edges)))
- (cons (- (nth 2 pos) 2)
- (nth 1 pos))))
+
+If you want the mouse banished to a different corner set
+`mouse-avoidance-banish-position' as you need."
+ (let* ((fra-or-win (assoc-default
+ 'frame-or-window
+ mouse-avoidance-banish-position 'eq))
+ (list-values (case fra-or-win
+ (frame (list 0 0 (frame-width) (frame-height)))
+ (window (window-edges))))
+ (alist (loop for v in list-values
+ for k in '(left top right bottom)
+ collect (cons k v)))
+ (side (assoc-default
+ 'side
+ mouse-avoidance-banish-position 'eq))
+ (side-dist (assoc-default
+ 'side-pos
+ mouse-avoidance-banish-position 'eq))
+ (top-or-bottom (assoc-default
+ 'top-or-bottom
+ mouse-avoidance-banish-position 'eq))
+ (top-or-bottom-dist (assoc-default
+ 'top-or-bottom-pos
+ mouse-avoidance-banish-position 'eq))
+ (side-fn (case side
+ (left '+)
+ (right '-)))
+ (top-or-bottom-fn (case top-or-bottom
+ (top '+)
+ (bottom '-))))
+ (cons (funcall side-fn ; -/+
+ (assoc-default side alist 'eq) ; right or left
+ side-dist) ; distance from side
+ (funcall top-or-bottom-fn ; -/+
+ (assoc-default top-or-bottom alist 'eq) ; top/bottom
+ top-or-bottom-dist)))) ; distance from top/bottom
(defun mouse-avoidance-banish-mouse ()
- ;; Put the mouse pointer in the upper-right corner of the current frame.
+ "Put the mouse pointer to `mouse-avoidance-banish-position'."
(mouse-avoidance-set-mouse-position (mouse-avoidance-banish-destination)))
(defsubst mouse-avoidance-delta (cur delta dist var min max)
@@ -408,4 +457,6 @@ definition of \"random distance\".)"
(if mouse-avoidance-mode
(mouse-avoidance-mode mouse-avoidance-mode))
+(provide 'avoid)
+
;;; 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 @@
:prefix "battery-"
:group 'hardware)
+;; Either BATn or yeeloong-bat, basically.
+(defconst battery--linux-sysfs-regexp "[bB][aA][tT][0-9]?$")
+
(defcustom battery-status-function
(cond ((and (eq system-type 'gnu/linux)
(file-readable-p "/proc/apm"))
@@ -48,12 +51,9 @@
'battery-linux-proc-acpi)
((and (eq system-type 'gnu/linux)
(file-directory-p "/sys/class/power_supply/")
- (directory-files "/sys/class/power_supply/" nil "BAT[0-9]$"))
+ (directory-files "/sys/class/power_supply/" nil
+ battery--linux-sysfs-regexp))
'battery-linux-sysfs)
- ((and (eq system-type 'gnu/linux)
- (file-directory-p "/sys/class/power_supply/yeeloong-bat/")
- (directory-files "/sys/class/power_supply/yeeloong-bat/" nil "charge_"))
- 'battery-yeeloong-sysfs)
((and (eq system-type 'darwin)
(condition-case nil
(with-temp-buffer
@@ -81,8 +81,6 @@ introduced by a `%' character in a control string."
"Power %L, battery %B (%p%% load)")
((eq battery-status-function 'battery-pmset)
"%L power, battery %B (%p%% load, remaining time %t)")
- ((eq battery-status-function 'battery-yeeloong-sysfs)
- "%L power, battery %B (%p%% load, remaining time %t)")
(battery-status-function
"Power %L, battery %B (%p%% load, remaining time %t)"))
"Control string formatting the string to display in the echo area.
@@ -344,14 +342,15 @@ The following %-sequences are provided:
(setq charging-state (match-string 1)))
(when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$"
nil t)
- (setq rate (+ (or rate 0) (string-to-number (match-string 1)))
- rate-type (or (and rate-type
+ (setq rate (+ (or rate 0) (string-to-number (match-string 1))))
+ (when (> rate 0)
+ (setq rate-type (or (and rate-type
(if (string= rate-type (match-string 2))
rate-type
(error
"Inconsistent rate types (%s vs. %s)"
rate-type (match-string 2))))
- (match-string 2))))
+ (match-string 2)))))
(when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$"
nil t)
(setq capacity
@@ -447,7 +446,8 @@ The following %-sequences are provided:
(with-temp-buffer
(dolist (dir (ignore-errors
(directory-files
- "/sys/class/power_supply/" t "BAT[0-9]$")))
+ "/sys/class/power_supply/" t
+ battery--linux-sysfs-regexp)))
(erase-buffer)
(ignore-errors (insert-file-contents
(expand-file-name "uevent" dir)))
@@ -524,91 +524,6 @@ The following %-sequences are provided:
"AC"
"BAT")
"N/A")))))
-
-(defun battery-yeeloong-sysfs ()
- "Get ACPI status information from Linux (the kernel).
-This function works only on the Lemote Yeeloong.
-
-The following %-sequences are provided:
-%c Current capacity (mAh)
-%r Current rate
-%B Battery status (verbose)
-%b Battery status, empty means high, `-' means low,
- `!' means critical, and `+' means charging
-%L AC line status (verbose)
-%p Battery load percentage
-%m Remaining time (to charge or discharge) in minutes
-%h Remaining time (to charge or discharge) in hours
-%t Remaining time (to charge or discharge) in the form `h:min'"
-
- (let (capacity
- capacity-level
- status
- ac-online
- hours
- current-now
- charge-full
- charge-now)
-
- (with-temp-buffer
- (ignore-errors
- (insert-file-contents "/sys/class/power_supply/yeeloong-bat/uevent")
- (goto-char 1)
- (search-forward "POWER_SUPPLY_CHARGE_NOW=")
- (setq charge-now (read (current-buffer)))
- (goto-char 1)
- (search-forward "POWER_SUPPLY_CHARGE_FULL=")
- (setq charge-full (read (current-buffer)))
- (goto-char 1)
- (search-forward "POWER_SUPPLY_CURRENT_NOW=")
- (setq current-now (read (current-buffer)))
- (goto-char 1)
- (search-forward "POWER_SUPPLY_CAPACITY_LEVEL=")
- (setq capacity-level (buffer-substring (point) (line-end-position)))
- (goto-char 1)
- (search-forward "POWER_SUPPLY_STATUS=")
- (setq status (buffer-substring (point) (line-end-position))))
-
- (erase-buffer)
- (ignore-errors
- (insert-file-contents
- "/sys/class/power_supply/yeeloong-ac/online")
- (goto-char 1)
- (setq ac-online (read (current-buffer)))
- (erase-buffer)))
-
-
- (setq capacity (round (/ (* charge-now 100.0) charge-full)))
- (when (and current-now (not (= current-now 0)))
- (if (< current-now 0)
- ;; Charging
- (setq hours (/ (- charge-now charge-full) (+ 0.0 current-now)))
- ;; Discharging
- (setq hours (/ charge-now (+ 0.0 current-now)))))
-
- (list (cons ?c (if charge-now
- (number-to-string charge-now)
- "N/A"))
- (cons ?r current-now)
- (cons ?B (cond ((equal capacity-level "Full") "full")
- ((equal status "Charging") "charging")
- ((equal capacity-level "Low") "low")
- ((equal capacity-level "Critical") "critical")
- (t "high")))
- (cons ?b (cond ((equal capacity-level "Full") " ")
- ((equal status "Charging") "+")
- ((equal capacity-level "Low") "-")
- ((equal capacity-level "Critical") "!")
- (t " ")))
- (cons ?h (if hours (number-to-string hours) "N/A"))
- (cons ?m (if hours (number-to-string (* 60 hours)) "N/A"))
- (cons ?t (if hours
- (format "%d:%d"
- (/ (round (* 60 hours)) 60)
- (% (round (* 60 hours)) 60))
- "N/A"))
- (cons ?p (if capacity (number-to-string capacity) "N/A"))
- (cons ?L (if (eq ac-online 1) "AC" "BAT")))))
;;; `pmset' interface for Darwin (OS X).
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."
"Check the list of holidays for any that occur on DATE.
DATE is a list (month day year). This function considers the
holidays from the list `calendar-holidays', and returns a list of
-strings describing those holidays that apply on DATE."
+strings describing those holidays that apply on DATE, or nil if none do."
(let ((displayed-month (calendar-extract-month date))
(displayed-year (calendar-extract-year date))
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:
(SYMBOL EXP [NOW [REQUEST [COMMENT]]])
-This stores EXP (without evaluating it) as the saved value for SYMBOL.
-If NOW is present and non-nil, then also evaluate EXP and set
-the default value for the SYMBOL to the value of EXP.
+SYMBOL is the variable name, and EXP is an expression which
+evaluates to the customized value. EXP will also be stored,
+without evaluating it, in SYMBOL's `saved-value' property, so
+that it can be restored via the Customize interface. It is also
+added to the alist in SYMBOL's `theme-value' property \(by
+calling `custom-push-theme').
-REQUEST is a list of features we must require in order to
-handle SYMBOL properly.
-COMMENT is a comment string about SYMBOL.
+NOW, if present and non-nil, means to install the variable's
+value directly now, even if its `defcustom' declaration has not
+been executed. This is for internal use only.
+
+REQUEST is a list of features to `require' (which are loaded
+prior to evaluating EXP).
-EXP itself is saved unevaluated as SYMBOL property `saved-value' and
-in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
+COMMENT is a comment string about SYMBOL."
(custom-check-theme theme)
;; 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."
;; Try first in this order for the sake of languages with nested
;; functions where several can end at the same place as with
;; the offside rule, e.g. Python.
- (beginning-of-defun)
+
+ ;; Finding the start of the function is a bit problematic since
+ ;; `beginning-of-defun' when we are on the first character of
+ ;; the function might go to the previous function.
+ ;;
+ ;; Therefore we first move one character forward and then call
+ ;; `beginning-of-defun'. However now we must check that we did
+ ;; not move into the next function.
+ (let ((here (point)))
+ (unless (eolp)
+ (forward-char))
+ (beginning-of-defun)
+ (when (< (point) here)
+ (goto-char here)
+ (beginning-of-defun)))
(setq beg (point))
(end-of-defun)
(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)."
:group 'emacs-lock
:version "24.1")
+(defcustom emacs-lock-locked-buffer-functions nil
+ "Abnormal hook run when Emacs Lock prevents exiting Emacs, or killing a buffer.
+The functions get one argument, the first locked buffer found."
+ :type 'hook
+ :group 'emacs-lock
+ :version "24.2")
+
(defvar emacs-lock-mode nil
"If non-nil, the current buffer is locked.
It can be one of the following values:
@@ -119,40 +126,45 @@ See `emacs-lock-unlockable-modes'."
(or (eq unlock 'all) (eq unlock action))))))
(defun emacs-lock--exit-locked-buffer ()
- "Return the name of the first exit-locked buffer found."
+ "Return the first exit-locked buffer found."
(save-current-buffer
(catch :found
(dolist (buffer (buffer-list))
(set-buffer buffer)
(unless (or (emacs-lock--can-auto-unlock 'exit)
(memq emacs-lock-mode '(nil kill)))
- (throw :found (buffer-name))))
+ (throw :found buffer)))
nil)))
(defun emacs-lock--kill-emacs-hook ()
"Signal an error if any buffer is exit-locked.
Used from `kill-emacs-hook' (which see)."
- (let ((buffer-name (emacs-lock--exit-locked-buffer)))
- (when buffer-name
- (error "Emacs cannot exit because buffer %S is locked" buffer-name))))
+ (let ((locked (emacs-lock--exit-locked-buffer)))
+ (when locked
+ (run-hook-with-args 'emacs-lock-locked-buffer-functions locked)
+ (error "Emacs cannot exit because buffer %S is locked"
+ (buffer-name locked)))))
(defun emacs-lock--kill-emacs-query-functions ()
"Display a message if any buffer is exit-locked.
Return a value appropriate for `kill-emacs-query-functions' (which see)."
(let ((locked (emacs-lock--exit-locked-buffer)))
- (or (not locked)
- (progn
- (message "Emacs cannot exit because buffer %S is locked" locked)
- nil))))
+ (if (not locked)
+ t
+ (run-hook-with-args 'emacs-lock-locked-buffer-functions locked)
+ (message "Emacs cannot exit because buffer %S is locked"
+ (buffer-name locked))
+ nil)))
(defun emacs-lock--kill-buffer-query-functions ()
"Display a message if the current buffer is kill-locked.
Return a value appropriate for `kill-buffer-query-functions' (which see)."
- (or (emacs-lock--can-auto-unlock 'kill)
- (memq emacs-lock-mode '(nil exit))
- (progn
- (message "Buffer %S is locked and cannot be killed" (buffer-name))
- nil)))
+ (if (or (emacs-lock--can-auto-unlock 'kill)
+ (memq emacs-lock-mode '(nil exit)))
+ t
+ (run-hook-with-args 'emacs-lock-locked-buffer-functions (current-buffer))
+ (message "Buffer %S is locked and cannot be killed" (buffer-name))
+ nil))
(defun emacs-lock--set-mode (mode arg)
"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'."
(setq this-command 'cua-paste-pop))))
(defun cua-exchange-point-and-mark (arg)
- "Exchanges point and mark, but don't activate the mark.
-Activates the mark if a prefix argument is given."
+ "Exchange point and mark.
+Don't activate the mark if `cua-enable-cua-keys' is non-nil.
+Otherwise, just activate the mark if a prefix ARG is given.
+
+See also `exchange-point-and-mark'."
(interactive "P")
- (if arg
- (setq mark-active t)
- (let (mark-active)
- (exchange-point-and-mark)
- (if cua--rectangle
- (cua--rectangle-corner 0)))))
+ (cond ((null cua-enable-cua-keys)
+ (exchange-point-and-mark arg))
+ (arg
+ (setq mark-active t))
+ (t
+ (let (mark-active)
+ (exchange-point-and-mark)
+ (if cua--rectangle
+ (cua--rectangle-corner 0))))))
;; Typed text that replaced the highlighted region.
(defvar cua--repeat-replace-text nil)
@@ -1246,22 +1252,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
;; (and region not started with C-SPC).
;; If rectangle is active, expand rectangle in specified direction and
;; ignore the movement.
- ((if window-system
- ;; Shortcut for window-system, assuming that input-decode-map is empty.
- (memq 'shift (event-modifiers
- (aref (this-single-command-raw-keys) 0)))
- (or
- ;; Check if the final key-sequence was shifted.
- (memq 'shift (event-modifiers
- (aref (this-single-command-keys) 0)))
- ;; If not, maybe the raw key-sequence was mapped by input-decode-map
- ;; to a shifted key (and then mapped down to its unshifted form).
- (let* ((keys (this-single-command-raw-keys))
- (ev (lookup-key input-decode-map keys)))
- (or (and (vector ev) (memq 'shift (event-modifiers (aref ev 0))))
- ;; Or maybe, the raw key-sequence was not an escape sequence
- ;; and was shifted (and then mapped down to its unshifted form).
- (memq 'shift (event-modifiers (aref keys 0)))))))
+ (this-command-keys-shift-translated
(unless mark-active
(push-mark-command nil t))
(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 @@
+2012-04-11 Vivek Dasmohapatra <vivek@etla.org>
+
+ * erc-services.el (erc-nickserv-passwords): Don't display the
+ password (bug#4459).
+
2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
* 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:
(repeat :tag "Nickname and password"
(cons :tag "Identity"
(string :tag "Nick")
- (string :tag "Password"))))))
+ (string :tag "Password"
+ :secret ?*))))))
;; Variables:
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.
When a file is visited, the file's class is found. A directory
may be assigned a class using `dir-locals-set-directory-class'.
Then variables are set in the file's buffer according to the
-class' LIST. The list is processed in order.
+VARIABLES list of the class. The list is processed in order.
* If the element is of the form (MAJOR-MODE . ALIST), and the
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 @@
+2012-04-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-msg.el (gnus-inews-insert-gcc): Don't do the alist stuff when we
+ don't have a current group.
+
+ * gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't
+ have a group name.
+
+ * gnus-art.el (article-wash-html): Ensure that we insert the HTML into
+ a multibyte buffer (bug#7410).
+ (article-wash-html): Parse the original article buffer to get the
+ unencoded data (bug#7410).
+
+ * gnus-start.el (gnus-read-newsrc-el-file): Protect against broken
+ .newsrc.el files.
+
2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
* 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."
(let ((handles nil)
(buffer-read-only nil))
(when (gnus-buffer-live-p gnus-original-article-buffer)
- (setq handles (mm-dissect-buffer t t)))
+ (with-current-buffer gnus-original-article-buffer
+ (setq handles (mm-dissect-buffer t t))))
(article-goto-body)
(delete-region (point) (point-max))
+ (mm-enable-multibyte)
(mm-inline-text-html handles)))
(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."
((functionp var)
;; A function.
(funcall var group))
- (t
+ (group
;; An alist of regexps/functions/forms.
(while (and var
(not
(setq result
(cond
- ((stringp (caar var))
+ ((and group
+ (stringp (caar var)))
;; Regexp.
(when (string-match (caar var) group)
(cdar var)))
- ((functionp (car var))
+ ((and group
+ (functionp (car var)))
;; Function.
(funcall (car var) group))
(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."
(when gnus-newsrc-assoc
(setq gnus-newsrc-alist gnus-newsrc-assoc))))
(dolist (elem gnus-newsrc-alist)
- (setcar elem (mm-string-as-unibyte (car elem))))
+ ;; Protect against broken .newsrc.el files.
+ (when (car elem)
+ (setcar elem (mm-string-as-unibyte (car elem)))))
(gnus-make-hashtable-from-newsrc-alist)
(when (file-newer-than-file-p file ding-file)
;; 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 @@
"Edit a file in a hex dump format using the hexl filter."
:group 'data)
+(defcustom hexl-bits 16
+ "The bit grouping that hexl will use."
+ :type '(choice (const 8 )
+ (const 16)
+ (const 32)
+ (const 64))
+ :group 'hexl
+ :version "24.2")
(defcustom hexl-program "hexl"
"The program that will hexlify and dehexlify its stdin.
@@ -67,7 +75,9 @@ and \"-de\" when dehexlifying a buffer."
(defcustom hexl-options (format "-hex %s" hexl-iso)
"Space separated options to `hexl-program' that suit your needs.
-Quoting cannot be used, so the arguments cannot themselves contain spaces."
+Quoting cannot be used, so the arguments cannot themselves contain spaces.
+If you wish to set the `-group-by-X-bits' options, set `hexl-bits' instead,
+as that will override any bit grouping options set here."
:type 'string
:group 'hexl)
@@ -212,10 +222,34 @@ Quoting cannot be used, so the arguments cannot themselves contain spaces."
(2 'hexl-ascii-region t t)))
"Font lock keywords used in `hexl-mode'.")
+(defun hexl-rulerise (string bits)
+ (let ((size (/ bits 4)) (strlen (length string)) (pos 0) (ruler ""))
+ (while (< pos strlen)
+ (setq ruler (concat ruler " " (substring string pos (+ pos size))))
+ (setq pos (+ pos size)))
+ (substring ruler 1) ))
+
+(defvar hexl-rulers
+ (mapcar
+ (lambda (bits)
+ (cons bits
+ (concat " 87654321 "
+ (hexl-rulerise "00112233445566778899aabbccddeeff" bits)
+ " 0123456789abcdef")))
+ '(8 16 32 64)))
;; routines
(put 'hexl-mode 'mode-class 'special)
+;; 10 chars for the "address: "
+;; 32 chars for the hexlified bytes
+;; 1 char for the space
+;; 16 chars for the character display
+;; X chars for the spaces (128 bits divided by the hexl-bits)
+;; 1 char for the newline.
+(defun hexl-line-displen ()
+ "The length of a hexl display line (varies with `hexl-bits')."
+ (+ 60 (/ 128 (or hexl-bits 16))))
(defun hexl-mode--minor-mode-p (var)
(memq var '(ruler-mode hl-line-mode)))
@@ -248,7 +282,7 @@ using the function `hexlify-buffer'.
Each line in the buffer has an \"address\" (displayed in hexadecimal)
representing the offset into the file that the characters on this line
are at and 16 characters from the file (displayed as hexadecimal
-values grouped every 16 bits) and as their ASCII values.
+values grouped every `hexl-bits' bits) and as their ASCII values.
If any of the characters (displayed as ASCII characters) are
unprintable (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.
(hexlify-buffer)
(restore-buffer-modified-p modified))
(set (make-local-variable 'hexl-max-address)
- (let* ((full-lines (/ (buffer-size) 68))
- (last-line (% (buffer-size) 68))
- (last-line-bytes (% last-line 52)))
- (+ last-line-bytes (* full-lines 16) -1)))
+ (+ (* (/ (1- (buffer-size)) (hexl-line-displen)) 16) 15))
(condition-case nil
(hexl-goto-address original-point)
(error nil)))
@@ -510,17 +541,20 @@ Ask the user for confirmation."
(defun hexl-current-address (&optional validate)
"Return current hexl-address."
(interactive)
- (let ((current-column (- (% (- (point) (point-min) -1) 68) 11))
+ (let ((current-column
+ (- (% (- (point) (point-min) -1) (hexl-line-displen)) 11))
(hexl-address 0))
(if (< current-column 0)
(if validate
(error "Point is not on a character in the file")
(setq current-column 0)))
(setq hexl-address
- (+ (* (/ (- (point) (point-min) -1) 68) 16)
- (if (>= current-column 41)
- (- current-column 41)
- (/ (- current-column (/ current-column 5)) 2))))
+ (+ (* (/ (- (point) (point-min) -1)
+ (hexl-line-displen)) 16)
+ (if (>= current-column (- (hexl-ascii-start-column) 10))
+ (- current-column (- (hexl-ascii-start-column) 10))
+ (/ (- current-column
+ (/ current-column (1+ (/ hexl-bits 4)))) 2))))
(when (called-interactively-p 'interactive)
(message "Current address is %d/0x%08x" hexl-address hexl-address))
hexl-address))
@@ -531,10 +565,18 @@ This function is intended to be used as eldoc callback."
(let ((addr (hexl-current-address)))
(format "Current address is %d/0x%08x" addr addr)))
+(defun hexl-ascii-start-column ()
+ "Column at which the ascii portion of the hexl display starts."
+ (+ 43 (/ 128 hexl-bits)))
+
(defun hexl-address-to-marker (address)
"Return buffer position for ADDRESS."
(interactive "nAddress: ")
- (+ (* (/ address 16) 68) 10 (point-min) (/ (* (% address 16) 5) 2)))
+ (let ((N (* (% address 16) 2)))
+ (+ (* (/ address 16) (hexl-line-displen)) ; hexl line no * display length
+ 10 ; 10 chars for the "address: " prefix
+ (point-min) ; base offset (point usually starts at 1, not 0)
+ (+ N (/ N (/ hexl-bits 4))) )) ) ; char offset into hexl display line
(defun hexl-goto-address (address)
"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."
(defun hexl-beginning-of-line ()
"Goto beginning of line in hexl mode."
(interactive)
- (goto-char (+ (* (/ (point) 68) 68) 11)))
+ (goto-char (+ (* (/ (point) (hexl-line-displen)) (hexl-line-displen)) 11)))
(defun hexl-end-of-line ()
"Goto end of line in hexl mode."
@@ -776,6 +818,17 @@ You may also type octal digits, to insert a character with that code."
;00000000: 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789ABCDEF
+(defun hexl-options (&optional test)
+ "Combine `hexl-bits' with `hexl-options', altering `hexl-options' as needed
+to produce the command line options to pass to the hexl command."
+ (let ((opts (or test hexl-options)))
+ (when (memq hexl-bits '(8 16 32 64))
+ (when (string-match "\\(.*\\)-group-by-[0-9]+-bits\\(.*\\)" opts)
+ (setq opts (concat (match-string 1 opts)
+ (match-string 2 opts))))
+ (setq opts (format "%s -group-by-%d-bits " opts hexl-bits)) )
+ opts))
+
;;;###autoload
(defun hexlify-buffer ()
"Convert a binary buffer to hexl format.
@@ -798,7 +851,7 @@ This discards the buffer's undo information."
(mapcar (lambda (s)
(if (not (multibyte-string-p s)) s
(encode-coding-string s locale-coding-system)))
- (split-string hexl-options)))
+ (split-string (hexl-options))))
(if (> (point) (hexl-address-to-marker hexl-max-address))
(hexl-goto-address hexl-max-address))))
@@ -815,7 +868,7 @@ This discards the buffer's undo information."
(buffer-undo-list t))
(apply 'call-process-region (point-min) (point-max)
(expand-file-name hexl-program exec-directory)
- t t nil "-de" (split-string hexl-options))))
+ t t nil "-de" (split-string (hexl-options)))))
(defun hexl-char-after-point ()
"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."
(error "Invalid character 0x%x -- must be in the range [0..255]" ch))
(let ((address (hexl-current-address t)))
(while (> num 0)
- (let ((hex-position
- (+ (* (/ address 16) 68)
- 10 (point-min)
- (* 2 (% address 16))
- (/ (% address 16) 2)))
+ (let ((hex-position (hexl-address-to-marker address))
(ascii-position
- (+ (* (/ address 16) 68) 51 (point-min) (% address 16)))
+ (+ (* (/ address 16) (hexl-line-displen))
+ (hexl-ascii-start-column)
+ (point-min)
+ (% address 16)))
at-ascii-position)
(if (= (point) ascii-position)
(setq at-ascii-position t))
@@ -933,7 +985,7 @@ CH must be a unibyte character whose value is between 0 and 255."
(if at-ascii-position
(progn
(beginning-of-line)
- (forward-char 51)
+ (forward-char (hexl-ascii-start-column))
(forward-char (% address 16)))))
(setq num (1- num)))))
@@ -1041,7 +1093,7 @@ This function is assumed to be used as callback function for `hl-line-mode'."
(defun hexl-follow-ascii-find ()
"Find and highlight the ASCII element corresponding to current point."
- (let ((pos (+ 51
+ (let ((pos (+ (hexl-ascii-start-column)
(- (point) (current-column))
(mod (hexl-current-address) 16))))
(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'."
(defun hexl-mode-ruler ()
"Return a string ruler for hexl mode."
(let* ((highlight (mod (hexl-current-address) 16))
- (s " 87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef")
+ (s (cdr (assq hexl-bits hexl-rulers)))
(pos 0))
(set-text-properties 0 (length s) nil s)
;; 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'."
`(space :align-to ,(1- pos))
s))
;; Highlight the current column.
- (put-text-property (+ 11 (/ (* 5 highlight) 2))
- (+ 13 (/ (* 5 highlight) 2))
- 'face 'highlight s)
+ (let ( (offset (+ (* 2 highlight) (/ (* 8 highlight) hexl-bits))) )
+ (put-text-property (+ 11 offset) (+ 13 offset) 'face 'highlight s))
;; Highlight the current ascii column
- (put-text-property (+ 13 39 highlight) (+ 13 40 highlight)
- 'face 'highlight s)
+ (put-text-property (+ (hexl-ascii-start-column) highlight 1)
+ (+ (hexl-ascii-start-column) highlight 2)
+ 'face 'highlight s)
s))
;; 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."
(goto-char (point-max))
(while (and (if (functionp regexp)
(funcall regexp)
- (re-search-backward regexp nil t))
+ (and
+ (re-search-backward regexp nil t)
+ ;; Do not count invisible definitions.
+ (let ((invis (invisible-p (point))))
+ (or (not invis)
+ (progn
+ (while (and invis
+ (not (bobp)))
+ (setq invis (not (re-search-backward
+ regexp nil 'move))))
+ (not invis))))))
;; Exit the loop if we get an empty match,
;; because it means a bad regexp was specified.
(not (= (match-beginning 0) (match-end 0))))
@@ -963,7 +973,8 @@ See the command `imenu' for more information."
imenu-generic-expression
(not (eq imenu-create-index-function
'imenu-default-create-index-function)))
- (unless (keymapp (lookup-key (current-local-map) [menu-bar index]))
+ (unless (and (current-local-map)
+ (keymapp (lookup-key (current-local-map) [menu-bar index])))
(let ((newmap (make-sparse-keymap)))
(set-keymap-parent newmap (current-local-map))
(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.")
(set-case-syntax-pair from (1+ from) tbl)
(setq from (+ from 2))))))
- (set-case-syntax-pair #x178 #x0ff tbl)
- (set-case-syntax-pair #x189 #x256 tbl)
- (set-case-syntax-pair #x18A #x257 tbl)
+ (set-case-syntax-pair ?Ÿ ?ÿ tbl)
;; In some languages, such as Turkish, U+0049 LATIN CAPITAL LETTER I
;; 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.")
(set-case-syntax-pair ?Ɓ ?ɓ tbl)
(set-case-syntax-pair ?Ɔ ?ɔ tbl)
+ (set-case-syntax-pair ?Ɖ ?ɖ tbl)
+ (set-case-syntax-pair ?Ɗ ?ɗ tbl)
(set-case-syntax-pair ?Ǝ ?ǝ tbl)
(set-case-syntax-pair ?Ə ?ə tbl)
(set-case-syntax-pair ?Ɛ ?ɛ tbl)
@@ -622,6 +622,12 @@ with L, LRE, or LRO Unicode bidi character type.")
(set-case-syntax-pair ?Dz ?dz tbl)
(set-case-syntax-pair ?Ƕ ?ƕ tbl)
(set-case-syntax-pair ?Ƿ ?ƿ tbl)
+ (set-case-syntax-pair ?Ⱥ ?ⱥ tbl)
+ (set-case-syntax-pair ?Ƚ ?ƚ tbl)
+ (set-case-syntax-pair ?Ⱦ ?ⱦ tbl)
+ (set-case-syntax-pair ?Ƀ ?ƀ tbl)
+ (set-case-syntax-pair ?Ʉ ?ʉ tbl)
+ (set-case-syntax-pair ?Ʌ ?ʌ tbl)
;; Latin Extended Additional
(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."
:type '(repeat function))
(defvar set-auto-coding-for-load nil
- "Non-nil means look for `load-coding' property instead of `coding'.
-This is used for loading and byte-compiling Emacs Lisp files.")
+ "Non-nil means respect a \"unibyte: t\" entry in file local variables.
+Emacs binds this variable to t when loading or byte-compiling Emacs Lisp
+files.")
(defun auto-coding-alist-lookup (filename)
"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."
(let ((map (make-sparse-keymap)))
;; FIXME: Only works if completion-in-region-mode was activated via
;; completion-at-point called directly.
- (define-key map "?" 'completion-help-at-point)
+ (define-key map "\M-?" 'completion-help-at-point)
(define-key map "\t" 'completion-at-point)
map)
"Keymap activated during `completion-in-region'.")
@@ -2045,6 +2045,21 @@ and `read-file-name-function'."
(funcall (or read-file-name-function #'read-file-name-default)
prompt dir default-filename mustmatch initial predicate))
+(defvar minibuffer-local-filename-syntax
+ (let ((table (make-syntax-table))
+ (punctuation (car (string-to-syntax "."))))
+ ;; Convert all punctuation entries to symbol.
+ (map-char-table (lambda (c syntax)
+ (when (eq (car syntax) punctuation)
+ (modify-syntax-entry c "_" table)))
+ table)
+ (mapc
+ (lambda (c)
+ (modify-syntax-entry c "." table))
+ '(?/ ?: ?\\))
+ table)
+ "Syntax table to be used in minibuffer for reading file name.")
+
;; minibuffer-completing-file-name is a variable used internally in minibuf.c
;; to determine whether to use minibuffer-local-filename-completion-map or
;; 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."
(lambda ()
(with-current-buffer
(window-buffer (minibuffer-selected-window))
- (read-file-name--defaults dir initial)))))
+ (read-file-name--defaults dir initial))))
+ (set-syntax-table minibuffer-local-filename-syntax))
(completing-read prompt 'read-file-name-internal
pred mustmatch insdef
'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
;; it in anonymous cases. If it's not anonymous the next regexp
;; applies.
("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/")
- ,@(if (memq system-type '(windows-nt ms-dos cygwin))
+ ,@(if (memq system-type '(windows-nt ms-dos))
'(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/")
("^[\\/][\\/]+" . "file://")))
("^/+" . "file:///"))
@@ -724,12 +724,6 @@ interactively. Turn the filename into a URL with function
(defun browse-url-file-url (file)
"Return the URL corresponding to FILE.
Use variable `browse-url-filename-alist' to map filenames to URLs."
- ;; De-munge Cygwin filenames before passing them to Windows browser.
- (if (eq system-type 'cygwin)
- (let ((winfile (with-output-to-string
- (call-process "cygpath" nil standard-output
- nil "-m" file))))
- (setq file (substring winfile 0 -1))))
(let ((coding (and (default-value 'enable-multibyte-characters)
(or file-name-coding-system
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
:type 'string
:group 'rcirc)
+(defcustom rcirc-kill-channel-buffers nil
+ "When non-nil, kill channel buffers when the server buffer is killed.
+Only the channel buffers associated with the server in question
+will be killed."
+ :version "24.2"
+ :type 'boolean
+ :group 'rcirc)
+
(defvar rcirc-nick nil)
(defvar rcirc-prompt-start-marker nil)
@@ -1088,12 +1096,20 @@ Logfiles are kept in `rcirc-log-directory'."
:group 'rcirc)
(defun rcirc-kill-buffer-hook ()
- "Part the channel when killing an rcirc buffer."
+ "Part the channel when killing an rcirc buffer.
+
+If `rcirc-kill-channel-buffers' is non-nil and the killed buffer
+is a server buffer, kills all of the channel buffers associated
+with it."
(when (eq major-mode 'rcirc-mode)
(when (and rcirc-log-flag
rcirc-log-directory)
(rcirc-log-write))
- (rcirc-clean-up-buffer "Killed buffer")))
+ (rcirc-clean-up-buffer "Killed buffer")
+ (when (and rcirc-buffer-alist ;; it's a server buffer
+ rcirc-kill-channel-buffers)
+ (dolist (channel rcirc-buffer-alist)
+ (kill-buffer (cdr channel))))))
(defun rcirc-change-major-mode-hook ()
"Part the channel when changing the major-mode."
@@ -2165,17 +2181,13 @@ CHANNELS is a comma- or space-separated string of channel names."
(let ((channel (if (> (length channel) 0) channel target)))
(rcirc-send-string process (concat "PART " channel " :" rcirc-id-string))))
-(defun-rcirc-command quit (reason all)
- "Send a quit message to server with REASON.
-When called with prefix, quit all servers."
- (interactive "sQuit reason: \nP")
- (dolist (p (if all
- (rcirc-process-list)
- (list process)))
- (rcirc-send-string p (concat "QUIT :"
- (if (not (zerop (length reason)))
- reason
- rcirc-id-string)))))
+(defun-rcirc-command quit (reason)
+ "Send a quit message to server with REASON."
+ (interactive "sQuit reason: ")
+ (rcirc-send-string process (concat "QUIT :"
+ (if (not (zerop (length reason)))
+ reason
+ rcirc-id-string))))
(defun-rcirc-command nick (nick)
"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 @@
;; Maintainer: FSF
;; Created: 13 Jan 1986
;; Keywords: mail
+;; Obsolete-since: 24.2
;;; Commentary:
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 @@
+2012-04-14 Bastien Guerry <bzg@gnu.org>
+
+ * org.el (org-point-at-end-of-empty-headline): Only try to match
+ `org-todo-line-regexp' when the value is non-nil, e.g. in non-org
+ modes.
+ (org-fontify-meta-lines-and-blocks-1): Prevent errors when trying
+ to fontify beyond (point-max).
+
+ * org-clock.el (org-clock-task-overrun-text)
+ (org-task-overrun, org-clock-get-clock-string)
+ (org-clock-update-mode-line)
+ (org-clock-notify-once-if-expired): Rename `org-task-overrun'
+ and `org-task-overrun-text' to `org-clock-task-overrun' and
+ `org-clock-task-overrun-text' respectively.
+ (org-task-overrun-text): New alias.
+
+ * org-table.el (org-table-eval-formula): Fix bug about handling
+ remote references as durations.
+ (org-table-get-range): Fix bug: make sure references to $0 are
+ correctly handled.
+
+ * org-pcomplete.el (pcomplete/org-mode/file-option):
+ Fix bug in `pcomplete/org-mode/file-option'.
+ (org-thing-at-point): Also match line options like LATEX_CLASS
+ when pcompleting from LATEX_.
+
+ * org-agenda.el (org-agenda-filter-make-matcher)
+ (org-agenda-filter-apply): Allow filtering entries out by
+ category. Using `C-u <' from the agenda view will redisplay
+ the agenda without entries from categories of the current line.
+
+2012-04-14 Eric Schulte <eric.schulte@gmx.com>
+
+ * ob-C.el (org-babel-C-ensure-main-wrap):
+ Add an explicit return to automatically generated main methods.
+
+2012-04-14 Matt Lundin <mdl@imapmail.org>
+
+ * org.el (org-after-todo-state-change-hook):
+ Fix docstring to reflect name change of state to `org-state'.
+
+2012-04-14 Mike Sperber <sperber@deinprogramm.de> (tiny change)
+
+ * org-footnote.el (org-footnote-normalize):
+ Correctly pass keyword arguments to `org-export-preprocess-string'.
+
2012-04-03 Bastien Guerry <bzg@gnu.org>
* 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."
"Wrap body in a \"main\" function call if none exists."
(if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body)
body
- (format "int main() {\n%s\n}\n" body)))
+ (format "int main() {\n%s\nreturn(0);\n}\n" body)))
(defun org-babel-prep-session:C (session params)
"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."
(dolist (x (delete-dups
(append (get 'org-agenda-category-filter
:preset-filter) org-agenda-category-filter)))
- (setq f1 (list 'equal (substring x 1) 'cat))
+ (if (equal "-" (substring x 0 1))
+ (setq f1 (list 'not (list 'equal (substring x 1) 'cat)))
+ (setq f1 (list 'equal (substring x 1) 'cat)))
(push f1 f))
(cons 'and (nreverse f))))
@@ -6396,9 +6398,13 @@ If the line does not have an effort defined, return nil."
(let (tags cat)
(if (eq type 'tag)
(setq org-agenda-tag-filter filter)
- (setq org-agenda-category-filter filter
- org-agenda-filtered-by-category t))
+ (setq org-agenda-category-filter filter))
(setq org-agenda-filter-form (org-agenda-filter-make-matcher))
+ (if (and (eq type 'category)
+ (not (equal (substring (car filter) 0 1) "-")))
+ ;; Only set `org-agenda-filtered-by-category' to t
+ ;; when a unique category is used as the filter
+ (setq org-agenda-filtered-by-category t))
(org-agenda-set-mode-name)
(save-excursion
(goto-char (point-min))
@@ -6412,7 +6418,7 @@ If the line does not have an effort defined, return nil."
(beginning-of-line 2))
(beginning-of-line 2))))
(if (get-char-property (point) 'invisible)
- (org-agenda-previous-line))))
+ (ignore-errors (org-agenda-previous-line)))))
(defun org-agenda-filter-hide-line (type)
(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"
(const :tag "All task time" all)
(const :tag "Automatically, `all' or since `repeat'" auto)))
-(defcustom org-task-overrun-text nil
+(defvaralias 'org-task-overrun-text 'org-clock-task-overrun-text)
+(defcustom org-clock-task-overrun-text nil
"The extra modeline text that should indicate that the clock is overrun.
The can be nil to indicate that instead of adding text, the clock time
should get a different face (`org-mode-line-clock-overrun').
@@ -495,7 +496,7 @@ pointing to it."
(insert (format "[%c] %-15s %s\n" i cat task))
(cons i marker)))))
-(defvar org-task-overrun nil
+(defvar org-clock-task-overrun nil
"Internal flag indicating if the clock has overrun the planned time.")
(defvar org-clock-update-period 60
"Number of seconds between mode line clock string updates.")
@@ -516,7 +517,7 @@ If not, show simply the clocked time like 01:50."
(work-done-str
(org-propertize
(format org-time-clocksum-format h m)
- 'face (if (and org-task-overrun (not org-task-overrun-text))
+ 'face (if (and org-clock-task-overrun (not org-clock-task-overrun-text))
'org-mode-line-clock-overrun 'org-mode-line-clock)))
(effort-str (format org-time-clocksum-format effort-h effort-m))
(clockstr (org-propertize
@@ -532,7 +533,7 @@ If not, show simply the clocked time like 01:50."
(defun org-clock-update-mode-line ()
(if org-clock-effort
(org-clock-notify-once-if-expired)
- (setq org-task-overrun nil))
+ (setq org-clock-task-overrun nil))
(setq org-mode-line-string
(org-propertize
(let ((clock-string (org-clock-get-clock-string))
@@ -546,10 +547,10 @@ If not, show simply the clocked time like 01:50."
'local-map org-clock-mode-line-map
'mouse-face (if (featurep 'xemacs) 'highlight 'mode-line-highlight)
))
- (if (and org-task-overrun org-task-overrun-text)
+ (if (and org-clock-task-overrun org-clock-task-overrun-text)
(setq org-mode-line-string
(concat (org-propertize
- org-task-overrun-text
+ org-clock-task-overrun-text
'face 'org-mode-line-clock-overrun) org-mode-line-string)))
(force-mode-line-update))
@@ -606,7 +607,7 @@ Notification is shown only once."
(when (org-clocking-p)
(let ((effort-in-minutes (org-duration-string-to-minutes org-clock-effort))
(clocked-time (org-clock-get-clocked-time)))
- (if (setq org-task-overrun
+ (if (setq org-clock-task-overrun
(if (or (null effort-in-minutes) (zerop effort-in-minutes))
nil
(>= 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':
(org-combine-plists
export-props
'(:todo-keywords t :tags t :priority t))))
- (org-export-preprocess-string def parameters))
+ (apply #'org-export-preprocess-string def parameters))
def)
;; Reference beginning position is a marker
;; 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."
(re-search-backward "^[ \t]*#\\+\\([A-Z_]+\\):.*"
(line-beginning-position) t))
(cons "file-option" (match-string-no-properties 1)))
- ((string-match "\\`[ \t]*#\\+[a-zA-Z]*\\'" line-to-here)
+ ((string-match "\\`[ \t]*#\\+[a-zA-Z_]*\\'" line-to-here)
(cons "file-option" nil))
((equal (char-before beg) ?\[)
(cons "link" nil))
@@ -144,7 +144,7 @@ When completing for #+STARTUP, for example, this function returns
(if (string-match "^#\\+\\([A-Z_]+:?\\)" x)
(match-string 1 x)))
(org-split-string (org-get-current-options) "\n"))
- org-additional-option-like-keywords)))))
+ (copy-sequence org-additional-option-like-keywords))))))
(substring pcomplete-stub 2)))
(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."
(add-hook 'org-export-latex-after-blockquotes-hook
'org-special-blocks-convert-latex-special-cookies)
-(defvar org-special-blocks-line)
+(defvar line)
(defun org-special-blocks-convert-html-special-cookies ()
"Converts the special cookies into div blocks."
- ;; Uses the dynamically-bound variable `org-special-blocks-line'.
- (when (string-match "^ORG-\\(.*\\)-\\(START\\|END\\)$" org-special-blocks-line)
+ ;; Uses the dynamically-bound variable `line'.
+ (when (string-match "^ORG-\\(.*\\)-\\(START\\|END\\)$" line)
(message "%s" (match-string 1))
- (when (equal (match-string 2 org-special-blocks-line) "START")
+ (when (equal (match-string 2 line) "START")
(org-close-par-maybe)
- (insert "\n<div class=\"" (match-string 1 org-special-blocks-line) "\">")
+ (insert "\n<div class=\"" (match-string 1 line) "\">")
(org-open-par))
- (when (equal (match-string 2 org-special-blocks-line) "END")
+ (when (equal (match-string 2 line) "END")
(org-close-par-maybe)
(insert "\n</div>")
(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."
(replace-match
(save-match-data
(org-table-make-reference
- (org-table-get-remote-range
- (match-string 1 form) (match-string 2 form))
+ (let ((rmtrng (org-table-get-remote-range
+ (match-string 1 form) (match-string 2 form))))
+ (if duration
+ (if (listp rmtrng)
+ (mapcar (lambda(x) (org-table-time-string-to-seconds x)) rmtrng)
+ (org-table-time-string-to-seconds rmtrng))
+ rmtrng))
keep-empty numbers lispp))
t t form)))
;; Insert complex ranges
@@ -2663,8 +2668,8 @@ in the buffer and column1 and column2 are table column numbers."
; (setq r2 (or r2 r1) c2 (or c2 c1))
(if (not r1) (setq r1 thisline))
(if (not r2) (setq r2 thisline))
- (if (not c1) (setq c1 col))
- (if (not c2) (setq c2 col))
+ (if (or (not c1) (= 0 c1)) (setq c1 col))
+ (if (or (not c2) (= 0 c2)) (setq c2 col))
(if (and (not corners-only)
(or (not rangep) (and (= r1 r2) (= c1 c2))))
;; 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 @@
;; Maintainer: Bastien Guerry <bzg at gnu dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
-;; Version: 7.8.08
+;; Version: 7.8.09
;;
;; This file is part of GNU Emacs.
;;
@@ -206,7 +206,7 @@ identifier."
;;; Version
-(defconst org-version "7.8.08"
+(defconst org-version "7.8.09"
"The version number of the file org.el.")
;;;###autoload
@@ -2225,7 +2225,7 @@ property and include the word \"recursive\" into the value."
(defcustom org-after-todo-state-change-hook nil
"Hook which is run after the state of a TODO item was changed.
The new state (a string with a TODO keyword, or nil) is available in the
-Lisp variable `state'."
+Lisp variable `org-state'."
:group 'org-todo
:type 'hook)
@@ -5427,7 +5427,8 @@ will be prompted for."
(when (re-search-forward
(concat "^[ \t]*#\\+end" (match-string 4) "\\>.*")
nil t) ;; on purpose, we look further than LIMIT
- (setq end (match-end 0) end1 (1- (match-beginning 0)))
+ (setq end (min (point-max) (match-end 0))
+ end1 (min (point-max) (1- (match-beginning 0))))
(setq block-end (match-beginning 0))
(when quoting
(remove-text-properties beg end
@@ -5455,11 +5456,12 @@ will be prompted for."
'(face org-block))) ; end of source block
((not org-fontify-quote-and-verse-blocks))
((string= block-type "quote")
- (add-text-properties beg1 (1+ end1) '(face org-quote)))
+ (add-text-properties beg1 (min (point-max) (1+ end1)) '(face org-quote)))
((string= block-type "verse")
- (add-text-properties beg1 (1+ end1) '(face org-verse))))
+ (add-text-properties beg1 (min (point-max) (1+ end1)) '(face org-verse))))
(add-text-properties beg beg1 '(face org-block-begin-line))
- (add-text-properties (1+ end) (1+ end1) '(face org-block-end-line))
+ (add-text-properties (min (point-max) (1+ end)) (min (point-max) (1+ end1))
+ '(face org-block-end-line))
t))
((member dc1 '("title:" "author:" "email:" "date:"))
(add-text-properties
@@ -5475,7 +5477,7 @@ will be prompted for."
((not (member (char-after beg) '(?\ ?\t)))
;; just any other in-buffer setting, but not indented
(add-text-properties
- beg (1+ (match-end 0))
+ beg (match-end 0)
'(font-lock-fontified t face org-meta-line))
t)
((or (member dc1 '("begin:" "end:" "caption:" "label:"
@@ -13422,8 +13424,7 @@ With prefix ARG, realign all tags in headings in the current buffer."
;; Get a new set of tags from the user
(save-excursion
(setq table (append org-tag-persistent-alist
- org-tag-alist
- (org-get-buffer-tags)
+ (or org-tag-alist (org-get-buffer-tags))
(and
org-complete-tags-always-offer-all-agenda-tags
(org-global-tags-completion-table
@@ -13725,11 +13726,9 @@ Returns the new tags string, or nil to not change the current settings."
(condition-case nil
(setq tg (org-icompleting-read
"Tag: "
- (delete-dups
- (append (or buffer-tags
- (with-current-buffer buf
- (mapcar 'car (org-get-buffer-tags))))
- (mapcar 'car table)))))
+ (or buffer-tags
+ (with-current-buffer buf
+ (org-get-buffer-tags)))))
(quit (setq tg "")))
(when (string-match "\\S-" tg)
(add-to-list 'buffer-tags (list tg))
@@ -20775,11 +20774,12 @@ This version does not only check the character property, but also
If the heading only contains a TODO keyword, it is still still considered
empty."
(and (looking-at "[ \t]*$")
- (save-excursion
- (beginning-of-line 1)
- (let ((case-fold-search nil))
- (looking-at org-todo-line-regexp)))
- (string= (match-string 3) "")))
+ (when org-todo-line-regexp
+ (save-excursion
+ (beginning-of-line 1)
+ (let ((case-fold-search nil))
+ (looking-at org-todo-line-regexp)
+ (string= (match-string 3) ""))))))
(defun org-at-heading-or-item-p ()
(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 @@
;;; pcmpl-rpm.el --- functions for dealing with rpm completions
-;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
;; Package: pcomplete
@@ -29,6 +29,13 @@
;; Functions:
+;; FIXME rpm -qa can be slow, so:
+;; Adding --nodigest --nosignature is MUCH faster.
+;; (Probably need to test --help for those options though.)
+;; Consider caching the result (cf woman).
+;; Consider printing an explanatory message before running -qa.
+;;
+;; Seems pointless for this to be a defsubst.
(defsubst pcmpl-rpm-packages ()
(split-string (pcomplete-process-result "rpm" "-q" "-a")))
@@ -92,6 +99,7 @@
'("--changelog"
"--dbpath"
"--dump"
+ "--file"
"--ftpport" ;nyi for the next four
"--ftpproxy"
"--httpport"
@@ -112,6 +120,8 @@
(pcomplete-here*))
((pcomplete-test "--rcfile")
(pcomplete-here* (pcomplete-entries)))
+ ((pcomplete-test "--file")
+ (pcomplete-here* (pcomplete-entries)))
((pcomplete-test "--root")
(pcomplete-here* (pcomplete-dirs)))
((pcomplete-test "--scripts")
@@ -129,7 +139,9 @@
(pcomplete-opt "af.p(pcmpl-rpm-files)ilsdcvR")
(if (pcomplete-test "-[^-]*p" 'first 1)
(pcomplete-here (pcmpl-rpm-files))
- (pcomplete-here (pcmpl-rpm-packages))))))
+ (if (pcomplete-test "-[^-]*f" 'first 1)
+ (pcomplete-here* (pcomplete-entries))
+ (pcomplete-here (pcmpl-rpm-packages)))))))
((pcomplete-test "--pipe")
(pcomplete-here* (funcall pcomplete-command-completion-function)))
((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."
new-beg new-end need-new-beg need-new-end)
;; Locate the barrier before the changed region
(goto-char (if beg-lit-limits (car beg-lit-limits) beg))
- (c-syntactic-skip-backward "^;{}" (max (- beg 2048) (point-min)))
+ (c-syntactic-skip-backward "^;{}" (c-determine-limit 512))
(setq new-beg (point))
;; Remove the syntax-table properties from each pertinent <...> pair.
@@ -5393,8 +5393,7 @@ comment at the start of cc-engine.el for more info."
;; Locate the barrier after END.
(goto-char (if end-lit-limits (cdr end-lit-limits) end))
- (c-syntactic-re-search-forward "[;{}]"
- (min (+ end 2048) (point-max)) 'end)
+ (c-syntactic-re-search-forward "[;{}]" (c-determine-+ve-limit 512) 'end)
(setq new-end (point))
;; 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:
A sample value might look like: `\\(_P\\|_PROTO\\)'.")
+;; *Warning for cc-mode developers*
+;;
+;; `cc-imenu-objc-generic-expression' elements depend on
+;; `cc-imenu-c++-generic-expression'. So if you change this
+;; expression, you need to change following variables,
+;; `cc-imenu-objc-generic-expression-*-index',
+;; too. `cc-imenu-objc-function' uses these *-index variables, in
+;; order to know where the each regexp *group \\(foobar\\)* elements
+;; are started.
+;;
+;; *-index variables are initialized during `cc-imenu-objc-generic-expression'
+;; being initialized.
+;;
+
(defvar cc-imenu-c++-generic-expression
`(
;; Try to match ::operator definitions first. Otherwise `X::operator new ()'
@@ -187,23 +201,8 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
")"
"[.," c-alnum " \t\n\r]*"
"{"
- )) 1))
- "Imenu generic expression for Java mode. See
-`imenu-generic-expression'.")
-
-;; *Warning for cc-mode developers*
-;;
-;; `cc-imenu-objc-generic-expression' elements depend on
-;; `cc-imenu-c++-generic-expression'. So if you change this
-;; expression, you need to change following variables,
-;; `cc-imenu-objc-generic-expression-*-index',
-;; too. `cc-imenu-objc-function' uses these *-index variables, in
-;; order to know where the each regexp *group \\(foobar\\)* elements
-;; are started.
-;;
-;; *-index variables are initialized during `cc-imenu-objc-generic-expression'
-;; being initialized.
-;;
+ )) 1))
+ "Imenu generic expression for Java mode. See `imenu-generic-expression'.")
;; Internal variables
(defvar cc-imenu-objc-generic-expression-noreturn-index nil)
@@ -224,7 +223,7 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
"\\|"
;; > General function name regexp
;; Pick a token by (match-string 3)
- (car (cdr (nth 2 cc-imenu-c++-generic-expression))) ; -> index += 5
+ (car (cdr (nth 2 cc-imenu-c++-generic-expression))) ; -> index += 6
(prog2 (setq cc-imenu-objc-generic-expression-general-func-index 3) "")
;; > Special case for definitions using phony prototype macros like:
;; > `int main _PROTO( (int argc,char *argv[]) )'.
@@ -233,11 +232,11 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
(concat
"\\|"
(car (cdr (nth 3 cc-imenu-c++-generic-expression))) ; -> index += 1
- (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 9) "")
+ (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 10) "")
)
- (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 8) "")
+ (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 9) "")
"") ; -> index += 0
- (prog2 (setq cc-imenu-objc-generic-expression-proto-index 8) "")
+ (prog2 (setq cc-imenu-objc-generic-expression-proto-index 9) "")
;;
;; For Objective-C
;; 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."
(setq flymake-timer
(run-at-time nil 1 'flymake-on-timer-event (current-buffer)))
- (when flymake-start-syntax-check-on-find-file
- (flymake-start-syntax-check)))))
+ (when (and flymake-start-syntax-check-on-find-file
+ ;; Since we write temp files in current dir, there's no point
+ ;; trying if the directory is read-only (bug#8954).
+ (file-writable-p (file-name-directory buffer-file-name)))
+ (with-demoted-errors
+ (flymake-start-syntax-check))))))
;; Turning the mode OFF.
(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."
(shell-quote-argument ")")
" -prune -o "))
(and grep-find-ignored-files
- (concat (shell-quote-argument "(")
+ (concat (shell-quote-argument "!") " -type d "
+ (shell-quote-argument "(")
;; we should use shell-quote-argument here
" -name "
(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."
(forward-comment (point-max)))
(re-search-forward re (point-max) t))
(if (match-beginning 1)
- ;; we have found a block beginning
+ ;; We have found a block beginning.
(progn
(goto-char (match-beginning 1))
- (if hs-hide-all-non-comment-function
- (funcall hs-hide-all-non-comment-function)
- (hs-hide-block-at-point t)))
+ (unless (if hs-hide-all-non-comment-function
+ (funcall hs-hide-all-non-comment-function)
+ (hs-hide-block-at-point t))
+ ;; Go to end of matched data to prevent from getting stuck
+ ;; with an endless loop.
+ (goto-char (match-end 0))))
;; found a comment, probably
(let ((c-reg (hs-inside-comment-p)))
(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 @@
;;; which-func.el --- print current function in mode line
-;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
;; (doesn't seem to be responsive any more)
@@ -72,14 +72,15 @@
:group 'tools
:version "20.3")
-(defcustom which-func-modes
- '(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode python-mode
- makefile-mode sh-mode fortran-mode f90-mode ada-mode
- diff-mode)
+(defcustom which-func-modes t
+ ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
+ ;; makefile-mode sh-mode fortran-mode f90-mode ada-mode
+ ;; diff-mode)
"List of major modes for which Which Function mode should be used.
For other modes it is disabled. If this is equal to t,
then Which Function mode is enabled in any major mode that supports it."
:group 'which-func
+ :version "24.2" ; added objc-mode
:type '(choice (const :tag "All modes" t)
(repeat (symbol :tag "Major mode"))))
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.
To specify a coding system for converting non-ASCII characters
in the input and output to the shell command, use \\[universal-coding-system-argument]
before this command. By default, the input (from the current buffer)
-is encoded in the same coding system that will be used to save the file,
-`buffer-file-coding-system'. If the output is going to replace the region,
-then it is decoded from that same coding system.
+is encoded using coding-system specified by `process-coding-system-alist',
+falling back to `default-process-coding-system' if no match for COMMAND
+is found in `process-coding-system-alist'.
The noninteractive arguments are START, END, COMMAND,
OUTPUT-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."
(or mail-host-address
(system-name))))))
- ;; Originally face attributes were specified via
- ;; `font-lock-face-attributes'. Users then changed the default
- ;; face attributes by setting that variable. However, we try and
- ;; be back-compatible and respect its value if set except for
- ;; faces where M-x customize has been used to save changes for the
- ;; face.
- (when (boundp 'font-lock-face-attributes)
- (let ((face-attributes font-lock-face-attributes))
- (while face-attributes
- (let* ((face-attribute (pop face-attributes))
- (face (car face-attribute)))
- ;; Rustle up a `defface' SPEC from a
- ;; `font-lock-face-attributes' entry.
- (unless (get face 'saved-face)
- (let ((foreground (nth 1 face-attribute))
- (background (nth 2 face-attribute))
- (bold-p (nth 3 face-attribute))
- (italic-p (nth 4 face-attribute))
- (underline-p (nth 5 face-attribute))
- face-spec)
- (when foreground
- (setq face-spec (cons ':foreground (cons foreground face-spec))))
- (when background
- (setq face-spec (cons ':background (cons background face-spec))))
- (when bold-p
- (setq face-spec (append '(:weight bold) face-spec)))
- (when italic-p
- (setq face-spec (append '(:slant italic) face-spec)))
- (when underline-p
- (setq face-spec (append '(:underline t) face-spec)))
- (face-spec-set face (list (list t face-spec)) nil)))))))
-
;; If parameter have been changed in the init file which influence
;; face realization, clear the face cache so that new faces will
;; be realized.
@@ -2348,6 +2316,7 @@ A fancy display is used on graphic displays, normal otherwise."
(if (or inhibit-startup-screen
initial-buffer-choice
noninteractive
+ (daemonp)
inhibit-x-resources)
;; Not displaying a startup screen. If 3 or more files
@@ -2390,9 +2359,7 @@ A fancy display is used on graphic displays, normal otherwise."
;; (with-no-warnings
;; (setq menubar-bindings-done t))
- (if (> file-count 0)
- (display-startup-screen t)
- (display-startup-screen nil)))))
+ (display-startup-screen (> file-count 0)))))
(defun command-line-normalize-file-name (file)
"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.")
(defsubst eventp (obj)
"True if the argument is an event object."
(or (and (integerp obj)
+ ;; FIXME: Why bother?
;; Filter out integers too large to be events.
;; M is the biggest modifier.
(zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1)))))
@@ -1989,6 +1990,10 @@ obey the input decoding and translations usually done by `read-key-sequence'.
So escape sequences and keyboard encoding are taken into account.
When there's an ambiguity because the key looks like the prefix of
some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
+ ;; This overriding-terminal-local-map binding also happens to
+ ;; disable quail's input methods, so although read-key-sequence
+ ;; always inherits the input method, in practice read-key does not
+ ;; inherit the input method (at least not if it's based on quail).
(let ((overriding-terminal-local-map read-key-empty-map)
(overriding-local-map nil)
(echo-keystrokes 0)
@@ -2093,77 +2098,45 @@ Optional DEFAULT is a default password to use instead of empty input.
This function echoes `.' for each character that the user types.
-The user ends with RET, LFD, or ESC. DEL or C-h rubs out.
-C-y yanks the current kill. C-u kills line.
-C-g quits; if `inhibit-quit' was non-nil around this function,
-then it returns nil if the user types C-g, but `quit-flag' remains set.
-
Once the caller uses the password, it can erase the password
by doing (clear-string STRING)."
- (with-local-quit
- (if confirm
- (let (success)
- (while (not success)
- (let ((first (read-passwd prompt nil default))
- (second (read-passwd "Confirm password: " nil default)))
- (if (equal first second)
- (progn
- (and (arrayp second) (clear-string second))
- (setq success first))
- (and (arrayp first) (clear-string first))
- (and (arrayp second) (clear-string second))
- (message "Password not repeated accurately; please start over")
- (sit-for 1))))
- success)
- (let ((pass nil)
- ;; Copy it so that add-text-properties won't modify
- ;; the object that was passed in by the caller.
- (prompt (copy-sequence prompt))
- (c 0)
- (echo-keystrokes 0)
- (cursor-in-echo-area t)
- (message-log-max nil)
- (stop-keys (list 'return ?\r ?\n ?\e))
- (rubout-keys (list 'backspace ?\b ?\177)))
- (add-text-properties 0 (length prompt)
- minibuffer-prompt-properties prompt)
- (while (progn (message "%s%s"
- prompt
- (make-string (length pass) ?.))
- (setq c (read-key))
- (not (memq c stop-keys)))
- (clear-this-command-keys)
- (cond ((memq c rubout-keys) ; rubout
- (when (> (length pass) 0)
- (let ((new-pass (substring pass 0 -1)))
- (and (arrayp pass) (clear-string pass))
- (setq pass new-pass))))
- ((eq c ?\C-g) (keyboard-quit))
- ((not (numberp c)))
- ((= c ?\C-u) ; kill line
- (and (arrayp pass) (clear-string pass))
- (setq pass ""))
- ((= c ?\C-y) ; yank
- (let* ((str (condition-case nil
- (current-kill 0)
- (error nil)))
- new-pass)
- (when str
- (setq new-pass
- (concat pass
- (substring-no-properties str)))
- (and (arrayp pass) (clear-string pass))
- (setq c ?\0)
- (setq pass new-pass))))
- ((characterp c) ; insert char
- (let* ((new-char (char-to-string c))
- (new-pass (concat pass new-char)))
- (and (arrayp pass) (clear-string pass))
- (clear-string new-char)
- (setq c ?\0)
- (setq pass new-pass)))))
- (message nil)
- (or pass default "")))))
+ (if confirm
+ (let (success)
+ (while (not success)
+ (let ((first (read-passwd prompt nil default))
+ (second (read-passwd "Confirm password: " nil default)))
+ (if (equal first second)
+ (progn
+ (and (arrayp second) (clear-string second))
+ (setq success first))
+ (and (arrayp first) (clear-string first))
+ (and (arrayp second) (clear-string second))
+ (message "Password not repeated accurately; please start over")
+ (sit-for 1))))
+ success)
+ (let (minibuf)
+ (minibuffer-with-setup-hook
+ (lambda ()
+ (setq minibuf (current-buffer))
+ ;; Turn off electricity.
+ (set (make-local-variable 'post-self-insert-hook) nil)
+ (add-hook 'after-change-functions
+ (lambda (beg end len)
+ (clear-this-command-keys)
+ (setq beg (min end (max (minibuffer-prompt-end)
+ beg)))
+ (dotimes (i (- end beg))
+ (put-text-property (+ i beg) (+ 1 i beg)
+ 'display (string ?.))))
+ nil t))
+ (unwind-protect
+ (read-string prompt nil
+ (let ((sym (make-symbol "forget-history")))
+ (set sym nil)
+ sym)
+ default)
+ (when (buffer-live-p minibuf)
+ (with-current-buffer minibuf (erase-buffer))))))))
;; This should be used by `call-interactively' for `n' specs.
(defun read-number (prompt &optional default)
@@ -3557,8 +3530,7 @@ of STRING.
To replace only the first match (if any), make REGEXP match up to \\'
and replace a sub-expression, e.g.
(replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1)
- => \" bar foo\"
-"
+ => \" bar foo\""
;; To avoid excessive consing from multiple matches in long strings,
;; 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."
;;; ---------------------------------
;;;###autoload
-(defun artist-mode (&optional state)
+(define-minor-mode artist-mode
"Toggle Artist mode.
-With argument STATE, turn Artist mode on if STATE is positive.
+With argument ARG, turn Artist mode on if ARG is positive.
Artist lets you draw lines, squares, rectangles and poly-lines,
ellipses and circles with your mouse and/or keyboard.
@@ -1388,36 +1388,24 @@ Variables
Hooks
- When entering artist-mode, the hook `artist-mode-init-hook' is called.
- When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
+ Turning the mode on or off runs `artist-mode-hook'.
Keymap summary
\\{artist-mode-map}"
- (interactive)
- (if (setq artist-mode
- (if (null state) (not artist-mode)
- (> (prefix-numeric-value state) 0)))
- (artist-mode-init)
- (artist-mode-exit)))
-
-;; insert our minor mode string
-(or (assq 'artist-mode minor-mode-alist)
- (setq minor-mode-alist
- (cons '(artist-mode artist-mode-name)
- minor-mode-alist)))
-
-;; insert our minor mode keymap
-(or (assq 'artist-mode minor-mode-map-alist)
- (setq minor-mode-map-alist
- (cons (cons 'artist-mode artist-mode-map)
- minor-mode-map-alist)))
-
+ :init-value nil :group 'artist :lighter artist-mode-name
+ :keymap artist-mode-map
+ (cond ((null artist-mode)
+ ;; Turn mode off
+ (artist-mode-exit))
+ (t
+ ;; Turn mode on
+ (artist-mode-init))))
;; Init and exit
(defun artist-mode-init ()
- "Init Artist mode. This will call the hook `artist-mode-init-hook'."
+ "Init Artist mode. This will call the hook `artist-mode-hook'."
;; Set up a conversion table for mapping tabs and new-lines to spaces.
;; the last case, 0, is for the last position in buffer/region, where
;; the `following-char' function returns 0.
@@ -1459,15 +1447,13 @@ Keymap summary
(progn
(picture-mode)
(message "")))
- (run-hooks 'artist-mode-init-hook)
(artist-mode-line-show-curr-operation artist-key-is-drawing))
(defun artist-mode-exit ()
- "Exit Artist mode. This will call the hook `artist-mode-exit-hook'."
+ "Exit Artist mode. This will call the hook `artist-mode-hook'."
(if (and artist-picture-compatibility (eq major-mode 'picture-mode))
(picture-mode-exit))
- (kill-local-variable 'next-line-add-newlines)
- (run-hooks 'artist-mode-exit-hook))
+ (kill-local-variable 'next-line-add-newlines))
(defun artist-mode-off ()
"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'."
(if ispell-encoding8-command
(setq args
(append args
- (list
- (concat ispell-encoding8-command
- (symbol-name
- encoding))))))
+ (if ispell-really-hunspell
+ (list ispell-encoding8-command
+ (upcase (symbol-name encoding)))
+ (list (concat ispell-encoding8-command
+ (symbol-name encoding)))))))
(let ((process-coding-system-alist (list (cons "\\.*" encoding))))
(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."
("svenska" ; Swedish mode
"[A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
"[^A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
- "[']" nil ("-C") "~list" iso-8859-1))
+ "[']" nil ("-C") "~list" iso-8859-1)
+ ("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))
"Base value for `ispell-dictionary-alist'.")
(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 @@
;; are bzr-versioned, `vc-bzr` presently runs `bzr status` on the
;; symlink, thereby not detecting whether the actual contents
;; (that is, the target contents) are changed.
-;; See https://bugs.launchpad.net/vc-bzr/+bug/116607
;;; Properties of the backend
@@ -65,14 +64,6 @@
:group 'vc-bzr
:type 'string)
-(defcustom vc-bzr-sha1-program '("sha1sum")
- "Name of program to compute SHA1.
-It must be a string \(program name\) or list of strings \(name and its args\)."
- :type '(repeat string)
- :group 'vc-bzr)
-
-(define-obsolete-variable-alias 'sha1-program 'vc-bzr-sha1-program "24.1")
-
(defcustom vc-bzr-diff-switches nil
"String or list of strings specifying switches for bzr diff under VC.
If nil, use the value of `vc-diff-switches'. If t, use no switches."
@@ -190,20 +181,15 @@ in the repository root directory of FILE."
(defun vc-bzr-sha1 (file)
(with-temp-buffer
(set-buffer-multibyte nil)
- (let ((prog vc-bzr-sha1-program)
- (args nil)
- process-file-side-effects)
- (when (consp prog)
- (setq args (cdr prog))
- (setq prog (car prog)))
- (apply 'process-file prog (file-relative-name file) t nil args)
- (buffer-substring (point-min) (+ (point-min) 40)))))
+ (insert-file-contents-literally file)
+ (sha1 (current-buffer))))
(defun vc-bzr-state-heuristic (file)
"Like `vc-bzr-state' but hopefully without running Bzr."
- ;; `bzr status' was excruciatingly slow with large histories and
- ;; pending merges, so try to avoid using it until they fix their
- ;; performance problems.
+ ;; `bzr status' could be slow with large histories and pending merges,
+ ;; so this tries to avoid calling it if possible. bzr status is
+ ;; faster now, so this is not as important as it was.
+ ;;
;; This function tries first to parse Bzr internal file
;; `checkout/dirstate', but it may fail if Bzr internal file format
;; has changed. As a safeguard, the `checkout/dirstate' file is
@@ -299,10 +285,7 @@ in the repository root directory of FILE."
'up-to-date)
(t 'edited))
'unregistered))))
- ;; Either the dirstate file can't be read, or the sha1
- ;; executable is missing, or ...
- ;; In either case, recent versions of Bzr aren't that slow
- ;; any more.
+ ;; The dirstate file can't be read, or some other problem.
(error (vc-bzr-state file)))))))
@@ -417,49 +400,56 @@ string or nil, and STATUS is one of the symbols: `added',
`ignored', `kindchanged', `modified', `removed', `renamed', `unknown',
which directly correspond to `bzr status' output, or 'unchanged
for files whose copy in the working tree is identical to the one
-in the branch repository, or nil for files that are not
-registered with Bzr.
-
-If any error occurred in running `bzr status', then return nil."
+in the branch repository (or whose status not be determined)."
+;; Doc used to also say the following, but AFAICS, it has never been true.
+;;
+;; ", or nil for files that are not registered with Bzr.
+;; If any error occurred in running `bzr status', then return nil."
+;;
+;; Rather than returning nil in case of an error, it returns
+;; (unchanged . WARNING). FIXME unchanged is not the best status to
+;; return in case of error.
(with-temp-buffer
- (let ((ret (condition-case nil
- (vc-bzr-command "status" t 0 file)
- (file-error nil))) ; vc-bzr-program not found.
- (status 'unchanged))
- ;; the only secure status indication in `bzr status' output
- ;; is a couple of lines following the pattern::
- ;; | <status>:
- ;; | <file name>
- ;; if the file is up-to-date, we get no status report from `bzr',
- ;; so if the regexp search for the above pattern fails, we consider
- ;; the file to be up-to-date.
- (goto-char (point-min))
- (when (re-search-forward
- ;; bzr prints paths relative to the repository root.
- (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
- (regexp-quote (vc-bzr-file-name-relative file))
- ;; Bzr appends a '/' to directory names and
- ;; '*' to executable files
- (if (file-directory-p file) "/?" "\\*?")
- "[ \t\n]*$")
- nil t)
- (lexical-let ((statusword (match-string 1)))
- ;; Erase the status text that matched.
- (delete-region (match-beginning 0) (match-end 0))
- (setq status
- (intern (replace-regexp-in-string " " "" statusword)))))
- (when status
- (goto-char (point-min))
- (skip-chars-forward " \n\t") ;Throw away spaces.
- (cons status
- ;; "bzr" will output warnings and informational messages to
- ;; stderr; due to Emacs's `vc-do-command' (and, it seems,
- ;; `start-process' itself) limitations, we cannot catch stderr
- ;; and stdout into different buffers. So, if there's anything
- ;; left in the buffer after removing the above status
- ;; keywords, let us just presume that any other message from
- ;; "bzr" is a user warning, and display it.
- (unless (eobp) (buffer-substring (point) (point-max))))))))
+ ;; This is with-demoted-errors without the condition-case-unless-debug
+ ;; annoyance, which makes it fail during ert testing.
+ (let (err)
+ (condition-case err (vc-bzr-command "status" t 0 file)
+ (error (message "Error: %S" err) nil)))
+ (let ((status 'unchanged))
+ ;; the only secure status indication in `bzr status' output
+ ;; is a couple of lines following the pattern::
+ ;; | <status>:
+ ;; | <file name>
+ ;; if the file is up-to-date, we get no status report from `bzr',
+ ;; so if the regexp search for the above pattern fails, we consider
+ ;; the file to be up-to-date.
+ (goto-char (point-min))
+ (when (re-search-forward
+ ;; bzr prints paths relative to the repository root.
+ (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
+ (regexp-quote (vc-bzr-file-name-relative file))
+ ;; Bzr appends a '/' to directory names and
+ ;; '*' to executable files
+ (if (file-directory-p file) "/?" "\\*?")
+ "[ \t\n]*$")
+ nil t)
+ (lexical-let ((statusword (match-string 1)))
+ ;; Erase the status text that matched.
+ (delete-region (match-beginning 0) (match-end 0))
+ (setq status
+ (intern (replace-regexp-in-string " " "" statusword)))))
+ (when status
+ (goto-char (point-min))
+ (skip-chars-forward " \n\t") ;Throw away spaces.
+ (cons status
+ ;; "bzr" will output warnings and informational messages to
+ ;; stderr; due to Emacs's `vc-do-command' (and, it seems,
+ ;; `start-process' itself) limitations, we cannot catch stderr
+ ;; and stdout into different buffers. So, if there's anything
+ ;; left in the buffer after removing the above status
+ ;; keywords, let us just presume that any other message from
+ ;; "bzr" is a user warning, and display it.
+ (unless (eobp) (buffer-substring (point) (point-max))))))))
(defun vc-bzr-state (file)
(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'."
(or window-system
(display-color-p)
(overlay-put vcursor-overlay 'before-string vcursor-string))
- (overlay-put vcursor-overlay 'face 'vcursor))
+ (overlay-put vcursor-overlay 'face 'vcursor)
+ ;; 200 is purely an arbitrary "high" number. See bug#9663.
+ (overlay-put vcursor-overlay 'priority 200))
(or leave-w (vcursor-find-window nil t))
;; vcursor-window now contains the right buffer
(or (pos-visible-in-window-p pt vcursor-window)
- (set-window-point vcursor-window pt)))
- )
+ (set-window-point vcursor-window pt))))
(defun vcursor-insert (text)
"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."
(scroll-bars . ,(window-scroll-bars window))
(vscroll . ,(window-vscroll window))
(dedicated . ,(window-dedicated-p window))
- (point . ,(if writable point (copy-marker point)))
+ (point . ,(if writable point
+ (copy-marker point
+ (buffer-local-value
+ 'window-point-insertion-type
+ buffer))))
(start . ,(if writable start (copy-marker start)))))))))
(tail
(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 @@
-2012-04-09 Paul Eggert <eggert@cs.ucla.edu>
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
configure: new option --enable-gcc-warnings (Bug#11207)
* Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
+ (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
+
2011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
* lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with
@@ -1763,7 +1768,7 @@
;; coding: utf-8
;; End:
- Copyright (C) 1995-1999, 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2001-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
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 @@
# Copyright (C) 1992, 1993 Lucid, Inc.
-# Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
#
# This file is part of the Lucid Widget Library.
#
@@ -26,7 +26,6 @@ srcdir=@srcdir@
VPATH=@srcdir@
@SET_MAKE@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
-C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
PROFILING_CFLAGS = @PROFILING_CFLAGS@
@@ -54,9 +53,8 @@ OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o
## $(srcdir) is where the lwlib sources are.
## There are no generated lwlib files, hence no need for -I.
ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
- $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) \
- $(WARN_CFLAGS) $(WERROR_CFLAGS) \
- $(PROFILING_CFLAGS) $(CFLAGS) \
+ $(C_SWITCH_MACHINE) \
+ $(WARN_CFLAGS) $(WERROR_CFLAGS) $(PROFILING_CFLAGS) $(CFLAGS) \
-DHAVE_CONFIG_H -Demacs -I../src \
-I$(srcdir) -I$(srcdir)/../src -I../lib -I$(srcdir)/../lib
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index 0c00364d6fa..320d2f5e6c1 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -1,3 +1,7 @@
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * sedlibmk.inp, sed1v2.inp: GNUSTEP_CFLAGS replaces C_SWITCH_X_SYSTEM.
+
2012-04-07 Glenn Morris <rgm@gnu.org>
* sed2v2.inp: Bump version to 24.1.50.
@@ -1312,7 +1316,7 @@
;; coding: utf-8
;; End:
- Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
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 @@
# Configuration script for src/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
@@ -39,7 +39,7 @@ s/\.h\.in/.h-in/
/^LIBOBJS *=/s/@[^@\n]*@//
/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
-/^C_SWITCH_X_SYSTEM *=/s/@C_SWITCH_X_SYSTEM@//
+/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@//
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
@@ -186,7 +186,7 @@ s/echo.*buildobj.lst/dj&/
/^ *THEFILE=/s|$|\; cd ../src|
/^ echo.* buildobj.h/s|echo |djecho |
# Make the GCC command line fit one screen line
-/^[ ][ ]*\$(C_SWITCH_X_SYSTEM)/d
+/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
/^[ ][ ]*\$(GCONF_CFLAGS)/d
/^[ ][ ]*\$(LIBGNUTLS_CFLAGS)/d
s/\$(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 @@
# Configuration script for lib/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+# Copyright (C) 2011-2012 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
@@ -124,7 +124,7 @@ am__cd = cd
/^CYGWIN_OBJ *=/s/@[^@\n]*@//
/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
-/^C_SWITCH_X_SYSTEM *=/s/@C_SWITCH_X_SYSTEM@//
+/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
/^C_WARNINGS_SWITCH *=/s/@C_WARNINGS_SWITCH@//
/^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 @@
+2012-04-14 Dani Moncayo <dmoncayo@gmail.com> (tiny change)
+
+ * makefile.w32-in: Fix typo (Bug#10261).
+
2012-04-10 Eli Zaretskii <eliz@gnu.org>
* 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
maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
maybe-copy-distfiles-CMD: create-tmp-dist-dir doit
- @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
+ @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
maybe-copy-distfiles-SH: create-tmp-dist-dir doit
- @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \
+ @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \
$(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
fi
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog
index 87dadb2745e..a76ea61abd8 100644
--- a/oldXMenu/ChangeLog
+++ b/oldXMenu/ChangeLog
@@ -1,10 +1,15 @@
-2012-04-09 Paul Eggert <eggert@cs.ucla.edu>
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
configure: new option --enable-gcc-warnings (Bug#11207)
* Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
+ (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
+
2011-04-16 Paul Eggert <eggert@cs.ucla.edu>
Static checks with GCC 4.6.0 and non-default toolkits.
@@ -622,7 +627,7 @@
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
diff --git a/oldXMenu/Makefile.in b/oldXMenu/Makefile.in
index e7bc402cb0d..01855f6585b 100644
--- a/oldXMenu/Makefile.in
+++ b/oldXMenu/Makefile.in
@@ -1,4 +1,4 @@
-## Makefile for oldXMenu
+## Makefile for oldXMenu
## Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
@@ -15,7 +15,7 @@
## without express or implied warranty.
-## Copyright (C) 2001-2012 Free Software Foundation, Inc.
+## Copyright (C) 2001-2012 Free Software Foundation, Inc.
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -45,7 +45,6 @@
srcdir=@srcdir@
VPATH=@srcdir@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
-C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
PROFILING_CFLAGS = @PROFILING_CFLAGS@
@@ -89,8 +88,8 @@ OBJS = Activate.o \
all:: libXMenu11.a
ALL_CFLAGS=$(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
- $(C_SWITCH_X_SITE) $(C_SWITCH_X_SYSTEM) \
- $(WARN_CFLAGS) $(WERROR_CFLAGS) ${C_WARNINGS_SWITCH} ${PROFILING_CFLAGS} \
+ $(C_SWITCH_X_SITE) \
+ $(WARN_CFLAGS) $(WERROR_CFLAGS) ${PROFILING_CFLAGS} \
$(CPPFLAGS) $(CFLAGS) -DEMACS_BITMAP_FILES \
-I../src -I${srcdir} -I${srcdir}/../src
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b6a0b2246e..20a6dfca643 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
-2012-04-10 Paul Eggert <eggert@cs.ucla.edu>
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
configure: new option --enable-gcc-warnings (Bug#11207)
* Makefile.in (C_WARNINGS_SWITCH): Remove.
@@ -11,6 +11,47 @@
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.
+2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
+
+ * lread.c (lisp_file_lexically_bound_p):
+ Fix hang at ";-*-\n" (bug#11238).
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
+ "unchanged" if its end.pos is beyond ZV. (Bug#11199)
+
+2012-04-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (constrainFrameRect): Always constrain when there is only
+ one screen (Bug#10962).
+
+2012-04-13 Ken Brown <kbrown@cornell.edu>
+
+ * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
+
+2012-04-13 Reuben Thomas <rrt@sc3d.org>
+
+ * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
+
+2012-04-11 Daniel Colascione <dancol@dancol.org>
+
+ * s/cygwin.h: The vfork the #define in cygwin.h was protecting
+ against is gone. It's better to use vfork now so that when Cygwin
+ gains a new, working vfork, we use it automatically (bug#10398).
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (save_window_save): Obey window-point-insertion-type.
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (lisp_align_malloc): Remove unneeded prototype.
+
2012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change)
* keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
@@ -9747,7 +9788,7 @@ See ChangeLog.11 for earlier changes.
;; coding: utf-8
;; End:
- Copyright (C) 2011-2012 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
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@
## System-specific CFLAGS.
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
-## Currently only set if NS_IMPL_GNUSTEP.
-## C_SWITCH_X_SITE may override this.
-C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
+GNUSTEP_CFLAGS=@GNUSTEP_CFLAGS@
## Define C_SWITCH_X_SITE to contain any special flags your compiler
## may need to deal with X Windows. For instance, if you've defined
## HAVE_X_WINDOWS and your X include files aren't in a place that your
## compiler can find on its own, you might want to add "-I/..." or
## something similar. This is normally set by configure.
-## This is used before C_SWITCH_X_SYSTEM and may override it.
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
## Define LD_SWITCH_X_SITE to contain any special flags your loader
@@ -303,14 +300,11 @@ MKDEPDIR=@MKDEPDIR@
## -DHAVE_CONFIG_H is needed for some other files to take advantage of
## the information in `config.h'.
##
-## C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM
-## since it may have -I options that should override those.
-##
## FIXME? MYCPPFLAGS only referenced in etc/DEBUG.
ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \
-I$(lib) -I$(srcdir)/../lib \
$(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
- $(C_SWITCH_X_SYSTEM) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
+ $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
$(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
$(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
$(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
MEM_TYPE_VECTORLIKE
};
-static POINTER_TYPE *lisp_align_malloc (size_t, enum mem_type);
static POINTER_TYPE *lisp_malloc (size_t, enum mem_type);
@@ -938,9 +937,10 @@ lisp_free (POINTER_TYPE *block)
MALLOC_UNBLOCK_INPUT;
}
-/* Allocation of aligned blocks of memory to store Lisp data. */
-/* The entry point is lisp_align_malloc which returns blocks of at most */
-/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
+/***** Allocation of aligned blocks of memory to store Lisp data. *****/
+
+/* The entry point is lisp_align_malloc which returns blocks of at most
+ BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
/* Use posix_memalloc if the system has it and we're using the system's
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)
#endif
/* Initialize the blocks and put them on the free list.
- Is `base' was not properly aligned, we can't use the last block. */
+ If `base' was not properly aligned, we can't use the last block. */
for (i = 0; i < (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1); i++)
{
abase->blocks[i].abase = abase;
@@ -1146,8 +1146,8 @@ lisp_align_free (POINTER_TYPE *block)
ablock->x.next_free = free_ablock;
free_ablock = ablock;
/* Update busy count. */
- ABLOCKS_BUSY (abase) =
- (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase));
+ ABLOCKS_BUSY (abase)
+ = (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase));
if (2 > (intptr_t) ABLOCKS_BUSY (abase))
{ /* 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)
return val >= column;
}
-DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p",
+DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2,
+ "NMove to column: ",
doc: /* Move point to column COLUMN in the current line.
Interactively, COLUMN is the value of prefix numeric argument.
The 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)
}
/* Stop scanning if no colon was found before end marker. */
- if (!in_file_vars)
+ if (!in_file_vars || ch == '\n' || ch == EOF)
break;
while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t'))
@@ -863,8 +863,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
ch = READCHAR;
}
if (! in_file_vars)
- /* The value was terminated by an end-marker, which
- remove. */
+ /* The value was terminated by an end-marker, which remove. */
i -= 3;
while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t'))
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)
restrict the height to just one monitor. So we override this. */
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
- /* When making the frame visible for the first time, we want to
- constrain. Other times not. */
+ /* When making the frame visible for the first time or if there is just
+ one screen, we want to constrain. Other times not. */
+ NSUInteger nr_screens = [[NSScreen screens] count];
struct frame *f = ((EmacsView *)[self delegate])->emacsframe;
NSTRACE (constrainFrameRect);
+ if (nr_screens == 1)
+ return [super constrainFrameRect:frameRect toScreen:screen];
+
if (f->output_data.ns->dont_constrain
|| ns_menu_bar_should_be_hidden ())
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/>. */
if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
fd = -1; \
sigsetmask (mask); \
- emacs_close (dummy); \
+ if (fd >= 0) \
+ emacs_close (dummy); \
} \
while (0)
@@ -81,10 +82,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define HAVE_SOCKETS
-/* vfork() interacts badly with setsid(), causing ptys to fail to
- change their controlling terminal */
-#define vfork fork
-
/* This should work (at least when compiling with gcc). But I have no way
or intention to verify or even test it. If you encounter a problem with
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)
}
else
p->pointm = Fcopy_marker (w->pointm, Qnil);
+ XMARKER (p->pointm)->insertion_type
+ = !NILP (Vwindow_point_insertion_type);
p->start = Fcopy_marker (w->start, Qnil);
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)
continued. */
&& !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos
&& (row->continued_p
- || row->exact_window_width_line_p)))
+ || row->exact_window_width_line_p))
+ /* If ROW->end is beyond ZV, then ROW->end is outdated and
+ needs to be recomputed, so don't consider this row as
+ unchanged. This happens when the last line was
+ bidi-reordered and was killed immediately before this
+ redisplay cycle. In that case, ROW->end stores the
+ buffer position of the first visual-order character of
+ the killed text, which is now beyond ZV. */
+ && CHARPOS (row->end.pos) <= ZV)
row_found = row;
/* 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 @@
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * automated/vc-bzr.el (vc-bzr-test-faulty-bzr-autoloads): New test.
+
2012-02-13 Teodor Zlatanov <tzz@lifelogs.com>
* 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 @@
;;; vc-bzr.el --- tests for vc/vc-bzr.el
-;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
;; Author: Glenn Morris <rgm@gnu.org>
@@ -98,4 +98,31 @@
(should (get-buffer "*vc-log*")))
(delete-directory tempdir t))))
+;; http://lists.gnu.org/archive/html/help-gnu-emacs/2012-04/msg00145.html
+(ert-deftest vc-bzr-test-faulty-bzr-autoloads ()
+ "Test we can generate autoloads in a bzr directory when bzr is faulty."
+ :expected-result (if (executable-find vc-bzr-program) :passed :failed)
+ (should (executable-find vc-bzr-program))
+ (let* ((tempdir (make-temp-file "vc-bzr-test" t))
+ (file (expand-file-name "foo.el" tempdir))
+ (default-directory (file-name-as-directory tempdir))
+ (generated-autoload-file (expand-file-name "loaddefs.el" tempdir)))
+ (unwind-protect
+ (progn
+ (call-process vc-bzr-program nil nil nil "init")
+ (with-temp-buffer
+ (insert ";;;###autoload
+\(defun foo () \"foo\" (interactive) (message \"foo!\"))")
+ (write-region nil nil file nil 'silent))
+ (call-process vc-bzr-program nil nil nil "add")
+ (call-process vc-bzr-program nil nil nil "commit" "-m" "Commit 1")
+ ;; Deleting dirstate ensures both that vc-bzr's status heuristic
+ ;; fails, so it has to call the external bzr status, and
+ ;; causes bzr status to fail. This simulates a broken bzr
+ ;; installation.
+ (delete-file ".bzr/checkout/dirstate")
+ (should (progn (update-directory-autoloads default-directory)
+ t)))
+ (delete-directory tempdir t))))
+
;;; vc-bzr.el ends here