emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r107898: Merge from emacs-24, up t


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r107898: Merge from emacs-24, up to r107825
Date: Fri, 02 Nov 2012 02:24:19 -0000
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 107898 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Fri 2012-04-13 18:46:06 -0700
message:
  Merge from emacs-24, up to r107825
modified:
  doc/emacs/ChangeLog
  doc/emacs/Makefile.in
  doc/emacs/abbrevs.texi
  doc/emacs/arevert-xtra.texi
  doc/emacs/buffers.texi
  doc/emacs/building.texi
  doc/emacs/cmdargs.texi
  doc/emacs/custom.texi
  doc/emacs/emacs.texi
  doc/emacs/entering.texi
  doc/emacs/files.texi
  doc/emacs/frames.texi
  doc/emacs/glossary.texi
  doc/emacs/help.texi
  doc/emacs/macos.texi
  doc/emacs/maintaining.texi
  doc/emacs/mini.texi
  doc/emacs/misc.texi
  doc/emacs/mule.texi
  doc/emacs/package.texi
  doc/emacs/programs.texi
  doc/emacs/screen.texi
  doc/emacs/search.texi
  doc/emacs/sending.texi
  doc/emacs/text.texi
  doc/emacs/trouble.texi
  doc/lispintro/ChangeLog
  doc/lispintro/Makefile.in
  doc/lispref/ChangeLog
  doc/lispref/Makefile.in
  doc/lispref/buffers.texi
  doc/lispref/compile.texi
  doc/lispref/customize.texi
  doc/lispref/debugging.texi
  doc/lispref/display.texi
  doc/lispref/edebug.texi
  doc/lispref/elisp.texi
  doc/lispref/eval.texi
  doc/lispref/files.texi
  doc/lispref/frames.texi
  doc/lispref/help.texi
  doc/lispref/intro.texi
  doc/lispref/keymaps.texi
  doc/lispref/loading.texi
  doc/lispref/minibuf.texi
  doc/lispref/modes.texi
  doc/lispref/objects.texi
  doc/lispref/os.texi
  doc/lispref/processes.texi
  doc/lispref/strings.texi
  doc/lispref/text.texi
  doc/lispref/vol1.texi
  doc/lispref/vol2.texi
  doc/misc/ChangeLog
  doc/misc/Makefile.in
  doc/misc/cc-mode.texi
  doc/misc/org.texi
  etc/TODO
  etc/refcards/orgcard.pdf
  etc/refcards/orgcard.tex
  lib-src/ChangeLog
  lib-src/emacsclient.c
  lisp/ChangeLog
  lisp/calendar/holidays.el
  lisp/custom.el
  lisp/emulation/cua-base.el
  lisp/files.el
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-art.el
  lisp/gnus/gnus-msg.el
  lisp/gnus/gnus-start.el
  lisp/international/characters.el
  lisp/international/mule.el
  lisp/minibuffer.el
  lisp/net/rcirc.el
  lisp/org/ChangeLog
  lisp/org/ob-C.el
  lisp/org/org-agenda.el
  lisp/org/org-clock.el
  lisp/org/org-footnote.el
  lisp/org/org-pcomplete.el
  lisp/org/org-special-blocks.el
  lisp/org/org-table.el
  lisp/org/org.el
  lisp/pcmpl-rpm.el
  lisp/progmodes/cc-engine.el
  lisp/progmodes/cc-menus.el
  lisp/simple.el
  lisp/startup.el
  lisp/textmodes/ispell.el
  nt/ChangeLog
  nt/makefile.w32-in
  src/ChangeLog
  src/lread.c
  src/nsterm.m
  src/xdisp.c
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2012-04-12 23:51:19 +0000
+++ b/doc/emacs/ChangeLog       2012-04-14 01:46:06 +0000
@@ -1,3 +1,47 @@
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * custom.texi (Creating Custom Themes): Add reference to Custom
+       Themes node in Lisp manual.
+
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        * ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.

=== modified file 'doc/emacs/Makefile.in'
--- a/doc/emacs/Makefile.in     2012-01-19 07:21:25 +0000
+++ b/doc/emacs/Makefile.in     2012-04-07 19:23:53 +0000
@@ -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 @@
 # 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
 

=== modified file 'doc/emacs/abbrevs.texi'
--- a/doc/emacs/abbrevs.texi    2012-03-04 02:45:04 +0000
+++ b/doc/emacs/abbrevs.texi    2012-04-10 06:54:43 +0000
@@ -261,12 +261,12 @@
   @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
address@hidden, and is in Edit-Abbrevs mode.  Type @kbd{C-c C-c} in
address@hidden, 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
address@hidden except that it selects the buffer @samp{*Abbrevs*}
address@hidden except that it selects the buffer @file{*Abbrevs*}
 whereas @code{list-abbrevs} merely displays it in another window.
 
 @node Saving Abbrevs

=== modified file 'doc/emacs/arevert-xtra.texi'
--- a/doc/emacs/arevert-xtra.texi       2012-03-02 03:00:15 +0000
+++ b/doc/emacs/arevert-xtra.texi       2012-04-10 06:54:43 +0000
@@ -93,8 +93,8 @@
 
 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
address@hidden buffers do not auto-revert either.
+arguments to list only some of the files.  @file{*Find*} and
address@hidden buffers do not auto-revert either.
 
 @c FIXME?  This should be in the elisp manual?
 @node Supporting additional buffers

=== modified file 'doc/emacs/buffers.texi'
--- a/doc/emacs/buffers.texi    2012-02-25 03:49:22 +0000
+++ b/doc/emacs/buffers.texi    2012-04-10 06:54:43 +0000
@@ -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 @@
 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 @@
 @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 @@
   @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
address@hidden; meanwhile, the old shell buffer continues to exist
address@hidden; 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 @@
 @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 @@
 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
address@hidden 4 b}, leaving @samp{*Buffer List*} visible.
address@hidden 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 @@
 @item 2
 Immediately set up two windows, with this line's buffer selected in
 one, and the previously current buffer (aside from the buffer
address@hidden List*}) displayed in the other.
address@hidden List*}) displayed in the other.
 @item b
 Bury the buffer listed on this line.
 @item m
@@ -448,19 +448,19 @@
 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 address@hidden
 @iftex
 @inforef{Autorevert,, emacs-xtra}, for details.

=== modified file 'doc/emacs/building.texi'
--- a/doc/emacs/building.texi   2012-02-20 23:50:52 +0000
+++ b/doc/emacs/building.texi   2012-04-10 06:54:43 +0000
@@ -44,7 +44,7 @@
 @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 @@
 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 @@
 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
address@hidden buffer changes to say @samp{exit} (followed by
address@hidden 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 @@
 @cindex compilation buffer, keeping point at end
 @vindex compilation-scroll-output
   If you change the variable @code{compilation-scroll-output} to a
address@hidden value, the @samp{*compilation*} buffer scrolls
address@hidden 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 address@hidden value,
@@ -103,22 +103,22 @@
   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
address@hidden buffer and starts the compilation in its default
address@hidden 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 @@
 @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 @@
   If you change the variable
 @code{compilation-auto-jump-to-first-error} to a address@hidden 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 @@
 visits the locus of the first error message.  Each subsequent
 @address@hidden `}} visits the next error, in a similar fashion.  If you
 visit a specific error with @key{RET} or a mouse click in the
address@hidden buffer, subsequent @address@hidden `}} commands
address@hidden buffer, subsequent @address@hidden `}} commands
 advance from there.  When @address@hidden `}} finds no more error messages
 to visit, it signals an error.  @address@hidden C-x `}} starts again from
 the beginning of the compilation buffer, and visits the first locus.
@@ -199,8 +199,8 @@
 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
address@hidden buffers; they also know how to iterate through error or
+act on the errors or matches listed in @file{*compilation*} and
address@hidden 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 @@
 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 @@
 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
address@hidden buffer, it means you have made a mistake in your
address@hidden 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 @@
 @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
address@hidden buffer.
address@hidden 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 @@
 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 @address@hidden
 `}}, @key{RET}, and so forth, just like compilation errors.
 
@@ -1506,14 +1506,14 @@
 @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 @@
 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 @@
 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
address@hidden buffer which uses this mode.  For more information, see
address@hidden buffer which uses this mode.  For more information, see
 that command's documentation.
 
 @node External Lisp
@@ -1555,13 +1555,13 @@
 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
address@hidden  To change the name of the Lisp program run by
address@hidden  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 @@
 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
address@hidden buffer.  Note that the effect of @kbd{C-M-x} in
address@hidden 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 @@
 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
address@hidden), and send expressions to it by typing @kbd{C-M-x}.
address@hidden), and send expressions to it by typing @kbd{C-M-x}.

=== modified file 'doc/emacs/cmdargs.texi'
--- a/doc/emacs/cmdargs.texi    2012-01-19 07:21:25 +0000
+++ b/doc/emacs/cmdargs.texi    2012-04-10 06:54:43 +0000
@@ -157,7 +157,7 @@
 @item address@hidden
 @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}).
 

=== modified file 'doc/emacs/custom.texi'
--- a/doc/emacs/custom.texi     2012-04-02 04:18:06 +0000
+++ b/doc/emacs/custom.texi     2012-04-12 14:50:58 +0000
@@ -561,7 +561,7 @@
 @vindex custom-theme-directory
 @cindex color scheme
   Type @kbd{M-x customize-themes} to switch to a buffer named
address@hidden Themes*}, which lists the Custom themes that Emacs knows
address@hidden 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 @@
 @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 @@
   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 @@
 
 @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 @@
 @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 @@
 @address@hidden 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 @@
 
   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.
address@hidden Add link to the relevant Emacs Lisp Reference manual node, once
address@hidden 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 @@
 @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 @@
 conversion of this file.  @xref{Coding Systems}.
 
 @item
address@hidden says to visit the file in a unibyte buffer, if the
-value is @code{t}.  @xref{Enabling Multibyte}.
address@hidden 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

=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi      2012-02-29 08:11:23 +0000
+++ b/doc/emacs/emacs.texi      2012-04-12 01:09:15 +0000
@@ -516,7 +516,7 @@
 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.

=== modified file 'doc/emacs/entering.texi'
--- a/doc/emacs/entering.texi   2012-01-19 07:21:25 +0000
+++ b/doc/emacs/entering.texi   2012-04-10 06:54:43 +0000
@@ -63,7 +63,7 @@
   If the variable @code{inhibit-startup-screen} is address@hidden,
 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 @@
 by setting the variable @code{initial-buffer-choice} to a
 address@hidden 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
address@hidden buffer.
+The value of @code{initial-buffer-choice} should be the name of
+the desired file or directory.
address@hidden
address@hidden I do not think this should be mentioned.  AFAICS it is just a 
dodge
address@hidden around inhibit-startup-screen not being settable on a site-wide 
basis.
+or @code{t}, which means to display the @file{*scratch*} buffer.
address@hidden ignore
 
 @node Exiting, Basic, Entering Emacs, Top
 @section Exiting Emacs

=== modified file 'doc/emacs/files.texi'
--- a/doc/emacs/files.texi      2012-03-30 16:31:24 +0000
+++ b/doc/emacs/files.texi      2012-04-10 06:54:43 +0000
@@ -976,7 +976,7 @@
 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 @@
 @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,

=== modified file 'doc/emacs/frames.texi'
--- a/doc/emacs/frames.texi     2012-02-20 23:50:52 +0000
+++ b/doc/emacs/frames.texi     2012-04-10 06:54:43 +0000
@@ -257,7 +257,7 @@
 @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
address@hidden buffer, each error message is a button, and
address@hidden buffer, each error message is a button, and
 activating it visits the source code for that error
 (@pxref{Compilation}).
 

=== modified file 'doc/emacs/glossary.texi'
--- a/doc/emacs/glossary.texi   2012-04-05 00:28:06 +0000
+++ b/doc/emacs/glossary.texi   2012-04-10 06:54:43 +0000
@@ -421,7 +421,7 @@
 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
address@hidden so you can review them later.  @xref{Echo Area}.
address@hidden so you can review them later.  @xref{Echo Area}.
 
 @item Echoing
 Echoing is acknowledging the receipt of input events by displaying

=== modified file 'doc/emacs/help.texi'
--- a/doc/emacs/help.texi       2012-03-16 23:20:37 +0000
+++ b/doc/emacs/help.texi       2012-04-10 06:54:43 +0000
@@ -102,7 +102,7 @@
 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 @@
 @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
address@hidden buffers.)
address@hidden buffers.)
 @end table
 
 @node Key Help
@@ -519,7 +519,7 @@
 @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
address@hidden, where those messages are kept.
address@hidden, where those messages are kept.
 
 @kindex C-h m
 @findex describe-mode

=== modified file 'doc/emacs/macos.texi'
--- a/doc/emacs/macos.texi      2012-02-25 10:04:30 +0000
+++ b/doc/emacs/macos.texi      2012-04-10 06:54:43 +0000
@@ -142,7 +142,7 @@
 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

=== modified file 'doc/emacs/maintaining.texi'
--- a/doc/emacs/maintaining.texi        2012-02-17 07:44:31 +0000
+++ b/doc/emacs/maintaining.texi        2012-04-10 06:54:43 +0000
@@ -477,7 +477,7 @@
 
 @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 @@
 
 @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 @@
 @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
address@hidden  In this buffer, you should write a @dfn{log entry}
address@hidden  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 @@
 @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 @@
 @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
 @address@hidden C-c}}.  To view a list of the files in the VC fileset,
 type @address@hidden C-f}} (@code{log-edit-show-files}).  To view a diff
@@ -639,7 +639,7 @@
   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 @@
   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 @@
 @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 @@
 @findex vc-print-root-log
 @findex log-view-toggle-entry-display
   @kbd{C-x v L} (@code{vc-print-root-log}) displays a
address@hidden buffer showing the history of the entire
address@hidden 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 @@
   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
address@hidden buffer to reveal the entire log entry for the
address@hidden 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 @@
 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 @@
 
 @vindex vc-log-show-limit
 Because fetching many log entries can be slow, the
address@hidden buffer displays no more than 2000 revisions by
address@hidden 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
address@hidden buffer by clicking on the @samp{Show 2X
address@hidden 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 @@
   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
address@hidden  Its contents are described
address@hidden  Its contents are described
 @iftex
 below.
 @end iftex

=== modified file 'doc/emacs/mini.texi'
--- a/doc/emacs/mini.texi       2012-02-23 08:32:18 +0000
+++ b/doc/emacs/mini.texi       2012-04-10 06:54:43 +0000
@@ -197,7 +197,7 @@
 
 @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.
 

=== modified file 'doc/emacs/misc.texi'
--- a/doc/emacs/misc.texi       2012-04-02 17:33:41 +0000
+++ b/doc/emacs/misc.texi       2012-04-10 06:54:43 +0000
@@ -92,7 +92,7 @@
 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 @@
 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
address@hidden Command Output*}, displayed in another window (if the
address@hidden 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 @@
 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
address@hidden Command Output*} buffer.
address@hidden Command Output*} buffer.
 
 @vindex shell-file-name
   The above commands use the shell specified by the variable
@@ -577,7 +577,7 @@
 
 @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 @@
   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 @@
 @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 @@
 
   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 @@
 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 address@hidden
@@ -1600,7 +1600,7 @@
 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 @@
 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
address@hidden Interface*} buffer, similar to a customization buffer,
address@hidden 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 @@
 @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

=== modified file 'doc/emacs/mule.texi'
--- a/doc/emacs/mule.texi       2012-03-16 23:20:37 +0000
+++ b/doc/emacs/mule.texi       2012-04-13 03:59:27 +0000
@@ -41,7 +41,7 @@
 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 @@
 @item
 You can insert address@hidden 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 address@hidden 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 @@
 
 @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 @@
 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
 
address@hidden Enabling Multibyte
address@hidden Enabling Multibyte Characters
address@hidden FIXME?  Does this section even belong in the user manual?
address@hidden Seems more appropriate to the lispref?
address@hidden Disabling Multibyte
address@hidden 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 @@
 @samp{raw-text} doesn't disable format conversion, uncompression, or
 auto mode selection.
 
address@hidden Not a single file in Emacs uses this feature.  Is it really worth
address@hidden mentioning in the _user_ manual?  Also, this duplicates somewhat
address@hidden "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 address@hidden 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 @address@hidden: 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.
+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}).
address@hidden
address@hidden 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.
address@hidden 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
address@hidden 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.
address@hidden Line}, for more details about this.
address@hidden See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
address@hidden enable-multibyte-characters
+The buffer-local variable @code{enable-multibyte-characters} is
address@hidden in multibyte buffers, and @code{nil} in unibyte ones.
+The mode line also indicates whether a buffer is multibyte or not.
address@hidden 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 @@
 
   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 @@
 @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 @@
 @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
address@hidden you run Emacs on X, you need to inform the X
-server about the location of the newly installed fonts with the
-following commands:
address@hidden 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:
address@hidden FIXME?  I feel like this may be out of date.
address@hidden Eg the intlfonts tarfile is ~ 10 years old.
 
 @example
  xset fp+ /usr/local/share/emacs/fonts
@@ -370,22 +392,25 @@
 @cindex locales
   Some operating systems let you specify the character-set locale you
 are using by setting the locale environment variables @env{LC_ALL},
address@hidden, or @address@hidden more than one of these is
address@hidden, 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
address@hidden and @code{locale-language-names},
address@hidden 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 address@hidden characters sent by your keyboard.
 
address@hidden 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
address@hidden 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 @@
 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 @@
 @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 @@
 characters into one letter.  Many European input methods use composition
 to produce a single address@hidden 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 @@
 @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},
address@hidden, and digits, which have special meanings in this situation.
address@hidden (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 current alternative with a special color; type @address@hidden
 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 @@
   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 @@
 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 @@
 @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 @@
 @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 @@
   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 @@
   In addition to converting various representations of address@hidden
 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 @@
 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 address@hidden 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 @@
 
 @cindex @code{raw-text}, coding system
   The coding system @code{raw-text} is good for a file which is mainly
address@hidden text, but may contain byte values above 127 which are
address@hidden text, but may contain byte values above 127 that are
 not meant to encode address@hidden 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 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 address@hidden 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.
address@hidden I count a grand total of 3 such files, so is the above really 
true?
 
 @vindex auto-coding-alist
 @vindex auto-coding-regexp-alist
address@hidden auto-coding-functions
-  The variables @code{auto-coding-alist},
address@hidden and @code{auto-coding-functions} are
+  The variables @code{auto-coding-alist} and
address@hidden 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.
address@hidden
address@hidden 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.
address@hidden ignore
+
address@hidden auto-coding-functions
+  Another way to specify a coding system is with the variable
address@hidden  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
address@hidden:-*-} tag.
 
address@hidden 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
address@hidden  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 @@
 set-language-environment} and specify a suitable language environment
 such as @address@hidden
 
-  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
 address@hidden characters.
@@ -1613,7 +1650,7 @@
 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.
 

=== modified file 'doc/emacs/package.texi'
--- a/doc/emacs/package.texi    2012-03-17 11:11:08 +0000
+++ b/doc/emacs/package.texi    2012-04-10 06:54:43 +0000
@@ -14,7 +14,7 @@
 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}.
 

=== modified file 'doc/emacs/programs.texi'
--- a/doc/emacs/programs.texi   2012-02-20 23:50:52 +0000
+++ b/doc/emacs/programs.texi   2012-04-10 06:54:43 +0000
@@ -1130,7 +1130,7 @@
 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 @@
 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 @@
 @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

=== modified file 'doc/emacs/screen.texi'
--- a/doc/emacs/screen.texi     2012-01-19 07:21:25 +0000
+++ b/doc/emacs/screen.texi     2012-04-10 06:54:43 +0000
@@ -131,15 +131,15 @@
 progress has been made, as a percentage), and add @samp{done} when
 they are finished.
 
address@hidden @samp{*Messages*} buffer
address@hidden @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
address@hidden  (We have not explained buffers yet; see
address@hidden  (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
address@hidden buffer to see it again.  The @samp{*Messages*}
address@hidden 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

=== modified file 'doc/emacs/search.texi'
--- a/doc/emacs/search.texi     2012-01-19 07:21:25 +0000
+++ b/doc/emacs/search.texi     2012-04-10 06:54:43 +0000
@@ -1308,7 +1308,7 @@
 @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 @@
 
 @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.

=== modified file 'doc/emacs/sending.texi'
--- a/doc/emacs/sending.texi    2012-04-03 10:21:47 +0000
+++ b/doc/emacs/sending.texi    2012-04-10 06:54:43 +0000
@@ -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 @@
 @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.

=== modified file 'doc/emacs/text.texi'
--- a/doc/emacs/text.texi       2012-02-29 08:11:23 +0000
+++ b/doc/emacs/text.texi       2012-04-10 06:54:43 +0000
@@ -1548,7 +1548,7 @@
 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 @@
 @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

=== modified file 'doc/emacs/trouble.texi'
--- a/doc/emacs/trouble.texi    2012-02-09 05:57:15 +0000
+++ b/doc/emacs/trouble.texi    2012-04-10 06:54:43 +0000
@@ -636,7 +636,7 @@
 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 @@
 @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 @@
 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 @@
 backtrace showing how the Lisp program in Emacs arrived at the error.
 
 To get the error message text accurately, copy it from the
address@hidden buffer into the bug report.  Copy all of it, not just
address@hidden buffer into the bug report.  Copy all of it, not just
 part.
 
 @findex toggle-debug-on-error

=== modified file 'doc/lispintro/ChangeLog'
--- a/doc/lispintro/ChangeLog   2012-02-28 08:17:21 +0000
+++ b/doc/lispintro/ChangeLog   2012-04-14 01:46:06 +0000
@@ -1,3 +1,7 @@
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
 2012-02-28  Glenn Morris  <address@hidden>
 
        * emacs-lisp-intro.texi: Standardize possessive apostrophe usage.

=== modified file 'doc/lispintro/Makefile.in'
--- a/doc/lispintro/Makefile.in 2012-01-19 07:21:25 +0000
+++ b/doc/lispintro/Makefile.in 2012-04-07 19:23:53 +0000
@@ -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 @@
 
 # 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
 

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-04-12 19:14:43 +0000
+++ b/doc/lispref/ChangeLog     2012-04-14 01:46:06 +0000
@@ -1,3 +1,40 @@
+2012-04-14  Chong Yidong  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * processes.texi (Query Before Exit): Remove obsolete function
+       process-kill-without-query (Bug#11190).
+
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        * processes.texi (Synchronous Processes): Mention

=== modified file 'doc/lispref/Makefile.in'
--- a/doc/lispref/Makefile.in   2012-02-28 04:17:02 +0000
+++ b/doc/lispref/Makefile.in   2012-04-07 19:23:53 +0000
@@ -106,21 +106,22 @@
 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
 

=== modified file 'doc/lispref/buffers.texi'
--- a/doc/lispref/buffers.texi  2012-02-27 07:26:13 +0000
+++ b/doc/lispref/buffers.texi  2012-04-10 07:11:23 +0000
@@ -863,7 +863,7 @@
 resort.  If @var{visible-ok} is address@hidden, 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 +874,7 @@
 
 The argument @var{visible-ok} is handled as with @code{other-buffer},
 see above.  If no suitable buffer can be found, the buffer
address@hidden is returned.
address@hidden is returned.
 @end defun
 
 @deffn Command bury-buffer &optional buffer-or-name

=== modified file 'doc/lispref/compile.texi'
--- a/doc/lispref/compile.texi  2012-02-11 06:17:22 +0000
+++ b/doc/lispref/compile.texi  2012-04-10 07:11:23 +0000
@@ -92,7 +92,7 @@
 
   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 +443,14 @@
 @cindex compiler errors
 
   Byte compilation outputs all errors and warnings into the buffer
address@hidden  The messages include file names and line
address@hidden  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 @address@hidden Input*}}.
+to investigate is to switch to the buffer @address@hidden *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 +602,7 @@
 @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 address@hidden, 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.

=== modified file 'doc/lispref/customize.texi'
--- a/doc/lispref/customize.texi        2012-04-09 12:36:01 +0000
+++ b/doc/lispref/customize.texi        2012-04-14 01:46:06 +0000
@@ -4,20 +4,25 @@
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/customize
 @node Customization, Loading, Macros, Top
address@hidden Writing Customization Definitions
-
address@hidden customization definitions
-  This chapter describes how to declare user options for customization,
-and also customization groups for classifying them.  We use the term
address@hidden item} to include both kinds of customization
-definitions---as well as face definitions (@pxref{Defining Faces}).
address@hidden Customization Settings
+
address@hidden customization item
+  This chapter describes how to declare customizable variables and
+customization groups for classifying them.  We use the term
address@hidden 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 +311,7 @@
 @item :set @var{setfunction}
 @kindex address@hidden, @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 +593,7 @@
 @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 +1247,168 @@
 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.
+
address@hidden Applying Customizations
address@hidden 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.
+
address@hidden custom-set-variables &rest args
+This function installs the variable customizations specified by
address@hidden  Each argument in @var{args} should have the form
+
address@hidden
+(@var{var} @var{expression} address@hidden address@hidden address@hidden)
address@hidden example
+
address@hidden
address@hidden 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,
address@hidden 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 address@hidden,
+means to set the variable's value now, even if the variable's
address@hidden form has not been evaluated.  @var{request} is a list
+of features to be loaded immediately (@pxref{Named Features}).
address@hidden is a string describing the customization.
address@hidden defun
+
address@hidden custom-set-faces &rest args
+This function installs the face customizations specified by
address@hidden  Each argument in @var{args} should have the form
+
address@hidden
+(@var{face} @var{spec} address@hidden address@hidden)
address@hidden example
+
address@hidden
address@hidden 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 address@hidden, 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.
address@hidden defun
+
address@hidden Custom Themes
address@hidden 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 @address@hidden, where
address@hidden 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
address@hidden
+
address@hidden 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
address@hidden 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
address@hidden is a ``dummy'' theme which stores changes made outside
+of the Customize system.  If you specify either of these as the
address@hidden argument, @code{deftheme} signals an error.
address@hidden defmac
+
address@hidden provide-theme theme
+This macro declares that the theme named @var{theme} has been fully
+specified.
address@hidden defmac
+
+  In between @code{deftheme} and @code{provide-theme} are Lisp forms
+specifying the theme settings: usually a call to
address@hidden and/or a call to
address@hidden
+
address@hidden 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
address@hidden should be a list of the form
+
address@hidden
+(@var{var} @var{expression} address@hidden address@hidden address@hidden)
address@hidden example
+
address@hidden
+where the list entries have the same meanings as in
address@hidden  @xref{Applying Customizations}.
address@hidden defun
+
address@hidden custom-theme-set-faces theme &rest args
+This function specifies the Custom theme @var{theme}'s face settings.
address@hidden should be a symbol.  Each argument in @var{args} should be
+a list of the form
+
address@hidden
+(@var{face} @var{spec} address@hidden address@hidden)
address@hidden example
+
address@hidden
+where the list entries have the same meanings as in
address@hidden  @xref{Applying Customizations}.
address@hidden 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:
+
address@hidden custom-theme-p theme
+This function return a address@hidden 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}.
address@hidden defun
+
address@hidden 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 address@hidden, this
+skips prompting the user for confirmation before loading the theme.
+
+If the optional argument @var{no-enable} is address@hidden, the theme
+is loaded but not enabled.
address@hidden deffn
+
address@hidden Command enable-theme theme
+This function enables the Custom theme named @var{theme}.  It signals
+an error if no such theme has been loaded.
address@hidden deffn
+
address@hidden 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.
address@hidden deffn

=== modified file 'doc/lispref/debugging.texi'
--- a/doc/lispref/debugging.texi        2012-02-12 09:51:03 +0000
+++ b/doc/lispref/debugging.texi        2012-04-10 07:11:23 +0000
@@ -303,7 +303,7 @@
 @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 +412,7 @@
 
 @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 +450,7 @@
 
 @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 +461,7 @@
 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 +560,7 @@
 @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
address@hidden buffer.  It is written in C, since it must have access
address@hidden 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}.
 

=== modified file 'doc/lispref/display.texi'
--- a/doc/lispref/display.texi  2012-04-04 07:54:02 +0000
+++ b/doc/lispref/display.texi  2012-04-12 14:50:58 +0000
@@ -268,7 +268,7 @@
 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 +341,7 @@
 
 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 +474,16 @@
 @end defmac
 
 @node Logging Messages
address@hidden Logging Messages in @samp{*Messages*}
address@hidden 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 +494,7 @@
 @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 +624,7 @@
 severity level, with @code{:warning} being the default.
 
 @var{buffer-name}, if address@hidden, 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 +1885,7 @@
 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 +1904,17 @@
 @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 address@hidden
-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
address@hidden 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 +1925,14 @@
 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
address@hidden 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}
address@hidden)}.  @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 +2019,22 @@
   :group 'basic-faces)
 @end example
 
-  Internally, @code{defface} uses the symbol property
address@hidden 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
address@hidden
+  Internally, Emacs stores the face's default specification in its
address@hidden 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.
address@hidden 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 address@hidden, specifies the background type to use for
@@ -2752,7 +2757,7 @@
 @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

=== modified file 'doc/lispref/edebug.texi'
--- a/doc/lispref/edebug.texi   2012-03-31 19:58:05 +0000
+++ b/doc/lispref/edebug.texi   2012-04-10 07:11:23 +0000
@@ -622,7 +622,7 @@
 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 @@
 @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 @@
 @end table
 
   You can evaluate expressions in the evaluation list window with
address@hidden or @kbd{C-x C-e}, just as you would in @samp{*scratch*};
address@hidden 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 @@
 @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 @@
 @cindex trace buffer
 
   Edebug can record an execution trace, storing it in a buffer named
address@hidden  This is a log of function calls and returns,
address@hidden  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 address@hidden value.
 
@@ -1567,7 +1567,7 @@
 
 @defopt edebug-trace
 If this is address@hidden, 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}.

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2012-04-05 18:32:38 +0000
+++ b/doc/lispref/elisp.texi    2012-04-12 14:50:58 +0000
@@ -123,7 +123,7 @@
 * 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 @@
 * 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 @@
 
 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

=== modified file 'doc/lispref/eval.texi'
--- a/doc/lispref/eval.texi     2012-03-10 09:30:21 +0000
+++ b/doc/lispref/eval.texi     2012-04-10 07:11:23 +0000
@@ -807,7 +807,7 @@
 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
address@hidden buffers, nor evaluation using @kbd{C-j} in
address@hidden buffers, nor evaluation using @kbd{C-j} in
 @code{lisp-interaction-mode}.)  The elements are ordered most recent
 first.
 

=== modified file 'doc/lispref/files.texi'
--- a/doc/lispref/files.texi    2012-04-01 02:44:24 +0000
+++ b/doc/lispref/files.texi    2012-04-08 02:07:16 +0000
@@ -2154,7 +2154,7 @@
 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 +2239,9 @@
 the proper directory before calling @code{make-temp-file}.
 
 @defopt temporary-file-directory
address@hidden @code{TMPDIR} environment variable
address@hidden @code{TMP} environment variable
address@hidden @code{TEMP} environment variable
address@hidden @env{TMPDIR} environment variable
address@hidden @env{TMP} environment variable
address@hidden @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 +2249,7 @@
 @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.
 

=== modified file 'doc/lispref/frames.texi'
--- a/doc/lispref/frames.texi   2012-03-17 09:19:02 +0000
+++ b/doc/lispref/frames.texi   2012-04-08 02:07:16 +0000
@@ -488,7 +488,7 @@
 @item display
 The display on which to open this frame.  It should be a string of the
 form @code{"@var{host}:@address@hidden"}, just like the
address@hidden environment variable.
address@hidden environment variable.
 
 @vindex display-type, a frame parameter
 @item display-type

=== modified file 'doc/lispref/help.texi'
--- a/doc/lispref/help.texi     2012-04-09 12:36:01 +0000
+++ b/doc/lispref/help.texi     2012-04-14 01:46:06 +0000
@@ -180,7 +180,7 @@
 @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 +535,7 @@
 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 +648,7 @@
 
 @defun help-buffer
 This function returns the name of the help buffer, which is normally
address@hidden; if such a buffer does not exist, it is first created.
address@hidden; if such a buffer does not exist, it is first created.
 @end defun
 
 @defmac with-help-window buffer-name address@hidden
@@ -662,16 +662,16 @@
 @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 address@hidden 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

=== modified file 'doc/lispref/intro.texi'
--- a/doc/lispref/intro.texi    2012-02-26 02:25:07 +0000
+++ b/doc/lispref/intro.texi    2012-04-10 07:11:23 +0000
@@ -247,7 +247,7 @@
 
   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.

=== modified file 'doc/lispref/keymaps.texi'
--- a/doc/lispref/keymaps.texi  2012-03-10 03:27:10 +0000
+++ b/doc/lispref/keymaps.texi  2012-04-10 07:34:53 +0000
@@ -64,7 +64,7 @@
 @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
address@hidden 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 +808,7 @@
 @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
address@hidden buffer (using Lisp Interaction mode) is a sparse keymap
address@hidden 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 +1922,7 @@
 
 @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 address@hidden, it should be a prefix key; then the

=== modified file 'doc/lispref/loading.texi'
--- a/doc/lispref/loading.texi  2012-03-10 04:00:13 +0000
+++ b/doc/lispref/loading.texi  2012-04-12 01:09:15 +0000
@@ -235,7 +235,7 @@
 in a list of directories specified by the variable @code{load-path}.
 
 @defvar load-path
address@hidden @code{EMACSLOADPATH} environment variable
address@hidden @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 +375,7 @@
 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
address@hidden: t;-*-} in a comment on the file's first line.  With
address@hidden: 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 address@hidden characters written as

=== modified file 'doc/lispref/minibuf.texi'
--- a/doc/lispref/minibuf.texi  2012-04-09 12:36:01 +0000
+++ b/doc/lispref/minibuf.texi  2012-04-14 01:46:06 +0000
@@ -1062,7 +1062,7 @@
 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
address@hidden
address@hidden
 @end deffn
 
 @defun display-completion-list completions &optional common-substring
@@ -1756,7 +1756,7 @@
 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

=== modified file 'doc/lispref/modes.texi'
--- a/doc/lispref/modes.texi    2012-03-16 01:40:20 +0000
+++ b/doc/lispref/modes.texi    2012-04-12 14:50:58 +0000
@@ -628,7 +628,7 @@
 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 +637,9 @@
 @end defun
 
 @defopt initial-major-mode
address@hidden @samp{*scratch*}
address@hidden @file{*scratch*}
 The value of this variable determines the major mode of the initial
address@hidden buffer.  The value should be a symbol that is a major
address@hidden 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 +908,7 @@
 (@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 +1571,8 @@
 
 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 +1691,7 @@
 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 +2016,7 @@
 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}.

=== modified file 'doc/lispref/objects.texi'
--- a/doc/lispref/objects.texi  2012-02-25 04:03:43 +0000
+++ b/doc/lispref/objects.texi  2012-04-10 07:34:53 +0000
@@ -352,7 +352,7 @@
 
   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 address@hidden text characters.
 
 @cindex unicode character escape
   You can specify characters by their Unicode values.

=== modified file 'doc/lispref/os.texi'
--- a/doc/lispref/os.texi       2012-04-04 08:11:01 +0000
+++ b/doc/lispref/os.texi       2012-04-12 14:50:58 +0000
@@ -89,7 +89,7 @@
 @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 +170,7 @@
 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 +196,7 @@
 
 @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 +254,7 @@
 
 @defopt inhibit-startup-screen
 This variable, if address@hidden, 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 +274,7 @@
 @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 +290,17 @@
 
 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
address@hidden 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 address@hidden, 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 +352,8 @@
 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 +430,7 @@
   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 +468,7 @@
 have their own libraries.  @xref{Hooks}.
 
 @defvar term-file-prefix
address@hidden @code{TERM} environment variable
address@hidden @env{TERM} environment variable
 If the value of this variable is address@hidden, Emacs loads a
 terminal-specific initialization file as follows:
 
@@ -481,7 +481,7 @@
 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 +1010,7 @@
 
 @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 +1113,7 @@
 
 @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 +1124,12 @@
 @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 +1249,9 @@
 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 +1325,7 @@
 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
address@hidden environment variable, @code{t} for Universal Time, or an
address@hidden 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 +2233,7 @@
 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

=== modified file 'doc/lispref/processes.texi'
--- a/doc/lispref/processes.texi        2012-04-12 19:14:43 +0000
+++ b/doc/lispref/processes.texi        2012-04-14 01:46:06 +0000
@@ -77,14 +77,14 @@
 fashion, their common arguments are described here.
 
 @cindex execute program
address@hidden @code{PATH} environment variable
address@hidden @code{HOME} environment variable
address@hidden @env{PATH} environment variable
address@hidden @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
@@ -717,7 +717,7 @@
 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 address@hidden then it lists only processes
@@ -1632,35 +1632,17 @@
 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
 
address@hidden 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
address@hidden in all but the simplest cases.
-The only way you should use @code{process-kill-without-query} nowadays
-is like this:
-
address@hidden
address@hidden
-;; @r{Don't query about the shell process}
-(process-kill-without-query (get-process "shell"))
address@hidden group
address@hidden smallexample
address@hidden defun
-
 @node System Processes
 @section Accessing Other Processes
 @cindex system processes

=== modified file 'doc/lispref/strings.texi'
--- a/doc/lispref/strings.texi  2012-03-22 06:21:28 +0000
+++ b/doc/lispref/strings.texi  2012-04-10 07:34:53 +0000
@@ -1117,7 +1117,7 @@
 @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}

=== modified file 'doc/lispref/text.texi'
--- a/doc/lispref/text.texi     2012-03-31 10:27:04 +0000
+++ b/doc/lispref/text.texi     2012-04-10 07:11:23 +0000
@@ -4345,7 +4345,7 @@
 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 address@hidden

=== modified file 'doc/lispref/vol1.texi'
--- a/doc/lispref/vol1.texi     2012-04-05 18:32:38 +0000
+++ b/doc/lispref/vol1.texi     2012-04-12 14:50:58 +0000
@@ -141,7 +141,7 @@
 * 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 @@
 * 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 @@
 
 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

=== modified file 'doc/lispref/vol2.texi'
--- a/doc/lispref/vol2.texi     2012-04-05 18:32:38 +0000
+++ b/doc/lispref/vol2.texi     2012-04-12 14:50:58 +0000
@@ -140,7 +140,7 @@
 * 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 @@
 * 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 @@
 
 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

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-04-09 16:23:20 +0000
+++ b/doc/misc/ChangeLog        2012-04-14 01:46:06 +0000
@@ -1,3 +1,24 @@
+2012-04-14  Alan Mackenzie  <address@hidden>
+
+       * cc-mode.texi (c-offsets-alist): Correct a typo.
+
+2012-04-14  Jérémie Courrèges-Anglas  <address@hidden>  (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  <address@hidden>  (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  <address@hidden>
+
+       * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
 2012-04-09  Eli Zaretskii  <address@hidden>
 
        * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add

=== modified file 'doc/misc/Makefile.in'
--- a/doc/misc/Makefile.in      2012-04-09 13:10:22 +0000
+++ b/doc/misc/Makefile.in      2012-04-14 01:46:06 +0000
@@ -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 @@
 # 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 @@
 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 @@
 ###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

=== modified file 'doc/misc/cc-mode.texi'
--- a/doc/misc/cc-mode.texi     2012-02-28 08:17:21 +0000
+++ b/doc/misc/cc-mode.texi     2012-04-11 15:24:20 +0000
@@ -5195,7 +5195,7 @@
 @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}.
 

=== modified file 'doc/misc/org.texi'
--- a/doc/misc/org.texi 2012-04-02 00:43:32 +0000
+++ b/doc/misc/org.texi 2012-04-11 10:59:50 +0000
@@ -4,8 +4,8 @@
 @setfilename ../../info/org
 @settitle The Org Manual
 
address@hidden VERSION 7.8.07
address@hidden DATE March 2012
address@hidden VERSION 7.8.09
address@hidden 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 @@
 
 @example
 *** TODO write article about the Earth for the Guide
+    DEADLINE: <2004-02-29 Sun>
     The editor in charge is [[bbdb:Ford Prefect]]
-    DEADLINE: <2004-02-29 Sun>
 @end example
 
 You can specify a different lead time for warnings for a specific
@@ -7852,9 +7852,9 @@
 @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}
 @address@hidden,mouse-3,org-agenda-show-and-scroll-up}
 Display the original location of the item in another window.
@@ -9537,12 +9537,12 @@
 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 @@
 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
address@hidden 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
address@hidden a document converter}.
address@hidden to point to @code{unoconv}.  You can
+also use your own favorite converter or tweak the default settings of the
address@hidden 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 @@
 
 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 @@
 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 address@hidden
address@hidden library must atleast be at Emacs 24.1 levels for
address@hidden 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 @@
 converter can be invoked via command-line to effect the conversion.
 
 @item Configure its 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 @@
 @end example
 
 @strong{Hint:} To see the above example in action, edit your
address@hidden(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
address@hidden (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
 custom @samp{Highlight} style as shown below.
 
 @example
@@ -11479,7 +11478,7 @@
 @end example
 
 @strong{Hint:} To see the above example in action, edit your
address@hidden(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
address@hidden (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
 custom @samp{PageBreak} style as shown below.
 
 @example

=== modified file 'etc/TODO'
--- a/etc/TODO  2012-01-19 07:21:25 +0000
+++ b/etc/TODO  2012-04-07 14:57:25 +0000
@@ -647,17 +647,29 @@
 
 ** 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.
 

=== modified file 'etc/refcards/orgcard.pdf'
Binary files a/etc/refcards/orgcard.pdf 2012-04-01 09:49:25 +0000 and 
b/etc/refcards/orgcard.pdf        2012-04-11 10:59:50 +0000 differ
=== modified file 'etc/refcards/orgcard.tex'
--- a/etc/refcards/orgcard.tex  2012-04-01 20:27:06 +0000
+++ b/etc/refcards/orgcard.tex  2012-04-11 10:59:50 +0000
@@ -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
 

=== modified file 'lib-src/ChangeLog'
--- a/lib-src/ChangeLog 2012-04-07 13:57:36 +0000
+++ b/lib-src/ChangeLog 2012-04-14 01:46:06 +0000
@@ -1,3 +1,8 @@
+2012-04-14  Juanma Barranquero  <address@hidden>
+
+       * emacsclient.c (decode_options) [WINDOWSNT]:
+       Call ttyname instead of passing its address (typo in revno:106608).
+
 2012-04-07  Eli Zaretskii  <address@hidden>
 
        * makefile.w32-in (obj): Add xml.o.

=== modified file 'lib-src/emacsclient.c'
--- a/lib-src/emacsclient.c     2012-03-11 17:53:07 +0000
+++ b/lib-src/emacsclient.c     2012-04-12 18:22:06 +0000
@@ -648,7 +648,7 @@
      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;
     }

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-04-13 22:31:23 +0000
+++ b/lisp/ChangeLog    2012-04-14 01:46:06 +0000
@@ -1,3 +1,72 @@
+2012-04-14  Kim F. Storm  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * custom.el (custom-theme-set-variables): Doc fix.
+
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * international/mule.el (set-auto-coding-for-load): Doc fix.
+
+2012-04-14  Alan Mackenzie  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
+
+2012-04-14  Andreas Schwab  <address@hidden>
+
+       * international/characters.el: Fix sorting.
+
+2012-04-14  Eli Zaretskii  <address@hidden>
+
+       * international/characters.el: Add more missing Latin case pairs.
+
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * files.el (dir-locals-set-class-variables): Doc fix.
+
+2012-04-14  Eli Zaretskii  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * calendar/holidays.el (calendar-check-holidays): Doc fix.
+
+2012-04-14  Eli Zaretskii  <address@hidden>
+
+       * textmodes/ispell.el (ispell-dictionary-base-alist):
+       Add data for Hebrew.
+
+2012-04-14  Chong Yidong  <address@hidden>
+
+       * net/rcirc.el (rcirc-cmd-quit):
+       Revert 2012-03-18 change (Bug#11192).
+
+2012-04-14  Glenn Morris  <address@hidden>
+
+       * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
+
+2012-04-14  Eli Zaretskii  <address@hidden>
+
+       * minibuffer.el (completion-in-region-mode-map):
+       Bind completion-help-at-point to M-? rather than ?.  (Bug#11182)
+
 2012-04-13  Vivek Dasmohapatra  <address@hidden>
 
        * hexl.el (hexl-insert-char): Make display sizes other than 16 work.

=== modified file 'lisp/calendar/holidays.el'
--- a/lisp/calendar/holidays.el 2012-02-18 03:08:15 +0000
+++ b/lisp/calendar/holidays.el 2012-04-09 07:11:39 +0000
@@ -634,7 +634,7 @@
   "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)

=== modified file 'lisp/custom.el'
--- a/lisp/custom.el    2012-04-09 12:36:01 +0000
+++ b/lisp/custom.el    2012-04-14 01:46:06 +0000
@@ -936,16 +936,21 @@
 
   (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.
-
-REQUEST is a list of features we must require in order to
-handle SYMBOL properly.
-COMMENT is a comment string about SYMBOL.
-
-EXP itself is saved unevaluated as SYMBOL property `saved-value' and
-in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
+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').
+
+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).
+
+COMMENT is a comment string about SYMBOL."
   (custom-check-theme theme)
 
   ;; Process all the needed autoloads before anything else, so that the

=== modified file 'lisp/emulation/cua-base.el'
--- a/lisp/emulation/cua-base.el        2012-04-13 13:32:37 +0000
+++ b/lisp/emulation/cua-base.el        2012-04-14 01:46:06 +0000
@@ -1002,15 +1002,21 @@
     (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)

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2012-04-09 00:58:00 +0000
+++ b/lisp/files.el     2012-04-14 01:46:06 +0000
@@ -3523,7 +3523,7 @@
 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

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-03-23 11:22:21 +0000
+++ b/lisp/gnus/ChangeLog       2012-04-14 01:46:06 +0000
@@ -1,3 +1,19 @@
+2012-04-14  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * 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  <address@hidden>
 
        * auth-source.el (auth-source-netrc-create): Quote tokens that contain

=== modified file 'lisp/gnus/gnus-art.el'
--- a/lisp/gnus/gnus-art.el     2012-02-12 22:20:48 +0000
+++ b/lisp/gnus/gnus-art.el     2012-04-11 22:31:16 +0000
@@ -2754,9 +2754,11 @@
   (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

=== modified file 'lisp/gnus/gnus-msg.el'
--- a/lisp/gnus/gnus-msg.el     2012-03-14 22:15:04 +0000
+++ b/lisp/gnus/gnus-msg.el     2012-04-12 22:38:08 +0000
@@ -1664,17 +1664,19 @@
           ((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

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2012-02-16 14:33:58 +0000
+++ b/lisp/gnus/gnus-start.el   2012-04-11 22:31:16 +0000
@@ -2442,7 +2442,9 @@
        (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

=== modified file 'lisp/international/characters.el'
--- a/lisp/international/characters.el  2012-04-10 10:54:17 +0000
+++ b/lisp/international/characters.el  2012-04-14 01:46:06 +0000
@@ -576,9 +576,7 @@
          (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 @@
 
   (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 @@
   (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)

=== modified file 'lisp/international/mule.el'
--- a/lisp/international/mule.el        2012-02-28 08:17:21 +0000
+++ b/lisp/international/mule.el        2012-04-12 01:09:15 +0000
@@ -1754,8 +1754,9 @@
   :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."

=== modified file 'lisp/minibuffer.el'
--- a/lisp/minibuffer.el        2012-04-13 21:43:03 +0000
+++ b/lisp/minibuffer.el        2012-04-14 01:46:06 +0000
@@ -1506,7 +1506,7 @@
   (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'.")

=== modified file 'lisp/net/rcirc.el'
--- a/lisp/net/rcirc.el 2012-04-11 14:22:36 +0000
+++ b/lisp/net/rcirc.el 2012-04-14 01:46:06 +0000
@@ -2181,17 +2181,13 @@
   (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."

=== modified file 'lisp/org/ChangeLog'
--- a/lisp/org/ChangeLog        2012-04-03 10:28:31 +0000
+++ b/lisp/org/ChangeLog        2012-04-14 01:46:06 +0000
@@ -1,3 +1,49 @@
+2012-04-14  Bastien Guerry  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * ob-C.el (org-babel-C-ensure-main-wrap):
+       Add an explicit return to automatically generated main methods.
+
+2012-04-14  Matt Lundin  <address@hidden>
+
+       * org.el (org-after-todo-state-change-hook):
+       Fix docstring to reflect name change of state to `org-state'.
+
+2012-04-14  Mike Sperber  <address@hidden>  (tiny change)
+
+       * org-footnote.el (org-footnote-normalize):
+       Correctly pass keyword arguments to `org-export-preprocess-string'.
+
 2012-04-03  Bastien Guerry  <address@hidden>
 
        * org.el (org-todo): Fix regression: rename `state' to

=== modified file 'lisp/org/ob-C.el'
--- a/lisp/org/ob-C.el  2012-04-01 09:49:25 +0000
+++ b/lisp/org/ob-C.el  2012-04-11 10:59:50 +0000
@@ -152,7 +152,7 @@
   "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

=== modified file 'lisp/org/org-agenda.el'
--- a/lisp/org/org-agenda.el    2012-04-03 12:02:21 +0000
+++ b/lisp/org/org-agenda.el    2012-04-11 10:59:50 +0000
@@ -6365,7 +6365,9 @@
     (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 @@
   (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 @@
              (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)

=== modified file 'lisp/org/org-clock.el'
--- a/lisp/org/org-clock.el     2012-04-03 12:02:21 +0000
+++ b/lisp/org/org-clock.el     2012-04-11 10:59:50 +0000
@@ -219,7 +219,8 @@
          (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 @@
        (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 @@
               (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 @@
 (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 @@
         '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 @@
   (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)))

=== modified file 'lisp/org/org-footnote.el'
--- a/lisp/org/org-footnote.el  2012-04-01 09:49:25 +0000
+++ b/lisp/org/org-footnote.el  2012-04-11 10:59:50 +0000
@@ -704,7 +704,7 @@
                                     (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

=== modified file 'lisp/org/org-pcomplete.el'
--- a/lisp/org/org-pcomplete.el 2012-01-04 15:20:49 +0000
+++ b/lisp/org/org-pcomplete.el 2012-04-11 10:59:50 +0000
@@ -69,7 +69,7 @@
        (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 @@
                              (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)

=== modified file 'lisp/org/org-special-blocks.el'
--- a/lisp/org/org-special-blocks.el    2012-04-01 20:27:06 +0000
+++ b/lisp/org/org-special-blocks.el    2012-04-11 10:59:50 +0000
@@ -80,17 +80,17 @@
 (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))

=== modified file 'lisp/org/org-table.el'
--- a/lisp/org/org-table.el     2012-04-03 12:02:21 +0000
+++ b/lisp/org/org-table.el     2012-04-11 10:59:50 +0000
@@ -2526,8 +2526,13 @@
                (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 @@
 ;      (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

=== modified file 'lisp/org/org.el'
--- a/lisp/org/org.el   2012-04-03 12:02:21 +0000
+++ b/lisp/org/org.el   2012-04-11 10:59:50 +0000
@@ -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 @@
 
 ;;; 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 @@
 (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 @@
            (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 @@
                                     '(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 @@
           ((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 @@
        ;; 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 @@
                  (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 @@
 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)))

=== modified file 'lisp/pcmpl-rpm.el'
--- a/lisp/pcmpl-rpm.el 2012-01-19 07:21:25 +0000
+++ b/lisp/pcmpl-rpm.el 2012-04-07 18:52:43 +0000
@@ -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")

=== modified file 'lisp/progmodes/cc-engine.el'
--- a/lisp/progmodes/cc-engine.el       2012-03-16 14:10:54 +0000
+++ b/lisp/progmodes/cc-engine.el       2012-04-11 15:32:30 +0000
@@ -5382,7 +5382,7 @@
          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 @@
 
       ;; 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 <...>

=== modified file 'lisp/progmodes/cc-menus.el'
--- a/lisp/progmodes/cc-menus.el        2012-01-19 07:21:25 +0000
+++ b/lisp/progmodes/cc-menus.el        2012-04-11 18:09:10 +0000
@@ -63,6 +63,20 @@
 
 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 @@
                ")"
                "[.," 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 @@
    "\\|"
    ;; > 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 @@
        (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)

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2012-04-10 02:23:21 +0000
+++ b/lisp/simple.el    2012-04-14 01:46:06 +0000
@@ -2464,9 +2464,9 @@
 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.

=== modified file 'lisp/startup.el'
--- a/lisp/startup.el   2012-04-11 05:43:47 +0000
+++ b/lisp/startup.el   2012-04-14 01:46:06 +0000
@@ -2316,6 +2316,7 @@
     (if (or inhibit-startup-screen
            initial-buffer-choice
            noninteractive
+            (daemonp)
            inhibit-x-resources)
 
        ;; Not displaying a startup screen.  If 3 or more files
@@ -2358,9 +2359,7 @@
       ;; (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."

=== modified file 'lisp/textmodes/ispell.el'
--- a/lisp/textmodes/ispell.el  2012-04-09 13:05:48 +0000
+++ b/lisp/textmodes/ispell.el  2012-04-14 01:46:06 +0000
@@ -684,7 +684,8 @@
     ("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

=== modified file 'nt/ChangeLog'
--- a/nt/ChangeLog      2012-04-10 19:03:32 +0000
+++ b/nt/ChangeLog      2012-04-14 01:46:06 +0000
@@ -1,3 +1,7 @@
+2012-04-14  Dani Moncayo  <address@hidden>  (tiny change)
+
+       * makefile.w32-in: Fix typo (Bug#10261).
+
 2012-04-10  Eli Zaretskii  <address@hidden>
 
        * makefile.w32-in (emacs, misc, lispref, lispintro): New targets,

=== modified file 'nt/makefile.w32-in'
--- a/nt/makefile.w32-in        2012-04-10 19:03:32 +0000
+++ b/nt/makefile.w32-in        2012-04-14 01:46:06 +0000
@@ -264,10 +264,10 @@
 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
 

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-04-13 14:50:25 +0000
+++ b/src/ChangeLog     2012-04-14 01:46:06 +0000
@@ -1,3 +1,18 @@
+2012-04-14  Atsuo Ohki  <address@hidden>  (tiny change)
+
+       * lread.c (lisp_file_lexically_bound_p):
+       Fix hang at ";-*-\n" (bug#11238).
+
+2012-04-14  Eli Zaretskii  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * nsterm.m (constrainFrameRect): Always constrain when there is only
+       one screen (Bug#10962).
+
 2012-04-13  Ken Brown  <address@hidden>
 
        * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.

=== modified file 'src/lread.c'
--- a/src/lread.c       2012-04-09 13:05:48 +0000
+++ b/src/lread.c       2012-04-14 01:46:06 +0000
@@ -839,7 +839,7 @@
            }
 
          /* 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 @@
                  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--;

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2012-02-04 15:10:54 +0000
+++ b/src/nsterm.m      2012-04-09 10:01:04 +0000
@@ -6038,11 +6038,15 @@
    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;

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-04-09 13:05:48 +0000
+++ b/src/xdisp.c       2012-04-14 01:46:06 +0000
@@ -16606,7 +16606,15 @@
             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.  */


reply via email to

[Prev in Thread] Current Thread [Next in Thread]