aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2012-05-26 18:06:44 -0700
committerGlenn Morris2012-05-26 18:06:44 -0700
commit33017fafd17d722e82a268e9b272f27df261e09d (patch)
tree9c34640f09d51059804961d697ed9b07e19571d3
parentcaf8a9b2b301aba06735d403317b75b41df59bfe (diff)
parented7bebbb489cf6f893fc35a2a6714b0d8e7e8a90 (diff)
downloademacs-33017fafd17d722e82a268e9b272f27df261e09d.tar.gz
emacs-33017fafd17d722e82a268e9b272f27df261e09d.zip
Merge from emacs-24; up to 2012-04-24T08:35:02Z!lekktu@gmail.com
-rw-r--r--doc/lispref/ChangeLog58
-rw-r--r--doc/lispref/commands.texi4
-rw-r--r--doc/lispref/compile.texi4
-rw-r--r--doc/lispref/debugging.texi4
-rw-r--r--doc/lispref/display.texi18
-rw-r--r--doc/lispref/files.texi8
-rw-r--r--doc/lispref/frames.texi8
-rw-r--r--doc/lispref/functions.texi8
-rw-r--r--doc/lispref/help.texi8
-rw-r--r--doc/lispref/markers.texi2
-rw-r--r--doc/lispref/minibuf.texi2
-rw-r--r--doc/lispref/modes.texi34
-rw-r--r--doc/lispref/os.texi4
-rw-r--r--doc/lispref/package.texi4
-rw-r--r--doc/lispref/processes.texi6
-rw-r--r--doc/lispref/text.texi10
-rw-r--r--doc/lispref/variables.texi21
-rw-r--r--doc/lispref/windows.texi4
-rw-r--r--doc/misc/ChangeLog7
-rw-r--r--doc/misc/org.texi10
-rw-r--r--etc/refcards/orgcard.pdfbin118982 -> 118438 bytes
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-msg.el1
-rw-r--r--lisp/help.el5
-rw-r--r--lisp/mail/sendmail.el3
-rw-r--r--lisp/net/gnutls.el18
-rw-r--r--lisp/org/ChangeLog103
-rw-r--r--lisp/org/ob-plantuml.el3
-rw-r--r--lisp/org/ob.el20
-rw-r--r--lisp/org/org-agenda.el4
-rw-r--r--lisp/org/org-bibtex.el5
-rw-r--r--lisp/org/org-exp-blocks.el8
-rw-r--r--lisp/org/org-list.el66
-rw-r--r--lisp/org/org-lparse.el3
-rw-r--r--lisp/org/org-odt.el7
-rw-r--r--lisp/org/org-protocol.el2
-rw-r--r--lisp/org/org-table.el50
-rw-r--r--lisp/org/org.el104
-rw-r--r--nt/ChangeLog6
-rwxr-xr-xnt/configure.bat22
-rw-r--r--src/ChangeLog31
-rw-r--r--src/callproc.c2
-rw-r--r--src/lisp.h9
-rw-r--r--src/msdos.c2
-rw-r--r--src/ralloc.c6
-rw-r--r--src/search.c22
-rw-r--r--src/xdisp.c12
49 files changed, 553 insertions, 207 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index c3b50dbdcd5..fbc7d83dfe5 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,61 @@
12012-05-27 Chong Yidong <cyd@gnu.org>
2
3 * functions.texi (Obsolete Functions):
4 Fix doc for set-advertised-calling-convention.
5
6 * modes.texi (Mode Help): Fix describe-mode.
7
8 * display.texi (Face Functions): Fix define-obsolete-face-alias.
9
10 * variables.texi (Variable Aliases): Fix make-obsolete-variable.
11
122012-05-27 Martin Rudalics <rudalics@gmx.at>
13
14 * commands.texi (Recursive Editing): recursive-edit is a command.
15
16 * compile.texi (Docs and Compilation):
17 byte-compile-dynamic-docstrings is an option.
18
19 * debugging.texi (Invoking the Debugger): debug is a command.
20
21 * display.texi (Progress): progress-reporter-update and
22 progress-reporter-force-update have VALUE argument optional.
23 (Animated Images): Use non-@code{nil} instead of non-nil.
24
25 * files.texi (Format Conversion Round-Trip):
26 Use non-@code{nil} instead of non-nil.
27
28 * frames.texi (Creating Frames): make-frame is a command.
29 (Input Focus): select-frame is a command.
30 (Pointer Shape): void-text-area-pointer is an option.
31
32 * help.texi (Describing Characters): read-kbd-macro is a command.
33 (Help Functions): describe-prefix-bindings is a command.
34
35 * markers.texi (Creating Markers): Both arguments of copy-marker
36 are optional.
37
38 * minibuf.texi (Reading File Names): Use @kbd instead of @code.
39
40 * modes.texi (Mode Line Variables): mode-line-remote and
41 mode-line-client are not options.
42 (Imenu): imenu-add-to-menubar is a command.
43 (SMIE Indentation Helpers): Use non-@code{nil} instead of non-nil.
44
45 * os.texi (Sound Output): play-sound-file is a command.
46
47 * package.texi (Package Archives): Use @key{RET} instead of @kbd{RET}.
48
49 * processes.texi (Signals to Processes):
50 Use @key{RET} instead of @code{RET}.
51 (Signals to Processes): signal-process is a command.
52
53 * text.texi (Clickable Text): Use @key{RET} instead of @kbd{RET}.
54 (Base 64): base64-encode-string is not a command while
55 base64-decode-region is.
56
57 * windows.texi (Switching Buffers): pop-to-buffer is a command.
58
12012-05-12 Glenn Morris <rgm@gnu.org> 592012-05-12 Glenn Morris <rgm@gnu.org>
2 60
3 * Makefile.in (MKDIR_P): New, set by configure. 61 * Makefile.in (MKDIR_P): New, set by configure.
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 50c345b5b15..f0414429be9 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -3210,7 +3210,7 @@ a recursive edit but also provides the other features of the debugger.
3210 Recursive editing levels are also used when you type @kbd{C-r} in 3210 Recursive editing levels are also used when you type @kbd{C-r} in
3211@code{query-replace} or use @kbd{C-x q} (@code{kbd-macro-query}). 3211@code{query-replace} or use @kbd{C-x q} (@code{kbd-macro-query}).
3212 3212
3213@defun recursive-edit 3213@deffn Command recursive-edit
3214@cindex suspend evaluation 3214@cindex suspend evaluation
3215This function invokes the editor command loop. It is called 3215This function invokes the editor command loop. It is called
3216automatically by the initialization of Emacs, to let the user begin 3216automatically by the initialization of Emacs, to let the user begin
@@ -3237,7 +3237,7 @@ then type @kbd{C-M-c} to exit and continue executing @code{simple-rec}.
3237(simple-rec) 3237(simple-rec)
3238 @result{} nil 3238 @result{} nil
3239@end example 3239@end example
3240@end defun 3240@end deffn
3241 3241
3242@deffn Command exit-recursive-edit 3242@deffn Command exit-recursive-edit
3243This function exits from the innermost recursive edit (including 3243This function exits from the innermost recursive edit (including
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index c1e0706bb43..1ed06181e39 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -290,10 +290,10 @@ is by adding this string to the file's first line:
290-*-byte-compile-dynamic-docstrings: nil;-*- 290-*-byte-compile-dynamic-docstrings: nil;-*-
291@end example 291@end example
292 292
293@defvar byte-compile-dynamic-docstrings 293@defopt byte-compile-dynamic-docstrings
294If this is non-@code{nil}, the byte compiler generates compiled files 294If this is non-@code{nil}, the byte compiler generates compiled files
295that are set up for dynamic loading of documentation strings. 295that are set up for dynamic loading of documentation strings.
296@end defvar 296@end defopt
297 297
298@node Dynamic Loading 298@node Dynamic Loading
299@section Dynamic Loading of Individual Functions 299@section Dynamic Loading of Individual Functions
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 3c446b07f60..dc315764c7c 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -447,7 +447,7 @@ erroneously show up in this list.
447 Here we describe in full detail the function @code{debug} that is used 447 Here we describe in full detail the function @code{debug} that is used
448to invoke the debugger. 448to invoke the debugger.
449 449
450@defun debug &rest debugger-args 450@deffn Command debug &rest debugger-args
451This function enters the debugger. It switches buffers to a buffer 451This function enters the debugger. It switches buffers to a buffer
452named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second 452named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second
453recursive entry to the debugger, etc.), and fills it with information 453recursive entry to the debugger, etc.), and fills it with information
@@ -534,7 +534,7 @@ are printed on the top line of the buffer. You can use this feature to
534display messages---for example, to remind yourself of the conditions 534display messages---for example, to remind yourself of the conditions
535under which @code{debug} is called. 535under which @code{debug} is called.
536@end table 536@end table
537@end defun 537@end deffn
538 538
539@node Internals of Debugger 539@node Internals of Debugger
540@subsection Internals of the Debugger 540@subsection Internals of the Debugger
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index cafa8ddd18b..229dcaedeff 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -413,7 +413,7 @@ This function calls @code{progress-reporter-update}, so the first
413message is printed immediately. 413message is printed immediately.
414@end defun 414@end defun
415 415
416@defun progress-reporter-update reporter value 416@defun progress-reporter-update reporter &optional value
417This function does the main work of reporting progress of your 417This function does the main work of reporting progress of your
418operation. It displays the message of @var{reporter}, followed by 418operation. It displays the message of @var{reporter}, followed by
419progress percentage determined by @var{value}. If percentage is zero, 419progress percentage determined by @var{value}. If percentage is zero,
@@ -434,7 +434,7 @@ try to reduce the number of calls to it: resulting overhead will most
434likely negate your effort. 434likely negate your effort.
435@end defun 435@end defun
436 436
437@defun progress-reporter-force-update reporter value &optional new-message 437@defun progress-reporter-force-update reporter &optional value new-message
438This function is similar to @code{progress-reporter-update} except 438This function is similar to @code{progress-reporter-update} except
439that it prints a message in the echo area unconditionally. 439that it prints a message in the echo area unconditionally.
440 440
@@ -2662,11 +2662,13 @@ makes @code{modeline} an alias for the @code{mode-line} face.
2662(put 'modeline 'face-alias 'mode-line) 2662(put 'modeline 'face-alias 'mode-line)
2663@end example 2663@end example
2664 2664
2665@defun define-obsolete-face-alias obsolete-face current-face &optional when 2665@defmac define-obsolete-face-alias obsolete-face current-face when
2666This function defines a face alias and marks it as obsolete, indicating 2666This macro defines @code{obsolete-face} as an alias for
2667that it may be removed in future. The optional string @var{when} 2667@var{current-face}, and also marks it as obsolete, indicating that it
2668indicates when the face was made obsolete (for example, a release number). 2668may be removed in future. @var{when} should be a string indicating
2669@end defun 2669when @code{obsolete-face} was made obsolete (usually a version number
2670string).
2671@end defmac
2670 2672
2671@node Auto Faces 2673@node Auto Faces
2672@subsection Automatic Face Assignment 2674@subsection Automatic Face Assignment
@@ -4904,7 +4906,7 @@ create animation. Currently, Emacs only supports animated GIF files.
4904The following functions related to animated images are available. 4906The following functions related to animated images are available.
4905 4907
4906@defun image-animated-p image 4908@defun image-animated-p image
4907This function returns non-nil if @var{image} can be animated. 4909This function returns non-@code{nil} if @var{image} can be animated.
4908The actual return value is a cons @code{(@var{nimages} . @var{delay})}, 4910The actual return value is a cons @code{(@var{nimages} . @var{delay})},
4909where @var{nimages} is the number of frames and @var{delay} is the 4911where @var{nimages} is the number of frames and @var{delay} is the
4910delay in seconds between them. 4912delay in seconds between them.
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 2ee80504b60..7bb2bad0f70 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -3133,10 +3133,10 @@ in the order of appearance in the list.
3133This command writes the current buffer contents into the file @var{file} 3133This command writes the current buffer contents into the file @var{file}
3134in a format based on @var{format}, which is a list of format names. It 3134in a format based on @var{format}, which is a list of format names. It
3135constructs the actual format starting from @var{format}, then appending 3135constructs the actual format starting from @var{format}, then appending
3136any elements from the value of @code{buffer-file-format} with a non-nil 3136any elements from the value of @code{buffer-file-format} with a
3137@var{preserve} flag (see above), if they are not already present in 3137non-@code{nil} @var{preserve} flag (see above), if they are not already
3138@var{format}. It then updates @code{buffer-file-format} with this 3138present in @var{format}. It then updates @code{buffer-file-format} with
3139format, making it the default for future saves. Except for the 3139this format, making it the default for future saves. Except for the
3140@var{format} argument, this command is similar to @code{write-file}. In 3140@var{format} argument, this command is similar to @code{write-file}. In
3141particular, @var{confirm} has the same meaning and interactive treatment 3141particular, @var{confirm} has the same meaning and interactive treatment
3142as the corresponding argument to @code{write-file}. @xref{Definition of 3142as the corresponding argument to @code{write-file}. @xref{Definition of
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 2ff4df55669..330fb654b89 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -108,7 +108,7 @@ for @code{framep} above.
108 108
109To create a new frame, call the function @code{make-frame}. 109To create a new frame, call the function @code{make-frame}.
110 110
111@defun make-frame &optional alist 111@deffn Command make-frame &optional alist
112This function creates and returns a new frame, displaying the current 112This function creates and returns a new frame, displaying the current
113buffer. 113buffer.
114 114
@@ -134,7 +134,7 @@ This function itself does not make the new frame the selected frame.
134@xref{Input Focus}. The previously selected frame remains selected. 134@xref{Input Focus}. The previously selected frame remains selected.
135On graphical terminals, however, the windowing system may select the 135On graphical terminals, however, the windowing system may select the
136new frame for its own reasons. 136new frame for its own reasons.
137@end defun 137@end deffn
138 138
139@defvar before-make-frame-hook 139@defvar before-make-frame-hook
140A normal hook run by @code{make-frame} before it creates the frame. 140A normal hook run by @code{make-frame} before it creates the frame.
@@ -1395,7 +1395,7 @@ same meaning as for @code{select-frame} (see below). The return value
1395of this function is not significant. 1395of this function is not significant.
1396@end defun 1396@end defun
1397 1397
1398@defun select-frame frame &optional norecord 1398@deffn Command select-frame frame &optional norecord
1399This function selects frame @var{frame}, temporarily disregarding the 1399This function selects frame @var{frame}, temporarily disregarding the
1400focus of the X server if any. The selection of @var{frame} lasts until 1400focus of the X server if any. The selection of @var{frame} lasts until
1401the next time the user does something to select a different frame, or 1401the next time the user does something to select a different frame, or
@@ -1418,7 +1418,7 @@ been deleted.
1418In general, you should never use @code{select-frame} in a way that 1418In general, you should never use @code{select-frame} in a way that
1419could switch to a different terminal without switching back when 1419could switch to a different terminal without switching back when
1420you're done. 1420you're done.
1421@end defun 1421@end deffn
1422 1422
1423Emacs cooperates with the window system by arranging to select frames as 1423Emacs cooperates with the window system by arranging to select frames as
1424the server and window manager request. It does so by generating a 1424the server and window manager request. It does so by generating a
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 5e393a399d3..5dce59cc2d6 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1178,12 +1178,14 @@ equivalent to the following:
1178In addition, you can mark a certain a particular calling convention 1178In addition, you can mark a certain a particular calling convention
1179for a function as obsolete: 1179for a function as obsolete:
1180 1180
1181@defun set-advertised-calling-convention function signature 1181@defun set-advertised-calling-convention function signature when
1182This function specifies the argument list @var{signature} as the 1182This function specifies the argument list @var{signature} as the
1183correct way to call @var{function}. This causes the Emacs byte 1183correct way to call @var{function}. This causes the Emacs byte
1184compiler to issue a warning whenever it comes across an Emacs Lisp 1184compiler to issue a warning whenever it comes across an Emacs Lisp
1185program that calls @var{function} any other way (however, it will 1185program that calls @var{function} any other way (however, it will
1186still allow the code to be byte compiled). 1186still allow the code to be byte compiled). @var{when} should be a
1187string indicating when the variable was first made obsolete (usually a
1188version number string).
1187 1189
1188For instance, in old versions of Emacs the @code{sit-for} function 1190For instance, in old versions of Emacs the @code{sit-for} function
1189accepted three arguments, like this 1191accepted three arguments, like this
@@ -1198,7 +1200,7 @@ this:
1198 1200
1199@example 1201@example
1200(set-advertised-calling-convention 1202(set-advertised-calling-convention
1201 'sit-for '(seconds &optional nodisp)) 1203 'sit-for '(seconds &optional nodisp) "22.1")
1202@end example 1204@end example
1203@end defun 1205@end defun
1204 1206
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 762b42113f2..d6d69fcc483 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -511,7 +511,7 @@ for Meta.
511@end smallexample 511@end smallexample
512@end defun 512@end defun
513 513
514@defun read-kbd-macro string &optional need-vector 514@deffn Command read-kbd-macro string &optional need-vector
515This function is used mainly for operating on keyboard macros, but it 515This function is used mainly for operating on keyboard macros, but it
516can also be used as a rough inverse for @code{key-description}. You 516can also be used as a rough inverse for @code{key-description}. You
517call it with a string containing key descriptions, separated by spaces; 517call it with a string containing key descriptions, separated by spaces;
@@ -519,7 +519,7 @@ it returns a string or vector containing the corresponding events.
519(This may or may not be a single valid key sequence, depending on what 519(This may or may not be a single valid key sequence, depending on what
520events you use; @pxref{Key Sequences}.) If @var{need-vector} is 520events you use; @pxref{Key Sequences}.) If @var{need-vector} is
521non-@code{nil}, the return value is always a vector. 521non-@code{nil}, the return value is always a vector.
522@end defun 522@end deffn
523 523
524@node Help Functions 524@node Help Functions
525@section Help Functions 525@section Help Functions
@@ -626,12 +626,12 @@ character, and the help character has no binding after that prefix. The
626variable's default value is @code{describe-prefix-bindings}. 626variable's default value is @code{describe-prefix-bindings}.
627@end defvar 627@end defvar
628 628
629@defun describe-prefix-bindings 629@deffn Command describe-prefix-bindings
630This function calls @code{describe-bindings} to display a list of all 630This function calls @code{describe-bindings} to display a list of all
631the subcommands of the prefix key of the most recent key sequence. The 631the subcommands of the prefix key of the most recent key sequence. The
632prefix described consists of all but the last event of that key 632prefix described consists of all but the last event of that key
633sequence. (The last event is, presumably, the help character.) 633sequence. (The last event is, presumably, the help character.)
634@end defun 634@end deffn
635 635
636 The following two functions are meant for modes that want to provide 636 The following two functions are meant for modes that want to provide
637help without relinquishing control, such as the ``electric'' modes. 637help without relinquishing control, such as the ``electric'' modes.
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index ba9d429314d..a1fef662a29 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -205,7 +205,7 @@ chapter.
205@end example 205@end example
206@end defun 206@end defun
207 207
208@defun copy-marker marker-or-integer &optional insertion-type 208@defun copy-marker &optional marker-or-integer insertion-type
209If passed a marker as its argument, @code{copy-marker} returns a 209If passed a marker as its argument, @code{copy-marker} returns a
210new marker that points to the same place and the same buffer as does 210new marker that points to the same place and the same buffer as does
211@var{marker-or-integer}. If passed an integer as its argument, 211@var{marker-or-integer}. If passed an integer as its argument,
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 99118af19c7..6e66b6541a2 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1404,7 +1404,7 @@ returns the pre-inserted contents of the minibuffer.
1404If the user types @key{RET} in an empty minibuffer, this function 1404If the user types @key{RET} in an empty minibuffer, this function
1405returns an empty string, regardless of the value of 1405returns an empty string, regardless of the value of
1406@var{require-match}. This is, for instance, how the user can make the 1406@var{require-match}. This is, for instance, how the user can make the
1407current buffer visit no file using @code{M-x set-visited-file-name}. 1407current buffer visit no file using @kbd{M-x set-visited-file-name}.
1408 1408
1409If @var{predicate} is non-@code{nil}, it specifies a function of one 1409If @var{predicate} is non-@code{nil}, it specifies a function of one
1410argument that decides which file names are acceptable completion 1410argument that decides which file names are acceptable completion
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 00cd43d7b71..81e860ed5a7 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -734,13 +734,15 @@ modes. It is normally bound to @kbd{C-h m}. It uses the value of the
734variable @code{major-mode} (@pxref{Major Modes}), which is why every 734variable @code{major-mode} (@pxref{Major Modes}), which is why every
735major mode command needs to set that variable. 735major mode command needs to set that variable.
736 736
737@deffn Command describe-mode 737@deffn Command describe-mode &optional buffer
738This function displays the documentation of the current major mode. 738This command displays the documentation of the current buffer's major
739 739mode and minor modes. It uses the @code{documentation} function to
740The @code{describe-mode} function calls the @code{documentation} 740retrieve the documentation strings of the major and minor mode
741function using the value of @code{major-mode} as an argument. Thus, it 741commands (@pxref{Accessing Documentation}).
742displays the documentation string of the major mode command. 742
743(@xref{Accessing Documentation}.) 743If called from Lisp with a non-nil @var{buffer} argument, this
744function displays the documentation for that buffer's major and minor
745modes, rather than those of the current buffer.
744@end deffn 746@end deffn
745 747
746@node Derived Modes 748@node Derived Modes
@@ -1990,14 +1992,14 @@ default value also displays the recursive editing level, information
1990on the process status, and whether narrowing is in effect. 1992on the process status, and whether narrowing is in effect.
1991@end defopt 1993@end defopt
1992 1994
1993@defopt mode-line-remote 1995@defvar mode-line-remote
1994This variable is used to show whether @code{default-directory} for the 1996This variable is used to show whether @code{default-directory} for the
1995current buffer is remote. 1997current buffer is remote.
1996@end defopt 1998@end defvar
1997 1999
1998@defopt mode-line-client 2000@defvar mode-line-client
1999This variable is used to identify @code{emacsclient} frames. 2001This variable is used to identify @code{emacsclient} frames.
2000@end defopt 2002@end defvar
2001 2003
2002 The following three variables are used in @code{mode-line-modes}: 2004 The following three variables are used in @code{mode-line-modes}:
2003 2005
@@ -2315,10 +2317,10 @@ definitions, or other named portions of the buffer; then the user can
2315choose one of them and move point to it. Major modes can add a menu 2317choose one of them and move point to it. Major modes can add a menu
2316bar item to use Imenu using @code{imenu-add-to-menubar}. 2318bar item to use Imenu using @code{imenu-add-to-menubar}.
2317 2319
2318@defun imenu-add-to-menubar name 2320@deffn Command imenu-add-to-menubar name
2319This function defines a local menu bar item named @var{name} 2321This function defines a local menu bar item named @var{name}
2320to run Imenu. 2322to run Imenu.
2321@end defun 2323@end deffn
2322 2324
2323 The user-level commands for using Imenu are described in the Emacs 2325 The user-level commands for using Imenu are described in the Emacs
2324Manual (@pxref{Imenu,, Imenu, emacs, the Emacs Manual}). This section 2326Manual (@pxref{Imenu,, Imenu, emacs, the Emacs Manual}). This section
@@ -3860,9 +3862,9 @@ Return non-@code{nil} if the current token's parent is among @var{parents}.
3860@end defun 3862@end defun
3861 3863
3862@defun smie-rule-sibling-p 3864@defun smie-rule-sibling-p
3863Return non-nil if the current token's parent is actually a sibling. 3865Return non-@code{nil} if the current token's parent is actually a
3864This is the case for example when the parent of a @code{","} is just the 3866sibling. This is the case for example when the parent of a @code{","}
3865previous @code{","}. 3867is just the previous @code{","}.
3866@end defun 3868@end defun
3867 3869
3868@defun smie-rule-parent &optional offset 3870@defun smie-rule-parent &optional offset
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index ac6711f4827..dd2fb17ab15 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -2108,10 +2108,10 @@ calls the functions in the list @code{play-sound-functions}.
2108Each function is called with one argument, @var{sound}. 2108Each function is called with one argument, @var{sound}.
2109@end defun 2109@end defun
2110 2110
2111@defun play-sound-file file &optional volume device 2111@deffn Command play-sound-file file &optional volume device
2112This function is an alternative interface to playing a sound @var{file} 2112This function is an alternative interface to playing a sound @var{file}
2113specifying an optional @var{volume} and @var{device}. 2113specifying an optional @var{volume} and @var{device}.
2114@end defun 2114@end deffn
2115 2115
2116@defvar play-sound-functions 2116@defvar play-sound-functions
2117A list of functions to be called before playing a sound. Each function 2117A list of functions to be called before playing a sound. Each function
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index 7c6d41b8e23..ad2b8fd6210 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -294,8 +294,8 @@ How to accomplish this is beyond the scope of this manual.
294 294
295 A convenient way to set up and update a package archive is via the 295 A convenient way to set up and update a package archive is via the
296@code{package-x} library. This is included with Emacs, but not loaded 296@code{package-x} library. This is included with Emacs, but not loaded
297by default; type @kbd{M-x load-library @kbd{RET} package-x @kbd{RET}} 297by default; type @kbd{M-x load-library @key{RET} package-x @key{RET}} to
298to load it, or add @code{(require 'package-x)} to your init file. 298load it, or add @code{(require 'package-x)} to your init file.
299@xref{Lisp Libraries,, Lisp Libraries, emacs, The GNU Emacs Manual}. 299@xref{Lisp Libraries,, Lisp Libraries, emacs, The GNU Emacs Manual}.
300Once loaded, you can make use of the following: 300Once loaded, you can make use of the following:
301 301
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index ea68cf9ce96..dbb939583a6 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1073,7 +1073,7 @@ job-control shells won't work when a pipe is used. See
1073@defun interrupt-process &optional process current-group 1073@defun interrupt-process &optional process current-group
1074This function interrupts the process @var{process} by sending the 1074This function interrupts the process @var{process} by sending the
1075signal @code{SIGINT}. Outside of Emacs, typing the ``interrupt 1075signal @code{SIGINT}. Outside of Emacs, typing the ``interrupt
1076character'' (normally @kbd{C-c} on some systems, and @code{DEL} on 1076character'' (normally @kbd{C-c} on some systems, and @key{DEL} on
1077others) sends this signal. When the argument @var{current-group} is 1077others) sends this signal. When the argument @var{current-group} is
1078non-@code{nil}, you can think of this function as ``typing @kbd{C-c}'' 1078non-@code{nil}, you can think of this function as ``typing @kbd{C-c}''
1079on the terminal by which Emacs talks to the subprocess. 1079on the terminal by which Emacs talks to the subprocess.
@@ -1112,7 +1112,7 @@ it the signal @code{SIGCONT}. This presumes that @var{process} was
1112stopped previously. 1112stopped previously.
1113@end defun 1113@end defun
1114 1114
1115@defun signal-process process signal 1115@deffn Command signal-process process signal
1116This function sends a signal to process @var{process}. The argument 1116This function sends a signal to process @var{process}. The argument
1117@var{signal} specifies which signal to send; it should be an integer, 1117@var{signal} specifies which signal to send; it should be an integer,
1118or a symbol whose name is a signal. 1118or a symbol whose name is a signal.
@@ -1120,7 +1120,7 @@ or a symbol whose name is a signal.
1120The @var{process} argument can be a system process @acronym{ID} (an 1120The @var{process} argument can be a system process @acronym{ID} (an
1121integer); that allows you to send signals to processes that are not 1121integer); that allows you to send signals to processes that are not
1122children of Emacs. @xref{System Processes}. 1122children of Emacs. @xref{System Processes}.
1123@end defun 1123@end deffn
1124 1124
1125@node Output from Processes 1125@node Output from Processes
1126@section Receiving Output from Processes 1126@section Receiving Output from Processes
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 09ea37a96ba..8a656dc3ef6 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3530,7 +3530,7 @@ properties. For simplicity, we will refer to the clickable text as a
3530@dfn{link}. 3530@dfn{link}.
3531 3531
3532 Implementing a link involves three separate steps: (1) indicating 3532 Implementing a link involves three separate steps: (1) indicating
3533clickability when the mouse moves over the link; (2) making @kbd{RET} 3533clickability when the mouse moves over the link; (2) making @key{RET}
3534or @kbd{Mouse-2} on that link do something; and (3) setting up a 3534or @kbd{Mouse-2} on that link do something; and (3) setting up a
3535@code{follow-link} condition so that the link obeys 3535@code{follow-link} condition so that the link obeys
3536@code{mouse-1-click-follows-link}. 3536@code{mouse-1-click-follows-link}.
@@ -4068,7 +4068,7 @@ text, to avoid overlong lines. However, if the optional argument
4068the output is just one long line. 4068the output is just one long line.
4069@end deffn 4069@end deffn
4070 4070
4071@deffn Command base64-encode-string string &optional no-line-break 4071@defun base64-encode-string string &optional no-line-break
4072This function converts the string @var{string} into base 64 code. It 4072This function converts the string @var{string} into base 64 code. It
4073returns a string containing the encoded text. As for 4073returns a string containing the encoded text. As for
4074@code{base64-encode-region}, an error is signaled if a character in the 4074@code{base64-encode-region}, an error is signaled if a character in the
@@ -4078,15 +4078,15 @@ Normally, this function inserts newline characters into the encoded
4078text, to avoid overlong lines. However, if the optional argument 4078text, to avoid overlong lines. However, if the optional argument
4079@var{no-line-break} is non-@code{nil}, these newlines are not added, so 4079@var{no-line-break} is non-@code{nil}, these newlines are not added, so
4080the result string is just one long line. 4080the result string is just one long line.
4081@end deffn 4081@end defun
4082 4082
4083@defun base64-decode-region beg end 4083@deffn Command base64-decode-region beg end
4084This function converts the region from @var{beg} to @var{end} from base 4084This function converts the region from @var{beg} to @var{end} from base
408564 code into the corresponding decoded text. It returns the length of 408564 code into the corresponding decoded text. It returns the length of
4086the decoded text. 4086the decoded text.
4087 4087
4088The decoding functions ignore newline characters in the encoded text. 4088The decoding functions ignore newline characters in the encoded text.
4089@end defun 4089@end deffn
4090 4090
4091@defun base64-decode-string string 4091@defun base64-decode-string string
4092This function converts the string @var{string} from base 64 code into 4092This function converts the string @var{string} from base 64 code into
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 4e622231645..0be496a3c46 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1852,16 +1852,19 @@ variable with a new name. @code{make-obsolete-variable} declares that
1852the old name is obsolete and therefore that it may be removed at some 1852the old name is obsolete and therefore that it may be removed at some
1853stage in the future. 1853stage in the future.
1854 1854
1855@defun make-obsolete-variable obsolete-name current-name &optional when 1855@defun make-obsolete-variable obsolete-name current-name when &optional access-type
1856This function makes the byte compiler warn that the variable 1856This function makes the byte compiler warn that the variable
1857@var{obsolete-name} is obsolete. If @var{current-name} is a symbol, it is 1857@var{obsolete-name} is obsolete. If @var{current-name} is a symbol,
1858the variable's new name; then the warning message says to use 1858it is the variable's new name; then the warning message says to use
1859@var{current-name} instead of @var{obsolete-name}. If @var{current-name} 1859@var{current-name} instead of @var{obsolete-name}. If
1860is a string, this is the message and there is no replacement variable. 1860@var{current-name} is a string, this is the message and there is no
1861 1861replacement variable. @var{when} should be a string indicating when
1862If provided, @var{when} should be a string indicating when the 1862the variable was first made obsolete (usually a version number
1863variable was first made obsolete---for example, a date or a release 1863string).
1864number. 1864
1865The optional argument @var{access-type}, if non-@code{nil}, should
1866should specify the kind of access that will trigger obsolescence
1867warnings; it can be either @code{get} or @code{set}.
1865@end defun 1868@end defun
1866 1869
1867 You can make two variables synonyms and declare one obsolete at the 1870 You can make two variables synonyms and declare one obsolete at the
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 094729033b1..b4aeaf26ee1 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1558,7 +1558,7 @@ displaying the buffer. Hence, all the variables affecting
1558@code{display-buffer} will affect it as well. @xref{Choosing Window}, 1558@code{display-buffer} will affect it as well. @xref{Choosing Window},
1559for the documentation of @code{display-buffer}. 1559for the documentation of @code{display-buffer}.
1560 1560
1561@defun pop-to-buffer buffer-or-name &optional action norecord 1561@deffn Command pop-to-buffer buffer-or-name &optional action norecord
1562This function makes @var{buffer-or-name} the current buffer and 1562This function makes @var{buffer-or-name} the current buffer and
1563displays it in some window, preferably not the window previously 1563displays it in some window, preferably not the window previously
1564selected. It then selects the displaying window. If that window is 1564selected. It then selects the displaying window. If that window is
@@ -1581,7 +1581,7 @@ displayed in the selected window.
1581 1581
1582Like @code{switch-to-buffer}, this function updates the buffer list 1582Like @code{switch-to-buffer}, this function updates the buffer list
1583unless @var{norecord} is non-@code{nil}. 1583unless @var{norecord} is non-@code{nil}.
1584@end defun 1584@end deffn
1585 1585
1586@node Choosing Window 1586@node Choosing Window
1587@section Choosing a Window for Display 1587@section Choosing a Window for Display
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index a10f65b085c..82e6a2f70ae 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,7 +1,10 @@
12012-05-27 Bastien Guerry <bzg@gnu.org>
2
3 * org.texi (Durations and time values): Fix typo.
4
12012-05-19 Jay Belanger <jay.p.belanger@gmail.com> 52012-05-19 Jay Belanger <jay.p.belanger@gmail.com>
2 6
3 * doc/misc/calc.texi 7 * doc/misc/calc.texi (Basic Operations on Units, Customizing Calc):
4 (Basic Operations on Units, Customizing Calc):
5 Mention `calc-ensure-consistent-units'. 8 Mention `calc-ensure-consistent-units'.
6 9
72012-05-14 Andreas Schwab <schwab@linux-m68k.org> 102012-05-14 Andreas Schwab <schwab@linux-m68k.org>
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 775ff638eef..575b9cbebe6 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -4,8 +4,8 @@
4@setfilename ../../info/org 4@setfilename ../../info/org
5@settitle The Org Manual 5@settitle The Org Manual
6 6
7@set VERSION 7.8.09 7@set VERSION 7.8.11
8@set DATE April 2012 8@set DATE May 2012
9 9
10@c Use proper quote and backtick for code sections in PDF output 10@c Use proper quote and backtick for code sections in PDF output
11@c Cf. Texinfo manual 14.2 11@c Cf. Texinfo manual 14.2
@@ -2625,7 +2625,7 @@ formulas or Elisp formulas:
2625 2625
2626Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds 2626Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds
2627are optional. With the @code{T} flag, computed durations will be displayed 2627are optional. With the @code{T} flag, computed durations will be displayed
2628as @code{[HH:MM:SS} (see the first formula above). With the @code{t} flag, 2628as @code{HH:MM:SS} (see the first formula above). With the @code{t} flag,
2629computed durations will be displayed according to the value of the variable 2629computed durations will be displayed according to the value of the variable
2630@code{org-table-duration-custom-format}, which defaults to @code{'hours} and 2630@code{org-table-duration-custom-format}, which defaults to @code{'hours} and
2631will display the result as a fraction of hours (see the second formula in the 2631will display the result as a fraction of hours (see the second formula in the
@@ -7900,9 +7900,9 @@ Interactively select another agenda view and append it to the current view.
7900Delete other windows. 7900Delete other windows.
7901@c 7901@c
7902@orgcmdkskc{v d,d,org-agenda-day-view} 7902@orgcmdkskc{v d,d,org-agenda-day-view}
7903@xorgcmdkskc{v w,w,org-agenda-day-view} 7903@xorgcmdkskc{v w,w,org-agenda-week-view}
7904@xorgcmd{v m,org-agenda-month-view} 7904@xorgcmd{v m,org-agenda-month-view}
7905@xorgcmd{v y,org-agenda-month-year} 7905@xorgcmd{v y,org-agenda-year-view}
7906@xorgcmd{v SPC,org-agenda-reset-view} 7906@xorgcmd{v SPC,org-agenda-reset-view}
7907@vindex org-agenda-span 7907@vindex org-agenda-span
7908Switch to day/week/month/year view. When switching to day or week view, this 7908Switch to day/week/month/year view. When switching to day or week view, this
diff --git a/etc/refcards/orgcard.pdf b/etc/refcards/orgcard.pdf
index 3bedb6f2cf5..2b474bf4e93 100644
--- a/etc/refcards/orgcard.pdf
+++ b/etc/refcards/orgcard.pdf
Binary files differ
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index d06afca8083..3c0584d6db4 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
1% Reference Card for Org Mode 1% Reference Card for Org Mode
2\def\orgversionnumber{7.8.09} 2\def\orgversionnumber{7.8.11}
3\def\versionyear{2012} % latest update 3\def\versionyear{2012} % latest update
4\def\year{2012} % latest copyright year 4\def\year{2012} % latest copyright year
5 5
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d3ba1caf608..3a71d8edfa5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,18 @@
12012-05-27 Eli Zaretskii <eliz@gnu.org>
2
3 * mail/sendmail.el (mail-yank-region): Recognize
4 rmail-yank-current-message in addition to insert-buffer. Fixes
5 mail-mode's "C-c C-r" that otherwise does nothing when invoked in
6 a *mail* buffer created through rmail-start-mail with sendmail as
7 mail-user-agent.
8
92012-05-27 Chong Yidong <cyd@gnu.org>
10
11 * net/gnutls.el (gnutls-min-prime-bits): Improve docstring.
12 Default to 256 (Bug#11267).
13
14 * help.el (describe-mode): Doc fix.
15
12012-05-26 Glenn Morris <rgm@gnu.org> 162012-05-26 Glenn Morris <rgm@gnu.org>
2 17
3 * w32-fns.el (w32-init-info): Remove. 18 * w32-fns.el (w32-init-info): Remove.
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 50ce9075dc0..3060c08ec51 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
12012-05-27 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-msg.el (gnus-msg-mail): Ensure that gnus-newsgroup-name is
4 a string so that Gcc works (bug#11514).
5
12012-05-26 Stefan Monnier <monnier@iro.umontreal.ca> 62012-05-26 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * legacy-gnus-agent.el (gnus-agent-unhook-expire-days): 8 * legacy-gnus-agent.el (gnus-agent-unhook-expire-days):
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 815bd9e44a6..c6d0c3213a0 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -490,6 +490,7 @@ instead."
490 (message-mail to subject other-headers continue 490 (message-mail to subject other-headers continue
491 nil yank-action send-actions return-action) 491 nil yank-action send-actions return-action)
492 (let ((buf (current-buffer)) 492 (let ((buf (current-buffer))
493 (gnus-newsgroup-name (or gnus-newsgroup-name ""))
493 mail-buf) 494 mail-buf)
494 (gnus-setup-message 'message 495 (gnus-setup-message 'message
495 (message-mail to subject other-headers continue 496 (message-mail to subject other-headers continue
diff --git a/lisp/help.el b/lisp/help.el
index 1a6aa9d13d2..317d5cf8f46 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -783,7 +783,10 @@ descriptions of the minor modes, each on a separate page.
783 783
784For this to work correctly for a minor mode, the mode's indicator 784For this to work correctly for a minor mode, the mode's indicator
785variable \(listed in `minor-mode-alist') must also be a function 785variable \(listed in `minor-mode-alist') must also be a function
786whose documentation describes the minor mode." 786whose documentation describes the minor mode.
787
788If called from Lisp with a non-nil BUFFER argument, display
789documentation for the major and minor modes of that buffer."
787 (interactive "@") 790 (interactive "@")
788 (unless buffer (setq buffer (current-buffer))) 791 (unless buffer (setq buffer (current-buffer)))
789 (help-setup-xref (list #'describe-mode buffer) 792 (help-setup-xref (list #'describe-mode buffer)
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index cd3862985bd..3b262e3fb53 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -1678,7 +1678,8 @@ Just \\[universal-argument] as argument means don't indent, insert no prefix,
1678and don't delete any header fields." 1678and don't delete any header fields."
1679 (interactive "P") 1679 (interactive "P")
1680 (and (consp mail-reply-action) 1680 (and (consp mail-reply-action)
1681 (eq (car mail-reply-action) 'insert-buffer) 1681 (memq (car mail-reply-action)
1682 '(rmail-yank-current-message insert-buffer))
1682 (with-current-buffer (nth 1 mail-reply-action) 1683 (with-current-buffer (nth 1 mail-reply-action)
1683 (or (mark t) 1684 (or (mark t)
1684 (error "No mark set: %S" (current-buffer)))) 1685 (error "No mark set: %S" (current-buffer))))
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el
index 1bc319c796e..a306384c775 100644
--- a/lisp/net/gnutls.el
+++ b/lisp/net/gnutls.el
@@ -66,14 +66,16 @@ The files may not exist, in which case they will be ignored."
66 (repeat (file :tag "Bundle filename")))) 66 (repeat (file :tag "Bundle filename"))))
67 67
68;;;###autoload 68;;;###autoload
69(defcustom gnutls-min-prime-bits nil 69(defcustom gnutls-min-prime-bits 256
70 "The minimum number of bits to be used in Diffie-Hellman key exchange. 70 ;; Several mail servers send fewer bits than the GnuTLS default.
71 71 ;; Currently, 256 appears to be a reasonable choice (Bug#11267).
72This sets the minimum accepted size of the key to be used in a 72 "Minimum number of prime bits accepted by GnuTLS for key exchange.
73client-server handshake. If the server sends a prime with fewer than 73During a Diffie-Hellman handshake, if the server sends a prime
74the specified number of bits the handshake will fail. 74number with fewer than this number of bits, the handshake is
75 75rejected. \(The smaller the prime number, the less secure the
76A value of nil says to use the default gnutls value." 76key exchange is against man-in-the-middle attacks.)
77
78A value of nil says to use the default GnuTLS value."
77 :type '(choice (const :tag "Use default value" nil) 79 :type '(choice (const :tag "Use default value" nil)
78 (integer :tag "Number of bits" 512)) 80 (integer :tag "Number of bits" 512))
79 :group 'gnutls) 81 :group 'gnutls)
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 8cdc90109b3..2d2bf699749 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,106 @@
12012-05-27 Mark Shoulson <mark@kli.org> (tiny change)
2
3 * org.el (org-fontify-entities): Fix bug: The entities \sup[123] and
4 \there4 were not "prettified" when org-pretty-entities was enabled.
5
62012-05-27 Nicolas Goaziou <n.goaziou@gmail.com>
7
8 * org.el (org-font-lock-add-priority-faces):
9 Restrict priorities fontification to headlines and inlinetasks.
10
112012-05-27 Jambunathan K <kjambunathan@gmail.com>
12
13 * org-odt.el (org-odt-init-outfile)
14 (org-odt-write-manifest-file):
15 Disable `nxml-auto-insert-xml-declaration-flag'.
16
17 * org-lparse.el (org-do-lparse): Don't trigger auto-mode processing.
18
192012-05-27 Bastien Guerry <bzg@gnu.org>
20
21 * org.el (org-scan-tags): Fix bug when building the scanner regexp.
22
232012-05-27 Eric Schulte <eric.schulte@gmx.com>
24
25 * ob.el (org-babel-capitalize-examplize-region-markers):
26 Controls the capitalization of begin and end example blocks.
27 (org-babel-examplize-region):
28 Optionally capitalize example block delimiters.
29
30 * ob-plantuml.el (org-babel-execute:plantuml):
31 Add a :java header argument to plantuml.
32
33 * org-exp-blocks.el (org-export-blocks-preprocess):
34 Even when the body of a block is not indented the boundary markers
35 should be indented to their original positions so things like list
36 indentation still work.
37
38 * ob.el (org-babel-parse-src-block-match):
39 Save match data during indentation check.
40
412012-05-27 Bastien Guerry <bzg@gnu.org>
42
43 * org.el (org-scan-tags): Correctly match TODO keywords.
44
452012-05-27 Nicolas Goaziou <n.goaziou@gmail.com>
46
47 * org-list.el (org-list-struct): Fix white spaces.
48 (org-list-swap-items, org-list-send-item): Fix visibility preservation.
49
50 * org-list.el (org-list-swap-items, org-list-send-item):
51 Preserve visibility when moving items.
52
532012-05-27 Mark E. Shoulson <mark@kli.org> (tiny change)
54
55 * org.el (org-fontify-entities): Hide {} when prettifying entities.
56
572012-05-27 Bastien Guerry <bzg@gnu.org>
58
59 * org.el (org-cycle-internal-global): Prevent the display of
60 messages when cycling from with a Gnus article buffer.
61
62 * org-table.el (org-table-time-seconds-to-string):
63 Fix bug about handling a negative duration value.
64
652012-05-27 Nicolas Goaziou <n.goaziou@gmail.com>
66
67 * org.el (org-link-expand-abbrev): Fix docstring.
68
69 * org.el (org-translate-link): Fix bug.
70
712012-05-27 Bastien Guerry <bzg@gnu.org>
72
73 * org-agenda.el (org-agenda-bulk-mark-regexp):
74 Fix bug when setting the number of marked entries.
75
76 * org-table.el (org-tbl-calc-modes): Rename from `org-table-modes'.
77 (org-set-calc-mode, org-table-eval-formula): Use it.
78
792012-05-27 Eric Schulte <eric.schulte@gmx.com>
80
81 * ob.el (org-babel-find-named-result):
82 Fix bug finding empty named results.
83
842012-05-27 Nicolas Goaziou <n.goaziou@gmail.com>
85
86 * org.el (org-set-regexps-and-options):
87 Fix `org-planning-or-clock-line-re' regexp. Indeed "\\>" will never
88 match since time keywords must end with colons, which are not word
89 constituents.
90
912012-05-27 Bastien Guerry <bzg@gnu.org>
92
93 * org-ctags.el (org-ctags-new-topic-template):
94 Fix the option default value back again.
95
962012-05-27 Eric Schulte <eric.schulte@gmx.com>
97
98 * org-bibtex.el (org-bibtex-export-to-kill-ring):
99 Don't rely on kill-new to return a string.
100
101 * org-bibtex.el (org-bibtex-headline):
102 Remove call to bibtex-reformat which often hangs.
103
12012-04-27 Glenn Morris <rgm@gnu.org> 1042012-04-27 Glenn Morris <rgm@gnu.org>
2 105
3 * org-ctags.el (org-ctags-new-topic-template): 106 * org-ctags.el (org-ctags-new-topic-template):
diff --git a/lisp/org/ob-plantuml.el b/lisp/org/ob-plantuml.el
index 55729eb4172..7da689393a3 100644
--- a/lisp/org/ob-plantuml.el
+++ b/lisp/org/ob-plantuml.el
@@ -55,9 +55,10 @@ This function is called by `org-babel-execute-src-block'."
55 (error "plantuml requires a \":file\" header argument"))) 55 (error "plantuml requires a \":file\" header argument")))
56 (cmdline (cdr (assoc :cmdline params))) 56 (cmdline (cdr (assoc :cmdline params)))
57 (in-file (org-babel-temp-file "plantuml-")) 57 (in-file (org-babel-temp-file "plantuml-"))
58 (java (or (cdr (assoc :java params)) ""))
58 (cmd (if (not org-plantuml-jar-path) 59 (cmd (if (not org-plantuml-jar-path)
59 (error "`org-plantuml-jar-path' is not set") 60 (error "`org-plantuml-jar-path' is not set")
60 (concat "java -jar " 61 (concat "java " java " -jar "
61 (shell-quote-argument 62 (shell-quote-argument
62 (expand-file-name org-plantuml-jar-path)) 63 (expand-file-name org-plantuml-jar-path))
63 (if (string= (file-name-extension out-file) "svg") 64 (if (string= (file-name-extension out-file) "svg")
diff --git a/lisp/org/ob.el b/lisp/org/ob.el
index ac6de9f1bbf..05122487588 100644
--- a/lisp/org/ob.el
+++ b/lisp/org/ob.el
@@ -1159,7 +1159,8 @@ may be specified in the properties of the current outline entry."
1159 (substring body 0 sub-length) 1159 (substring body 0 sub-length)
1160 (or body ""))))) 1160 (or body "")))))
1161 (preserve-indentation (or org-src-preserve-indentation 1161 (preserve-indentation (or org-src-preserve-indentation
1162 (string-match "-i\\>" switches)))) 1162 (save-match-data
1163 (string-match "-i\\>" switches)))))
1163 (list lang 1164 (list lang
1164 ;; get block body less properties, protective commas, and indentation 1165 ;; get block body less properties, protective commas, and indentation
1165 (with-temp-buffer 1166 (with-temp-buffer
@@ -1498,7 +1499,7 @@ buffer or nil if no such result exists."
1498 (catch 'is-a-code-block 1499 (catch 'is-a-code-block
1499 (when (re-search-forward 1500 (when (re-search-forward
1500 (concat org-babel-result-regexp 1501 (concat org-babel-result-regexp
1501 "[ \t]" (regexp-quote name) "[ \t\n\f\v\r]+") nil t) 1502 "[ \t]" (regexp-quote name) "[ \t]*[\n\f\v\r]") nil t)
1502 (when (and (string= "name" (downcase (match-string 1))) 1503 (when (and (string= "name" (downcase (match-string 1)))
1503 (or (beginning-of-line 1) 1504 (or (beginning-of-line 1)
1504 (looking-at org-babel-src-block-regexp) 1505 (looking-at org-babel-src-block-regexp)
@@ -1957,11 +1958,16 @@ file's directory then expand relative links."
1957 (stringp (car result)) (stringp (cadr result))) 1958 (stringp (car result)) (stringp (cadr result)))
1958 (format "[[file:%s][%s]]" (car result) (cadr result)))))) 1959 (format "[[file:%s][%s]]" (car result) (cadr result))))))
1959 1960
1961(defvar org-babel-capitalize-examplize-region-markers nil
1962 "Make true to capitalize begin/end example markers inserted by code blocks.")
1963
1960(defun org-babel-examplize-region (beg end &optional results-switches) 1964(defun org-babel-examplize-region (beg end &optional results-switches)
1961 "Comment out region using the inline '==' or ': ' org example quote." 1965 "Comment out region using the inline '==' or ': ' org example quote."
1962 (interactive "*r") 1966 (interactive "*r")
1963 (flet ((chars-between (b e) 1967 (flet ((chars-between (b e)
1964 (not (string-match "^[\\s]*$" (buffer-substring b e))))) 1968 (not (string-match "^[\\s]*$" (buffer-substring b e))))
1969 (maybe-cap (str) (if org-babel-capitalize-examplize-region-markers
1970 (upcase str) str)))
1965 (if (or (chars-between (save-excursion (goto-char beg) (point-at-bol)) beg) 1971 (if (or (chars-between (save-excursion (goto-char beg) (point-at-bol)) beg)
1966 (chars-between end (save-excursion (goto-char end) (point-at-eol)))) 1972 (chars-between end (save-excursion (goto-char end) (point-at-eol))))
1967 (save-excursion 1973 (save-excursion
@@ -1978,10 +1984,12 @@ file's directory then expand relative links."
1978 (t 1984 (t
1979 (goto-char beg) 1985 (goto-char beg)
1980 (insert (if results-switches 1986 (insert (if results-switches
1981 (format "#+begin_example%s\n" results-switches) 1987 (format "%s%s\n"
1982 "#+begin_example\n")) 1988 (maybe-cap "#+begin_example")
1989 results-switches)
1990 (maybe-cap "#+begin_example\n")))
1983 (if (markerp end) (goto-char end) (forward-char (- end beg))) 1991 (if (markerp end) (goto-char end) (forward-char (- end beg)))
1984 (insert "#+end_example\n")))))))) 1992 (insert (maybe-cap "#+end_example\n")))))))))
1985 1993
1986(defun org-babel-update-block-body (new-body) 1994(defun org-babel-update-block-body (new-body)
1987 "Update the body of the current code block to NEW-BODY." 1995 "Update the body of the current code block to NEW-BODY."
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index ddb56ca4bac..367d8e84471 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -8315,13 +8315,13 @@ This is a command that has to be installed in `calendar-mode-map'."
8315(defun org-agenda-bulk-mark-regexp (regexp) 8315(defun org-agenda-bulk-mark-regexp (regexp)
8316 "Mark entries match REGEXP." 8316 "Mark entries match REGEXP."
8317 (interactive "sMark entries matching regexp: ") 8317 (interactive "sMark entries matching regexp: ")
8318 (let (entries-marked) 8318 (let ((entries-marked 0))
8319 (save-excursion 8319 (save-excursion
8320 (goto-char (point-min)) 8320 (goto-char (point-min))
8321 (goto-char (next-single-property-change (point) 'txt)) 8321 (goto-char (next-single-property-change (point) 'txt))
8322 (while (re-search-forward regexp nil t) 8322 (while (re-search-forward regexp nil t)
8323 (when (string-match regexp (get-text-property (point) 'txt)) 8323 (when (string-match regexp (get-text-property (point) 'txt))
8324 (setq entries-marked (+ entries-marked 1)) 8324 (setq entries-marked (1+ entries-marked))
8325 (call-interactively 'org-agenda-bulk-mark)))) 8325 (call-interactively 'org-agenda-bulk-mark))))
8326 (if (not entries-marked) 8326 (if (not entries-marked)
8327 (message "No entry matching this regexp.")))) 8327 (message "No entry matching this regexp."))))
diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el
index 21e36a7c187..4c852fcb875 100644
--- a/lisp/org/org-bibtex.el
+++ b/lisp/org/org-bibtex.el
@@ -369,7 +369,7 @@ This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
369 (progn (goto-char (match-end 1)) (insert ", ")) 369 (progn (goto-char (match-end 1)) (insert ", "))
370 (bibtex-make-field "keywords" t t)) 370 (bibtex-make-field "keywords" t t))
371 (insert (mapconcat #'identity tags ", "))) 371 (insert (mapconcat #'identity tags ", ")))
372 (bibtex-reformat) (buffer-string))))))) 372 (buffer-string)))))))
373 373
374(defun org-bibtex-ask (field) 374(defun org-bibtex-ask (field)
375 (unless (assoc field org-bibtex-fields) 375 (unless (assoc field org-bibtex-fields)
@@ -661,7 +661,8 @@ This uses `bibtex-parse-entry'."
661(defun org-bibtex-export-to-kill-ring () 661(defun org-bibtex-export-to-kill-ring ()
662 "Export current headline to kill ring as bibtex entry." 662 "Export current headline to kill ring as bibtex entry."
663 (interactive) 663 (interactive)
664 (kill-new (org-bibtex-headline))) 664 (let ((result (org-bibtex-headline)))
665 (kill-new result) result))
665 666
666(defun org-bibtex-search (string) 667(defun org-bibtex-search (string)
667 "Search for bibliographical entries in agenda files. 668 "Search for bibliographical entries in agenda files.
diff --git a/lisp/org/org-exp-blocks.el b/lisp/org/org-exp-blocks.el
index 7d466cec65d..fbac6592090 100644
--- a/lisp/org/org-exp-blocks.el
+++ b/lisp/org/org-exp-blocks.el
@@ -211,7 +211,13 @@ which defaults to the value of `org-export-blocks-witheld'."
211 (when replacement 211 (when replacement
212 (delete-region match-start match-end) 212 (delete-region match-start match-end)
213 (goto-char match-start) (insert replacement) 213 (goto-char match-start) (insert replacement)
214 (unless preserve-indent 214 (if preserve-indent
215 ;; indent only the code block markers
216 (save-excursion
217 (indent-line-to indentation) ; indent end_block
218 (goto-char match-start)
219 (indent-line-to indentation)) ; indent begin_block
220 ;; indent everything
215 (indent-code-rigidly match-start (point) indentation))))) 221 (indent-code-rigidly match-start (point) indentation)))))
216 ;; cleanup markers 222 ;; cleanup markers
217 (set-marker match-start nil) 223 (set-marker match-start nil)
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 4498280ac77..8d3948698fc 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -714,15 +714,15 @@ Assume point is at an item."
714 ;; equally indented than BEG-CELL's cdr. Also, store ending 714 ;; equally indented than BEG-CELL's cdr. Also, store ending
715 ;; position of items in END-LST-2. 715 ;; position of items in END-LST-2.
716 (catch 'exit 716 (catch 'exit
717 (while t 717 (while t
718 (let ((ind (+ (or (get-text-property (point) 'original-indentation) 0) 718 (let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
719 (org-get-indentation)))) 719 (org-get-indentation))))
720 (cond 720 (cond
721 ((>= (point) lim-down) 721 ((>= (point) lim-down)
722 ;; At downward limit: this is de facto the end of the 722 ;; At downward limit: this is de facto the end of the
723 ;; list. Save point as an ending position, and jump to 723 ;; list. Save point as an ending position, and jump to
724 ;; part 3. 724 ;; part 3.
725 (throw 'exit 725 (throw 'exit
726 (push (cons 0 (funcall end-before-blank)) end-lst-2))) 726 (push (cons 0 (funcall end-before-blank)) end-lst-2)))
727 ;; At a verbatim block, move to its end. Point is at bol 727 ;; At a verbatim block, move to its end. Point is at bol
728 ;; and 'org-example property is set by whole lines: 728 ;; and 'org-example property is set by whole lines:
@@ -1071,8 +1071,10 @@ It determines the number of whitespaces to append by looking at
1071 1071
1072(defun org-list-swap-items (beg-A beg-B struct) 1072(defun org-list-swap-items (beg-A beg-B struct)
1073 "Swap item starting at BEG-A with item starting at BEG-B in STRUCT. 1073 "Swap item starting at BEG-A with item starting at BEG-B in STRUCT.
1074Blank lines at the end of items are left in place. Return the 1074
1075new structure after the changes. 1075Blank lines at the end of items are left in place. Item
1076visibility is preserved. Return the new structure after the
1077changes.
1076 1078
1077Assume BEG-A is lesser than BEG-B and that BEG-A and BEG-B belong 1079Assume BEG-A is lesser than BEG-B and that BEG-A and BEG-B belong
1078to the same sub-list. 1080to the same sub-list.
@@ -1089,7 +1091,17 @@ This function modifies STRUCT."
1089 (body-B (buffer-substring beg-B end-B-no-blank)) 1091 (body-B (buffer-substring beg-B end-B-no-blank))
1090 (between-A-no-blank-and-B (buffer-substring end-A-no-blank beg-B)) 1092 (between-A-no-blank-and-B (buffer-substring end-A-no-blank beg-B))
1091 (sub-A (cons beg-A (org-list-get-subtree beg-A struct))) 1093 (sub-A (cons beg-A (org-list-get-subtree beg-A struct)))
1092 (sub-B (cons beg-B (org-list-get-subtree beg-B struct)))) 1094 (sub-B (cons beg-B (org-list-get-subtree beg-B struct)))
1095 ;; Store overlays responsible for visibility status. We
1096 ;; also need to store their boundaries as they will be
1097 ;; removed from buffer.
1098 (overlays (cons
1099 (mapcar (lambda (ov)
1100 (list ov (overlay-start ov) (overlay-end ov)))
1101 (overlays-in beg-A end-A))
1102 (mapcar (lambda (ov)
1103 (list ov (overlay-start ov) (overlay-end ov)))
1104 (overlays-in beg-B end-B)))))
1093 ;; 1. Move effectively items in buffer. 1105 ;; 1. Move effectively items in buffer.
1094 (goto-char beg-A) 1106 (goto-char beg-A)
1095 (delete-region beg-A end-B-no-blank) 1107 (delete-region beg-A end-B-no-blank)
@@ -1122,7 +1134,22 @@ This function modifies STRUCT."
1122 (setcar e (+ pos (- size-B size-A))) 1134 (setcar e (+ pos (- size-B size-A)))
1123 (setcar (nthcdr 6 e) (+ end-e (- size-B size-A)))))))) 1135 (setcar (nthcdr 6 e) (+ end-e (- size-B size-A))))))))
1124 struct) 1136 struct)
1125 (sort struct (lambda (e1 e2) (< (car e1) (car e2))))))) 1137 (setq struct (sort struct (lambda (e1 e2) (< (car e1) (car e2)))))
1138 ;; Restore visibility status, by moving overlays to their new
1139 ;; position.
1140 (mapc (lambda (ov)
1141 (move-overlay
1142 (car ov)
1143 (+ (nth 1 ov) (- (+ beg-B (- size-B size-A)) beg-A))
1144 (+ (nth 2 ov) (- (+ beg-B (- size-B size-A)) beg-A))))
1145 (car overlays))
1146 (mapc (lambda (ov)
1147 (move-overlay (car ov)
1148 (+ (nth 1 ov) (- beg-A beg-B))
1149 (+ (nth 2 ov) (- beg-A beg-B))))
1150 (cdr overlays))
1151 ;; Return structure.
1152 struct)))
1126 1153
1127(defun org-list-separating-blank-lines-number (pos struct prevs) 1154(defun org-list-separating-blank-lines-number (pos struct prevs)
1128 "Return number of blank lines that should separate items in list. 1155 "Return number of blank lines that should separate items in list.
@@ -1340,8 +1367,8 @@ If DEST is a buffer position, the function will assume it points
1340to another item in the same list as ITEM, and will move the 1367to another item in the same list as ITEM, and will move the
1341latter just before the former. 1368latter just before the former.
1342 1369
1343If DEST is `begin' \(respectively `end'\), ITEM will be moved at 1370If DEST is `begin' (respectively `end'), ITEM will be moved at
1344the beginning \(respectively end\) of the list it belongs to. 1371the beginning (respectively end) of the list it belongs to.
1345 1372
1346If DEST is a string like \"N\", where N is an integer, ITEM will 1373If DEST is a string like \"N\", where N is an integer, ITEM will
1347be moved at the Nth position in the list. 1374be moved at the Nth position in the list.
@@ -1351,6 +1378,8 @@ added to the kill-ring.
1351 1378
1352If DEST is `delete', ITEM will be deleted. 1379If DEST is `delete', ITEM will be deleted.
1353 1380
1381Visibility of item is preserved.
1382
1354This function returns, destructively, the new list structure." 1383This function returns, destructively, the new list structure."
1355 (let* ((prevs (org-list-prevs-alist struct)) 1384 (let* ((prevs (org-list-prevs-alist struct))
1356 (item-end (org-list-get-item-end item struct)) 1385 (item-end (org-list-get-item-end item struct))
@@ -1393,7 +1422,9 @@ This function returns, destructively, the new list structure."
1393 (org-list-get-last-item item struct prevs)) 1422 (org-list-get-last-item item struct prevs))
1394 (point-at-eol))))) 1423 (point-at-eol)))))
1395 (t dest))) 1424 (t dest)))
1396 (org-M-RET-may-split-line nil)) 1425 (org-M-RET-may-split-line nil)
1426 ;; Store visibility.
1427 (visibility (overlays-in item item-end)))
1397 (cond 1428 (cond
1398 ((eq dest 'delete) (org-list-delete-item item struct)) 1429 ((eq dest 'delete) (org-list-delete-item item struct))
1399 ((eq dest 'kill) 1430 ((eq dest 'kill)
@@ -1429,9 +1460,14 @@ This function returns, destructively, the new list structure."
1429 (+ end shift))))))) 1460 (+ end shift)))))))
1430 moved-items)) 1461 moved-items))
1431 (lambda (e1 e2) (< (car e1) (car e2)))))) 1462 (lambda (e1 e2) (< (car e1) (car e2))))))
1432 ;; 2. Eventually delete extra copy of the item and clean marker. 1463 ;; 2. Restore visibility.
1433 (prog1 1464 (mapc (lambda (ov)
1434 (org-list-delete-item (marker-position item) struct) 1465 (move-overlay ov
1466 (+ (overlay-start ov) (- (point) item))
1467 (+ (overlay-end ov) (- (point) item))))
1468 visibility)
1469 ;; 3. Eventually delete extra copy of the item and clean marker.
1470 (prog1 (org-list-delete-item (marker-position item) struct)
1435 (move-marker item nil))) 1471 (move-marker item nil)))
1436 (t struct)))) 1472 (t struct))))
1437 1473
diff --git a/lisp/org/org-lparse.el b/lisp/org/org-lparse.el
index c9669dd8ab4..9c3cd5b4811 100644
--- a/lisp/org/org-lparse.el
+++ b/lisp/org/org-lparse.el
@@ -1111,9 +1111,6 @@ version."
1111 (unless body-only 1111 (unless body-only
1112 (org-lparse-end 'DOCUMENT-CONTENT)) 1112 (org-lparse-end 'DOCUMENT-CONTENT))
1113 1113
1114 (unless (plist-get opt-plist :buffer-will-be-killed)
1115 (set-auto-mode t))
1116
1117 (org-lparse-end 'EXPORT) 1114 (org-lparse-end 'EXPORT)
1118 1115
1119 ;; kill collection buffer 1116 ;; kill collection buffer
diff --git a/lisp/org/org-odt.el b/lisp/org/org-odt.el
index 2e984a575bd..ca43d05bdbd 100644
--- a/lisp/org/org-odt.el
+++ b/lisp/org/org-odt.el
@@ -2211,7 +2211,9 @@ captions on export.")
2211 (content-file (expand-file-name "content.xml" outdir))) 2211 (content-file (expand-file-name "content.xml" outdir)))
2212 2212
2213 ;; init conten.xml 2213 ;; init conten.xml
2214 (with-current-buffer (find-file-noselect content-file t)) 2214 (require 'nxml-mode)
2215 (let ((nxml-auto-insert-xml-declaration-flag nil))
2216 (find-file-noselect content-file t))
2215 2217
2216 ;; reset variables 2218 ;; reset variables
2217 (setq org-odt-manifest-file-entries nil 2219 (setq org-odt-manifest-file-entries nil
@@ -2320,7 +2322,8 @@ visually."
2320 (make-directory "META-INF") 2322 (make-directory "META-INF")
2321 (let ((manifest-file (expand-file-name "META-INF/manifest.xml"))) 2323 (let ((manifest-file (expand-file-name "META-INF/manifest.xml")))
2322 (with-current-buffer 2324 (with-current-buffer
2323 (find-file-noselect manifest-file t) 2325 (let ((nxml-auto-insert-xml-declaration-flag nil))
2326 (find-file-noselect manifest-file t))
2324 (insert 2327 (insert
2325 "<?xml version=\"1.0\" encoding=\"UTF-8\"?> 2328 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
2326 <manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\n") 2329 <manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\n")
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index 419a1ffcaa4..74fc35f2db1 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -225,7 +225,7 @@ Consider using the interactive functions `org-protocol-create' and
225 :type 'alist) 225 :type 'alist)
226 226
227(defcustom org-protocol-protocol-alist nil 227(defcustom org-protocol-protocol-alist nil
228 " Register custom handlers for org-protocol. 228 "Register custom handlers for org-protocol.
229 229
230Each element of this list must be of the form: 230Each element of this list must be of the form:
231 231
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 37e5c4f91a6..e02062a2b93 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -2368,7 +2368,7 @@ of the new mark."
2368 (looking-at org-table-auto-recalculate-regexp)) 2368 (looking-at org-table-auto-recalculate-regexp))
2369 (org-table-recalculate) t)) 2369 (org-table-recalculate) t))
2370 2370
2371(defvar org-table-modes) 2371(defvar org-tbl-calc-modes) ;; Dynamically bound in `org-table-eval-formula'
2372(defsubst org-set-calc-mode (var &optional value) 2372(defsubst org-set-calc-mode (var &optional value)
2373 (if (stringp var) 2373 (if (stringp var)
2374 (setq var (assoc var '(("D" calc-angle-mode deg) 2374 (setq var (assoc var '(("D" calc-angle-mode deg)
@@ -2376,10 +2376,10 @@ of the new mark."
2376 ("F" calc-prefer-frac t) 2376 ("F" calc-prefer-frac t)
2377 ("S" calc-symbolic-mode t))) 2377 ("S" calc-symbolic-mode t)))
2378 value (nth 2 var) var (nth 1 var))) 2378 value (nth 2 var) var (nth 1 var)))
2379 (if (memq var org-table-modes) 2379 (if (memq var org-tbl-calc-modes)
2380 (setcar (cdr (memq var org-table-modes)) value) 2380 (setcar (cdr (memq var org-tbl-calc-modes)) value)
2381 (cons var (cons value org-table-modes))) 2381 (cons var (cons value org-tbl-calc-modes)))
2382 org-table-modes) 2382 org-tbl-calc-modes)
2383 2383
2384(defun org-table-eval-formula (&optional arg equation 2384(defun org-table-eval-formula (&optional arg equation
2385 suppress-align suppress-const 2385 suppress-align suppress-const
@@ -2437,7 +2437,7 @@ not overwrite the stored one."
2437 equation 2437 equation
2438 (org-table-get-formula equation (equal arg '(4))))) 2438 (org-table-get-formula equation (equal arg '(4)))))
2439 (n0 (org-table-current-column)) 2439 (n0 (org-table-current-column))
2440 (modes (copy-sequence org-calc-default-modes)) 2440 (org-tbl-calc-modes (copy-sequence org-calc-default-modes))
2441 (numbers nil) ; was a variable, now fixed default 2441 (numbers nil) ; was a variable, now fixed default
2442 (keep-empty nil) 2442 (keep-empty nil)
2443 n form form0 formrpl formrg bw fmt x ev orig c lispp literal 2443 n form form0 formrpl formrg bw fmt x ev orig c lispp literal
@@ -2453,12 +2453,13 @@ not overwrite the stored one."
2453 (setq c (string-to-char (match-string 1 fmt)) 2453 (setq c (string-to-char (match-string 1 fmt))
2454 n (string-to-number (match-string 2 fmt))) 2454 n (string-to-number (match-string 2 fmt)))
2455 (if (= c ?p) 2455 (if (= c ?p)
2456 (setq modes (org-set-calc-mode 'calc-internal-prec n)) 2456 (setq org-tbl-calc-modes (org-set-calc-mode 'calc-internal-prec n))
2457 (setq modes (org-set-calc-mode 2457 (setq org-tbl-calc-modes
2458 'calc-float-format 2458 (org-set-calc-mode
2459 (list (cdr (assoc c '((?n . float) (?f . fix) 2459 'calc-float-format
2460 (?s . sci) (?e . eng)))) 2460 (list (cdr (assoc c '((?n . float) (?f . fix)
2461 n)))) 2461 (?s . sci) (?e . eng))))
2462 n))))
2462 (setq fmt (replace-match "" t t fmt))) 2463 (setq fmt (replace-match "" t t fmt)))
2463 (if (string-match "T" fmt) 2464 (if (string-match "T" fmt)
2464 (setq duration t numbers t 2465 (setq duration t numbers t
@@ -2479,7 +2480,7 @@ not overwrite the stored one."
2479 (setq keep-empty t 2480 (setq keep-empty t
2480 fmt (replace-match "" t t fmt))) 2481 fmt (replace-match "" t t fmt)))
2481 (while (string-match "[DRFS]" fmt) 2482 (while (string-match "[DRFS]" fmt)
2482 (setq modes (org-set-calc-mode (match-string 0 fmt))) 2483 (setq org-tbl-calc-modes (org-set-calc-mode (match-string 0 fmt)))
2483 (setq fmt (replace-match "" t t fmt))) 2484 (setq fmt (replace-match "" t t fmt)))
2484 (unless (string-match "\\S-" fmt) 2485 (unless (string-match "\\S-" fmt)
2485 (setq fmt nil)))) 2486 (setq fmt nil))))
@@ -2588,7 +2589,7 @@ not overwrite the stored one."
2588 duration-output-format) ev)) 2589 duration-output-format) ev))
2589 (or (fboundp 'calc-eval) 2590 (or (fboundp 'calc-eval)
2590 (error "Calc does not seem to be installed, and is needed to evaluate the formula")) 2591 (error "Calc does not seem to be installed, and is needed to evaluate the formula"))
2591 (setq ev (calc-eval (cons form modes) (if numbers 'num)) 2592 (setq ev (calc-eval (cons form org-tbl-calc-modes) (if numbers 'num))
2592 ev (if duration (org-table-time-seconds-to-string 2593 ev (if duration (org-table-time-seconds-to-string
2593 (string-to-number ev) 2594 (string-to-number ev)
2594 duration-output-format) ev))) 2595 duration-output-format) ev)))
@@ -3309,15 +3310,18 @@ If S is a string representing a number, keep this number."
3309 "Convert a number of seconds to a time string. 3310 "Convert a number of seconds to a time string.
3310If OUTPUT-FORMAT is non-nil, return a number of days, hours, 3311If OUTPUT-FORMAT is non-nil, return a number of days, hours,
3311minutes or seconds." 3312minutes or seconds."
3312 (cond ((eq output-format 'days) 3313 (let* ((secs0 (abs secs))
3313 (format "%.3f" (/ (float secs) 86400))) 3314 (res
3314 ((eq output-format 'hours) 3315 (cond ((eq output-format 'days)
3315 (format "%.2f" (/ (float secs) 3600))) 3316 (format "%.3f" (/ (float secs0) 86400)))
3316 ((eq output-format 'minutes) 3317 ((eq output-format 'hours)
3317 (format "%.1f" (/ (float secs) 60))) 3318 (format "%.2f" (/ (float secs0) 3600)))
3318 ((eq output-format 'seconds) 3319 ((eq output-format 'minutes)
3319 (format "%d" secs)) 3320 (format "%.1f" (/ (float secs0) 60)))
3320 (t (org-format-seconds "%.2h:%.2m:%.2s" secs)))) 3321 ((eq output-format 'seconds)
3322 (format "%d" secs0))
3323 (t (org-format-seconds "%.2h:%.2m:%.2s" secs0)))))
3324 (if (< secs 0) (concat "-" res) res)))
3321 3325
3322(defun org-table-fedit-convert-buffer (function) 3326(defun org-table-fedit-convert-buffer (function)
3323 "Convert all references in this buffer, using FUNCTION." 3327 "Convert all references in this buffer, using FUNCTION."
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 838a9a18ad4..972f7801afc 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -6,7 +6,7 @@
6;; Maintainer: Bastien Guerry <bzg at gnu dot org> 6;; Maintainer: Bastien Guerry <bzg at gnu dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
9;; Version: 7.8.09 9;; Version: 7.8.11
10;; 10;;
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12;; 12;;
@@ -206,7 +206,7 @@ identifier."
206 206
207;;; Version 207;;; Version
208 208
209(defconst org-version "7.8.09" 209(defconst org-version "7.8.11"
210 "The version number of the file org.el.") 210 "The version number of the file org.el.")
211 211
212;;;###autoload 212;;;###autoload
@@ -4789,10 +4789,11 @@ but the stars and the body are.")
4789 "\\|" org-clock-string "\\)\\)?" 4789 "\\|" org-clock-string "\\)\\)?"
4790 " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)") 4790 " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)")
4791 org-planning-or-clock-line-re 4791 org-planning-or-clock-line-re
4792 (concat "\\(?:^[ \t]*\\(" org-scheduled-string 4792 (concat "^[ \t]*\\("
4793 "\\|" org-deadline-string 4793 org-scheduled-string "\\|"
4794 "\\|" org-closed-string "\\|" org-clock-string 4794 org-deadline-string "\\|"
4795 "\\)\\>\\)") 4795 org-closed-string "\\|"
4796 org-clock-string "\\)")
4796 org-all-time-keywords 4797 org-all-time-keywords
4797 (mapcar (lambda (w) (substring w 0 -1)) 4798 (mapcar (lambda (w) (substring w 0 -1))
4798 (list org-scheduled-string org-deadline-string 4799 (list org-scheduled-string org-deadline-string
@@ -5916,16 +5917,19 @@ needs to be inserted at a specific position in the font-lock sequence.")
5916 (when org-pretty-entities 5917 (when org-pretty-entities
5917 (catch 'match 5918 (catch 'match
5918 (while (re-search-forward 5919 (while (re-search-forward
5919 "\\\\\\(frac[13][24]\\|[a-zA-Z]+\\)\\($\\|[^[:alpha:]\n]\\)" 5920 "\\\\\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]\n]\\)"
5920 limit t) 5921 limit t)
5921 (if (and (not (org-in-indented-comment-line)) 5922 (if (and (not (org-in-indented-comment-line))
5922 (setq ee (org-entity-get (match-string 1))) 5923 (setq ee (org-entity-get (match-string 1)))
5923 (= (length (nth 6 ee)) 1)) 5924 (= (length (nth 6 ee)) 1))
5924 (progn 5925 (let*
5926 ((end (if (equal (match-string 2) "{}")
5927 (match-end 2)
5928 (match-end 1))))
5925 (add-text-properties 5929 (add-text-properties
5926 (match-beginning 0) (match-end 1) 5930 (match-beginning 0) end
5927 (list 'font-lock-fontified t)) 5931 (list 'font-lock-fontified t))
5928 (compose-region (match-beginning 0) (match-end 1) 5932 (compose-region (match-beginning 0) end
5929 (nth 6 ee) nil) 5933 (nth 6 ee) nil)
5930 (backward-char 1) 5934 (backward-char 1)
5931 (throw 'match t)))) 5935 (throw 'match t))))
@@ -5986,14 +5990,15 @@ When FACE-OR-COLOR is not a string, just return it."
5986(defun org-font-lock-add-priority-faces (limit) 5990(defun org-font-lock-add-priority-faces (limit)
5987 "Add the special priority faces." 5991 "Add the special priority faces."
5988 (while (re-search-forward "\\[#\\([A-Z0-9]\\)\\]" limit t) 5992 (while (re-search-forward "\\[#\\([A-Z0-9]\\)\\]" limit t)
5989 (add-text-properties 5993 (when (save-match-data (org-at-heading-p))
5990 (match-beginning 0) (match-end 0) 5994 (add-text-properties
5991 (list 'face (or (org-face-from-face-or-color 5995 (match-beginning 0) (match-end 0)
5992 'priority 'org-special-keyword 5996 (list 'face (or (org-face-from-face-or-color
5993 (cdr (assoc (char-after (match-beginning 1)) 5997 'priority 'org-special-keyword
5994 org-priority-faces))) 5998 (cdr (assoc (char-after (match-beginning 1))
5995 'org-special-keyword) 5999 org-priority-faces)))
5996 'font-lock-fontified t)))) 6000 'org-special-keyword)
6001 'font-lock-fontified t)))))
5997 6002
5998(defun org-get-tag-face (kwd) 6003(defun org-get-tag-face (kwd)
5999 "Get the right face for a TODO keyword KWD. 6004 "Get the right face for a TODO keyword KWD.
@@ -6255,34 +6260,36 @@ in special contexts.
6255 6260
6256(defun org-cycle-internal-global () 6261(defun org-cycle-internal-global ()
6257 "Do the global cycling action." 6262 "Do the global cycling action."
6258 (cond 6263 ;; Hack to avoid display of messages for .org attachments in Gnus
6259 ((and (eq last-command this-command) 6264 (let ((ga (string-match "\\*fontification" (buffer-name))))
6260 (eq org-cycle-global-status 'overview)) 6265 (cond
6261 ;; We just created the overview - now do table of contents 6266 ((and (eq last-command this-command)
6262 ;; This can be slow in very large buffers, so indicate action 6267 (eq org-cycle-global-status 'overview))
6263 (run-hook-with-args 'org-pre-cycle-hook 'contents) 6268 ;; We just created the overview - now do table of contents
6264 (message "CONTENTS...") 6269 ;; This can be slow in very large buffers, so indicate action
6265 (org-content) 6270 (run-hook-with-args 'org-pre-cycle-hook 'contents)
6266 (message "CONTENTS...done") 6271 (unless ga (message "CONTENTS..."))
6267 (setq org-cycle-global-status 'contents) 6272 (org-content)
6268 (run-hook-with-args 'org-cycle-hook 'contents)) 6273 (unless ga (message "CONTENTS...done"))
6269 6274 (setq org-cycle-global-status 'contents)
6270 ((and (eq last-command this-command) 6275 (run-hook-with-args 'org-cycle-hook 'contents))
6271 (eq org-cycle-global-status 'contents)) 6276
6272 ;; We just showed the table of contents - now show everything 6277 ((and (eq last-command this-command)
6273 (run-hook-with-args 'org-pre-cycle-hook 'all) 6278 (eq org-cycle-global-status 'contents))
6274 (show-all) 6279 ;; We just showed the table of contents - now show everything
6275 (message "SHOW ALL") 6280 (run-hook-with-args 'org-pre-cycle-hook 'all)
6276 (setq org-cycle-global-status 'all) 6281 (show-all)
6277 (run-hook-with-args 'org-cycle-hook 'all)) 6282 (unless ga (message "SHOW ALL"))
6283 (setq org-cycle-global-status 'all)
6284 (run-hook-with-args 'org-cycle-hook 'all))
6278 6285
6279 (t 6286 (t
6280 ;; Default action: go to overview 6287 ;; Default action: go to overview
6281 (run-hook-with-args 'org-pre-cycle-hook 'overview) 6288 (run-hook-with-args 'org-pre-cycle-hook 'overview)
6282 (org-overview) 6289 (org-overview)
6283 (message "OVERVIEW") 6290 (unless ga (message "OVERVIEW"))
6284 (setq org-cycle-global-status 'overview) 6291 (setq org-cycle-global-status 'overview)
6285 (run-hook-with-args 'org-cycle-hook 'overview)))) 6292 (run-hook-with-args 'org-cycle-hook 'overview)))))
6286 6293
6287(defun org-cycle-internal-local () 6294(defun org-cycle-internal-local ()
6288 "Do the local cycling action." 6295 "Do the local cycling action."
@@ -8574,7 +8581,7 @@ call CMD."
8574;;; Link abbreviations 8581;;; Link abbreviations
8575 8582
8576(defun org-link-expand-abbrev (link) 8583(defun org-link-expand-abbrev (link)
8577 "Apply replacements as defined in `org-link-abbrev-alist." 8584 "Apply replacements as defined in `org-link-abbrev-alist'."
8578 (if (string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" link) 8585 (if (string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" link)
8579 (let* ((key (match-string 1 link)) 8586 (let* ((key (match-string 1 link))
8580 (as (or (assoc key org-link-abbrev-alist-local) 8587 (as (or (assoc key org-link-abbrev-alist-local)
@@ -9432,7 +9439,7 @@ If the link is in hidden text, expose it."
9432 (string-match "\\([a-zA-Z0-9]+\\):\\(.*\\)" s)) 9439 (string-match "\\([a-zA-Z0-9]+\\):\\(.*\\)" s))
9433 (progn 9440 (progn
9434 (setq s (funcall org-link-translation-function 9441 (setq s (funcall org-link-translation-function
9435 (match-string 1) (match-string 2))) 9442 (match-string 1 s) (match-string 2 s)))
9436 (concat (car s) ":" (cdr s))) 9443 (concat (car s) ":" (cdr s)))
9437 s)) 9444 s))
9438 9445
@@ -12822,8 +12829,7 @@ headlines matching this string."
12822 org-outline-regexp) 12829 org-outline-regexp)
12823 " *\\(\\<\\(" 12830 " *\\(\\<\\("
12824 (mapconcat 'regexp-quote org-todo-keywords-1 "\\|") 12831 (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
12825 (org-re 12832 (org-re "\\)\\>\\)? *\\(.*?\\)\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*$")))
12826 "\\>\\)\\)? *\\(.*?\\)\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*$")))
12827 (props (list 'face 'default 12833 (props (list 'face 'default
12828 'done-face 'org-agenda-done 12834 'done-face 'org-agenda-done
12829 'undone-face 'default 12835 'undone-face 'default
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 198729776b5..7a825ecb29f 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,9 @@
12012-05-27 Eli Zaretskii <eliz@gnu.org>
2
3 * configure.bat: Ensure a space between %var% expansion and
4 redirection symbol '>', which breaks when %var% ends in a digit,
5 such as 1.
6
12012-05-22 Paul Eggert <eggert@cs.ucla.edu> 72012-05-22 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 Remove src/m/*. 9 Remove src/m/*.
diff --git a/nt/configure.bat b/nt/configure.bat
index db587b02997..a60df56fc94 100755
--- a/nt/configure.bat
+++ b/nt/configure.bat
@@ -757,25 +757,25 @@ rem NB. Be very careful to not have a space before redirection symbols
757rem except when there is a preceding digit, when a space is required. 757rem except when there is a preceding digit, when a space is required.
758rem 758rem
759echo # Start of settings from configure.bat >config.settings 759echo # Start of settings from configure.bat >config.settings
760echo COMPILER=%COMPILER%>>config.settings 760echo COMPILER=%COMPILER% >>config.settings
761if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings 761if not "(%mf%)" == "()" echo MCPU_FLAG=%mf% >>config.settings
762if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings 762if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo% >>config.settings
763if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings 763if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
764if (%noopt%) == (Y) echo NOOPT=1 >>config.settings 764if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
765if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings 765if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings
766if (%profile%) == (Y) echo PROFILE=1 >>config.settings 766if (%profile%) == (Y) echo PROFILE=1 >>config.settings
767if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings 767if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
768if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings 768if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix% >>config.settings
769if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings 769if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles% >>config.settings
770rem We go thru docflags because usercflags could be "-DFOO=bar" -something 770rem We go thru docflags because usercflags could be "-DFOO=bar" -something
771rem and the if command cannot cope with this 771rem and the if command cannot cope with this
772for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y 772for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
773if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings 773if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags% >>config.settings
774if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags%>>config.settings 774if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags% >>config.settings
775for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y 775for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
776if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings 776if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags% >>config.settings
777for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y 777for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y
778if (%doextralibs%)==(Y) echo USER_LIBS=%extrauserlibs%>>config.settings 778if (%doextralibs%)==(Y) echo USER_LIBS=%extrauserlibs% >>config.settings
779echo # End of settings from configure.bat>>config.settings 779echo # End of settings from configure.bat>>config.settings
780echo. >>config.settings 780echo. >>config.settings
781 781
@@ -784,8 +784,8 @@ echo. >>config.tmp
784echo /* Start of settings from configure.bat. */ >>config.tmp 784echo /* Start of settings from configure.bat. */ >>config.tmp
785rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify 785rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
786rem processing of compiler options in w32.c:get_emacs_configuration_options 786rem processing of compiler options in w32.c:get_emacs_configuration_options
787if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%">>config.tmp 787if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%" >>config.tmp
788if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%">>config.tmp 788if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%" >>config.tmp
789if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp 789if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
790if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp 790if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
791if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp 791if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp
diff --git a/src/ChangeLog b/src/ChangeLog
index 1ade4691184..a9dae7f68aa 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,34 @@
12012-05-27 Ken Brown <kbrown@cornell.edu>
2
3 * callproc.c (Fcall_process): Restore a line that was accidentally
4 commented out in the 2011-02-13 change (bug#11547).
5
62012-05-27 Eli Zaretskii <eliz@gnu.org>
7
8 * lisp.h [REL_ALLOC]: Add prototypes for external functions
9 defined on ralloc.c.
10
11 * buffer.c [REL_ALLOC]: Remove prototypes of
12 r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
13 they are now on lisp.h.
14
15 * ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
16
17 * search.c (search_buffer): Use it to inhibit relocation of buffer
18 text while re_search_2 is doing its job, because re_search_2 is
19 passed C pointers to buffer text. (Bug#11519)
20
21 * msdos.c (internal_terminal_init) <Vwindow_system_version>:
22 Update value to 24.
23
24 * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
25 state after an additional call to move_it_in_display_line_to, keep
26 the values of it->max_ascent and it->max_descent found for the
27 entire line.
28 (pos_visible_p): Revert the comparison against bottom_y to what it
29 was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb.
30 (Bug#11464)
31
12012-05-26 Paul Eggert <eggert@cs.ucla.edu> 322012-05-26 Paul Eggert <eggert@cs.ucla.edu>
2 33
3 Fix coding-related core dumps with gcc -ftrapv. 34 Fix coding-related core dumps with gcc -ftrapv.
diff --git a/src/callproc.c b/src/callproc.c
index 1dd56749e16..f7c9971907d 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -652,7 +652,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
652 652
653 /* GConf causes us to ignore SIGPIPE, make sure it is restored 653 /* GConf causes us to ignore SIGPIPE, make sure it is restored
654 in the child. */ 654 in the child. */
655 //signal (SIGPIPE, SIG_DFL); 655 signal (SIGPIPE, SIG_DFL);
656#ifdef HAVE_WORKING_VFORK 656#ifdef HAVE_WORKING_VFORK
657 pthread_sigmask (SIG_SETMASK, &procmask, 0); 657 pthread_sigmask (SIG_SETMASK, &procmask, 0);
658#endif 658#endif
diff --git a/src/lisp.h b/src/lisp.h
index 551c15473a7..522f7cec634 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3633,6 +3633,15 @@ void syms_of_dbusbind (void);
3633/* Defined in msdos.c, w32.c */ 3633/* Defined in msdos.c, w32.c */
3634extern char *emacs_root_dir (void); 3634extern char *emacs_root_dir (void);
3635#endif /* DOS_NT */ 3635#endif /* DOS_NT */
3636
3637#ifdef REL_ALLOC
3638/* Defined in ralloc.c */
3639extern void r_alloc_reset_variable (POINTER_TYPE **, POINTER_TYPE **);
3640extern POINTER_TYPE *r_alloc (POINTER_TYPE **, size_t);
3641extern POINTER_TYPE *r_re_alloc (POINTER_TYPE **, size_t);
3642extern void r_alloc_free (POINTER_TYPE **ptr);
3643extern void r_alloc_inhibit_buffer_relocation (int);
3644#endif /* REL_ALLOC */
3636 3645
3637/* Nonzero means Emacs has already been initialized. 3646/* Nonzero means Emacs has already been initialized.
3638 Used during startup to detect startup of dumped Emacs. */ 3647 Used during startup to detect startup of dumped Emacs. */
diff --git a/src/msdos.c b/src/msdos.c
index 5f46829aefd..c6213b566b8 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -1813,7 +1813,7 @@ internal_terminal_init (void)
1813 } 1813 }
1814 1814
1815 Vinitial_window_system = Qpc; 1815 Vinitial_window_system = Qpc;
1816 Vwindow_system_version = make_number (23); /* RE Emacs version */ 1816 Vwindow_system_version = make_number (24); /* RE Emacs version */
1817 tty->terminal->type = output_msdos_raw; 1817 tty->terminal->type = output_msdos_raw;
1818 1818
1819 /* If Emacs was dumped on DOS/V machine, forget the stale VRAM 1819 /* If Emacs was dumped on DOS/V machine, forget the stale VRAM
diff --git a/src/ralloc.c b/src/ralloc.c
index d736e279520..7fdef69842a 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -1139,6 +1139,12 @@ r_alloc_reset_variable (POINTER *old, POINTER *new)
1139 bloc->variable = new; 1139 bloc->variable = new;
1140} 1140}
1141 1141
1142void
1143r_alloc_inhibit_buffer_relocation (int inhibit)
1144{
1145 use_relocatable_buffers = !inhibit;
1146}
1147
1142 1148
1143/*********************************************************************** 1149/***********************************************************************
1144 Initialization 1150 Initialization
diff --git a/src/search.c b/src/search.c
index a9542a2ed97..5608e344e75 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1159,12 +1159,25 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
1159 while (n < 0) 1159 while (n < 0)
1160 { 1160 {
1161 ptrdiff_t val; 1161 ptrdiff_t val;
1162
1163#ifdef REL_ALLOC
1164 /* re_search_2 below is passed C pointers to buffer text.
1165 If some code called by it causes memory (re)allocation,
1166 buffer text could be relocated on platforms that use
1167 REL_ALLOC, which invalidates those C pointers. So we
1168 inhibit relocation of buffer text for as long as
1169 re_search_2 runs. */
1170 r_alloc_inhibit_buffer_relocation (1);
1171#endif
1162 val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2, 1172 val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
1163 pos_byte - BEGV_BYTE, lim_byte - pos_byte, 1173 pos_byte - BEGV_BYTE, lim_byte - pos_byte,
1164 (NILP (Vinhibit_changing_match_data) 1174 (NILP (Vinhibit_changing_match_data)
1165 ? &search_regs : &search_regs_1), 1175 ? &search_regs : &search_regs_1),
1166 /* Don't allow match past current point */ 1176 /* Don't allow match past current point */
1167 pos_byte - BEGV_BYTE); 1177 pos_byte - BEGV_BYTE);
1178#ifdef REL_ALLOC
1179 r_alloc_inhibit_buffer_relocation (0);
1180#endif
1168 if (val == -2) 1181 if (val == -2)
1169 { 1182 {
1170 matcher_overflow (); 1183 matcher_overflow ();
@@ -1203,11 +1216,20 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
1203 while (n > 0) 1216 while (n > 0)
1204 { 1217 {
1205 ptrdiff_t val; 1218 ptrdiff_t val;
1219
1220#ifdef REL_ALLOC
1221 /* See commentary above for the reasons for inhibiting
1222 buffer text relocation here. */
1223 r_alloc_inhibit_buffer_relocation (1);
1224#endif
1206 val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2, 1225 val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
1207 pos_byte - BEGV_BYTE, lim_byte - pos_byte, 1226 pos_byte - BEGV_BYTE, lim_byte - pos_byte,
1208 (NILP (Vinhibit_changing_match_data) 1227 (NILP (Vinhibit_changing_match_data)
1209 ? &search_regs : &search_regs_1), 1228 ? &search_regs : &search_regs_1),
1210 lim_byte - BEGV_BYTE); 1229 lim_byte - BEGV_BYTE);
1230#ifdef REL_ALLOC
1231 r_alloc_inhibit_buffer_relocation (0);
1232#endif
1211 if (val == -2) 1233 if (val == -2)
1212 { 1234 {
1213 matcher_overflow (); 1235 matcher_overflow ();
diff --git a/src/xdisp.c b/src/xdisp.c
index 794355af153..25aae04f048 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -8705,8 +8705,18 @@ move_it_to (struct it *it, ptrdiff_t to_charpos, int to_x, int to_y, int to_vpos
8705 { 8705 {
8706 /* If TO_Y is in this line and TO_X was reached 8706 /* If TO_Y is in this line and TO_X was reached
8707 above, we scanned too far. We have to restore 8707 above, we scanned too far. We have to restore
8708 IT's settings to the ones before skipping. */ 8708 IT's settings to the ones before skipping. But
8709 keep the more accurate values of max_ascent and
8710 max_descent we've found while skipping the rest
8711 of the line, for the sake of callers, such as
8712 pos_visible_p, that need to know the line
8713 height. */
8714 int max_ascent = it->max_ascent;
8715 int max_descent = it->max_descent;
8716
8709 RESTORE_IT (it, &it_backup, backup_data); 8717 RESTORE_IT (it, &it_backup, backup_data);
8718 it->max_ascent = max_ascent;
8719 it->max_descent = max_descent;
8710 reached = 6; 8720 reached = 6;
8711 } 8721 }
8712 else 8722 else