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 r108386: Merge from emacs-24; up t


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

------------------------------------------------------------
revno: 108386 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sat 2012-05-26 18:06:44 -0700
message:
  Merge from emacs-24; up to r108017
modified:
  doc/lispref/ChangeLog
  doc/lispref/commands.texi
  doc/lispref/compile.texi
  doc/lispref/debugging.texi
  doc/lispref/display.texi
  doc/lispref/files.texi
  doc/lispref/frames.texi
  doc/lispref/functions.texi
  doc/lispref/help.texi
  doc/lispref/markers.texi
  doc/lispref/minibuf.texi
  doc/lispref/modes.texi
  doc/lispref/os.texi
  doc/lispref/package.texi
  doc/lispref/processes.texi
  doc/lispref/text.texi
  doc/lispref/variables.texi
  doc/lispref/windows.texi
  doc/misc/ChangeLog
  doc/misc/org.texi
  etc/refcards/orgcard.pdf
  etc/refcards/orgcard.tex
  lisp/ChangeLog
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-msg.el
  lisp/help.el
  lisp/mail/sendmail.el
  lisp/net/gnutls.el
  lisp/org/ChangeLog
  lisp/org/ob-plantuml.el
  lisp/org/ob.el
  lisp/org/org-agenda.el
  lisp/org/org-bibtex.el
  lisp/org/org-exp-blocks.el
  lisp/org/org-list.el
  lisp/org/org-lparse.el
  lisp/org/org-odt.el
  lisp/org/org-protocol.el
  lisp/org/org-table.el
  lisp/org/org.el
  nt/ChangeLog
  nt/configure.bat
  src/ChangeLog
  src/callproc.c
  src/lisp.h
  src/msdos.c
  src/ralloc.c
  src/search.c
  src/xdisp.c
=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-05-12 00:57:48 +0000
+++ b/doc/lispref/ChangeLog     2012-05-27 01:06:44 +0000
@@ -1,3 +1,61 @@
+2012-05-27  Chong Yidong  <address@hidden>
+
+       * functions.texi (Obsolete Functions):
+       Fix doc for set-advertised-calling-convention.
+
+       * modes.texi (Mode Help): Fix describe-mode.
+
+       * display.texi (Face Functions): Fix define-obsolete-face-alias.
+
+       * variables.texi (Variable Aliases): Fix make-obsolete-variable.
+
+2012-05-27  Martin Rudalics  <address@hidden>
+
+       * commands.texi (Recursive Editing): recursive-edit is a command.
+
+       * compile.texi (Docs and Compilation):
+       byte-compile-dynamic-docstrings is an option.
+
+       * debugging.texi (Invoking the Debugger): debug is a command.
+
+       * display.texi (Progress): progress-reporter-update and
+       progress-reporter-force-update have VALUE argument optional.
+       (Animated Images): Use address@hidden instead of non-nil.
+
+       * files.texi (Format Conversion Round-Trip):
+       Use address@hidden instead of non-nil.
+
+       * frames.texi (Creating Frames): make-frame is a command.
+       (Input Focus): select-frame is a command.
+       (Pointer Shape): void-text-area-pointer is an option.
+
+       * help.texi (Describing Characters): read-kbd-macro is a command.
+       (Help Functions): describe-prefix-bindings is a command.
+
+       * markers.texi (Creating Markers): Both arguments of copy-marker
+       are optional.
+
+       * minibuf.texi (Reading File Names): Use @kbd instead of @code.
+
+       * modes.texi (Mode Line Variables): mode-line-remote and
+       mode-line-client are not options.
+       (Imenu): imenu-add-to-menubar is a command.
+       (SMIE Indentation Helpers): Use address@hidden instead of non-nil.
+
+       * os.texi (Sound Output): play-sound-file is a command.
+
+       * package.texi (Package Archives): Use @key{RET} instead of @kbd{RET}.
+
+       * processes.texi (Signals to Processes):
+       Use @key{RET} instead of @code{RET}.
+       (Signals to Processes): signal-process is a command.
+
+       * text.texi (Clickable Text): Use @key{RET} instead of @kbd{RET}.
+       (Base 64): base64-encode-string is not a command while
+       base64-decode-region is.
+
+       * windows.texi (Switching Buffers): pop-to-buffer is a command.
+
 2012-05-12  Glenn Morris  <address@hidden>
 
        * Makefile.in (MKDIR_P): New, set by configure.

=== modified file 'doc/lispref/commands.texi'
--- a/doc/lispref/commands.texi 2012-05-09 03:06:08 +0000
+++ b/doc/lispref/commands.texi 2012-05-27 01:06:44 +0000
@@ -3210,7 +3210,7 @@
   Recursive editing levels are also used when you type @kbd{C-r} in
 @code{query-replace} or use @kbd{C-x q} (@code{kbd-macro-query}).
 
address@hidden recursive-edit
address@hidden Command recursive-edit
 @cindex suspend evaluation
 This function invokes the editor command loop.  It is called
 automatically by the initialization of Emacs, to let the user begin
@@ -3237,7 +3237,7 @@
 (simple-rec)
      @result{} nil
 @end example
address@hidden defun
address@hidden deffn
 
 @deffn Command exit-recursive-edit
 This function exits from the innermost recursive edit (including

=== modified file 'doc/lispref/compile.texi'
--- a/doc/lispref/compile.texi  2012-05-09 03:06:08 +0000
+++ b/doc/lispref/compile.texi  2012-05-27 01:06:44 +0000
@@ -290,10 +290,10 @@
 -*-byte-compile-dynamic-docstrings: nil;-*-
 @end example
 
address@hidden byte-compile-dynamic-docstrings
address@hidden byte-compile-dynamic-docstrings
 If this is address@hidden, the byte compiler generates compiled files
 that are set up for dynamic loading of documentation strings.
address@hidden defvar
address@hidden defopt
 
 @node Dynamic Loading
 @section Dynamic Loading of Individual Functions

=== modified file 'doc/lispref/debugging.texi'
--- a/doc/lispref/debugging.texi        2012-04-14 01:59:01 +0000
+++ b/doc/lispref/debugging.texi        2012-05-27 01:06:44 +0000
@@ -447,7 +447,7 @@
   Here we describe in full detail the function @code{debug} that is used
 to invoke the debugger.
 
address@hidden debug &rest debugger-args
address@hidden Command debug &rest debugger-args
 This function enters the debugger.  It switches buffers to a buffer
 named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second
 recursive entry to the debugger, etc.), and fills it with information
@@ -534,7 +534,7 @@
 display messages---for example, to remind yourself of the conditions
 under which @code{debug} is called.
 @end table
address@hidden defun
address@hidden deffn
 
 @node Internals of Debugger
 @subsection Internals of the Debugger

=== modified file 'doc/lispref/display.texi'
--- a/doc/lispref/display.texi  2012-05-02 13:00:29 +0000
+++ b/doc/lispref/display.texi  2012-05-27 01:06:44 +0000
@@ -413,7 +413,7 @@
 message is printed immediately.
 @end defun
 
address@hidden progress-reporter-update reporter value
address@hidden progress-reporter-update reporter &optional value
 This function does the main work of reporting progress of your
 operation.  It displays the message of @var{reporter}, followed by
 progress percentage determined by @var{value}.  If percentage is zero,
@@ -434,7 +434,7 @@
 likely negate your effort.
 @end defun
 
address@hidden progress-reporter-force-update reporter value &optional 
new-message
address@hidden progress-reporter-force-update reporter &optional value 
new-message
 This function is similar to @code{progress-reporter-update} except
 that it prints a message in the echo area unconditionally.
 
@@ -2662,11 +2662,13 @@
 (put 'modeline 'face-alias 'mode-line)
 @end example
 
address@hidden define-obsolete-face-alias obsolete-face current-face &optional 
when
-This function defines a face alias and marks it as obsolete, indicating
-that it may be removed in future.  The optional string @var{when}
-indicates when the face was made obsolete (for example, a release number).
address@hidden defun
address@hidden define-obsolete-face-alias obsolete-face current-face when
+This macro defines @code{obsolete-face} as an alias for
address@hidden, and also marks it as obsolete, indicating that it
+may be removed in future.  @var{when} should be a string indicating
+when @code{obsolete-face} was made obsolete (usually a version number
+string).
address@hidden defmac
 
 @node Auto Faces
 @subsection Automatic Face Assignment
@@ -4904,7 +4906,7 @@
 The following functions related to animated images are available.
 
 @defun image-animated-p image
-This function returns non-nil if @var{image} can be animated.
+This function returns address@hidden if @var{image} can be animated.
 The actual return value is a cons @code{(@var{nimages} . @var{delay})}, 
 where @var{nimages} is the number of frames and @var{delay} is the
 delay in seconds between them.

=== modified file 'doc/lispref/files.texi'
--- a/doc/lispref/files.texi    2012-05-10 00:58:16 +0000
+++ b/doc/lispref/files.texi    2012-05-27 01:06:44 +0000
@@ -3133,10 +3133,10 @@
 This command writes the current buffer contents into the file @var{file}
 in a format based on @var{format}, which is a list of format names.  It
 constructs the actual format starting from @var{format}, then appending
-any elements from the value of @code{buffer-file-format} with a non-nil
address@hidden flag (see above), if they are not already present in
address@hidden  It then updates @code{buffer-file-format} with this
-format, making it the default for future saves.  Except for the
+any elements from the value of @code{buffer-file-format} with a
address@hidden @var{preserve} flag (see above), if they are not already
+present in @var{format}.  It then updates @code{buffer-file-format} with
+this format, making it the default for future saves.  Except for the
 @var{format} argument, this command is similar to @code{write-file}.  In
 particular, @var{confirm} has the same meaning and interactive treatment
 as the corresponding argument to @code{write-file}.  @xref{Definition of

=== modified file 'doc/lispref/frames.texi'
--- a/doc/lispref/frames.texi   2012-05-02 13:00:29 +0000
+++ b/doc/lispref/frames.texi   2012-05-27 01:06:44 +0000
@@ -108,7 +108,7 @@
 
 To create a new frame, call the function @code{make-frame}.
 
address@hidden make-frame &optional alist
address@hidden Command make-frame &optional alist
 This function creates and returns a new frame, displaying the current
 buffer.
 
@@ -134,7 +134,7 @@
 @xref{Input Focus}.  The previously selected frame remains selected.
 On graphical terminals, however, the windowing system may select the
 new frame for its own reasons.
address@hidden defun
address@hidden deffn
 
 @defvar before-make-frame-hook
 A normal hook run by @code{make-frame} before it creates the frame.
@@ -1395,7 +1395,7 @@
 of this function is not significant.
 @end defun
 
address@hidden select-frame frame &optional norecord
address@hidden Command select-frame frame &optional norecord
 This function selects frame @var{frame}, temporarily disregarding the
 focus of the X server if any.  The selection of @var{frame} lasts until
 the next time the user does something to select a different frame, or
@@ -1418,7 +1418,7 @@
 In general, you should never use @code{select-frame} in a way that
 could switch to a different terminal without switching back when
 you're done.
address@hidden defun
address@hidden deffn
 
 Emacs cooperates with the window system by arranging to select frames as
 the server and window manager request.  It does so by generating a

=== modified file 'doc/lispref/functions.texi'
--- a/doc/lispref/functions.texi        2012-05-09 03:06:08 +0000
+++ b/doc/lispref/functions.texi        2012-05-27 01:06:44 +0000
@@ -1178,12 +1178,14 @@
 In addition, you can mark a certain a particular calling convention
 for a function as obsolete:
 
address@hidden set-advertised-calling-convention function signature
address@hidden set-advertised-calling-convention function signature when
 This function specifies the argument list @var{signature} as the
 correct way to call @var{function}.  This causes the Emacs byte
 compiler to issue a warning whenever it comes across an Emacs Lisp
 program that calls @var{function} any other way (however, it will
-still allow the code to be byte compiled).
+still allow the code to be byte compiled).  @var{when} should be a
+string indicating when the variable was first made obsolete (usually a
+version number string).
 
 For instance, in old versions of Emacs the @code{sit-for} function
 accepted three arguments, like this
@@ -1198,7 +1200,7 @@
 
 @example
 (set-advertised-calling-convention
-  'sit-for '(seconds &optional nodisp))
+  'sit-for '(seconds &optional nodisp) "22.1")
 @end example
 @end defun
 

=== modified file 'doc/lispref/help.texi'
--- a/doc/lispref/help.texi     2012-04-27 03:10:38 +0000
+++ b/doc/lispref/help.texi     2012-05-27 01:06:44 +0000
@@ -511,7 +511,7 @@
 @end smallexample
 @end defun
 
address@hidden read-kbd-macro string &optional need-vector
address@hidden Command read-kbd-macro string &optional need-vector
 This function is used mainly for operating on keyboard macros, but it
 can also be used as a rough inverse for @code{key-description}.  You
 call it with a string containing key descriptions, separated by spaces;
@@ -519,7 +519,7 @@
 (This may or may not be a single valid key sequence, depending on what
 events you use; @pxref{Key Sequences}.)  If @var{need-vector} is
 address@hidden, the return value is always a vector.
address@hidden defun
address@hidden deffn
 
 @node Help Functions
 @section Help Functions
@@ -626,12 +626,12 @@
 variable's default value is @code{describe-prefix-bindings}.
 @end defvar
 
address@hidden describe-prefix-bindings
address@hidden Command describe-prefix-bindings
 This function calls @code{describe-bindings} to display a list of all
 the subcommands of the prefix key of the most recent key sequence.  The
 prefix described consists of all but the last event of that key
 sequence.  (The last event is, presumably, the help character.)
address@hidden defun
address@hidden deffn
 
   The following two functions are meant for modes that want to provide
 help without relinquishing control, such as the ``electric'' modes.

=== modified file 'doc/lispref/markers.texi'
--- a/doc/lispref/markers.texi  2012-04-14 01:59:01 +0000
+++ b/doc/lispref/markers.texi  2012-05-27 01:06:44 +0000
@@ -205,7 +205,7 @@
 @end example
 @end defun
 
address@hidden copy-marker marker-or-integer &optional insertion-type
address@hidden copy-marker &optional marker-or-integer insertion-type
 If passed a marker as its argument, @code{copy-marker} returns a
 new marker that points to the same place and the same buffer as does
 @var{marker-or-integer}.  If passed an integer as its argument,

=== modified file 'doc/lispref/minibuf.texi'
--- a/doc/lispref/minibuf.texi  2012-05-09 03:06:08 +0000
+++ b/doc/lispref/minibuf.texi  2012-05-27 01:06:44 +0000
@@ -1404,7 +1404,7 @@
 If the user types @key{RET} in an empty minibuffer, this function
 returns an empty string, regardless of the value of
 @var{require-match}.  This is, for instance, how the user can make the
-current buffer visit no file using @code{M-x set-visited-file-name}.
+current buffer visit no file using @kbd{M-x set-visited-file-name}.
 
 If @var{predicate} is address@hidden, it specifies a function of one
 argument that decides which file names are acceptable completion

=== modified file 'doc/lispref/modes.texi'
--- a/doc/lispref/modes.texi    2012-04-27 03:10:38 +0000
+++ b/doc/lispref/modes.texi    2012-05-27 01:06:44 +0000
@@ -734,13 +734,15 @@
 variable @code{major-mode} (@pxref{Major Modes}), which is why every
 major mode command needs to set that variable.
 
address@hidden Command describe-mode
-This function displays the documentation of the current major mode.
address@hidden Command describe-mode &optional buffer
+This command displays the documentation of the current buffer's major
+mode and minor modes.  It uses the @code{documentation} function to
+retrieve the documentation strings of the major and minor mode
+commands (@pxref{Accessing Documentation}).
 
-The @code{describe-mode} function calls the @code{documentation}
-function using the value of @code{major-mode} as an argument.  Thus, it
-displays the documentation string of the major mode command.
-(@xref{Accessing Documentation}.)
+If called from Lisp with a non-nil @var{buffer} argument, this
+function displays the documentation for that buffer's major and minor
+modes, rather than those of the current buffer.
 @end deffn
 
 @node Derived Modes
@@ -1990,14 +1992,14 @@
 on the process status, and whether narrowing is in effect.
 @end defopt
 
address@hidden mode-line-remote
address@hidden mode-line-remote
 This variable is used to show whether @code{default-directory} for the
 current buffer is remote.
address@hidden defopt
address@hidden defvar
 
address@hidden mode-line-client
address@hidden mode-line-client
 This variable is used to identify @code{emacsclient} frames.
address@hidden defopt
address@hidden defvar
 
   The following three variables are used in @code{mode-line-modes}:
 
@@ -2315,10 +2317,10 @@
 choose one of them and move point to it.  Major modes can add a menu
 bar item to use Imenu using @code{imenu-add-to-menubar}.
 
address@hidden imenu-add-to-menubar name
address@hidden Command imenu-add-to-menubar name
 This function defines a local menu bar item named @var{name}
 to run Imenu.
address@hidden defun
address@hidden deffn
 
   The user-level commands for using Imenu are described in the Emacs
 Manual (@pxref{Imenu,, Imenu, emacs, the Emacs Manual}).  This section
@@ -3860,9 +3862,9 @@
 @end defun
 
 @defun smie-rule-sibling-p
-Return non-nil if the current token's parent is actually a sibling.
-This is the case for example when the parent of a @code{","} is just the
-previous @code{","}.
+Return address@hidden if the current token's parent is actually a
+sibling.  This is the case for example when the parent of a @code{","}
+is just the previous @code{","}.
 @end defun
 
 @defun smie-rule-parent &optional offset

=== modified file 'doc/lispref/os.texi'
--- a/doc/lispref/os.texi       2012-05-04 05:14:14 +0000
+++ b/doc/lispref/os.texi       2012-05-27 01:06:44 +0000
@@ -2108,10 +2108,10 @@
 Each function is called with one argument, @var{sound}.
 @end defun
 
address@hidden play-sound-file file &optional volume device
address@hidden Command play-sound-file file &optional volume device
 This function is an alternative interface to playing a sound @var{file}
 specifying an optional @var{volume} and @var{device}.
address@hidden defun
address@hidden deffn
 
 @defvar play-sound-functions
 A list of functions to be called before playing a sound.  Each function

=== modified file 'doc/lispref/package.texi'
--- a/doc/lispref/package.texi  2012-05-02 07:20:29 +0000
+++ b/doc/lispref/package.texi  2012-05-27 01:06:44 +0000
@@ -294,8 +294,8 @@
 
   A convenient way to set up and update a package archive is via the
 @code{package-x} library.  This is included with Emacs, but not loaded
-by default; type @kbd{M-x load-library @kbd{RET} package-x @kbd{RET}}
-to load it, or add @code{(require 'package-x)} to your init file.
+by default; type @kbd{M-x load-library @key{RET} package-x @key{RET}} to
+load it, or add @code{(require 'package-x)} to your init file.
 @xref{Lisp Libraries,, Lisp Libraries, emacs, The GNU Emacs Manual}.
 Once loaded, you can make use of the following:
 

=== modified file 'doc/lispref/processes.texi'
--- a/doc/lispref/processes.texi        2012-05-02 13:00:29 +0000
+++ b/doc/lispref/processes.texi        2012-05-27 01:06:44 +0000
@@ -1073,7 +1073,7 @@
 @defun interrupt-process &optional process current-group
 This function interrupts the process @var{process} by sending the
 signal @code{SIGINT}.  Outside of Emacs, typing the ``interrupt
-character'' (normally @kbd{C-c} on some systems, and @code{DEL} on
+character'' (normally @kbd{C-c} on some systems, and @key{DEL} on
 others) sends this signal.  When the argument @var{current-group} is
 address@hidden, you can think of this function as ``typing @kbd{C-c}''
 on the terminal by which Emacs talks to the subprocess.
@@ -1112,7 +1112,7 @@
 stopped previously.
 @end defun
 
address@hidden signal-process process signal
address@hidden Command signal-process process signal
 This function sends a signal to process @var{process}.  The argument
 @var{signal} specifies which signal to send; it should be an integer,
 or a symbol whose name is a signal.
@@ -1120,7 +1120,7 @@
 The @var{process} argument can be a system process @acronym{ID} (an
 integer); that allows you to send signals to processes that are not
 children of Emacs.  @xref{System Processes}.
address@hidden defun
address@hidden deffn
 
 @node Output from Processes
 @section Receiving Output from Processes

=== modified file 'doc/lispref/text.texi'
--- a/doc/lispref/text.texi     2012-05-09 03:06:08 +0000
+++ b/doc/lispref/text.texi     2012-05-27 01:06:44 +0000
@@ -3530,7 +3530,7 @@
 @dfn{link}.
 
   Implementing a link involves three separate steps: (1) indicating
-clickability when the mouse moves over the link; (2) making @kbd{RET}
+clickability when the mouse moves over the link; (2) making @key{RET}
 or @kbd{Mouse-2} on that link do something; and (3) setting up a
 @code{follow-link} condition so that the link obeys
 @code{mouse-1-click-follows-link}.
@@ -4068,7 +4068,7 @@
 the output is just one long line.
 @end deffn
 
address@hidden Command base64-encode-string string &optional no-line-break
address@hidden base64-encode-string string &optional no-line-break
 This function converts the string @var{string} into base 64 code.  It
 returns a string containing the encoded text.  As for
 @code{base64-encode-region}, an error is signaled if a character in the
@@ -4078,15 +4078,15 @@
 text, to avoid overlong lines.  However, if the optional argument
 @var{no-line-break} is address@hidden, these newlines are not added, so
 the result string is just one long line.
address@hidden deffn
address@hidden defun
 
address@hidden base64-decode-region beg end
address@hidden Command base64-decode-region beg end
 This function converts the region from @var{beg} to @var{end} from base
 64 code into the corresponding decoded text.  It returns the length of
 the decoded text.
 
 The decoding functions ignore newline characters in the encoded text.
address@hidden defun
address@hidden deffn
 
 @defun base64-decode-string string
 This function converts the string @var{string} from base 64 code into

=== modified file 'doc/lispref/variables.texi'
--- a/doc/lispref/variables.texi        2012-04-27 03:10:38 +0000
+++ b/doc/lispref/variables.texi        2012-05-27 01:06:44 +0000
@@ -1852,16 +1852,19 @@
 the old name is obsolete and therefore that it may be removed at some
 stage in the future.
 
address@hidden make-obsolete-variable obsolete-name current-name &optional when
address@hidden make-obsolete-variable obsolete-name current-name when &optional 
access-type
 This function makes the byte compiler warn that the variable
address@hidden is obsolete.  If @var{current-name} is a symbol, it is
-the variable's new name; then the warning message says to use
address@hidden instead of @var{obsolete-name}.  If @var{current-name}
-is a string, this is the message and there is no replacement variable.
address@hidden is obsolete.  If @var{current-name} is a symbol,
+it is the variable's new name; then the warning message says to use
address@hidden instead of @var{obsolete-name}.  If
address@hidden is a string, this is the message and there is no
+replacement variable.  @var{when} should be a string indicating when
+the variable was first made obsolete (usually a version number
+string).
 
-If provided, @var{when} should be a string indicating when the
-variable was first made obsolete---for example, a date or a release
-number.
+The optional argument @var{access-type}, if address@hidden, should
+should specify the kind of access that will trigger obsolescence
+warnings; it can be either @code{get} or @code{set}.
 @end defun
 
   You can make two variables synonyms and declare one obsolete at the

=== modified file 'doc/lispref/windows.texi'
--- a/doc/lispref/windows.texi  2012-04-27 03:10:38 +0000
+++ b/doc/lispref/windows.texi  2012-05-27 01:06:44 +0000
@@ -1558,7 +1558,7 @@
 @code{display-buffer} will affect it as well.  @xref{Choosing Window},
 for the documentation of @code{display-buffer}.
 
address@hidden pop-to-buffer buffer-or-name &optional action norecord
address@hidden Command pop-to-buffer buffer-or-name &optional action norecord
 This function makes @var{buffer-or-name} the current buffer and
 displays it in some window, preferably not the window previously
 selected.  It then selects the displaying window.  If that window is
@@ -1581,7 +1581,7 @@
 
 Like @code{switch-to-buffer}, this function updates the buffer list
 unless @var{norecord} is address@hidden
address@hidden defun
address@hidden deffn
 
 @node Choosing Window
 @section Choosing a Window for Display

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-05-22 18:31:19 +0000
+++ b/doc/misc/ChangeLog        2012-05-27 01:06:44 +0000
@@ -1,7 +1,10 @@
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org.texi (Durations and time values): Fix typo.
+
 2012-05-19  Jay Belanger  <address@hidden>
 
-       * doc/misc/calc.texi
-       (Basic Operations on Units, Customizing Calc):
+       * doc/misc/calc.texi (Basic Operations on Units, Customizing Calc):
        Mention `calc-ensure-consistent-units'.
 
 2012-05-14  Andreas Schwab  <address@hidden>

=== modified file 'doc/misc/org.texi'
--- a/doc/misc/org.texi 2012-05-02 01:22:26 +0000
+++ b/doc/misc/org.texi 2012-05-25 21:28:05 +0000
@@ -4,8 +4,8 @@
 @setfilename ../../info/org
 @settitle The Org Manual
 
address@hidden VERSION 7.8.09
address@hidden DATE April 2012
address@hidden VERSION 7.8.11
address@hidden DATE May 2012
 
 @c Use proper quote and backtick for code sections in PDF output
 @c Cf. Texinfo manual 14.2
@@ -2625,7 +2625,7 @@
 
 Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds
 are optional.  With the @code{T} flag, computed durations will be displayed
-as @code{[HH:MM:SS} (see the first formula above).  With the @code{t} flag,
+as @code{HH:MM:SS} (see the first formula above).  With the @code{t} flag,
 computed durations will be displayed according to the value of the variable
 @code{org-table-duration-custom-format}, which defaults to @code{'hours} and
 will display the result as a fraction of hours (see the second formula in the
@@ -7900,9 +7900,9 @@
 Delete other windows.
 @c
 @orgcmdkskc{v d,d,org-agenda-day-view}
address@hidden w,w,org-agenda-day-view}
address@hidden w,w,org-agenda-week-view}
 @xorgcmd{v m,org-agenda-month-view}
address@hidden y,org-agenda-month-year}
address@hidden y,org-agenda-year-view}
 @xorgcmd{v SPC,org-agenda-reset-view}
 @vindex org-agenda-span
 Switch to day/week/month/year view.  When switching to day or week view, this

=== modified file 'etc/refcards/orgcard.pdf'
Binary files a/etc/refcards/orgcard.pdf 2012-04-11 10:59:50 +0000 and 
b/etc/refcards/orgcard.pdf        2012-05-25 07:39:32 +0000 differ
=== modified file 'etc/refcards/orgcard.tex'
--- a/etc/refcards/orgcard.tex  2012-04-11 10:59:50 +0000
+++ b/etc/refcards/orgcard.tex  2012-05-25 07:39:32 +0000
@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
-\def\orgversionnumber{7.8.09}
+\def\orgversionnumber{7.8.11}
 \def\versionyear{2012}          % latest update
 \def\year{2012}                 % latest copyright year
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-05-26 21:58:01 +0000
+++ b/lisp/ChangeLog    2012-05-27 01:06:44 +0000
@@ -1,3 +1,18 @@
+2012-05-27  Eli Zaretskii  <address@hidden>
+
+       * mail/sendmail.el (mail-yank-region): Recognize
+       rmail-yank-current-message in addition to insert-buffer.  Fixes
+       mail-mode's "C-c C-r" that otherwise does nothing when invoked in
+       a *mail* buffer created through rmail-start-mail with sendmail as
+       mail-user-agent.
+
+2012-05-27  Chong Yidong  <address@hidden>
+
+       * net/gnutls.el (gnutls-min-prime-bits): Improve docstring.
+       Default to 256 (Bug#11267).
+
+       * help.el (describe-mode): Doc fix.
+
 2012-05-26  Glenn Morris  <address@hidden>
 
        * w32-fns.el (w32-init-info): Remove.

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-05-26 15:52:27 +0000
+++ b/lisp/gnus/ChangeLog       2012-05-27 01:06:44 +0000
@@ -1,3 +1,8 @@
+2012-05-27  Katsumi Yamaoka  <address@hidden>
+
+       * gnus-msg.el (gnus-msg-mail): Ensure that gnus-newsgroup-name is
+       a string so that Gcc works (bug#11514).
+
 2012-05-26  Stefan Monnier  <address@hidden>
 
        * legacy-gnus-agent.el (gnus-agent-unhook-expire-days):

=== modified file 'lisp/gnus/gnus-msg.el'
--- a/lisp/gnus/gnus-msg.el     2012-04-12 22:38:08 +0000
+++ b/lisp/gnus/gnus-msg.el     2012-05-21 23:29:03 +0000
@@ -490,6 +490,7 @@
       (message-mail to subject other-headers continue
                     nil yank-action send-actions return-action)
     (let ((buf (current-buffer))
+         (gnus-newsgroup-name (or gnus-newsgroup-name ""))
          mail-buf)
       (gnus-setup-message 'message
        (message-mail to subject other-headers continue

=== modified file 'lisp/help.el'
--- a/lisp/help.el      2012-02-28 08:17:21 +0000
+++ b/lisp/help.el      2012-05-15 15:43:06 +0000
@@ -783,7 +783,10 @@
 
 For this to work correctly for a minor mode, the mode's indicator
 variable \(listed in `minor-mode-alist') must also be a function
-whose documentation describes the minor mode."
+whose documentation describes the minor mode.
+
+If called from Lisp with a non-nil BUFFER argument, display
+documentation for the major and minor modes of that buffer."
   (interactive "@")
   (unless buffer (setq buffer (current-buffer)))
   (help-setup-xref (list #'describe-mode buffer)

=== modified file 'lisp/mail/sendmail.el'
--- a/lisp/mail/sendmail.el     2012-04-27 03:10:38 +0000
+++ b/lisp/mail/sendmail.el     2012-05-27 01:06:44 +0000
@@ -1678,7 +1678,8 @@
 and don't delete any header fields."
   (interactive "P")
   (and (consp mail-reply-action)
-       (eq (car mail-reply-action) 'insert-buffer)
+       (memq (car mail-reply-action)
+            '(rmail-yank-current-message insert-buffer))
        (with-current-buffer (nth 1 mail-reply-action)
         (or (mark t)
             (error "No mark set: %S" (current-buffer))))

=== modified file 'lisp/net/gnutls.el'
--- a/lisp/net/gnutls.el        2012-02-17 13:05:20 +0000
+++ b/lisp/net/gnutls.el        2012-05-16 02:49:19 +0000
@@ -66,14 +66,16 @@
                  (repeat (file :tag "Bundle filename"))))
 
 ;;;###autoload
-(defcustom gnutls-min-prime-bits nil
-  "The minimum number of bits to be used in Diffie-Hellman key exchange.
-
-This sets the minimum accepted size of the key to be used in a
-client-server handshake.  If the server sends a prime with fewer than
-the specified number of bits the handshake will fail.
-
-A value of nil says to use the default gnutls value."
+(defcustom gnutls-min-prime-bits 256
+  ;; Several mail servers send fewer bits than the GnuTLS default.
+  ;; Currently, 256 appears to be a reasonable choice (Bug#11267).
+  "Minimum number of prime bits accepted by GnuTLS for key exchange.
+During a Diffie-Hellman handshake, if the server sends a prime
+number with fewer than this number of bits, the handshake is
+rejected.  \(The smaller the prime number, the less secure the
+key exchange is against man-in-the-middle attacks.)
+
+A value of nil says to use the default GnuTLS value."
   :type '(choice (const :tag "Use default value" nil)
                  (integer :tag "Number of bits" 512))
   :group 'gnutls)

=== modified file 'lisp/org/ChangeLog'
--- a/lisp/org/ChangeLog        2012-04-27 06:21:10 +0000
+++ b/lisp/org/ChangeLog        2012-05-27 01:06:44 +0000
@@ -1,3 +1,106 @@
+2012-05-27 Mark Shoulson <address@hidden>  (tiny change)
+
+       * org.el (org-fontify-entities): Fix bug: The entities \sup[123] and
+       \there4 were not "prettified" when org-pretty-entities was enabled.
+
+2012-05-27  Nicolas Goaziou  <address@hidden>
+
+       * org.el (org-font-lock-add-priority-faces):
+       Restrict priorities fontification to headlines and inlinetasks.
+
+2012-05-27  Jambunathan K  <address@hidden>
+
+       * org-odt.el (org-odt-init-outfile)
+       (org-odt-write-manifest-file):
+       Disable `nxml-auto-insert-xml-declaration-flag'.
+
+       * org-lparse.el (org-do-lparse): Don't trigger auto-mode processing.
+
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org.el (org-scan-tags): Fix bug when building the scanner regexp.
+
+2012-05-27  Eric Schulte  <address@hidden>
+
+       * ob.el (org-babel-capitalize-examplize-region-markers):
+       Controls the capitalization of begin and end example blocks.
+       (org-babel-examplize-region):
+       Optionally capitalize example block delimiters.
+
+       * ob-plantuml.el (org-babel-execute:plantuml):
+       Add a :java header argument to plantuml.
+
+       * org-exp-blocks.el (org-export-blocks-preprocess):
+       Even when the body of a block is not indented the boundary markers
+       should be indented to their original positions so things like list
+       indentation still work.
+
+       * ob.el (org-babel-parse-src-block-match):
+       Save match data during indentation check.
+
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org.el (org-scan-tags): Correctly match TODO keywords.
+
+2012-05-27  Nicolas Goaziou  <address@hidden>
+
+       * org-list.el (org-list-struct): Fix white spaces.
+       (org-list-swap-items, org-list-send-item): Fix visibility preservation.
+
+       * org-list.el (org-list-swap-items, org-list-send-item):
+       Preserve visibility when moving items.
+
+2012-05-27  Mark E. Shoulson  <address@hidden>  (tiny change)
+
+       * org.el (org-fontify-entities): Hide {} when prettifying entities.
+
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org.el (org-cycle-internal-global): Prevent the display of
+       messages when cycling from with a Gnus article buffer.
+
+       * org-table.el (org-table-time-seconds-to-string):
+       Fix bug about handling a negative duration value.
+
+2012-05-27  Nicolas Goaziou  <address@hidden>
+
+       * org.el (org-link-expand-abbrev): Fix docstring.
+
+       * org.el (org-translate-link): Fix bug.
+
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org-agenda.el (org-agenda-bulk-mark-regexp):
+       Fix bug when setting the number of marked entries.
+
+       * org-table.el (org-tbl-calc-modes): Rename from `org-table-modes'.
+       (org-set-calc-mode, org-table-eval-formula): Use it.
+
+2012-05-27  Eric Schulte  <address@hidden>
+
+       * ob.el (org-babel-find-named-result):
+       Fix bug finding empty named results.
+
+2012-05-27  Nicolas Goaziou  <address@hidden>
+
+       * org.el (org-set-regexps-and-options):
+       Fix `org-planning-or-clock-line-re' regexp.  Indeed "\\>" will never
+       match since time keywords must end with colons, which are not word
+       constituents.
+
+2012-05-27  Bastien Guerry  <address@hidden>
+
+       * org-ctags.el (org-ctags-new-topic-template):
+       Fix the option default value back again.
+
+2012-05-27  Eric Schulte  <address@hidden>
+
+       * org-bibtex.el (org-bibtex-export-to-kill-ring):
+       Don't rely on kill-new to return a string.
+
+       * org-bibtex.el (org-bibtex-headline):
+       Remove call to bibtex-reformat which often hangs.
+
 2012-04-27  Glenn Morris  <address@hidden>
 
        * org-ctags.el (org-ctags-new-topic-template):

=== modified file 'lisp/org/ob-plantuml.el'
--- a/lisp/org/ob-plantuml.el   2012-04-03 12:02:21 +0000
+++ b/lisp/org/ob-plantuml.el   2012-05-25 07:39:32 +0000
@@ -55,9 +55,10 @@
                       (error "plantuml requires a \":file\" header argument")))
         (cmdline (cdr (assoc :cmdline params)))
         (in-file (org-babel-temp-file "plantuml-"))
+        (java (or (cdr (assoc :java params)) ""))
         (cmd (if (not org-plantuml-jar-path)
                  (error "`org-plantuml-jar-path' is not set")
-               (concat "java -jar "
+               (concat "java " java " -jar "
                        (shell-quote-argument
                         (expand-file-name org-plantuml-jar-path))
                        (if (string= (file-name-extension out-file) "svg")

=== modified file 'lisp/org/ob.el'
--- a/lisp/org/ob.el    2012-04-03 12:02:21 +0000
+++ b/lisp/org/ob.el    2012-05-25 07:39:32 +0000
@@ -1159,7 +1159,8 @@
                      (substring body 0 sub-length)
                    (or body "")))))
         (preserve-indentation (or org-src-preserve-indentation
-                                  (string-match "-i\\>" switches))))
+                                  (save-match-data
+                                    (string-match "-i\\>" switches)))))
     (list lang
           ;; get block body less properties, protective commas, and indentation
           (with-temp-buffer
@@ -1498,7 +1499,7 @@
     (catch 'is-a-code-block
       (when (re-search-forward
             (concat org-babel-result-regexp
-                    "[ \t]" (regexp-quote name) "[ \t\n\f\v\r]+") nil t)
+                    "[ \t]" (regexp-quote name) "[ \t]*[\n\f\v\r]") nil t)
        (when (and (string= "name" (downcase (match-string 1)))
                   (or (beginning-of-line 1)
                       (looking-at org-babel-src-block-regexp)
@@ -1957,11 +1958,16 @@
                 (stringp (car result)) (stringp (cadr result)))
        (format "[[file:%s][%s]]" (car result) (cadr result))))))
 
+(defvar org-babel-capitalize-examplize-region-markers nil
+  "Make true to capitalize begin/end example markers inserted by code blocks.")
+
 (defun org-babel-examplize-region (beg end &optional results-switches)
   "Comment out region using the inline '==' or ': ' org example quote."
   (interactive "*r")
   (flet ((chars-between (b e)
-                       (not (string-match "^[\\s]*$" (buffer-substring b e)))))
+                       (not (string-match "^[\\s]*$" (buffer-substring b e))))
+        (maybe-cap (str) (if org-babel-capitalize-examplize-region-markers
+                             (upcase str) str)))
     (if (or (chars-between (save-excursion (goto-char beg) (point-at-bol)) beg)
            (chars-between end (save-excursion (goto-char end) (point-at-eol))))
        (save-excursion
@@ -1978,10 +1984,12 @@
                (t
                 (goto-char beg)
                 (insert (if results-switches
-                            (format "#+begin_example%s\n" results-switches)
-                          "#+begin_example\n"))
+                            (format "%s%s\n"
+                                    (maybe-cap "#+begin_example")
+                                    results-switches)
+                          (maybe-cap "#+begin_example\n")))
                 (if (markerp end) (goto-char end) (forward-char (- end beg)))
-                (insert "#+end_example\n"))))))))
+                (insert (maybe-cap "#+end_example\n")))))))))
 
 (defun org-babel-update-block-body (new-body)
   "Update the body of the current code block to NEW-BODY."

=== modified file 'lisp/org/org-agenda.el'
--- a/lisp/org/org-agenda.el    2012-04-26 17:30:04 +0000
+++ b/lisp/org/org-agenda.el    2012-05-16 17:33:50 +0000
@@ -8315,13 +8315,13 @@
 (defun org-agenda-bulk-mark-regexp (regexp)
   "Mark entries match REGEXP."
   (interactive "sMark entries matching regexp: ")
-  (let (entries-marked)
+  (let ((entries-marked 0))
     (save-excursion
       (goto-char (point-min))
       (goto-char (next-single-property-change (point) 'txt))
       (while (re-search-forward regexp nil t)
        (when (string-match regexp (get-text-property (point) 'txt))
-         (setq entries-marked (+ entries-marked 1))
+         (setq entries-marked (1+ entries-marked))
          (call-interactively 'org-agenda-bulk-mark))))
     (if (not entries-marked)
        (message "No entry matching this regexp."))))

=== modified file 'lisp/org/org-bibtex.el'
--- a/lisp/org/org-bibtex.el    2012-04-03 12:02:21 +0000
+++ b/lisp/org/org-bibtex.el    2012-05-16 17:33:50 +0000
@@ -369,7 +369,7 @@
                  (progn (goto-char (match-end 1)) (insert ", "))
                (bibtex-make-field "keywords" t t))
              (insert (mapconcat #'identity tags ", ")))
-            (bibtex-reformat) (buffer-string)))))))
+            (buffer-string)))))))
 
 (defun org-bibtex-ask (field)
   (unless (assoc field org-bibtex-fields)
@@ -661,7 +661,8 @@
 (defun org-bibtex-export-to-kill-ring ()
   "Export current headline to kill ring as bibtex entry."
   (interactive)
-  (kill-new (org-bibtex-headline)))
+  (let ((result (org-bibtex-headline)))
+    (kill-new result) result))
 
 (defun org-bibtex-search (string)
   "Search for bibliographical entries in agenda files.

=== modified file 'lisp/org/org-exp-blocks.el'
--- a/lisp/org/org-exp-blocks.el        2012-04-03 12:02:21 +0000
+++ b/lisp/org/org-exp-blocks.el        2012-05-25 07:39:32 +0000
@@ -211,7 +211,13 @@
                  (when replacement
                    (delete-region match-start match-end)
                    (goto-char match-start) (insert replacement)
-                   (unless preserve-indent
+                   (if preserve-indent
+                       ;; indent only the code block markers
+                       (save-excursion
+                         (indent-line-to indentation) ; indent end_block
+                         (goto-char match-start)
+                         (indent-line-to indentation)) ; indent begin_block
+                     ;; indent everything
                      (indent-code-rigidly match-start (point) indentation)))))
              ;; cleanup markers
              (set-marker match-start nil)

=== modified file 'lisp/org/org-list.el'
--- a/lisp/org/org-list.el      2012-04-26 17:30:04 +0000
+++ b/lisp/org/org-list.el      2012-05-16 17:33:50 +0000
@@ -714,15 +714,15 @@
       ;;    equally indented than BEG-CELL's cdr.  Also, store ending
       ;;    position of items in END-LST-2.
       (catch 'exit
-       (while t
-         (let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
+       (while t
+         (let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
                        (org-get-indentation))))
-           (cond
-            ((>= (point) lim-down)
+           (cond
+            ((>= (point) lim-down)
              ;; At downward limit: this is de facto the end of the
              ;; list.  Save point as an ending position, and jump to
              ;; part 3.
-             (throw 'exit
+             (throw 'exit
                     (push (cons 0 (funcall end-before-blank)) end-lst-2)))
             ;; At a verbatim block, move to its end.  Point is at bol
             ;; and 'org-example property is set by whole lines:
@@ -1071,8 +1071,10 @@
 
 (defun org-list-swap-items (beg-A beg-B struct)
   "Swap item starting at BEG-A with item starting at BEG-B in STRUCT.
-Blank lines at the end of items are left in place.  Return the
-new structure after the changes.
+
+Blank lines at the end of items are left in place.  Item
+visibility is preserved.  Return the new structure after the
+changes.
 
 Assume BEG-A is lesser than BEG-B and that BEG-A and BEG-B belong
 to the same sub-list.
@@ -1089,7 +1091,17 @@
           (body-B (buffer-substring beg-B end-B-no-blank))
           (between-A-no-blank-and-B (buffer-substring end-A-no-blank beg-B))
           (sub-A (cons beg-A (org-list-get-subtree beg-A struct)))
-          (sub-B (cons beg-B (org-list-get-subtree beg-B struct))))
+          (sub-B (cons beg-B (org-list-get-subtree beg-B struct)))
+          ;; Store overlays responsible for visibility status.  We
+          ;; also need to store their boundaries as they will be
+          ;; removed from buffer.
+          (overlays (cons
+                     (mapcar (lambda (ov)
+                               (list ov (overlay-start ov) (overlay-end ov)))
+                             (overlays-in beg-A end-A))
+                     (mapcar (lambda (ov)
+                               (list ov (overlay-start ov) (overlay-end ov)))
+                             (overlays-in beg-B end-B)))))
       ;; 1. Move effectively items in buffer.
       (goto-char beg-A)
       (delete-region beg-A end-B-no-blank)
@@ -1122,7 +1134,22 @@
                    (setcar e (+ pos (- size-B size-A)))
                    (setcar (nthcdr 6 e) (+ end-e (- size-B size-A))))))))
            struct)
-      (sort struct (lambda (e1 e2) (< (car e1) (car e2)))))))
+      (setq struct (sort struct (lambda (e1 e2) (< (car e1) (car e2)))))
+      ;; Restore visibility status, by moving overlays to their new
+      ;; position.
+      (mapc (lambda (ov)
+             (move-overlay
+              (car ov)
+              (+ (nth 1 ov) (- (+ beg-B (- size-B size-A)) beg-A))
+              (+ (nth 2 ov) (- (+ beg-B (- size-B size-A)) beg-A))))
+           (car overlays))
+      (mapc (lambda (ov)
+             (move-overlay (car ov)
+                           (+ (nth 1 ov) (- beg-A beg-B))
+                           (+ (nth 2 ov) (- beg-A beg-B))))
+           (cdr overlays))
+      ;; Return structure.
+      struct)))
 
 (defun org-list-separating-blank-lines-number (pos struct prevs)
   "Return number of blank lines that should separate items in list.
@@ -1340,8 +1367,8 @@
 to another item in the same list as ITEM, and will move the
 latter just before the former.
 
-If DEST is `begin' \(respectively `end'\), ITEM will be moved at
-the beginning \(respectively end\) of the list it belongs to.
+If DEST is `begin' (respectively `end'), ITEM will be moved at
+the beginning (respectively end) of the list it belongs to.
 
 If DEST is a string like \"N\", where N is an integer, ITEM will
 be moved at the Nth position in the list.
@@ -1351,6 +1378,8 @@
 
 If DEST is `delete', ITEM will be deleted.
 
+Visibility of item is preserved.
+
 This function returns, destructively, the new list structure."
   (let* ((prevs (org-list-prevs-alist struct))
         (item-end (org-list-get-item-end item struct))
@@ -1393,7 +1422,9 @@
                             (org-list-get-last-item item struct prevs))
                            (point-at-eol)))))
                     (t dest)))
-        (org-M-RET-may-split-line nil))
+        (org-M-RET-may-split-line nil)
+        ;; Store visibility.
+        (visibility (overlays-in item item-end)))
     (cond
      ((eq dest 'delete) (org-list-delete-item item struct))
      ((eq dest 'kill)
@@ -1429,9 +1460,14 @@
                                                         (+ end shift)))))))
                               moved-items))
                      (lambda (e1 e2) (< (car e1) (car e2))))))
-      ;; 2. Eventually delete extra copy of the item and clean marker.
-      (prog1
-         (org-list-delete-item (marker-position item) struct)
+      ;; 2. Restore visibility.
+      (mapc (lambda (ov)
+             (move-overlay ov
+                           (+ (overlay-start ov) (- (point) item))
+                           (+ (overlay-end ov) (- (point) item))))
+           visibility)
+      ;; 3. Eventually delete extra copy of the item and clean marker.
+      (prog1 (org-list-delete-item (marker-position item) struct)
        (move-marker item nil)))
      (t struct))))
 

=== modified file 'lisp/org/org-lparse.el'
--- a/lisp/org/org-lparse.el    2012-04-01 09:49:25 +0000
+++ b/lisp/org/org-lparse.el    2012-05-25 07:39:32 +0000
@@ -1111,9 +1111,6 @@
       (unless body-only
        (org-lparse-end 'DOCUMENT-CONTENT))
 
-      (unless (plist-get opt-plist :buffer-will-be-killed)
-       (set-auto-mode t))
-
       (org-lparse-end 'EXPORT)
 
       ;; kill collection buffer

=== modified file 'lisp/org/org-odt.el'
--- a/lisp/org/org-odt.el       2012-04-26 17:30:04 +0000
+++ b/lisp/org/org-odt.el       2012-05-25 21:09:08 +0000
@@ -2211,7 +2211,9 @@
         (content-file (expand-file-name "content.xml" outdir)))
 
     ;; init conten.xml
-    (with-current-buffer (find-file-noselect content-file t))
+    (require 'nxml-mode)
+    (let ((nxml-auto-insert-xml-declaration-flag nil))
+      (find-file-noselect content-file t))
 
     ;; reset variables
     (setq org-odt-manifest-file-entries nil
@@ -2320,7 +2322,8 @@
   (make-directory "META-INF")
   (let ((manifest-file (expand-file-name "META-INF/manifest.xml")))
     (with-current-buffer
-       (find-file-noselect manifest-file t)
+       (let ((nxml-auto-insert-xml-declaration-flag nil))
+         (find-file-noselect manifest-file t))
       (insert
        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
      <manifest:manifest 
xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" 
manifest:version=\"1.2\">\n")

=== modified file 'lisp/org/org-protocol.el'
--- a/lisp/org/org-protocol.el  2012-04-09 13:05:48 +0000
+++ b/lisp/org/org-protocol.el  2012-05-27 01:06:44 +0000
@@ -225,7 +225,7 @@
   :type 'alist)
 
 (defcustom org-protocol-protocol-alist nil
-  " Register custom handlers for org-protocol.
+  "Register custom handlers for org-protocol.
 
 Each element of this list must be of the form:
 

=== modified file 'lisp/org/org-table.el'
--- a/lisp/org/org-table.el     2012-04-26 17:30:04 +0000
+++ b/lisp/org/org-table.el     2012-05-16 17:33:50 +0000
@@ -2368,7 +2368,7 @@
                       (looking-at org-table-auto-recalculate-regexp))
        (org-table-recalculate) t))
 
-(defvar org-table-modes)
+(defvar org-tbl-calc-modes) ;; Dynamically bound in `org-table-eval-formula'
 (defsubst org-set-calc-mode (var &optional value)
   (if (stringp var)
       (setq var (assoc var '(("D" calc-angle-mode deg)
@@ -2376,10 +2376,10 @@
                             ("F" calc-prefer-frac t)
                             ("S" calc-symbolic-mode t)))
            value (nth 2 var) var (nth 1 var)))
-  (if (memq var org-table-modes)
-      (setcar (cdr (memq var org-table-modes)) value)
-    (cons var (cons value org-table-modes)))
-  org-table-modes)
+  (if (memq var org-tbl-calc-modes)
+      (setcar (cdr (memq var org-tbl-calc-modes)) value)
+    (cons var (cons value org-tbl-calc-modes)))
+  org-tbl-calc-modes)
 
 (defun org-table-eval-formula (&optional arg equation
                                         suppress-align suppress-const
@@ -2437,7 +2437,7 @@
                        equation
                      (org-table-get-formula equation (equal arg '(4)))))
           (n0 (org-table-current-column))
-          (modes (copy-sequence org-calc-default-modes))
+          (org-tbl-calc-modes (copy-sequence org-calc-default-modes))
           (numbers nil) ; was a variable, now fixed default
           (keep-empty nil)
           n form form0 formrpl formrg bw fmt x ev orig c lispp literal
@@ -2453,12 +2453,13 @@
              (setq c (string-to-char (match-string 1 fmt))
                    n (string-to-number (match-string 2 fmt)))
              (if (= c ?p)
-                 (setq modes (org-set-calc-mode 'calc-internal-prec n))
-               (setq modes (org-set-calc-mode
-                            'calc-float-format
-                            (list (cdr (assoc c '((?n . float) (?f . fix)
-                                                  (?s . sci) (?e . eng))))
-                                  n))))
+                 (setq org-tbl-calc-modes (org-set-calc-mode 
'calc-internal-prec n))
+               (setq org-tbl-calc-modes
+                     (org-set-calc-mode
+                      'calc-float-format
+                      (list (cdr (assoc c '((?n . float) (?f . fix)
+                                            (?s . sci) (?e . eng))))
+                            n))))
              (setq fmt (replace-match "" t t fmt)))
            (if (string-match "T" fmt)
                (setq duration t numbers t
@@ -2479,7 +2480,7 @@
                (setq keep-empty t
                      fmt (replace-match "" t t fmt)))
            (while (string-match "[DRFS]" fmt)
-             (setq modes (org-set-calc-mode (match-string 0 fmt)))
+             (setq org-tbl-calc-modes (org-set-calc-mode (match-string 0 fmt)))
              (setq fmt (replace-match "" t t fmt)))
            (unless (string-match "\\S-" fmt)
              (setq fmt nil))))
@@ -2588,7 +2589,7 @@
                                   duration-output-format) ev))
          (or (fboundp 'calc-eval)
              (error "Calc does not seem to be installed, and is needed to 
evaluate the formula"))
-         (setq ev (calc-eval (cons form modes) (if numbers 'num))
+         (setq ev (calc-eval (cons form org-tbl-calc-modes) (if numbers 'num))
                ev (if duration (org-table-time-seconds-to-string
                                 (string-to-number ev)
                                 duration-output-format) ev)))
@@ -3309,15 +3310,18 @@
   "Convert a number of seconds to a time string.
 If OUTPUT-FORMAT is non-nil, return a number of days, hours,
 minutes or seconds."
-  (cond ((eq output-format 'days)
-        (format "%.3f" (/ (float secs) 86400)))
-       ((eq output-format 'hours)
-        (format "%.2f" (/ (float secs) 3600)))
-       ((eq output-format 'minutes)
-        (format "%.1f" (/ (float secs) 60)))
-       ((eq output-format 'seconds)
-        (format "%d" secs))
-       (t (org-format-seconds "%.2h:%.2m:%.2s" secs))))
+  (let* ((secs0 (abs secs))
+        (res
+         (cond ((eq output-format 'days)
+                (format "%.3f" (/ (float secs0) 86400)))
+               ((eq output-format 'hours)
+                (format "%.2f" (/ (float secs0) 3600)))
+               ((eq output-format 'minutes)
+                (format "%.1f" (/ (float secs0) 60)))
+               ((eq output-format 'seconds)
+                (format "%d" secs0))
+               (t (org-format-seconds "%.2h:%.2m:%.2s" secs0)))))
+    (if (< secs 0) (concat "-" res) res)))
 
 (defun org-table-fedit-convert-buffer (function)
   "Convert all references in this buffer, using FUNCTION."

=== modified file 'lisp/org/org.el'
--- a/lisp/org/org.el   2012-04-26 17:30:04 +0000
+++ b/lisp/org/org.el   2012-05-25 21:09:08 +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.09
+;; Version: 7.8.11
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -206,7 +206,7 @@
 
 ;;; Version
 
-(defconst org-version "7.8.09"
+(defconst org-version "7.8.11"
   "The version number of the file org.el.")
 
 ;;;###autoload
@@ -4789,10 +4789,11 @@
                    "\\|" org-clock-string "\\)\\)?"
                    " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} 
?[^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)")
            org-planning-or-clock-line-re
-           (concat "\\(?:^[ \t]*\\(" org-scheduled-string
-                   "\\|" org-deadline-string
-                   "\\|" org-closed-string "\\|" org-clock-string
-                   "\\)\\>\\)")
+           (concat "^[ \t]*\\("
+                   org-scheduled-string "\\|"
+                   org-deadline-string "\\|"
+                   org-closed-string "\\|"
+                   org-clock-string "\\)")
            org-all-time-keywords
            (mapcar (lambda (w) (substring w 0 -1))
                    (list org-scheduled-string org-deadline-string
@@ -5916,16 +5917,19 @@
     (when org-pretty-entities
       (catch 'match
        (while (re-search-forward
-               "\\\\\\(frac[13][24]\\|[a-zA-Z]+\\)\\($\\|[^[:alpha:]\n]\\)"
+               
"\\\\\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]\n]\\)"
                limit t)
          (if (and (not (org-in-indented-comment-line))
                   (setq ee (org-entity-get (match-string 1)))
                   (= (length (nth 6 ee)) 1))
-             (progn
+             (let*
+                 ((end (if (equal (match-string 2) "{}")
+                           (match-end 2)
+                         (match-end 1))))
                (add-text-properties
-                (match-beginning 0) (match-end 1)
+                (match-beginning 0) end
                 (list 'font-lock-fontified t))
-               (compose-region (match-beginning 0) (match-end 1)
+               (compose-region (match-beginning 0) end
                                (nth 6 ee) nil)
                (backward-char 1)
                (throw 'match t))))
@@ -5986,14 +5990,15 @@
 (defun org-font-lock-add-priority-faces (limit)
   "Add the special priority faces."
   (while (re-search-forward "\\[#\\([A-Z0-9]\\)\\]" limit t)
-    (add-text-properties
-     (match-beginning 0) (match-end 0)
-     (list 'face (or (org-face-from-face-or-color
-                     'priority 'org-special-keyword
-                     (cdr (assoc (char-after (match-beginning 1))
-                                 org-priority-faces)))
-                    'org-special-keyword)
-          'font-lock-fontified t))))
+    (when (save-match-data (org-at-heading-p))
+      (add-text-properties
+       (match-beginning 0) (match-end 0)
+       (list 'face (or (org-face-from-face-or-color
+                       'priority 'org-special-keyword
+                       (cdr (assoc (char-after (match-beginning 1))
+                                   org-priority-faces)))
+                      'org-special-keyword)
+            'font-lock-fontified t)))))
 
 (defun org-get-tag-face (kwd)
   "Get the right face for a TODO keyword KWD.
@@ -6255,34 +6260,36 @@
 
 (defun org-cycle-internal-global ()
   "Do the global cycling action."
-  (cond
-   ((and (eq last-command this-command)
-        (eq org-cycle-global-status 'overview))
-    ;; We just created the overview - now do table of contents
-    ;; This can be slow in very large buffers, so indicate action
-    (run-hook-with-args 'org-pre-cycle-hook 'contents)
-    (message "CONTENTS...")
-    (org-content)
-    (message "CONTENTS...done")
-    (setq org-cycle-global-status 'contents)
-    (run-hook-with-args 'org-cycle-hook 'contents))
-
-   ((and (eq last-command this-command)
-        (eq org-cycle-global-status 'contents))
-    ;; We just showed the table of contents - now show everything
-    (run-hook-with-args 'org-pre-cycle-hook 'all)
-    (show-all)
-    (message "SHOW ALL")
-    (setq org-cycle-global-status 'all)
-    (run-hook-with-args 'org-cycle-hook 'all))
-
-   (t
-    ;; Default action: go to overview
-    (run-hook-with-args 'org-pre-cycle-hook 'overview)
-    (org-overview)
-    (message "OVERVIEW")
-    (setq org-cycle-global-status 'overview)
-    (run-hook-with-args 'org-cycle-hook 'overview))))
+  ;; Hack to avoid display of messages for .org  attachments in Gnus
+  (let ((ga (string-match "\\*fontification" (buffer-name))))
+    (cond
+     ((and (eq last-command this-command)
+          (eq org-cycle-global-status 'overview))
+      ;; We just created the overview - now do table of contents
+      ;; This can be slow in very large buffers, so indicate action
+      (run-hook-with-args 'org-pre-cycle-hook 'contents)
+      (unless ga (message "CONTENTS..."))
+      (org-content)
+      (unless ga (message "CONTENTS...done"))
+      (setq org-cycle-global-status 'contents)
+      (run-hook-with-args 'org-cycle-hook 'contents))
+
+     ((and (eq last-command this-command)
+          (eq org-cycle-global-status 'contents))
+      ;; We just showed the table of contents - now show everything
+      (run-hook-with-args 'org-pre-cycle-hook 'all)
+      (show-all)
+      (unless ga (message "SHOW ALL"))
+      (setq org-cycle-global-status 'all)
+      (run-hook-with-args 'org-cycle-hook 'all))
+
+     (t
+      ;; Default action: go to overview
+      (run-hook-with-args 'org-pre-cycle-hook 'overview)
+      (org-overview)
+      (unless ga (message "OVERVIEW"))
+      (setq org-cycle-global-status 'overview)
+      (run-hook-with-args 'org-cycle-hook 'overview)))))
 
 (defun org-cycle-internal-local ()
   "Do the local cycling action."
@@ -8574,7 +8581,7 @@
 ;;; Link abbreviations
 
 (defun org-link-expand-abbrev (link)
-  "Apply replacements as defined in `org-link-abbrev-alist."
+  "Apply replacements as defined in `org-link-abbrev-alist'."
   (if (string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" link)
       (let* ((key (match-string 1 link))
             (as (or (assoc key org-link-abbrev-alist-local)
@@ -9432,7 +9439,7 @@
           (string-match "\\([a-zA-Z0-9]+\\):\\(.*\\)" s))
       (progn
        (setq s (funcall org-link-translation-function
-                        (match-string 1) (match-string 2)))
+                        (match-string 1 s) (match-string 2 s)))
        (concat (car s) ":" (cdr s)))
     s))
 
@@ -12822,8 +12829,7 @@
                       org-outline-regexp)
                     " *\\(\\<\\("
                     (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
-                    (org-re
-                     "\\>\\)\\)? 
*\\(.*?\\)\\(:[[:alnum:address@hidden:]+:\\)?[ \t]*$")))
+                    (org-re "\\)\\>\\)? 
*\\(.*?\\)\\(:[[:alnum:address@hidden:]+:\\)?[ \t]*$")))
         (props (list 'face 'default
                      'done-face 'org-agenda-done
                      'undone-face 'default

=== modified file 'nt/ChangeLog'
--- a/nt/ChangeLog      2012-05-22 16:20:27 +0000
+++ b/nt/ChangeLog      2012-05-27 01:06:44 +0000
@@ -1,3 +1,9 @@
+2012-05-27  Eli Zaretskii  <address@hidden>
+
+       * configure.bat: Ensure a space between %var% expansion and
+       redirection symbol '>', which breaks when %var% ends in a digit,
+       such as 1.
+
 2012-05-22  Paul Eggert  <address@hidden>
 
        Remove src/m/*.

=== modified file 'nt/configure.bat'
--- a/nt/configure.bat  2012-04-07 13:57:36 +0000
+++ b/nt/configure.bat  2012-05-27 01:06:44 +0000
@@ -757,25 +757,25 @@
 rem   except when there is a preceding digit, when a space is required.
 rem
 echo # Start of settings from configure.bat >config.settings
-echo COMPILER=%COMPILER%>>config.settings
-if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings
-if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings
+echo COMPILER=%COMPILER% >>config.settings
+if not "(%mf%)" == "()" echo MCPU_FLAG=%mf% >>config.settings
+if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo% >>config.settings
 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
 if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings
 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
-if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
-if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
+if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix% >>config.settings
+if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles% >>config.settings
 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
 rem and the if command cannot cope with this
 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
-if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings
-if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags%>>config.settings
+if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags% >>config.settings
+if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags% >>config.settings
 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
-if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings
+if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags% >>config.settings
 for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y
-if (%doextralibs%)==(Y) echo USER_LIBS=%extrauserlibs%>>config.settings
+if (%doextralibs%)==(Y) echo USER_LIBS=%extrauserlibs% >>config.settings
 echo # End of settings from configure.bat>>config.settings
 echo. >>config.settings
 
@@ -784,8 +784,8 @@
 echo /* Start of settings from configure.bat.  */ >>config.tmp
 rem   We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
 rem   processing of compiler options in w32.c:get_emacs_configuration_options
-if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%">>config.tmp
-if (%doldflags%) == (Y) echo #define USER_LDFLAGS " 
%escuserldflags%">>config.tmp
+if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%" >>config.tmp
+if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%" 
>>config.tmp
 if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
 if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-05-26 22:27:21 +0000
+++ b/src/ChangeLog     2012-05-27 01:06:44 +0000
@@ -1,3 +1,34 @@
+2012-05-27  Ken Brown  <address@hidden>
+
+       * callproc.c (Fcall_process): Restore a line that was accidentally
+       commented out in the 2011-02-13 change (bug#11547).
+
+2012-05-27  Eli Zaretskii  <address@hidden>
+
+       * lisp.h [REL_ALLOC]: Add prototypes for external functions
+       defined on ralloc.c.
+
+       * buffer.c [REL_ALLOC]: Remove prototypes of
+       r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
+       they are now on lisp.h.
+
+       * ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
+
+       * search.c (search_buffer): Use it to inhibit relocation of buffer
+       text while re_search_2 is doing its job, because re_search_2 is
+       passed C pointers to buffer text.  (Bug#11519)
+
+       * msdos.c (internal_terminal_init) <Vwindow_system_version>:
+       Update value to 24.
+
+       * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
+       state after an additional call to move_it_in_display_line_to, keep
+       the values of it->max_ascent and it->max_descent found for the
+       entire line.
+       (pos_visible_p): Revert the comparison against bottom_y to what it
+       was in revid address@hidden
+       (Bug#11464)
+
 2012-05-26  Paul Eggert  <address@hidden>
 
        Fix coding-related core dumps with gcc -ftrapv.

=== modified file 'src/callproc.c'
--- a/src/callproc.c    2012-04-09 22:54:59 +0000
+++ b/src/callproc.c    2012-05-27 01:06:44 +0000
@@ -652,7 +652,7 @@
 
        /* GConf causes us to ignore SIGPIPE, make sure it is restored
           in the child.  */
-       //signal (SIGPIPE, SIG_DFL);
+       signal (SIGPIPE, SIG_DFL);
 #ifdef HAVE_WORKING_VFORK
        pthread_sigmask (SIG_SETMASK, &procmask, 0);
 #endif

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2012-05-25 18:19:24 +0000
+++ b/src/lisp.h        2012-05-27 01:06:44 +0000
@@ -3633,6 +3633,15 @@
 /* Defined in msdos.c, w32.c */
 extern char *emacs_root_dir (void);
 #endif /* DOS_NT */
+
+#ifdef REL_ALLOC
+/* Defined in ralloc.c */
+extern void r_alloc_reset_variable (POINTER_TYPE **, POINTER_TYPE **);
+extern POINTER_TYPE *r_alloc (POINTER_TYPE **, size_t);
+extern POINTER_TYPE *r_re_alloc (POINTER_TYPE **, size_t);
+extern void r_alloc_free (POINTER_TYPE **ptr);
+extern void r_alloc_inhibit_buffer_relocation (int);
+#endif /* REL_ALLOC */
 
 /* Nonzero means Emacs has already been initialized.
    Used during startup to detect startup of dumped Emacs.  */

=== modified file 'src/msdos.c'
--- a/src/msdos.c       2012-04-09 13:05:48 +0000
+++ b/src/msdos.c       2012-05-27 01:06:44 +0000
@@ -1813,7 +1813,7 @@
        }
 
       Vinitial_window_system = Qpc;
-      Vwindow_system_version = make_number (23); /* RE Emacs version */
+      Vwindow_system_version = make_number (24); /* RE Emacs version */
       tty->terminal->type = output_msdos_raw;
 
       /* If Emacs was dumped on DOS/V machine, forget the stale VRAM

=== modified file 'src/ralloc.c'
--- a/src/ralloc.c      2012-05-21 15:36:54 +0000
+++ b/src/ralloc.c      2012-05-27 01:06:44 +0000
@@ -1139,6 +1139,12 @@
   bloc->variable = new;
 }
 
+void
+r_alloc_inhibit_buffer_relocation (int inhibit)
+{
+  use_relocatable_buffers = !inhibit;
+}
+
 
 /***********************************************************************
                            Initialization

=== modified file 'src/search.c'
--- a/src/search.c      2012-05-25 18:19:24 +0000
+++ b/src/search.c      2012-05-27 01:06:44 +0000
@@ -1159,12 +1159,25 @@
       while (n < 0)
        {
          ptrdiff_t val;
+
+#ifdef REL_ALLOC
+         /* re_search_2 below is passed C pointers to buffer text.
+            If some code called by it causes memory (re)allocation,
+            buffer text could be relocated on platforms that use
+            REL_ALLOC, which invalidates those C pointers.  So we
+            inhibit relocation of buffer text for as long as
+            re_search_2 runs.  */
+         r_alloc_inhibit_buffer_relocation (1);
+#endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
                              ? &search_regs : &search_regs_1),
                             /* Don't allow match past current point */
                             pos_byte - BEGV_BYTE);
+#ifdef REL_ALLOC
+         r_alloc_inhibit_buffer_relocation (0);
+#endif
          if (val == -2)
            {
              matcher_overflow ();
@@ -1203,11 +1216,20 @@
       while (n > 0)
        {
          ptrdiff_t val;
+
+#ifdef REL_ALLOC
+         /* See commentary above for the reasons for inhibiting
+            buffer text relocation here.  */
+         r_alloc_inhibit_buffer_relocation (1);
+#endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
                              ? &search_regs : &search_regs_1),
                             lim_byte - BEGV_BYTE);
+#ifdef REL_ALLOC
+         r_alloc_inhibit_buffer_relocation (0);
+#endif
          if (val == -2)
            {
              matcher_overflow ();

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-05-26 09:31:59 +0000
+++ b/src/xdisp.c       2012-05-27 01:06:44 +0000
@@ -8705,8 +8705,18 @@
                {
                  /* If TO_Y is in this line and TO_X was reached
                     above, we scanned too far.  We have to restore
-                    IT's settings to the ones before skipping.  */
+                    IT's settings to the ones before skipping.  But
+                    keep the more accurate values of max_ascent and
+                    max_descent we've found while skipping the rest
+                    of the line, for the sake of callers, such as
+                    pos_visible_p, that need to know the line
+                    height.  */
+                 int max_ascent = it->max_ascent;
+                 int max_descent = it->max_descent;
+
                  RESTORE_IT (it, &it_backup, backup_data);
+                 it->max_ascent = max_ascent;
+                 it->max_descent = max_descent;
                  reached = 6;
                }
              else


reply via email to

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