emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r108091: Merge from emacs-24; up to r


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108091: Merge from emacs-24; up to r107933
Date: Wed, 02 May 2012 00:20:29 -0700
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 108091 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2012-05-02 00:20:29 -0700
message:
  Merge from emacs-24; up to r107933
modified:
  ChangeLog
  Makefile.in
  admin/FOR-RELEASE
  configure.in
  doc/emacs/ChangeLog
  doc/emacs/building.texi
  doc/emacs/cmdargs.texi
  doc/emacs/custom.texi
  doc/emacs/display.texi
  doc/emacs/emacs.texi
  doc/emacs/frames.texi
  doc/emacs/maintaining.texi
  doc/emacs/misc.texi
  doc/emacs/mule.texi
  doc/emacs/search.texi
  doc/emacs/xresources.texi
  doc/lispintro/ChangeLog
  doc/lispintro/emacs-lisp-intro.texi
  doc/lispref/ChangeLog
  doc/lispref/elisp.texi
  doc/lispref/files.texi
  doc/lispref/intro.texi
  doc/lispref/loading.texi
  doc/lispref/package.texi
  doc/lispref/text.texi
  doc/misc/ChangeLog
  doc/misc/ert.texi
  doc/misc/faq.texi
  doc/misc/org.texi
  doc/misc/viper.texi
  etc/refcards/calccard.pdf
  etc/refcards/cs-dired-ref.pdf
  etc/refcards/cs-refcard.pdf
  etc/refcards/de-refcard.pdf
  etc/refcards/dired-ref.pdf
  etc/refcards/fr-dired-ref.pdf
  etc/refcards/fr-refcard.pdf
  etc/refcards/gnus-booklet.pdf
  etc/refcards/gnus-refcard.pdf
  etc/refcards/pl-refcard.pdf
  etc/refcards/pt-br-refcard.pdf
  etc/refcards/refcard.pdf
  etc/refcards/ru-refcard.pdf
  etc/refcards/sk-dired-ref.pdf
  etc/refcards/sk-refcard.pdf
  info/dir
  lisp/ChangeLog
  lisp/mail/rmail.el
  lisp/progmodes/cc-defs.el
  lisp/window.el
  src/ChangeLog
  src/xdisp.c
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-05-02 02:10:43 +0000
+++ b/ChangeLog 2012-05-02 07:20:29 +0000
@@ -1,5 +1,24 @@
 2012-05-02  Glenn Morris  <address@hidden>
 
+       * Makefile.in (uninstall): Remove useless-use-of-for; that for
+       some reason caused problems on an old Solaris.
+
+       * Makefile.in (install-arch-indep, uninstall):
+       Ensure that INSTALL-type commands are run from top-level.
+
+       * Makefile.in (INFO_FILES): Add emacs-gnutls; accidentally
+       omitted from 2012-04-12 backport from trunk.
+
+       * info/dir: Make some entries consistent with the source texi files.
+
+       * configure.in (LIBS_TERMCAP): Fix netbsd logic, broken 2012-03-04.
+
+       * info/dir: Make some entries consistent with the source texi files.
+
+       * configure.in (LIBS_TERMCAP): Fix netbsd logic, broken 2012-03-04.
+
+2012-05-02  Glenn Morris  <address@hidden>
+
        * Makefile.in (install-arch-indep):
        Combine adjacent install-data and install-info loops.
 

=== modified file 'Makefile.in'
--- a/Makefile.in       2012-05-02 02:10:43 +0000
+++ b/Makefile.in       2012-05-02 07:20:29 +0000
@@ -232,6 +232,11 @@
 # ==================== Utility Programs for the Build ====================
 
 # Allow the user to specify the install program.
+# Note that if the system does not provide a suitable install,
+# configure will use build-aux/install-sh.  Annoyingly, it does
+# not use an absolute path.  So we must take care to always run
+# INSTALL-type commands from the top-level directory.
+# This explains (I think) the cd thisdir seen in several install rules.
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
@@ -616,7 +621,8 @@
           for elt in $(INFO_FILES); do \
              test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
              for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
-               ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
+              (cd $${thisdir}; \
+               ${INSTALL_DATA} ${srcdir}/info/$$f $(DESTDIR)${infodir}/$$f); \
                chmod a+r $(DESTDIR)${infodir}/$$f; \
                if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
                  rm -f $(DESTDIR)${infodir}/$$f.gz; \
@@ -711,14 +717,14 @@
          fi ;                                          \
        done
        -rm -rf $(DESTDIR)${libexecdir}/emacs/${version}
+       thisdir=`/bin/pwd`; \
        (cd $(DESTDIR)${infodir} && \
          for elt in $(INFO_FILES); do \
-           $(INSTALL_INFO) --remove --info-dir=. $$elt; \
+           (cd $${thisdir}; \
+            $(INSTALL_INFO) --remove --info-dir=$(DESTDIR)${infodir} 
$(DESTDIR)${infodir}/$$elt); \
            if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
               ext=.gz; else ext=; fi; \
-           for f in `ls $$elt$$ext $$elt-[1-9]$$ext $$elt-[1-9][0-9]$$ext 
2>/dev/null`; do \
-             rm -f $$f; \
-           done; \
+           rm -f $$elt$$ext $$elt-[1-9]$$ext $$elt-[1-9][0-9]$$ext; \
          done;)
        (if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
            ext=.gz; else ext=; fi; \

=== modified file 'admin/FOR-RELEASE'
--- a/admin/FOR-RELEASE 2012-04-21 19:31:05 +0000
+++ b/admin/FOR-RELEASE 2012-04-30 07:46:03 +0000
@@ -37,6 +37,7 @@
 What paper size are the English versions supposed to be on?
 On Debian testing, the packages texlive-lang-czechslovak and
 texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
+(You may need texlive-lang-cyrillic, texlive-lang-german for others.)
 The Makefile rules did not work for me, I had to use something like:
 csplain -output-format=pdf cs-refcard
 

=== modified file 'configure.in'
--- a/configure.in      2012-05-01 01:13:18 +0000
+++ b/configure.in      2012-05-02 07:20:29 +0000
@@ -2931,9 +2931,7 @@
     ;;
 
   netbsd)
-    if test $ac_cv_search_tputs = -lterminfo; then
-      LIBS_TERMCAP="-lterminfo"
-    else
+    if [ "x$LIBS_TERMCAP" != "x-lterminfo" ]; then
       TERMINFO=no
       LIBS_TERMCAP="-ltermcap"
     fi

=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2012-04-27 06:08:14 +0000
+++ b/doc/emacs/ChangeLog       2012-05-02 07:20:29 +0000
@@ -1,3 +1,22 @@
+2012-05-02  Glenn Morris  <address@hidden>
+
+       * emacs.texi (@copying): Only print EDITION in the TeX version.
+
+       * search.texi (Regexp Search): Just say "Emacs".
+
+       * display.texi (Auto Scrolling):
+       Reword to avoid repetition and improve page break.
+
+       * xresources.texi (Resources):
+       * mule.texi (Language Environments):
+       * misc.texi (Amusements):
+       * maintaining.texi (VC Change Log):
+       * frames.texi (Fonts):
+       * custom.texi (Specifying File Variables, Minibuffer Maps):
+       * cmdargs.texi (Initial Options):
+       * building.texi (Flymake):
+       Reword to remove/reduce some overly long/short lines.
+
 2012-04-27  Glenn Morris  <address@hidden>
 
        * emacs.texi: Some fixes for detailed menu.
@@ -9213,7 +9232,7 @@
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1999, 2001-2012  Free Software Foundation, Inc.
+  Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 

=== modified file 'doc/emacs/building.texi'
--- a/doc/emacs/building.texi   2012-04-26 00:31:47 +0000
+++ b/doc/emacs/building.texi   2012-04-28 07:45:03 +0000
@@ -426,11 +426,11 @@
 C/C++ files this is usually the C compiler.  Flymake can also use
 build tools such as @code{make} for checking complicated projects.
 
-  To enable Flymake mode, type @kbd{M-x flymake-mode}.  You can go to
-the errors found by Flymake mode with @kbd{M-x
-flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}.  To
-display any error messages associated with the current line, use
address@hidden flymake-display-err-menu-for-current-line}.
+  To enable Flymake mode, type @kbd{M-x flymake-mode}.  You can jump to
+the errors that it finds by using @kbd{M-x
+flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}.
+Use the command @kbd{M-x flymake-display-err-menu-for-current-line}
+to display any error messages associated with the current line.
 
   For more details about using Flymake,
 @ifnottex

=== modified file 'doc/emacs/cmdargs.texi'
--- a/doc/emacs/cmdargs.texi    2012-04-26 00:31:47 +0000
+++ b/doc/emacs/cmdargs.texi    2012-04-28 07:45:03 +0000
@@ -308,7 +308,7 @@
 @opindex -Q
 @itemx --quick
 @opindex --quick
-Start emacs with minimum customizations, similar to using @samp{-q},
+Start emacs with minimum customizations.  This is similar to using @samp{-q},
 @samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash}
 together.  This also stops Emacs from processing X resources by
 setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}).

=== modified file 'doc/emacs/custom.texi'
--- a/doc/emacs/custom.texi     2012-04-26 00:31:47 +0000
+++ b/doc/emacs/custom.texi     2012-04-28 07:45:03 +0000
@@ -1054,8 +1054,8 @@
 @findex add-file-local-variable-prop-line
 @findex delete-file-local-variable-prop-line
 @findex copy-dir-locals-to-file-locals-prop-line
-  Instead of adding variable/value pairs by hand, you can use the
-command @kbd{M-x add-file-local-variable-prop-line}.  This prompts for
+  You can use the command @kbd{M-x add-file-local-variable-prop-line}
+instead of adding entries by hand.  It prompts for
 a variable and value, and adds them to the first line in the
 appropriate way.  @kbd{M-x delete-file-local-variable-prop-line}
 prompts for a variable, and deletes its entry from the line.  @kbd{M-x
@@ -1522,7 +1522,7 @@
 @vindex minibuffer-local-completion-map
 @vindex minibuffer-local-must-match-map
 @vindex minibuffer-local-filename-completion-map
address@hidden minibuffer-local-must-match-filename-map
address@hidden minibuffer-local-filename-must-match-map
   The minibuffer has its own set of local keymaps; they contain various
 completion and exit commands.
 
@@ -1539,7 +1539,7 @@
 for cautious completion.
 @item
 @code{minibuffer-local-filename-completion-map} and
address@hidden are like the two
address@hidden are like the two
 previous ones, but they are specifically for file name completion.
 They do not bind @key{SPC}.
 @end itemize

=== modified file 'doc/emacs/display.texi'
--- a/doc/emacs/display.texi    2012-04-26 00:31:47 +0000
+++ b/doc/emacs/display.texi    2012-04-30 06:51:44 +0000
@@ -260,14 +260,11 @@
   These two variables are ignored if either @code{scroll-step} or
 @code{scroll-conservatively} are set to a non-zero value.
 
-  Note that @code{scroll-margin}, described below, limits the amount
-of scrolling so as to put point outside of the top or bottom margin,
-even if aggressive scrolling specifies a fraction @var{f} that is
-larger than the window portion between the top and the bottom margins.
-
 @vindex scroll-margin
   The variable @code{scroll-margin} restricts how close point can come
-to the top or bottom of a window.  Its value is a number of screen
+to the top or bottom of a window (even if aggressive scrolling
+specifies a fraction @var{f} that is larger than the window portion
+between the top and the bottom margins).  Its value is a number of screen
 lines; if point comes within that many lines of the top or bottom of
 the window, Emacs performs automatic scrolling.  By default,
 @code{scroll-margin} is 0.

=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi      2012-04-27 00:23:54 +0000
+++ b/doc/emacs/emacs.texi      2012-05-01 07:38:15 +0000
@@ -3,12 +3,27 @@
 @setfilename ../../info/emacs
 @settitle GNU Emacs Manual
 
address@hidden The edition number appears in several places in this file
address@hidden The edition number appears in more than one place in this file
address@hidden I don't really know what it means...
address@hidden For example, it has said "Sixteenth" since sometime in the Emacs 
22
address@hidden series, all through 23, and into 24.  So it is not very useful 
IMO,
address@hidden and offers nothing that EMACSVER does not.  I guess it relates
address@hidden mainly to the published book sold by the FSF.  Hence no longer
address@hidden bother including it except iftex.  Really, I think it should not 
be
address@hidden here at all (since anyone can make a pdf version), but should 
just
address@hidden be something added by the FSF during the publishing process.
address@hidden Also, the lispref uses a float (3.0), whereas this uses an 
ordinal,
address@hidden so the format is not even consistent.
 @set EDITION   Sixteenth
 @include emacsver.texi
 
 @copying
address@hidden
 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
address@hidden iftex
address@hidden
+This is the @cite{GNU Emacs Manual},
address@hidden ifnottex
 updated for Emacs version @value{EMACSVER}.
 
 Copyright @copyright{} 1985-1987, 1993-2012 Free Software Foundation, Inc.

=== modified file 'doc/emacs/frames.texi'
--- a/doc/emacs/frames.texi     2012-04-14 08:25:06 +0000
+++ b/doc/emacs/frames.texi     2012-04-28 07:45:03 +0000
@@ -666,8 +666,8 @@
 Some font names support other values.
 @item widthtype
 The font width---normally @samp{normal}, @samp{condensed},
address@hidden, or @samp{semicondensed} (some font names support
-other values).
address@hidden, or @samp{extended}.  Some font names support
+other values.
 @item style
 An optional additional style name.  Usually it is empty---most XLFDs
 have two hyphens in a row at this point.

=== modified file 'doc/emacs/maintaining.texi'
--- a/doc/emacs/maintaining.texi        2012-04-10 06:54:43 +0000
+++ b/doc/emacs/maintaining.texi        2012-04-28 07:45:03 +0000
@@ -893,7 +893,7 @@
 (@code{vc-print-root-log}).
 
 @item C-x v I
-Display the changes that will be received with a pull operation
+Display the changes that a pull operation will retrieve
 (@code{vc-log-incoming}).
 
 @item C-x v O

=== modified file 'doc/emacs/misc.texi'
--- a/doc/emacs/misc.texi       2012-04-26 00:31:47 +0000
+++ b/doc/emacs/misc.texi       2012-04-28 07:45:03 +0000
@@ -2481,8 +2481,8 @@
 
 @findex animate-birthday-present
 @cindex animate
-  The @code{animate} package makes text dance.  For an example, try
address@hidden animate-birthday-present}.
+  The @code{animate} package makes text dance (e.g. try
address@hidden animate-birthday-present}).
 
 @findex blackbox
 @findex mpuz

=== modified file 'doc/emacs/mule.texi'
--- a/doc/emacs/mule.texi       2012-04-25 08:30:59 +0000
+++ b/doc/emacs/mule.texi       2012-04-28 07:45:03 +0000
@@ -350,7 +350,7 @@
 @cindex Euro sign
 @cindex UTF-8
 @quotation
-ASCII, Belarusian, Bengali, Brazilian Portuguese, Bulgarian,
+ASCII, Belarusian, Bengali, Brazilian Portuguese, Bulgarian, Cham,
 Chinese-BIG5, Chinese-CNS, Chinese-EUC-TW, Chinese-GB, Chinese-GBK,
 Chinese-GB18030, Croatian, Cyrillic-ALT, Cyrillic-ISO, Cyrillic-KOI8,
 Czech, Devanagari, Dutch, English, Esperanto, Ethiopic, French,

=== modified file 'doc/emacs/search.texi'
--- a/doc/emacs/search.texi     2012-04-26 00:31:47 +0000
+++ b/doc/emacs/search.texi     2012-04-30 06:53:56 +0000
@@ -456,7 +456,7 @@
 @cindex search for a regular expression
 
   A @dfn{regular expression} (or @dfn{regexp} for short) is a pattern
-that denotes a class of alternative strings to match.  GNU Emacs
+that denotes a class of alternative strings to match.  Emacs
 provides both incremental and nonincremental ways to search for a
 match for a regexp.  The syntax of regular expressions is explained in
 the next section.

=== modified file 'doc/emacs/xresources.texi'
--- a/doc/emacs/xresources.texi 2012-01-19 07:21:25 +0000
+++ b/doc/emacs/xresources.texi 2012-04-28 07:45:03 +0000
@@ -47,7 +47,7 @@
 @command{xrdb}---for instance, @samp{xrdb ~/.Xdefaults}.
 
 @cindex registry, setting resources (MS-Windows)
-  (MS-Windows systems do not support X resource files; on Windows,
+  (MS-Windows systems do not support X resource files; on such systems,
 Emacs looks for X resources in the Windows Registry, first under the
 key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs}, which affects only
 the current user and override the system-wide settings, and then under

=== modified file 'doc/lispintro/ChangeLog'
--- a/doc/lispintro/ChangeLog   2012-04-14 01:46:06 +0000
+++ b/doc/lispintro/ChangeLog   2012-05-02 07:20:29 +0000
@@ -1,3 +1,7 @@
+2012-05-02  Glenn Morris  <address@hidden>
+
+       * emacs-lisp-intro.texi (Syntax): Reword to avoid underfull hbox.
+
 2012-04-14  Glenn Morris  <address@hidden>
 
        * Makefile.in: Replace non-portable use of $< in ordinary rules.
@@ -498,7 +502,7 @@
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2001-2012  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 

=== modified file 'doc/lispintro/emacs-lisp-intro.texi'
--- a/doc/lispintro/emacs-lisp-intro.texi       2012-02-28 08:17:21 +0000
+++ b/doc/lispintro/emacs-lisp-intro.texi       2012-04-28 18:26:17 +0000
@@ -1084,6 +1084,14 @@
 \fi
 @end tex
 
address@hidden Note: this resetting of the page number back to 1 causes TeX to 
gripe
address@hidden about already having seen page numbers 1-4 before (in the 
preface):
address@hidden   pdfTeX warning (ext4): destination with the same identifier 
(name{1})
address@hidden   has been already used, duplicate ignored
address@hidden I guess that is harmless (what happens if a later part of the 
text
address@hidden makes a link to something in the first 4 pages though?).
address@hidden Note that eg the Emacs manual has a preface, but does not bother
address@hidden resetting the page numbers back to 1 after that.
 @iftex
 @headings off
 @evenheading @thispage @| @| @thischapter
@@ -14855,7 +14863,7 @@
 most common character within symbols that is not typically a word
 constituent character; there are others, too.
 
-Alternatively, we can redefine the regular expression used in the
+Alternatively, we can redefine the regexp used in the
 @address@hidden definition so as to include symbols.  This
 procedure has the merit of clarity, but the task is a little tricky.
 

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-04-27 03:10:38 +0000
+++ b/doc/lispref/ChangeLog     2012-05-02 07:20:29 +0000
@@ -1,3 +1,19 @@
+2012-05-02  Glenn Morris  <address@hidden>
+
+       * elisp.texi (@copying):
+       * intro.texi (Introduction): Only print VERSION in the TeX version.
+
+2012-05-02  Chong Yidong  <address@hidden>
+
+       * text.texi (Change Hooks): Minor fix for after-change-functions.
+
+2012-05-02  Glenn Morris  <address@hidden>
+
+       * package.texi (Packaging Basics):
+       * loading.texi (Autoload):
+       * files.texi (Magic File Names):
+       Reword to remove/reduce some overly long/short lines.
+
 2012-04-27  Glenn Morris  <address@hidden>
 
        * elisp.texi, vol1.texi, vol2.texi: Some fixes for detailed menu.

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2012-04-26 17:56:38 +0000
+++ b/doc/lispref/elisp.texi    2012-05-01 07:38:15 +0000
@@ -6,6 +6,7 @@
 
 @c Version of the manual and of Emacs.
 @c Please remember to update these in vol1.texi and vol2.texi as well.
address@hidden (See comments for EDITION in emacs.texi)
 @set VERSION  3.1
 @include emacsver.texi
 @set DATE July 2012
@@ -40,7 +41,12 @@
 @c @syncodeindex tp fn
 
 @copying
-This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
address@hidden
+This is edition @value{VERSION} of the @cite{GNU Emacs Lisp Reference 
Manual},@*
address@hidden iftex
address@hidden
+This is the @cite{GNU Emacs Lisp Reference Manual}
address@hidden ifnottex
 corresponding to Emacs version @value{EMACSVER}.
 
 Copyright @copyright{} 1990-1996, 1998-2012 Free Software Foundation, Inc.

=== modified file 'doc/lispref/files.texi'
--- a/doc/lispref/files.texi    2012-04-27 03:10:38 +0000
+++ b/doc/lispref/files.texi    2012-05-02 07:20:29 +0000
@@ -2950,7 +2950,8 @@
 
 @example
 (defun display-time-file-nonempty-p (file)
-  (let ((remote-file-name-inhibit-cache (- display-time-interval 5)))
+  (let ((remote-file-name-inhibit-cache
+         (- display-time-interval 5)))
     (and (file-exists-p file)
          (< 0 (nth 7 (file-attributes (file-chase-links file)))))))
 @end example

=== modified file 'doc/lispref/intro.texi'
--- a/doc/lispref/intro.texi    2012-04-27 03:10:38 +0000
+++ b/doc/lispref/intro.texi    2012-05-02 07:20:29 +0000
@@ -33,8 +33,12 @@
 chapters describe features that are peculiar to Emacs Lisp or relate
 specifically to editing.
 
-  This is edition @value{VERSION} of the GNU Emacs Lisp Reference
-Manual, corresponding to Emacs version @value{EMACSVER}.
+  This is
address@hidden
+edition @value{VERSION} of
address@hidden iftex
+the @cite{GNU Emacs Lisp Reference Manual},
+corresponding to Emacs version @value{EMACSVER}.
 
 @menu
 * Caveats::             Flaws and a request for help.

=== modified file 'doc/lispref/loading.texi'
--- a/doc/lispref/loading.texi  2012-04-14 01:59:01 +0000
+++ b/doc/lispref/loading.texi  2012-05-02 07:20:29 +0000
@@ -513,11 +513,10 @@
 @file{mode-local.el}).
 
 @item Definitions for major or minor modes:
address@hidden, @code{define-minor-mode},
address@hidden, @code{define-generic-mode},
address@hidden, @code{define-global-minor-mode},
address@hidden, and
address@hidden
address@hidden, @code{define-globalized-minor-mode},
address@hidden, @code{easy-mmode-define-minor-mode},
address@hidden, @code{define-compilation-mode},
address@hidden, and @code{define-global-minor-mode}.
 
 @item Other definition types:
 @code{defcustom}, @code{defgroup}, @code{defclass}

=== modified file 'doc/lispref/package.texi'
--- a/doc/lispref/package.texi  2012-04-14 01:59:01 +0000
+++ b/doc/lispref/package.texi  2012-05-02 07:20:29 +0000
@@ -76,8 +76,8 @@
 @end table
 
 @cindex content directory, package
-  Installing a package, either via the Package Menu, or via the
-command @code{package-install-file}, creates a subdirectory of
+  Installing a package, either via the command @code{package-install-file},
+or via the Package Menu, creates a subdirectory of
 @code{package-user-dir} named @address@hidden@var{version}}, where
 @var{name} is the package's name and @var{version} its version
 (e.g. @file{~/.emacs.d/elpa/auctex-11.86/}).  We call this the

=== modified file 'doc/lispref/text.texi'
--- a/doc/lispref/text.texi     2012-04-27 03:10:38 +0000
+++ b/doc/lispref/text.texi     2012-05-02 07:20:29 +0000
@@ -4333,15 +4333,15 @@
 
 @defvar after-change-functions
 This variable holds a list of functions to call after any buffer
-modification.  Each function receives three arguments: the beginning and
-end of the region just changed, and the length of the text that existed
-before the change.  All three arguments are integers.  The buffer that's
-about to change is always the current buffer.
+modification.  Each function receives three arguments: the beginning
+and end of the region just changed, and the length of the text that
+existed before the change.  All three arguments are integers.  The
+buffer has been changed is always the current buffer.
 
-The length of the old text is the difference between the buffer positions
-before and after that text as it was before the change.  As for the
-changed text, its length is simply the difference between the first two
-arguments.
+The length of the old text is the difference between the buffer
+positions before and after that text as it was before the change.  As
+for the changed text, its length is simply the difference between the
+first two arguments.
 @end defvar
 
   Output of messages into the @file{*Messages*} buffer does not

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-05-01 22:28:14 +0000
+++ b/doc/misc/ChangeLog        2012-05-02 07:20:29 +0000
@@ -1,3 +1,15 @@
+2012-05-02  Glenn Morris  <address@hidden>
+
+       * viper.texi: Make direntry shorter (also it is no longer "newest").
+
+       * emacs-gnutls.texi, ert.texi, org.texi:
+       Fix dircategory, direntry to match info/dir.
+
+       * faq.texi: Convert @inforefs to @xrefs.
+       Fix some malformed cross-references.
+       (File-name conventions): Shorten section name to avoid overfull line.
+       (How to add fonts): Use smallexample to avoid overfull lines.
+
 2012-05-01  Teodor Zlatanov  <address@hidden>
 
        * auth.texi (Help for users): Update for .gpg file being second.

=== modified file 'doc/misc/ert.texi'
--- a/doc/misc/ert.texi 2012-01-05 09:46:05 +0000
+++ b/doc/misc/ert.texi 2012-05-02 01:22:26 +0000
@@ -4,9 +4,9 @@
 @settitle Emacs Lisp Regression Testing
 @c %**end of header
 
address@hidden Emacs
address@hidden Emacs misc features
 @direntry
-* ERT: (ert).        Emacs Lisp Regression Testing.
+* ERT: (ert).        Emacs Lisp regression testing tool.
 @end direntry
 
 @copying

=== modified file 'doc/misc/faq.texi'
--- a/doc/misc/faq.texi 2012-04-21 00:52:08 +0000
+++ b/doc/misc/faq.texi 2012-04-28 19:04:01 +0000
@@ -195,8 +195,7 @@
 Also, on very few keyboards does @kbd{C-?} generate @acronym{ASCII} code 127.
 @c FIXME I cannot understand the previous sentence.
 
address@hidden, Keys, emacs}, for more information.  (@xref{Emacs
-manual}, for more information about Info.)
address@hidden,,, emacs, The GNU Emacs Manual}.
 
 @node Extended commands
 @section What does @file{M-x @var{command}} mean?
@@ -252,7 +251,7 @@
 Emacs manual.
 
 @node File-name conventions
address@hidden What are @file{etc/GNU}, @file{src/config.h}, 
@file{site-lisp/default.el}, etc.?
address@hidden What are @file{src/config.h}, @file{site-lisp/default.el}, etc.?
 @cindex File-name conventions
 @cindex Conventions for file names
 @cindex Directories and files that come with Emacs
@@ -1338,7 +1337,7 @@
 @cindex Init file, setting up
 @cindex Customization file, setting up
 
address@hidden File, Init File, emacs}.
address@hidden File,,, emacs, The GNU Emacs Manual}.
 
 In general, new Emacs users should not be provided with @file{.emacs}
 files, because this can cause confusing non-standard behavior.  Then
@@ -1353,8 +1352,8 @@
 While Customize might indeed make it easier to configure Emacs,
 consider taking a bit of time to learn Emacs Lisp and modifying your
 @file{.emacs} directly.  Simple configuration options are described
-rather completely in @inforef{Init File, Init File, emacs}, for users
-interested in performing frequently requested, basic tasks.
+rather completely in @ref{Init File,,, emacs, The GNU Emacs Manual},
+for users interested in performing frequently requested, basic tasks.
 
 Sometimes users are unsure as to where their @file{.emacs} file should
 be found.  Visiting the file as @file{~/.emacs} from Emacs will find
@@ -1370,7 +1369,7 @@
 command takes you to a buffer listing all the available Customize
 groups.  From there, you can access all customizable options and faces,
 change their values, and save your changes to your init file.
address@hidden Customization, Easy Customization, emacs}.
address@hidden Customization,,, emacs, The GNU Emacs Manual}.
 
 If you know the name of the group in advance (e.g. ``shell''), use
 @kbd{M-x customize-group @key{RET}}.
@@ -1675,16 +1674,16 @@
 @cindex Searching for newlines
 @cindex Replacing newlines
 
-Use @kbd{C-q C-j}.  For more information, see @inforef{Special Isearch,
-Special Input for Incremental Search, emacs}.
-
+Use @kbd{C-q C-j}.  For more information,
address@hidden Isearch,, Special Input for Incremental Search, emacs,
+The GNU Emacs Manual}.
 
 @node Yanking text in isearch
 @section How do I copy text from the kill ring into the search string?
 @cindex Yanking text into the search string
 @cindex isearch yanking
 
-Use @kbd{M-y}.  @inforef{Isearch Yank, Isearch Yanking, emacs}.
+Use @kbd{M-y}.  @xref{Isearch Yank,,, emacs, The GNU Emacs Manual}.
 
 @node Wrapping words automatically
 @section How do I make Emacs wrap words for me?
@@ -2133,7 +2132,7 @@
 
 To repeat a set of commands, use keyboard macros.  Use @kbd{C-x (} and
 @kbd{C-x )} to make a keyboard macro that invokes the command and then
-type @kbd{C-x e}.  (@inforef{Keyboard Macros, Keyboard Macros, emacs}.)
+type @kbd{C-x e}.  @xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}.
 
 If you're really desperate for the @code{.} command in @code{vi} that
 redoes the last insertion/deletion, use VIPER, a @code{vi} emulation
@@ -2145,7 +2144,7 @@
 @cindex X resources
 @cindex Setting X resources
 
address@hidden Resources, X Resources, emacs}.
address@hidden Resources,,, emacs, The GNU Emacs Manual}.
 
 You can also use a resource editor, such as editres (for X11R5 and
 onwards), to look at the resource names for the menu bar, assuming Emacs
@@ -2256,7 +2255,7 @@
 @cindex Suspending Emacs
 
 @kbd{C-z} iconifies Emacs when running under X and suspends Emacs
-otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
+otherwise.  @xref{Frame Commands,,, emacs, The GNU Emacs Manual}.
 
 @node Using regular expressions
 @section How do I use regexps (regular expressions) in Emacs?
@@ -2266,7 +2265,7 @@
 @cindex Unix regexps, differences from Emacs
 @cindex Text strings, putting regexps in
 
address@hidden Backslash, Regexp Backslash, emacs}.
address@hidden Backslash,,, emacs, The GNU Emacs Manual}.
 
 The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators
 are @samp{\(} and @samp{\)}.  Also, the string syntax for a backslash is
@@ -2323,7 +2322,7 @@
 Another way to do the same thing is to use the ``tags'' feature of
 Emacs: it includes the command @code{tags-query-replace} which performs
 a query-replace across all the files mentioned in the @file{TAGS} file.
address@hidden Search, Tags Search, emacs}.
address@hidden Search,,, emacs, The GNU Emacs Manual}.
 
 @node Documentation for etags
 @section Where is the documentation for @code{etags}?
@@ -2366,8 +2365,8 @@
 @code{ls} is part of the GNU Fileutils package, available from
 @samp{ftp.gnu.org} and its mirrors (@pxref{Current GNU distributions}).
 
-To disable or change the way backups are made, @inforef{Backup Names, ,
-emacs}.
+To disable or change the way backups are made,
address@hidden Names,,, emacs, The GNU Emacs Manual}.
 
 @cindex Backup files in a single directory
 Beginning with Emacs 21.1, you can control where Emacs puts backup files
@@ -2397,8 +2396,8 @@
 package also allows you to place all auto-save files in one directory,
 such as @file{/tmp}.
 
-To disable or change how @code{auto-save-mode} works, @inforef{Auto
-Save, , emacs}.
+To disable or change how @code{auto-save-mode} works,
address@hidden Save,,, emacs, The GNU Emacs Manual}.
 
 @node Going to a line by number
 @section How can I go to a certain line given its number?
@@ -2621,7 +2620,7 @@
 Customize the @code{scroll-conservatively} variable with @kbd{M-x
 customize-variable @key{RET} scroll-conservatively @key{RET}} and set it
 to a large value like, say, 10000.  For an explanation of what this
-means, @inforef{Auto Scrolling, Auto Scrolling, emacs}.
+means, @pxref{Auto Scrolling,,, emacs, The GNU Emacs Manual}.
 
 Alternatively, use the following Lisp form in your @file{.emacs}:
 
@@ -2692,8 +2691,8 @@
 
 To avoid the slightly distracting visual effect of Emacs starting with
 its default frame size and then growing to fullscreen, you can add an
address@hidden entry to the Windows registry settings (see
address@hidden(emacs)X Resources}).
address@hidden entry to the Windows registry settings.
address@hidden Resources,,, emacs, The GNU Emacs Manual}.
 
 To compute the correct values for width and height, first maximize the
 Emacs frame and then evaluate @code{(frame-height)} and
@@ -3058,7 +3057,7 @@
 code found at the bottom of files by setting the variable
 @code{enable-local-eval}.
 
-For more information, @inforef{File Variables, File Variables, emacs}.
address@hidden Variables,,, emacs, The GNU Emacs Manual}.
 
 @item
 Synthetic X events.  (Yes, a risk; use @samp{MIT-MAGIC-COOKIE-1} or
@@ -3501,7 +3500,7 @@
 To bind a key just in the current major mode, type @kbd{M-x
 local-set-key @key{RET} @var{key} @var{cmd} @key{RET}}.
 
address@hidden Bindings, Key Bindings, emacs}, for further details.
address@hidden Bindings,,, emacs, The GNU Emacs Manual}.
 
 To make the process of binding keys interactively easier, use the
 following ``trick'': First bind the key interactively, then immediately
@@ -3766,8 +3765,8 @@
 
 However, in the specific case of @kbd{C-h} and @key{DEL}, you should
 toggle @code{normal-erase-is-backspace-mode} instead of calling
address@hidden  @inforef{DEL Does Not Delete, DEL Does Not Delete,
-emacs}.
address@hidden
address@hidden Does Not Delete,,, emacs, The GNU Emacs Manual}.
 
 Keyboard translations are not the same as key bindings in keymaps.
 Emacs contains numerous keymaps that apply in different situations, but
@@ -3895,7 +3894,7 @@
 @cindex @key{Meta} key and @code{xterm}
 @cindex Xterm and @key{Meta} key
 
address@hidden Mode, Single-Byte Character Set Support, emacs}.
address@hidden Mode,, Single-Byte Character Set Support, emacs, The GNU Emacs 
Manual}.
 
 If the advice in the Emacs manual fails, try all of these methods before
 asking for further help:
@@ -4019,8 +4018,8 @@
 @cindex Displaying eight-bit characters
 @cindex Eight-bit characters, displaying
 
address@hidden Mode, Single-byte Character Set
-Support, emacs}.  On a Unix, when Emacs runs on a text-only terminal
address@hidden Mode,, Single-byte Character Set Support, emacs, The GNU
+Emacs Manual}.  On a Unix, when Emacs runs on a text-only terminal
 display or is invoked with @samp{emacs -nw}, you typically need to use
 @code{set-terminal-coding-system} to tell Emacs what the terminal can
 display, even after setting the language environment; otherwise
@@ -4035,10 +4034,10 @@
 @cindex Eight-bit characters, entering
 @cindex Input, 8-bit characters
 
-Various methods are available for input of eight-bit characters.  See
address@hidden Mode, Single-byte Character Set
-Support, emacs}.  For more sophisticated methods, @inforef{Input
-Methods, Input Methods, emacs}.
+Various methods are available for input of eight-bit characters.
address@hidden Mode,, Single-byte Character Set Support, emacs, The GNU
+Emacs Manual}.  For more sophisticated methods,
address@hidden Methods,,, emacs, The GNU Emacs Manual}.
 
 @node Right-to-left alphabets
 @section Where is an Emacs that can handle Semitic (right-to-left) alphabets?
@@ -4133,7 +4132,7 @@
 
 Now, create fontsets for the BDF fonts:
 
address@hidden
address@hidden
   (create-fontset-from-fontset-spec
    "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
    japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
@@ -4145,7 +4144,7 @@
    
tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
    
ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
    tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")
address@hidden lisp
address@hidden smallexample
 
 Many of the international bdf fonts from Intlfonts are type 0, and
 therefore need to be added to font-encoding-alist:
@@ -4377,7 +4376,7 @@
 
 Use @kbd{M-x gnus}.  For more information on Gnus, @pxref{Top,, the Gnus
 Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked
-Questions,, the Gnus FAQ, gnus}.
+Questions,, the Gnus FAQ, gnus, The Gnus Manual}.
 
 
 @node Gnus does not work with NNTP

=== modified file 'doc/misc/org.texi'
--- a/doc/misc/org.texi 2012-04-11 10:59:50 +0000
+++ b/doc/misc/org.texi 2012-05-02 01:22:26 +0000
@@ -286,7 +286,7 @@
 @end quotation
 @end copying
 
address@hidden Emacs
address@hidden Emacs editing modes
 @direntry
 * Org Mode: (org).      Outline-based notes management and organizer
 @end direntry

=== modified file 'doc/misc/viper.texi'
--- a/doc/misc/viper.texi       2012-02-28 08:17:21 +0000
+++ b/doc/misc/viper.texi       2012-05-02 01:22:26 +0000
@@ -25,9 +25,7 @@
 
 @dircategory Emacs misc features
 @direntry
-* VIPER: (viper).               The newest Emacs VI-emulation mode.
-                                  (also, A VI Plan for Emacs Rescue
-                                  or the VI PERil.)
+* VIPER: (viper).               A VI-emulation mode for Emacs.
 @end direntry
 
 @finalout

=== modified file 'etc/refcards/calccard.pdf'
Binary files a/etc/refcards/calccard.pdf        2010-03-01 08:06:52 +0000 and 
b/etc/refcards/calccard.pdf       2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/cs-dired-ref.pdf'
Binary files a/etc/refcards/cs-dired-ref.pdf    2010-03-01 08:06:52 +0000 and 
b/etc/refcards/cs-dired-ref.pdf   2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/cs-refcard.pdf'
Binary files a/etc/refcards/cs-refcard.pdf      2010-03-01 08:06:52 +0000 and 
b/etc/refcards/cs-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/de-refcard.pdf'
Binary files a/etc/refcards/de-refcard.pdf      2010-03-01 08:58:52 +0000 and 
b/etc/refcards/de-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/dired-ref.pdf'
Binary files a/etc/refcards/dired-ref.pdf       2010-03-01 08:06:52 +0000 and 
b/etc/refcards/dired-ref.pdf      2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/fr-dired-ref.pdf'
Binary files a/etc/refcards/fr-dired-ref.pdf    2010-03-01 08:06:52 +0000 and 
b/etc/refcards/fr-dired-ref.pdf   2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/fr-refcard.pdf'
Binary files a/etc/refcards/fr-refcard.pdf      2010-03-01 08:06:52 +0000 and 
b/etc/refcards/fr-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/gnus-booklet.pdf'
Binary files a/etc/refcards/gnus-booklet.pdf    2010-03-01 08:06:52 +0000 and 
b/etc/refcards/gnus-booklet.pdf   2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/gnus-refcard.pdf'
Binary files a/etc/refcards/gnus-refcard.pdf    2010-03-01 08:06:52 +0000 and 
b/etc/refcards/gnus-refcard.pdf   2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/pl-refcard.pdf'
Binary files a/etc/refcards/pl-refcard.pdf      2010-03-01 09:15:04 +0000 and 
b/etc/refcards/pl-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/pt-br-refcard.pdf'
Binary files a/etc/refcards/pt-br-refcard.pdf   2010-03-01 08:06:52 +0000 and 
b/etc/refcards/pt-br-refcard.pdf  2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/refcard.pdf'
Binary files a/etc/refcards/refcard.pdf 2010-03-01 08:06:52 +0000 and 
b/etc/refcards/refcard.pdf        2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/ru-refcard.pdf'
Binary files a/etc/refcards/ru-refcard.pdf      2010-03-01 08:06:52 +0000 and 
b/etc/refcards/ru-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/sk-dired-ref.pdf'
Binary files a/etc/refcards/sk-dired-ref.pdf    2010-03-01 08:06:52 +0000 and 
b/etc/refcards/sk-dired-ref.pdf   2012-04-30 07:46:03 +0000 differ
=== modified file 'etc/refcards/sk-refcard.pdf'
Binary files a/etc/refcards/sk-refcard.pdf      2010-03-01 08:06:52 +0000 and 
b/etc/refcards/sk-refcard.pdf     2012-04-30 07:46:03 +0000 differ
=== modified file 'info/dir'
--- a/info/dir  2012-04-14 01:46:06 +0000
+++ b/info/dir  2012-05-02 07:20:29 +0000
@@ -19,6 +19,7 @@
 
 * Menu:
 
+Texinfo documentation system
 * Info: (info).                 How to use the documentation browsing system.
 
 Emacs
@@ -54,7 +55,7 @@
                                   you're replying to, in flexible ways.
 * Sieve: (sieve).               Managing Sieve scripts in Emacs.
 * TRAMP: (tramp).               Transparent Remote Access, Multiple Protocol
-                                  GNU Emacs remote file access via rsh and rcp.
+                                  Emacs remote file access via rsh and rcp.
 
 Emacs misc features
 * Autotype: (autotype).         Convenient features for text that you enter
@@ -67,7 +68,7 @@
 * Ediff: (ediff).               A visual interface for comparing and
                                   merging programs.
 * EDT: (edt).                   An Emacs emulation of the EDT editor.
-* EIEIO: (eieio).               An object system for Emacs Lisp.
+* EIEIO: (eieio).               An objects system for Emacs Lisp.
 * ERT: (ert).                   Emacs Lisp regression testing tool.
 * Eshell: (eshell).             A command shell implemented in Emacs Lisp.
 * Flymake: (flymake).           A universal on-the-fly syntax checker.
@@ -77,18 +78,15 @@
 * RefTeX: (reftex).             Emacs support for LaTeX cross-references
                                   and citations.
 * Remember: (remember).         Simple information manager for Emacs.
-* Semantic: (semantic).         Source code parsing utilities for Emacs.
-* SES: (ses).                   Simple Emacs Spreadsheet
+* Semantic: (semantic).         Source code parser library and utilities.
+* SES: (ses).                   Simple Emacs Spreadsheet.
 * Speedbar: (speedbar).         File/Tag summarizing utility.
 * VIP: (vip).                   An older VI-emulation for Emacs.
-* VIPER: (viper).               The newest Emacs VI-emulation mode.
-                                  (also, A VI Plan for Emacs Rescue
-                                  or the VI PERil.)
+* VIPER: (viper).               A VI-emulation mode for Emacs.
 * WoMan: (woman).               Browse UN*X Manual Pages "W.O. (without) Man".
 
 Emacs lisp libraries
-* Auth-source: (auth).          A single configuration for multiple
-                                  applications.
+* Auth-source: (auth).          The Emacs auth-source library.
 * CL: (cl).                     Partial Common Lisp support for Emacs Lisp.
 * D-Bus: (dbus).                Using D-Bus in Emacs.
 * Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-05-01 21:06:59 +0000
+++ b/lisp/ChangeLog    2012-05-02 07:20:29 +0000
@@ -1,3 +1,18 @@
+2012-05-02  Eli Zaretskii  <address@hidden>
+
+       * mail/rmail.el (rmail-yank-current-message): Use the encoding of
+       the yanked message in preference to the default value of
+       buffer-file-coding-system.
+
+2012-05-02  Martin Rudalics  <address@hidden>
+
+       * window.el (display-buffer--action-function-custom-type): Fix
+       entry.
+
+2012-05-02  Alan Mackenzie  <address@hidden>
+
+       * progmodes/cc-defs.el (c-version): Update to 5.32.3.
+
 2012-05-01  Glenn Morris  <address@hidden>
 
        * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp.

=== modified file 'lisp/mail/rmail.el'
--- a/lisp/mail/rmail.el        2012-04-27 03:10:38 +0000
+++ b/lisp/mail/rmail.el        2012-05-02 07:20:29 +0000
@@ -3570,8 +3570,17 @@
   (with-current-buffer buffer
     (unless (rmail-buffers-swapped-p)
       (setq buffer rmail-view-buffer)))
-  (insert-buffer buffer))
-
+  (insert-buffer buffer)
+  ;; If they yank the text of BUFFER, the encoding of BUFFER is a
+  ;; better default for the reply message than the default value of
+  ;; buffer-file-coding-system.
+  (and (coding-system-equal (default-value 'buffer-file-coding-system)
+                           buffer-file-coding-system)
+       (setq buffer-file-coding-system
+            (coding-system-change-text-conversion
+             buffer-file-coding-system (coding-system-base
+                                        (with-current-buffer buffer
+                                          buffer-file-coding-system))))))
 
 (defun rmail-start-mail (&optional noerase to subject in-reply-to cc
                                   replybuffer sendactions same-window

=== modified file 'lisp/progmodes/cc-defs.el'
--- a/lisp/progmodes/cc-defs.el 2012-01-19 07:21:25 +0000
+++ b/lisp/progmodes/cc-defs.el 2012-04-27 17:49:31 +0000
@@ -93,7 +93,7 @@
 
 ;;; Variables also used at compile time.
 
-(defconst c-version "5.32.2"
+(defconst c-version "5.32.3"
   "CC Mode version number.")
 
 (defconst c-version-sym (intern c-version))

=== modified file 'lisp/window.el'
--- a/lisp/window.el    2012-04-27 03:10:38 +0000
+++ b/lisp/window.el    2012-05-02 07:20:29 +0000
@@ -4611,7 +4611,7 @@
   '(choice :tag "Function"
           (const :tag "--" ignore) ; default for insertion
           (const display-buffer-reuse-window)
-          (const display-buffer-use-some-window)
+          (const display-buffer-pop-up-window)
           (const display-buffer-same-window)
           (const display-buffer-pop-up-frame)
           (const display-buffer-use-some-window)

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-05-01 16:10:02 +0000
+++ b/src/ChangeLog     2012-05-02 07:20:29 +0000
@@ -1,3 +1,10 @@
+2012-05-02  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (pos_visible_p): If already at a newline from the
+       display string before the 'while' loop, don't walk back the glyphs
+       from it3.glyph_row.  Solves assertion violation when the display
+       string begins with a newline (egg.el).  (Bug#11367)
+
 2012-05-01  Stefan Monnier  <address@hidden>
 
        * keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings):

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-04-27 03:10:38 +0000
+++ b/src/xdisp.c       2012-05-02 07:20:29 +0000
@@ -1385,6 +1385,7 @@
                  Lisp_Object startpos, endpos;
                  EMACS_INT start, end;
                  struct it it3;
+                 int it3_moved;
 
                  /* Find the first and the last buffer positions
                     covered by the display string.  */
@@ -1441,6 +1442,15 @@
                     begins.  */
                  start_display (&it3, w, top);
                  move_it_to (&it3, -1, 0, top_y, -1, MOVE_TO_X | MOVE_TO_Y);
+                 /* If it3_moved stays zero after the 'while' loop
+                    below, that means we already were at a newline
+                    before the loop (e.g., the display string begins
+                    with a newline), so we don't need to (and cannot)
+                    inspect the glyphs of it3.glyph_row, because
+                    PRODUCE_GLYPHS will not produce anything for a
+                    newline, and thus it3.glyph_row stays at its
+                    stale content it got at top of the window.  */
+                 it3_moved = 0;
                  /* Finally, advance the iterator until we hit the
                     first display element whose character position is
                     CHARPOS, or until the first newline from the
@@ -1452,6 +1462,7 @@
                      if (IT_CHARPOS (it3) == charpos
                          || ITERATOR_AT_END_OF_LINE_P (&it3))
                        break;
+                     it3_moved = 1;
                      set_iterator_to_next (&it3, 0);
                    }
                  top_x = it3.current_x - it3.pixel_width;
@@ -1462,7 +1473,8 @@
                     display string, move back over the glyphs
                     produced from the string, until we find the
                     rightmost glyph not from the string.  */
-                 if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string))
+                 if (it3_moved
+                     && IT_CHARPOS (it3) != charpos && EQ (it3.object, string))
                    {
                      struct glyph *g = it3.glyph_row->glyphs[TEXT_AREA]
                                        + it3.glyph_row->used[TEXT_AREA];


reply via email to

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