diff options
| author | Paul Eggert | 2018-01-22 08:43:54 -0800 |
|---|---|---|
| committer | Paul Eggert | 2018-01-22 08:43:54 -0800 |
| commit | 35675bb93f4620c43ca766e8a2d8708fd323c684 (patch) | |
| tree | d52b1a6b58c517f53689a4f2fe513d7c78b02b1d | |
| parent | c42959cc206bcb52baffd45f892da1b767f0f8c1 (diff) | |
| parent | 1fc98ed073a2d26ad941748ecb13aa6f47dd7b01 (diff) | |
| download | emacs-35675bb93f4620c43ca766e8a2d8708fd323c684.tar.gz emacs-35675bb93f4620c43ca766e8a2d8708fd323c684.zip | |
Merge from origin/emacs-26
1fc98ed073 ; Spelling fix
bb396a369c Update Org to v9.1.6
fa582153f7 Use text-pixels values only when saving framesets (Bug#30141)
6b01b9475d Minor improvement in section "Pages" of the usere manual
e8c8bd3de2 Minor improvements in user manual
26b8b92e63 Improve the "Mark" chapter of the user manual
759569fe40 Improve the "Buffers" chapter of the user manual
c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in ...
854a1c0a61 Improve "Buffers" in the user manual
# Conflicts:
# etc/NEWS
38 files changed, 343 insertions, 261 deletions
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 47ac8d4b05c..f8c1856058a 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi | |||
| @@ -81,7 +81,7 @@ Select the next buffer in the buffer list (@code{next-buffer}). | |||
| 81 | @item C-u M-g M-g | 81 | @item C-u M-g M-g |
| 82 | @itemx C-u M-g g | 82 | @itemx C-u M-g g |
| 83 | Read a number @var{n} and move to line @var{n} in the most recently | 83 | Read a number @var{n} and move to line @var{n} in the most recently |
| 84 | selected buffer other than the current buffer. | 84 | selected buffer other than the current buffer, in another window. |
| 85 | @end table | 85 | @end table |
| 86 | 86 | ||
| 87 | @kindex C-x b | 87 | @kindex C-x b |
| @@ -94,12 +94,12 @@ now displayed in any window. | |||
| 94 | 94 | ||
| 95 | While entering the buffer name, you can use the usual completion and | 95 | While entering the buffer name, you can use the usual completion and |
| 96 | history commands (@pxref{Minibuffer}). Note that @kbd{C-x b}, and | 96 | history commands (@pxref{Minibuffer}). Note that @kbd{C-x b}, and |
| 97 | related commands, use @dfn{permissive completion with confirmation} for | 97 | related commands, use @dfn{permissive completion with confirmation} |
| 98 | minibuffer completion: if you type @key{RET} immediately after | 98 | for minibuffer completion: if you type @key{RET} when the minibuffer |
| 99 | completing up to a nonexistent buffer name, Emacs prints | 99 | text names a nonexistent buffer, Emacs prints @samp{[Confirm]} and you |
| 100 | @samp{[Confirm]} and you must type a second @key{RET} to submit that | 100 | must type a second @key{RET} to submit that buffer name. |
| 101 | buffer name. @xref{Completion Exit}, for details. For other | 101 | @xref{Completion Exit}, for details. For other completion options and |
| 102 | completion options and features, see @ref{Completion Options}. | 102 | features, see @ref{Completion Options}. |
| 103 | 103 | ||
| 104 | If you specify a buffer that does not exist, @kbd{C-x b} creates a | 104 | If you specify a buffer that does not exist, @kbd{C-x b} creates a |
| 105 | new, empty buffer that is not visiting any file, and selects it for | 105 | new, empty buffer that is not visiting any file, and selects it for |
| @@ -124,18 +124,19 @@ direction. | |||
| 124 | 124 | ||
| 125 | @kindex C-x 4 b | 125 | @kindex C-x 4 b |
| 126 | @findex switch-to-buffer-other-window | 126 | @findex switch-to-buffer-other-window |
| 127 | To select a buffer in a window other than the current one, type | 127 | To select a buffer in a window other than the current one |
| 128 | @kbd{C-x 4 b} (@code{switch-to-buffer-other-window}). This prompts | 128 | (@pxref{Windows}), type @kbd{C-x 4 b} |
| 129 | for a buffer name using the minibuffer, displays that buffer in | 129 | (@code{switch-to-buffer-other-window}). This prompts for a buffer |
| 130 | another window, and selects that window. | 130 | name using the minibuffer, displays that buffer in another window, and |
| 131 | selects that window. | ||
| 131 | 132 | ||
| 132 | @kindex C-x 5 b | 133 | @kindex C-x 5 b |
| 133 | @findex switch-to-buffer-other-frame | 134 | @findex switch-to-buffer-other-frame |
| 134 | Similarly, @kbd{C-x 5 b} (@code{switch-to-buffer-other-frame}) | 135 | Similarly, @kbd{C-x 5 b} (@code{switch-to-buffer-other-frame}) |
| 135 | prompts for a buffer name, displays that buffer in another frame, and | 136 | prompts for a buffer name, displays that buffer in another frame |
| 136 | selects that frame. If the buffer is already being shown in a window | 137 | (@pxref{Frames}), and selects that frame. If the buffer is already |
| 137 | on another frame, Emacs selects that window and frame instead of | 138 | being shown in a window on another frame, Emacs selects that window |
| 138 | creating a new frame. | 139 | and frame instead of creating a new frame. |
| 139 | 140 | ||
| 140 | @xref{Displaying Buffers}, for how the @kbd{C-x 4 b} and @kbd{C-x 5 | 141 | @xref{Displaying Buffers}, for how the @kbd{C-x 4 b} and @kbd{C-x 5 |
| 141 | b} commands get the window and/or frame to display in. | 142 | b} commands get the window and/or frame to display in. |
| @@ -219,7 +220,7 @@ unless they visit files: such buffers are used internally by Emacs. | |||
| 219 | @table @kbd | 220 | @table @kbd |
| 220 | @item C-x C-q | 221 | @item C-x C-q |
| 221 | Toggle read-only status of buffer (@code{read-only-mode}). | 222 | Toggle read-only status of buffer (@code{read-only-mode}). |
| 222 | @item M-x rename-buffer @key{RET} @var{name} @key{RET} | 223 | @item M-x rename-buffer @key{RET} @var{buffer} @key{RET} |
| 223 | Change the name of the current buffer. | 224 | Change the name of the current buffer. |
| 224 | @item M-x rename-uniquely | 225 | @item M-x rename-uniquely |
| 225 | Rename the current buffer by adding @samp{<@var{number}>} to the end. | 226 | Rename the current buffer by adding @samp{<@var{number}>} to the end. |
| @@ -234,8 +235,9 @@ Scroll through buffer @var{buffer}. @xref{View Mode}. | |||
| 234 | its contents are not allowed. The mode line indicates read-only | 235 | its contents are not allowed. The mode line indicates read-only |
| 235 | buffers with @samp{%%} or @samp{%*} near the left margin. @xref{Mode | 236 | buffers with @samp{%%} or @samp{%*} near the left margin. @xref{Mode |
| 236 | Line}. Read-only buffers are usually made by subsystems such as Dired | 237 | Line}. Read-only buffers are usually made by subsystems such as Dired |
| 237 | and Rmail that have special commands to operate on the text; also by | 238 | and Rmail that have special commands to operate on the text. Visiting |
| 238 | visiting a file whose access control says you cannot write it. | 239 | a file whose access control says you cannot write it also makes the |
| 240 | buffer read-only. | ||
| 239 | 241 | ||
| 240 | @findex read-only-mode | 242 | @findex read-only-mode |
| 241 | @vindex view-read-only | 243 | @vindex view-read-only |
| @@ -282,13 +284,13 @@ large number of buffers. You may then find it convenient to @dfn{kill} | |||
| 282 | the buffers you no longer need. (Some other editors call this | 284 | the buffers you no longer need. (Some other editors call this |
| 283 | operation @dfn{close}, and talk about ``closing the buffer'' or | 285 | operation @dfn{close}, and talk about ``closing the buffer'' or |
| 284 | ``closing the file'' visited in the buffer.) On most operating | 286 | ``closing the file'' visited in the buffer.) On most operating |
| 285 | systems, killing a buffer releases its space back to the operating | 287 | systems, killing a buffer releases the memory Emacs used for the buffer |
| 286 | system so that other programs can use it. Here are some commands for | 288 | back to the operating system so that other programs can use it. Here |
| 287 | killing buffers: | 289 | are some commands for killing buffers: |
| 288 | 290 | ||
| 289 | @table @kbd | 291 | @table @kbd |
| 290 | @item C-x k @var{bufname} @key{RET} | 292 | @item C-x k @var{buffer} @key{RET} |
| 291 | Kill buffer @var{bufname} (@code{kill-buffer}). | 293 | Kill buffer @var{buffer} (@code{kill-buffer}). |
| 292 | @item M-x kill-some-buffers | 294 | @item M-x kill-some-buffers |
| 293 | Offer to kill each buffer, one by one. | 295 | Offer to kill each buffer, one by one. |
| 294 | @item M-x kill-matching-buffers | 296 | @item M-x kill-matching-buffers |
| @@ -307,7 +309,7 @@ confirm with @kbd{yes} before the buffer is killed. | |||
| 307 | 309 | ||
| 308 | @findex kill-some-buffers | 310 | @findex kill-some-buffers |
| 309 | The command @kbd{M-x kill-some-buffers} asks about each buffer, one | 311 | The command @kbd{M-x kill-some-buffers} asks about each buffer, one |
| 310 | by one. An answer of @kbd{y} means to kill the buffer, just like | 312 | by one. An answer of @kbd{yes} means to kill the buffer, just like |
| 311 | @code{kill-buffer}. This command ignores buffers whose names begin | 313 | @code{kill-buffer}. This command ignores buffers whose names begin |
| 312 | with a space, which are used internally by Emacs. | 314 | with a space, which are used internally by Emacs. |
| 313 | 315 | ||
| @@ -335,7 +337,9 @@ all the unmodified buffers that you have not used for a long time. An | |||
| 335 | ordinary buffer is killed if it has not been displayed for three days; | 337 | ordinary buffer is killed if it has not been displayed for three days; |
| 336 | however, you can specify certain buffers that should never be killed | 338 | however, you can specify certain buffers that should never be killed |
| 337 | automatically, and others that should be killed if they have been unused | 339 | automatically, and others that should be killed if they have been unused |
| 338 | for a mere hour. | 340 | for a mere hour. These defaults, and other aspects of this command's |
| 341 | behavior, can be controlled by customizing several options described | ||
| 342 | in the doc string of @code{clean-buffer-list}. | ||
| 339 | 343 | ||
| 340 | @cindex Midnight mode | 344 | @cindex Midnight mode |
| 341 | @vindex midnight-mode | 345 | @vindex midnight-mode |
| @@ -410,7 +414,8 @@ Perform all flagged deletions and saves (@code{Buffer-menu-execute}). | |||
| 410 | @findex Buffer-menu-unmark | 414 | @findex Buffer-menu-unmark |
| 411 | @kindex u @r{(Buffer Menu)} | 415 | @kindex u @r{(Buffer Menu)} |
| 412 | Remove all flags from the current line, and move down | 416 | Remove all flags from the current line, and move down |
| 413 | (@code{Buffer-menu-unmark}). | 417 | (@code{Buffer-menu-unmark}). With a prefix argument, moves up after |
| 418 | removing the flags. | ||
| 414 | 419 | ||
| 415 | @item @key{DEL} | 420 | @item @key{DEL} |
| 416 | @findex Buffer-menu-backup-unmark | 421 | @findex Buffer-menu-backup-unmark |
| @@ -422,7 +427,9 @@ Move to the previous line and remove all flags on that line | |||
| 422 | @findex Buffer-menu-unmark-all-buffers | 427 | @findex Buffer-menu-unmark-all-buffers |
| 423 | @kindex M-DEL @r{(Buffer Menu)} | 428 | @kindex M-DEL @r{(Buffer Menu)} |
| 424 | Remove a particular flag from all lines | 429 | Remove a particular flag from all lines |
| 425 | (@code{Buffer-menu-unmark-all-buffers}). | 430 | (@code{Buffer-menu-unmark-all-buffers}). This asks for a single |
| 431 | character, and unmarks buffers marked with that character; typing | ||
| 432 | @key{RET} removes all marks. | ||
| 426 | 433 | ||
| 427 | @item U | 434 | @item U |
| 428 | @findex Buffer-menu-unmark-all | 435 | @findex Buffer-menu-unmark-all |
| @@ -432,8 +439,8 @@ Remove all flags from all the lines | |||
| 432 | @end table | 439 | @end table |
| 433 | 440 | ||
| 434 | @noindent | 441 | @noindent |
| 435 | The commands for adding or removing flags, @kbd{d}, @kbd{C-d}, @kbd{s} | 442 | The commands for removing flags, @kbd{d} and @kbd{C-d}, accept a |
| 436 | and @kbd{u}, all accept a numeric argument as a repeat count. | 443 | numeric argument as a repeat count. |
| 437 | 444 | ||
| 438 | The following commands operate immediately on the buffer listed on | 445 | The following commands operate immediately on the buffer listed on |
| 439 | the current line. They also accept a numeric argument as a repeat | 446 | the current line. They also accept a numeric argument as a repeat |
| @@ -505,7 +512,8 @@ selected in one, and a previously current buffer (aside from | |||
| 505 | @item b | 512 | @item b |
| 506 | @findex Buffer-menu-bury | 513 | @findex Buffer-menu-bury |
| 507 | @kindex b @r{(Buffer Menu)} | 514 | @kindex b @r{(Buffer Menu)} |
| 508 | Bury this line's buffer (@code{Buffer-menu-bury}). | 515 | Bury this line's buffer (@code{Buffer-menu-bury}) (i.e., move it to |
| 516 | the end of the buffer list). | ||
| 509 | 517 | ||
| 510 | @item m | 518 | @item m |
| 511 | @findex Buffer-menu-mark | 519 | @findex Buffer-menu-mark |
| @@ -727,10 +735,10 @@ C-b}. To customize this buffer list, use the @code{bs} Custom group | |||
| 727 | @kindex C-Down-mouse-1 | 735 | @kindex C-Down-mouse-1 |
| 728 | MSB global minor mode (``MSB'' stands for ``mouse select buffer'') | 736 | MSB global minor mode (``MSB'' stands for ``mouse select buffer'') |
| 729 | provides a different and customizable mouse buffer menu which you may | 737 | provides a different and customizable mouse buffer menu which you may |
| 730 | prefer. It replaces the bindings of @code{mouse-buffer-menu}, | 738 | prefer. It replaces the @code{mouse-buffer-menu} commands, normally |
| 731 | normally on @kbd{C-Down-mouse-1} and @kbd{C-@key{F10}}, and the menu | 739 | bound to @kbd{C-Down-mouse-1} and @kbd{C-@key{F10}}, with its own |
| 732 | bar buffer menu. You can customize the menu in the @code{msb} Custom | 740 | commands, and also modifies the menu-bar buffer menu. You can |
| 733 | group. | 741 | customize the menu in the @code{msb} Custom group. |
| 734 | 742 | ||
| 735 | @findex ibuffer | 743 | @findex ibuffer |
| 736 | IBuffer is a major mode for viewing a list of buffers and operating | 744 | IBuffer is a major mode for viewing a list of buffers and operating |
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index c1932b682de..072a3bc4b11 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi | |||
| @@ -135,10 +135,11 @@ detailed description of these mouse commands. | |||
| 135 | typing certain cursor motion commands (such as @kbd{S-@key{RIGHT}}, | 135 | typing certain cursor motion commands (such as @kbd{S-@key{RIGHT}}, |
| 136 | @kbd{S-C-f}, @kbd{S-C-n}, etc.). This is called @dfn{shift-selection}. | 136 | @kbd{S-C-f}, @kbd{S-C-n}, etc.). This is called @dfn{shift-selection}. |
| 137 | It sets the mark at point before moving point, but only if there is no | 137 | It sets the mark at point before moving point, but only if there is no |
| 138 | active mark set via shift-selection. The mark set by mouse commands | 138 | active mark set via a previous shift-selection or mouse commands. The |
| 139 | and by shift-selection behaves slightly differently from the usual | 139 | mark set by mouse commands and by shift-selection behaves slightly |
| 140 | mark: any subsequent unshifted cursor motion command deactivates it | 140 | differently from the usual mark: any subsequent unshifted cursor motion |
| 141 | automatically. For details, see @ref{Shift Selection}. | 141 | command deactivates it automatically. For details, see @ref{Shift |
| 142 | Selection}. | ||
| 142 | 143 | ||
| 143 | Many commands that insert text, such as @kbd{C-y} (@code{yank}), set | 144 | Many commands that insert text, such as @kbd{C-y} (@code{yank}), set |
| 144 | the mark at the other end of the inserted text, without activating it. | 145 | the mark at the other end of the inserted text, without activating it. |
| @@ -161,7 +162,7 @@ object such as a word, list, paragraph or page: | |||
| 161 | 162 | ||
| 162 | @table @kbd | 163 | @table @kbd |
| 163 | @item M-@@ | 164 | @item M-@@ |
| 164 | Set mark after end of next word (@code{mark-word}). This does not | 165 | Set mark at the end of the next word (@code{mark-word}). This does not |
| 165 | move point. | 166 | move point. |
| 166 | @item C-M-@@ | 167 | @item C-M-@@ |
| 167 | Set mark after end of following balanced expression | 168 | Set mark after end of following balanced expression |
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 846d9fe8c62..b7659976a98 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi | |||
| @@ -381,12 +381,13 @@ at the end). | |||
| 381 | @kbd{C-x C-p C-w} is a handy way to kill a page to move it | 381 | @kbd{C-x C-p C-w} is a handy way to kill a page to move it |
| 382 | elsewhere. If you move to another page delimiter with @kbd{C-x [} and | 382 | elsewhere. If you move to another page delimiter with @kbd{C-x [} and |
| 383 | @kbd{C-x ]}, then yank the killed page, all the pages will be properly | 383 | @kbd{C-x ]}, then yank the killed page, all the pages will be properly |
| 384 | delimited once again. The reason @kbd{C-x C-p} includes only the | 384 | delimited once again. Making sure this works as expected is the |
| 385 | following page delimiter in the region is to ensure that. | 385 | reason @kbd{C-x C-p} includes only the following page delimiter in the |
| 386 | region. | ||
| 386 | 387 | ||
| 387 | A numeric argument to @kbd{C-x C-p} specifies which page to go to, | 388 | A numeric argument to @kbd{C-x C-p} specifies which page to go to, |
| 388 | relative to the current one. Zero means the current page, one | 389 | relative to the current one. Zero means the current page, one means |
| 389 | the next page, and @minus{}1 the previous one. | 390 | the next page, and @minus{}1 means the previous one. |
| 390 | 391 | ||
| 391 | @kindex C-x l | 392 | @kindex C-x l |
| 392 | @findex count-lines-page | 393 | @findex count-lines-page |
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index dd9d088a56e..05114c376c9 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -452,7 +452,7 @@ displays, you can use the mouse to kill Emacs or switch to another | |||
| 452 | program. | 452 | program. |
| 453 | 453 | ||
| 454 | On MS-DOS, you must type @kbd{C-@key{Break}} (twice) to cause | 454 | On MS-DOS, you must type @kbd{C-@key{Break}} (twice) to cause |
| 455 | emergency escape---but there are cases where it won't work, when | 455 | emergency escape---but there are cases where it won't work, when a |
| 456 | system call hangs or when Emacs is stuck in a tight loop in C code. | 456 | system call hangs or when Emacs is stuck in a tight loop in C code. |
| 457 | 457 | ||
| 458 | @node Bugs | 458 | @node Bugs |
| @@ -1225,8 +1225,7 @@ check if existing bug reports are fixed in newer versions of Emacs | |||
| 1225 | @url{https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}. | 1225 | @url{https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}. |
| 1226 | 1226 | ||
| 1227 | @item | 1227 | @item |
| 1228 | fix existing bug reports | 1228 | fix existing bug reports. |
| 1229 | @url{https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}. | ||
| 1230 | 1229 | ||
| 1231 | @item | 1230 | @item |
| 1232 | @c etc/TODO not in WWW_GNU_ORG | 1231 | @c etc/TODO not in WWW_GNU_ORG |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index f779417bd70..762dfafdda7 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | @settitle The Org Manual | 4 | @settitle The Org Manual |
| 5 | @include docstyle.texi | 5 | @include docstyle.texi |
| 6 | 6 | ||
| 7 | @set VERSION 9.1.4 | 7 | @set VERSION 9.1.6 |
| 8 | @set DATE 2017-09-17 | 8 | @set DATE 2018-01-03 |
| 9 | 9 | ||
| 10 | @c Version and Contact Info | 10 | @c Version and Contact Info |
| 11 | @set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} | 11 | @set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} |
diff --git a/etc/NEWS.26 b/etc/NEWS.26 index b4c489cf7bd..46762d65e18 100644 --- a/etc/NEWS.26 +++ b/etc/NEWS.26 | |||
| @@ -635,7 +635,7 @@ state to take effect (making a frame visible, for example). | |||
| 635 | * Changes in Specialized Modes and Packages in Emacs 26.1 | 635 | * Changes in Specialized Modes and Packages in Emacs 26.1 |
| 636 | 636 | ||
| 637 | --- | 637 | --- |
| 638 | ** Emacs 26.1 comes with Org v9.1.4. | 638 | ** Emacs 26.1 comes with Org v9.1.6. |
| 639 | See the file ORG-NEWS for user-visible changes in Org. | 639 | See the file ORG-NEWS for user-visible changes in Org. |
| 640 | 640 | ||
| 641 | --- | 641 | --- |
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex index 0b9c9767d95..1affe548529 100644 --- a/etc/refcards/orgcard.tex +++ b/etc/refcards/orgcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Org Mode | 1 | % Reference Card for Org Mode |
| 2 | \def\orgversionnumber{9.1.4} | 2 | \def\orgversionnumber{9.1.6} |
| 3 | \def\versionyear{2017} % latest update | 3 | \def\versionyear{2018} % latest update |
| 4 | \input emacsver.tex | 4 | \input emacsver.tex |
| 5 | 5 | ||
| 6 | %**start of header | 6 | %**start of header |
diff --git a/lisp/frameset.el b/lisp/frameset.el index 3fb6901e943..0e3363d7ae3 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el | |||
| @@ -230,11 +230,10 @@ Properties can be set with | |||
| 230 | ;; filtering functions) is copied to FILTERED as is. Keyword values :save, | 230 | ;; filtering functions) is copied to FILTERED as is. Keyword values :save, |
| 231 | ;; :restore and :never tell the function to copy CURRENT to FILTERED in the | 231 | ;; :restore and :never tell the function to copy CURRENT to FILTERED in the |
| 232 | ;; respective situations, that is, when saving, restoring, or never at all. | 232 | ;; respective situations, that is, when saving, restoring, or never at all. |
| 233 | ;; Values :save and :restore are not used in this package, because usually if | 233 | ;; Values :save and :restore can be useful, for example, if you already |
| 234 | ;; you don't want to save a parameter, you don't want to restore it either. | 234 | ;; have a saved frameset created with some intent, and want to reuse it for |
| 235 | ;; But they can be useful, for example, if you already have a saved frameset | 235 | ;; a different objective where the expected parameter list has different |
| 236 | ;; created with some intent, and want to reuse it for a different objective | 236 | ;; requirements. |
| 237 | ;; where the expected parameter list has different requirements. | ||
| 238 | ;; | 237 | ;; |
| 239 | ;; Finally, the value can also be a filtering function, or a filtering | 238 | ;; Finally, the value can also be a filtering function, or a filtering |
| 240 | ;; function plus some arguments. The function is called for each matching | 239 | ;; function plus some arguments. The function is called for each matching |
| @@ -291,6 +290,11 @@ Properties can be set with | |||
| 291 | ;; So, in general, not saving `name' is the right thing to do, though | 290 | ;; So, in general, not saving `name' is the right thing to do, though |
| 292 | ;; surely there are applications that will want to override this filter. | 291 | ;; surely there are applications that will want to override this filter. |
| 293 | ;; | 292 | ;; |
| 293 | ;; - `frameset--text-pixel-height', `frameset--text-pixel-width': These are used to | ||
| 294 | ;; save the pixel width and height of a frame. They are necessary | ||
| 295 | ;; during restore, but should not be set on the actual frame after | ||
| 296 | ;; restoring, so `:save' is used to ensure they are only saved. | ||
| 297 | ;; | ||
| 294 | ;; - `font', `fullscreen', `height' and `width': These parameters suffer | 298 | ;; - `font', `fullscreen', `height' and `width': These parameters suffer |
| 295 | ;; from the fact that they are badly mangled when going through a | 299 | ;; from the fact that they are badly mangled when going through a |
| 296 | ;; tty session, though not all in the same way. When saving a GUI frame | 300 | ;; tty session, though not all in the same way. When saving a GUI frame |
| @@ -442,32 +446,34 @@ DO NOT MODIFY. See `frameset-filter-alist' for a full description.") | |||
| 442 | ;;;###autoload | 446 | ;;;###autoload |
| 443 | (defvar frameset-persistent-filter-alist | 447 | (defvar frameset-persistent-filter-alist |
| 444 | (nconc | 448 | (nconc |
| 445 | '((background-color . frameset-filter-sanitize-color) | 449 | '((background-color . frameset-filter-sanitize-color) |
| 446 | (buffer-list . :never) | 450 | (buffer-list . :never) |
| 447 | (buffer-predicate . :never) | 451 | (buffer-predicate . :never) |
| 448 | (buried-buffer-list . :never) | 452 | (buried-buffer-list . :never) |
| 449 | ;; Don't save the 'client' parameter to avoid that a subsequent | 453 | ;; Don't save the 'client' parameter to avoid that a subsequent |
| 450 | ;; `save-buffers-kill-terminal' in a non-client session barks at | 454 | ;; `save-buffers-kill-terminal' in a non-client session barks at |
| 451 | ;; the user (Bug#29067). | 455 | ;; the user (Bug#29067). |
| 452 | (client . :never) | 456 | (client . :never) |
| 453 | (delete-before . :never) | 457 | (delete-before . :never) |
| 454 | (font . frameset-filter-font-param) | 458 | (font . frameset-filter-font-param) |
| 455 | (foreground-color . frameset-filter-sanitize-color) | 459 | (foreground-color . frameset-filter-sanitize-color) |
| 456 | (fullscreen . frameset-filter-shelve-param) | 460 | (frameset--text-pixel-height . :save) |
| 457 | (GUI:font . frameset-filter-unshelve-param) | 461 | (frameset--text-pixel-width . :save) |
| 458 | (GUI:fullscreen . frameset-filter-unshelve-param) | 462 | (fullscreen . frameset-filter-shelve-param) |
| 459 | (GUI:height . frameset-filter-unshelve-param) | 463 | (GUI:font . frameset-filter-unshelve-param) |
| 460 | (GUI:width . frameset-filter-unshelve-param) | 464 | (GUI:fullscreen . frameset-filter-unshelve-param) |
| 461 | (height . frameset-filter-shelve-param) | 465 | (GUI:height . frameset-filter-unshelve-param) |
| 462 | (outer-window-id . :never) | 466 | (GUI:width . frameset-filter-unshelve-param) |
| 463 | (parent-frame . :never) | 467 | (height . frameset-filter-shelve-param) |
| 464 | (parent-id . :never) | 468 | (outer-window-id . :never) |
| 465 | (mouse-wheel-frame . :never) | 469 | (parent-frame . :never) |
| 466 | (tty . frameset-filter-tty-to-GUI) | 470 | (parent-id . :never) |
| 467 | (tty-type . frameset-filter-tty-to-GUI) | 471 | (mouse-wheel-frame . :never) |
| 468 | (width . frameset-filter-shelve-param) | 472 | (tty . frameset-filter-tty-to-GUI) |
| 469 | (window-id . :never) | 473 | (tty-type . frameset-filter-tty-to-GUI) |
| 470 | (window-system . :never)) | 474 | (width . frameset-filter-shelve-param) |
| 475 | (window-id . :never) | ||
| 476 | (window-system . :never)) | ||
| 471 | frameset-session-filter-alist) | 477 | frameset-session-filter-alist) |
| 472 | "Parameters to filter for persistent framesets. | 478 | "Parameters to filter for persistent framesets. |
| 473 | DO NOT MODIFY. See `frameset-filter-alist' for a full description.") | 479 | DO NOT MODIFY. See `frameset-filter-alist' for a full description.") |
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el index 8a17ee4f1fa..5f378b2173f 100644 --- a/lisp/org/ob-core.el +++ b/lisp/org/ob-core.el | |||
| @@ -74,7 +74,6 @@ | |||
| 74 | (declare-function org-mark-ring-push "org" (&optional pos buffer)) | 74 | (declare-function org-mark-ring-push "org" (&optional pos buffer)) |
| 75 | (declare-function org-narrow-to-subtree "org" ()) | 75 | (declare-function org-narrow-to-subtree "org" ()) |
| 76 | (declare-function org-next-block "org" (arg &optional backward block-regexp)) | 76 | (declare-function org-next-block "org" (arg &optional backward block-regexp)) |
| 77 | (declare-function org-number-sequence "org-compat" (from &optional to inc)) | ||
| 78 | (declare-function org-open-at-point "org" (&optional in-emacs reference-buffer)) | 77 | (declare-function org-open-at-point "org" (&optional in-emacs reference-buffer)) |
| 79 | (declare-function org-outline-overlay-data "org" (&optional use-markers)) | 78 | (declare-function org-outline-overlay-data "org" (&optional use-markers)) |
| 80 | (declare-function org-previous-block "org" (arg &optional block-regexp)) | 79 | (declare-function org-previous-block "org" (arg &optional block-regexp)) |
| @@ -82,7 +81,7 @@ | |||
| 82 | (declare-function org-reverse-string "org" (string)) | 81 | (declare-function org-reverse-string "org" (string)) |
| 83 | (declare-function org-set-outline-overlay-data "org" (data)) | 82 | (declare-function org-set-outline-overlay-data "org" (data)) |
| 84 | (declare-function org-show-context "org" (&optional key)) | 83 | (declare-function org-show-context "org" (&optional key)) |
| 85 | (declare-function org-src-coderef-format "org-src" (element)) | 84 | (declare-function org-src-coderef-format "org-src" (&optional element)) |
| 86 | (declare-function org-src-coderef-regexp "org-src" (fmt &optional label)) | 85 | (declare-function org-src-coderef-regexp "org-src" (fmt &optional label)) |
| 87 | (declare-function org-table-align "org-table" ()) | 86 | (declare-function org-table-align "org-table" ()) |
| 88 | (declare-function org-table-end "org-table" (&optional table-type)) | 87 | (declare-function org-table-end "org-table" (&optional table-type)) |
| @@ -2476,7 +2475,7 @@ in the buffer." | |||
| 2476 | (point)))))) | 2475 | (point)))))) |
| 2477 | 2476 | ||
| 2478 | (defun org-babel-result-to-file (result &optional description) | 2477 | (defun org-babel-result-to-file (result &optional description) |
| 2479 | "Convert RESULT into an `org-mode' link with optional DESCRIPTION. | 2478 | "Convert RESULT into an Org link with optional DESCRIPTION. |
| 2480 | If the `default-directory' is different from the containing | 2479 | If the `default-directory' is different from the containing |
| 2481 | file's directory then expand relative links." | 2480 | file's directory then expand relative links." |
| 2482 | (when (stringp result) | 2481 | (when (stringp result) |
| @@ -2761,22 +2760,27 @@ block but are passed literally to the \"example-block\"." | |||
| 2761 | (if org-babel-use-quick-and-dirty-noweb-expansion | 2760 | (if org-babel-use-quick-and-dirty-noweb-expansion |
| 2762 | (while (re-search-forward rx nil t) | 2761 | (while (re-search-forward rx nil t) |
| 2763 | (let* ((i (org-babel-get-src-block-info 'light)) | 2762 | (let* ((i (org-babel-get-src-block-info 'light)) |
| 2764 | (body (org-babel-expand-noweb-references i)) | 2763 | (body (if (org-babel-noweb-p (nth 2 i) :eval) |
| 2764 | (org-babel-expand-noweb-references i) | ||
| 2765 | (nth 1 i))) | ||
| 2765 | (sep (or (cdr (assq :noweb-sep (nth 2 i))) | 2766 | (sep (or (cdr (assq :noweb-sep (nth 2 i))) |
| 2766 | "\n")) | 2767 | "\n")) |
| 2767 | (full (if comment | 2768 | (full (if comment |
| 2768 | (let ((cs (org-babel-tangle-comment-links i))) | 2769 | (let ((cs (org-babel-tangle-comment-links i))) |
| 2769 | (concat (funcall c-wrap (car cs)) "\n" | 2770 | (concat (funcall c-wrap (car cs)) "\n" |
| 2770 | body "\n" | 2771 | body "\n" |
| 2771 | (funcall c-wrap (cadr cs)))) | 2772 | (funcall c-wrap (cadr cs)))) |
| 2772 | body))) | 2773 | body))) |
| 2773 | (setq expansion (cons sep (cons full expansion))))) | 2774 | (setq expansion (cons sep (cons full expansion))))) |
| 2774 | (org-babel-map-src-blocks nil | 2775 | (org-babel-map-src-blocks nil |
| 2775 | (let ((i (org-babel-get-src-block-info 'light))) | 2776 | (let ((i (let ((org-babel-current-src-block-location (point))) |
| 2777 | (org-babel-get-src-block-info 'light)))) | ||
| 2776 | (when (equal (or (cdr (assq :noweb-ref (nth 2 i))) | 2778 | (when (equal (or (cdr (assq :noweb-ref (nth 2 i))) |
| 2777 | (nth 4 i)) | 2779 | (nth 4 i)) |
| 2778 | source-name) | 2780 | source-name) |
| 2779 | (let* ((body (org-babel-expand-noweb-references i)) | 2781 | (let* ((body (if (org-babel-noweb-p (nth 2 i) :eval) |
| 2782 | (org-babel-expand-noweb-references i) | ||
| 2783 | (nth 1 i))) | ||
| 2780 | (sep (or (cdr (assq :noweb-sep (nth 2 i))) | 2784 | (sep (or (cdr (assq :noweb-sep (nth 2 i))) |
| 2781 | "\n")) | 2785 | "\n")) |
| 2782 | (full (if comment | 2786 | (full (if comment |
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el index c474b1e2be7..d2c32fac81a 100644 --- a/lisp/org/ob-exp.el +++ b/lisp/org/ob-exp.el | |||
| @@ -58,9 +58,13 @@ returned is the value of the last form in BODY. Assume that | |||
| 58 | point is at the beginning of the Babel block." | 58 | point is at the beginning of the Babel block." |
| 59 | (declare (indent 1) (debug body)) | 59 | (declare (indent 1) (debug body)) |
| 60 | `(let ((source (get-text-property (point) 'org-reference))) | 60 | `(let ((source (get-text-property (point) 'org-reference))) |
| 61 | (with-current-buffer org-babel-exp-reference-buffer | 61 | ;; Source blocks created during export process (e.g., by other |
| 62 | ;; source blocks) are not referenced. In this case, do not move | ||
| 63 | ;; point at all. | ||
| 64 | (with-current-buffer (if source org-babel-exp-reference-buffer | ||
| 65 | (current-buffer)) | ||
| 62 | (org-with-wide-buffer | 66 | (org-with-wide-buffer |
| 63 | (goto-char source) | 67 | (when source (goto-char source)) |
| 64 | ,@body)))) | 68 | ,@body)))) |
| 65 | 69 | ||
| 66 | (defun org-babel-exp-src-block () | 70 | (defun org-babel-exp-src-block () |
diff --git a/lisp/org/ob-gnuplot.el b/lisp/org/ob-gnuplot.el index 1acce502475..674627b8fa0 100644 --- a/lisp/org/ob-gnuplot.el +++ b/lisp/org/ob-gnuplot.el | |||
| @@ -116,6 +116,8 @@ code." | |||
| 116 | (timefmt (cdr (assq :timefmt params))) | 116 | (timefmt (cdr (assq :timefmt params))) |
| 117 | (time-ind (or (cdr (assq :timeind params)) | 117 | (time-ind (or (cdr (assq :timeind params)) |
| 118 | (when timefmt 1))) | 118 | (when timefmt 1))) |
| 119 | (directory (and (buffer-file-name) | ||
| 120 | (file-name-directory (buffer-file-name)))) | ||
| 119 | (add-to-body (lambda (text) (setq body (concat text "\n" body))))) | 121 | (add-to-body (lambda (text) (setq body (concat text "\n" body))))) |
| 120 | ;; append header argument settings to body | 122 | ;; append header argument settings to body |
| 121 | (when title (funcall add-to-body (format "set title '%s'" title))) | 123 | (when title (funcall add-to-body (format "set title '%s'" title))) |
| @@ -161,7 +163,10 @@ code." | |||
| 161 | (format "\\$%s" (car pair)) (cdr pair) body))) | 163 | (format "\\$%s" (car pair)) (cdr pair) body))) |
| 162 | vars) | 164 | vars) |
| 163 | (when prologue (funcall add-to-body prologue)) | 165 | (when prologue (funcall add-to-body prologue)) |
| 164 | (when epilogue (setq body (concat body "\n" epilogue)))) | 166 | (when epilogue (setq body (concat body "\n" epilogue))) |
| 167 | ;; Setting the directory needs to be done first so that | ||
| 168 | ;; subsequent 'output' directive goes to the right place. | ||
| 169 | (when directory (funcall add-to-body (format "cd '%s'" directory)))) | ||
| 165 | body)) | 170 | body)) |
| 166 | 171 | ||
| 167 | (defun org-babel-execute:gnuplot (body params) | 172 | (defun org-babel-execute:gnuplot (body params) |
diff --git a/lisp/org/ob-haskell.el b/lisp/org/ob-haskell.el index 301c6837b3c..b19ee6d70fe 100644 --- a/lisp/org/ob-haskell.el +++ b/lisp/org/ob-haskell.el | |||
| @@ -59,14 +59,23 @@ | |||
| 59 | 59 | ||
| 60 | (defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"") | 60 | (defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"") |
| 61 | 61 | ||
| 62 | (defvar haskell-prompt-regexp) | ||
| 63 | |||
| 62 | (defun org-babel-execute:haskell (body params) | 64 | (defun org-babel-execute:haskell (body params) |
| 63 | "Execute a block of Haskell code." | 65 | "Execute a block of Haskell code." |
| 66 | (require 'inf-haskell) | ||
| 67 | (add-hook 'inferior-haskell-hook | ||
| 68 | (lambda () | ||
| 69 | (setq-local comint-prompt-regexp | ||
| 70 | (concat haskell-prompt-regexp "\\|^λ?> ")))) | ||
| 64 | (let* ((session (cdr (assq :session params))) | 71 | (let* ((session (cdr (assq :session params))) |
| 65 | (result-type (cdr (assq :result-type params))) | 72 | (result-type (cdr (assq :result-type params))) |
| 66 | (full-body (org-babel-expand-body:generic | 73 | (full-body (org-babel-expand-body:generic |
| 67 | body params | 74 | body params |
| 68 | (org-babel-variable-assignments:haskell params))) | 75 | (org-babel-variable-assignments:haskell params))) |
| 69 | (session (org-babel-haskell-initiate-session session params)) | 76 | (session (org-babel-haskell-initiate-session session params)) |
| 77 | (comint-preoutput-filter-functions | ||
| 78 | (cons 'ansi-color-filter-apply comint-preoutput-filter-functions)) | ||
| 70 | (raw (org-babel-comint-with-output | 79 | (raw (org-babel-comint-with-output |
| 71 | (session org-babel-haskell-eoe t full-body) | 80 | (session org-babel-haskell-eoe t full-body) |
| 72 | (insert (org-trim full-body)) | 81 | (insert (org-trim full-body)) |
diff --git a/lisp/org/ob-picolisp.el b/lisp/org/ob-picolisp.el index 0d44c9832db..b6dc8986f95 100644 --- a/lisp/org/ob-picolisp.el +++ b/lisp/org/ob-picolisp.el | |||
| @@ -39,9 +39,9 @@ | |||
| 39 | ;; directory). | 39 | ;; directory). |
| 40 | 40 | ||
| 41 | ;; Although it might seem more natural to use Emacs Lisp for most | 41 | ;; Although it might seem more natural to use Emacs Lisp for most |
| 42 | ;; Lisp-based programming tasks inside Org-Mode, an Emacs library | 42 | ;; Lisp-based programming tasks inside Org, an Emacs library written |
| 43 | ;; written in Emacs Lisp, PicoLisp has at least two outstanding | 43 | ;; in Emacs Lisp, PicoLisp has at least two outstanding features that |
| 44 | ;; features that make it a valuable addition to Org-Babel: | 44 | ;; make it a valuable addition to Org Babel: |
| 45 | 45 | ||
| 46 | ;; PicoLisp _is_ an object-oriented database with a Prolog-based query | 46 | ;; PicoLisp _is_ an object-oriented database with a Prolog-based query |
| 47 | ;; language implemented in PicoLisp (Pilog). Database objects are | 47 | ;; language implemented in PicoLisp (Pilog). Database objects are |
diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el index 3ea050fffea..951e4d2a4b4 100644 --- a/lisp/org/ob-python.el +++ b/lisp/org/ob-python.el | |||
| @@ -239,6 +239,15 @@ def main(): | |||
| 239 | 239 | ||
| 240 | open('%s', 'w').write( pprint.pformat(main()) )") | 240 | open('%s', 'w').write( pprint.pformat(main()) )") |
| 241 | 241 | ||
| 242 | (defconst org-babel-python--exec-tmpfile | ||
| 243 | (concat | ||
| 244 | "__org_babel_python_fname = '%s'; " | ||
| 245 | "__org_babel_python_fh = open(__org_babel_python_fname); " | ||
| 246 | "exec(compile(" | ||
| 247 | "__org_babel_python_fh.read(), __org_babel_python_fname, 'exec'" | ||
| 248 | ")); " | ||
| 249 | "__org_babel_python_fh.close()")) | ||
| 250 | |||
| 242 | (defun org-babel-python-evaluate | 251 | (defun org-babel-python-evaluate |
| 243 | (session body &optional result-type result-params preamble) | 252 | (session body &optional result-type result-params preamble) |
| 244 | "Evaluate BODY as Python code." | 253 | "Evaluate BODY as Python code." |
| @@ -306,16 +315,23 @@ last statement in BODY, as elisp." | |||
| 306 | (results | 315 | (results |
| 307 | (pcase result-type | 316 | (pcase result-type |
| 308 | (`output | 317 | (`output |
| 309 | (mapconcat | 318 | (let ((body (if (string-match-p ".\n+." body) ; Multiline |
| 310 | #'org-trim | 319 | (let ((tmp-src-file (org-babel-temp-file |
| 311 | (butlast | 320 | "python-"))) |
| 312 | (org-babel-comint-with-output | 321 | (with-temp-file tmp-src-file (insert body)) |
| 313 | (session org-babel-python-eoe-indicator t body) | 322 | (format org-babel-python--exec-tmpfile |
| 314 | (funcall input-body body) | 323 | tmp-src-file)) |
| 315 | (funcall send-wait) (funcall send-wait) | 324 | body))) |
| 316 | (insert org-babel-python-eoe-indicator) | 325 | (mapconcat |
| 317 | (funcall send-wait)) | 326 | #'org-trim |
| 318 | 2) "\n")) | 327 | (butlast |
| 328 | (org-babel-comint-with-output | ||
| 329 | (session org-babel-python-eoe-indicator t body) | ||
| 330 | (funcall input-body body) | ||
| 331 | (funcall send-wait) (funcall send-wait) | ||
| 332 | (insert org-babel-python-eoe-indicator) | ||
| 333 | (funcall send-wait)) | ||
| 334 | 2) "\n"))) | ||
| 319 | (`value | 335 | (`value |
| 320 | (let ((tmp-file (org-babel-temp-file "python-"))) | 336 | (let ((tmp-file (org-babel-temp-file "python-"))) |
| 321 | (org-babel-comint-with-output | 337 | (org-babel-comint-with-output |
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el index de30a761293..872f7f98151 100644 --- a/lisp/org/ob-ref.el +++ b/lisp/org/ob-ref.el | |||
| @@ -65,24 +65,21 @@ | |||
| 65 | (declare-function org-show-context "org" (&optional key)) | 65 | (declare-function org-show-context "org" (&optional key)) |
| 66 | (declare-function org-trim "org" (s &optional keep-lead)) | 66 | (declare-function org-trim "org" (s &optional keep-lead)) |
| 67 | 67 | ||
| 68 | (defvar org-babel-ref-split-regexp | ||
| 69 | "[ \f\t\n\r\v]*\\(.+?\\)[ \f\t\n\r\v]*=[ \f\t\n\r\v]*\\(.+\\)[ \f\t\n\r\v]*") | ||
| 70 | |||
| 71 | (defvar org-babel-update-intermediate nil | 68 | (defvar org-babel-update-intermediate nil |
| 72 | "Update the in-buffer results of code blocks executed to resolve references.") | 69 | "Update the in-buffer results of code blocks executed to resolve references.") |
| 73 | 70 | ||
| 74 | (defun org-babel-ref-parse (assignment) | 71 | (defun org-babel-ref-parse (assignment) |
| 75 | "Parse a variable ASSIGNMENT in a header argument. | 72 | "Parse a variable ASSIGNMENT in a header argument. |
| 73 | |||
| 76 | If the right hand side of the assignment has a literal value | 74 | If the right hand side of the assignment has a literal value |
| 77 | return that value, otherwise interpret as a reference to an | 75 | return that value, otherwise interpret it as a reference to an |
| 78 | external resource and find its value using | 76 | external resource and find its value using `org-babel-ref-resolve'. |
| 79 | `org-babel-ref-resolve'. Return a list with two elements. The | 77 | |
| 80 | first element of the list will be the name of the variable, and | 78 | Return a list with two elements: the name of the variable, and an |
| 81 | the second will be an emacs-lisp representation of the value of | 79 | Emacs Lisp representation of the value of the variable." |
| 82 | the variable." | 80 | (when (string-match "\\(.+?\\)=" assignment) |
| 83 | (when (string-match org-babel-ref-split-regexp assignment) | 81 | (let ((var (org-trim (match-string 1 assignment))) |
| 84 | (let ((var (match-string 1 assignment)) | 82 | (ref (org-trim (substring assignment (match-end 0))))) |
| 85 | (ref (match-string 2 assignment))) | ||
| 86 | (cons (intern var) | 83 | (cons (intern var) |
| 87 | (let ((out (save-excursion | 84 | (let ((out (save-excursion |
| 88 | (when org-babel-current-src-block-location | 85 | (when org-babel-current-src-block-location |
diff --git a/lisp/org/ob-scheme.el b/lisp/org/ob-scheme.el index 029569edacc..cc78b574d07 100644 --- a/lisp/org/ob-scheme.el +++ b/lisp/org/ob-scheme.el | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | ;;; Code: | 40 | ;;; Code: |
| 41 | (require 'ob) | 41 | (require 'ob) |
| 42 | (require 'geiser nil t) | 42 | (require 'geiser nil t) |
| 43 | (require 'geiser-impl nil t) | ||
| 43 | (defvar geiser-repl--repl) ; Defined in geiser-repl.el | 44 | (defvar geiser-repl--repl) ; Defined in geiser-repl.el |
| 44 | (defvar geiser-impl--implementation) ; Defined in geiser-impl.el | 45 | (defvar geiser-impl--implementation) ; Defined in geiser-impl.el |
| 45 | (defvar geiser-default-implementation) ; Defined in geiser-impl.el | 46 | (defvar geiser-default-implementation) ; Defined in geiser-impl.el |
diff --git a/lisp/org/ob-stan.el b/lisp/org/ob-stan.el index 38cda4cdbc7..6fa9fe5c94f 100644 --- a/lisp/org/ob-stan.el +++ b/lisp/org/ob-stan.el | |||
| @@ -49,11 +49,12 @@ | |||
| 49 | 49 | ||
| 50 | (defcustom org-babel-stan-cmdstan-directory nil | 50 | (defcustom org-babel-stan-cmdstan-directory nil |
| 51 | "CmdStan source directory. | 51 | "CmdStan source directory. |
| 52 | 'make' will be called from this directory to compile the Stan | 52 | Call \"make\" from this directory to compile the Stan block. |
| 53 | block. When nil, executing Stan blocks dumps the content to a | 53 | When nil, executing Stan blocks dumps the content to a file." |
| 54 | plain text file." | ||
| 55 | :group 'org-babel | 54 | :group 'org-babel |
| 56 | :type 'string) | 55 | :type '(choice |
| 56 | (directory :tag "Compilation directory") | ||
| 57 | (const :tag "Dump to a file" nil))) | ||
| 57 | 58 | ||
| 58 | (defvar org-babel-default-header-args:stan | 59 | (defvar org-babel-default-header-args:stan |
| 59 | '((:results . "file"))) | 60 | '((:results . "file"))) |
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 9f8d294044c..9aaec330708 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el | |||
| @@ -395,35 +395,35 @@ the daily/weekly agenda, see `org-agenda-skip-function'.") | |||
| 395 | (choice | 395 | (choice |
| 396 | :tag "Condition type" | 396 | :tag "Condition type" |
| 397 | (list :tag "Regexp matches" :inline t | 397 | (list :tag "Regexp matches" :inline t |
| 398 | (const :format "" 'regexp) | 398 | (const :format "" regexp) |
| 399 | (regexp)) | 399 | (regexp)) |
| 400 | (list :tag "Regexp does not match" :inline t | 400 | (list :tag "Regexp does not match" :inline t |
| 401 | (const :format "" 'notregexp) | 401 | (const :format "" notregexp) |
| 402 | (regexp)) | 402 | (regexp)) |
| 403 | (list :tag "TODO state is" :inline t | 403 | (list :tag "TODO state is" :inline t |
| 404 | (const 'todo) | 404 | (const todo) |
| 405 | (choice | 405 | (choice |
| 406 | (const :tag "Any not-done state" 'todo) | 406 | (const :tag "Any not-done state" todo) |
| 407 | (const :tag "Any done state" 'done) | 407 | (const :tag "Any done state" done) |
| 408 | (const :tag "Any state" 'any) | 408 | (const :tag "Any state" any) |
| 409 | (list :tag "Keyword list" | 409 | (list :tag "Keyword list" |
| 410 | (const :format "" quote) | 410 | (const :format "" quote) |
| 411 | (repeat (string :tag "Keyword"))))) | 411 | (repeat (string :tag "Keyword"))))) |
| 412 | (list :tag "TODO state is not" :inline t | 412 | (list :tag "TODO state is not" :inline t |
| 413 | (const 'nottodo) | 413 | (const nottodo) |
| 414 | (choice | 414 | (choice |
| 415 | (const :tag "Any not-done state" 'todo) | 415 | (const :tag "Any not-done state" todo) |
| 416 | (const :tag "Any done state" 'done) | 416 | (const :tag "Any done state" done) |
| 417 | (const :tag "Any state" 'any) | 417 | (const :tag "Any state" any) |
| 418 | (list :tag "Keyword list" | 418 | (list :tag "Keyword list" |
| 419 | (const :format "" quote) | 419 | (const :format "" quote) |
| 420 | (repeat (string :tag "Keyword"))))) | 420 | (repeat (string :tag "Keyword"))))) |
| 421 | (const :tag "scheduled" 'scheduled) | 421 | (const :tag "scheduled" scheduled) |
| 422 | (const :tag "not scheduled" 'notscheduled) | 422 | (const :tag "not scheduled" notscheduled) |
| 423 | (const :tag "deadline" 'deadline) | 423 | (const :tag "deadline" deadline) |
| 424 | (const :tag "no deadline" 'notdeadline) | 424 | (const :tag "no deadline" notdeadline) |
| 425 | (const :tag "timestamp" 'timestamp) | 425 | (const :tag "timestamp" timestamp) |
| 426 | (const :tag "no timestamp" 'nottimestamp)))))) | 426 | (const :tag "no timestamp" nottimestamp)))))) |
| 427 | (list :tag "Non-standard skipping condition" | 427 | (list :tag "Non-standard skipping condition" |
| 428 | :value (org-agenda-skip-function) | 428 | :value (org-agenda-skip-function) |
| 429 | (const org-agenda-skip-function) | 429 | (const org-agenda-skip-function) |
| @@ -3563,7 +3563,7 @@ removed from the entry content. Currently only `planning' is allowed here." | |||
| 3563 | txt)) | 3563 | txt)) |
| 3564 | 3564 | ||
| 3565 | (defun org-check-for-org-mode () | 3565 | (defun org-check-for-org-mode () |
| 3566 | "Make sure current buffer is in org-mode. Error if not." | 3566 | "Make sure current buffer is in Org mode. Error if not." |
| 3567 | (or (derived-mode-p 'org-mode) | 3567 | (or (derived-mode-p 'org-mode) |
| 3568 | (error "Cannot execute Org agenda command on buffer in %s" | 3568 | (error "Cannot execute Org agenda command on buffer in %s" |
| 3569 | major-mode))) | 3569 | major-mode))) |
| @@ -4509,7 +4509,7 @@ is active." | |||
| 4509 | (with-current-buffer buffer | 4509 | (with-current-buffer buffer |
| 4510 | (with-syntax-table (org-search-syntax-table) | 4510 | (with-syntax-table (org-search-syntax-table) |
| 4511 | (unless (derived-mode-p 'org-mode) | 4511 | (unless (derived-mode-p 'org-mode) |
| 4512 | (error "Agenda file %s is not in `org-mode'" file)) | 4512 | (error "Agenda file %s is not in Org mode" file)) |
| 4513 | (let ((case-fold-search t)) | 4513 | (let ((case-fold-search t)) |
| 4514 | (save-excursion | 4514 | (save-excursion |
| 4515 | (save-restriction | 4515 | (save-restriction |
| @@ -4774,7 +4774,7 @@ The prefix arg TODO-ONLY limits the search to TODO entries." | |||
| 4774 | rtnall (append rtnall rtn)) | 4774 | rtnall (append rtnall rtn)) |
| 4775 | (with-current-buffer buffer | 4775 | (with-current-buffer buffer |
| 4776 | (unless (derived-mode-p 'org-mode) | 4776 | (unless (derived-mode-p 'org-mode) |
| 4777 | (error "Agenda file %s is not in `org-mode'" file)) | 4777 | (error "Agenda file %s is not in Org mode" file)) |
| 4778 | (save-excursion | 4778 | (save-excursion |
| 4779 | (save-restriction | 4779 | (save-restriction |
| 4780 | (if (eq buffer org-agenda-restrict) | 4780 | (if (eq buffer org-agenda-restrict) |
| @@ -5067,9 +5067,9 @@ of what a project is and how to check if it stuck, customize the variable | |||
| 5067 | 5067 | ||
| 5068 | (defun org-agenda-cleanup-fancy-diary () | 5068 | (defun org-agenda-cleanup-fancy-diary () |
| 5069 | "Remove unwanted stuff in buffer created by `fancy-diary-display'. | 5069 | "Remove unwanted stuff in buffer created by `fancy-diary-display'. |
| 5070 | This gets rid of the date, the underline under the date, and | 5070 | This gets rid of the date, the underline under the date, and the |
| 5071 | the dummy entry installed by `org-mode' to ensure non-empty diary for each | 5071 | dummy entry installed by Org mode to ensure non-empty diary for |
| 5072 | date. It also removes lines that contain only whitespace." | 5072 | each date. It also removes lines that contain only whitespace." |
| 5073 | (goto-char (point-min)) | 5073 | (goto-char (point-min)) |
| 5074 | (if (looking-at ".*?:[ \t]*") | 5074 | (if (looking-at ".*?:[ \t]*") |
| 5075 | (progn | 5075 | (progn |
| @@ -5214,7 +5214,7 @@ the documentation of `org-diary'." | |||
| 5214 | (list (format "ORG-AGENDA-ERROR: No such org-file %s" file)) | 5214 | (list (format "ORG-AGENDA-ERROR: No such org-file %s" file)) |
| 5215 | (with-current-buffer buffer | 5215 | (with-current-buffer buffer |
| 5216 | (unless (derived-mode-p 'org-mode) | 5216 | (unless (derived-mode-p 'org-mode) |
| 5217 | (error "Agenda file %s is not in `org-mode'" file)) | 5217 | (error "Agenda file %s is not in Org mode" file)) |
| 5218 | (setq org-agenda-buffer (or org-agenda-buffer buffer)) | 5218 | (setq org-agenda-buffer (or org-agenda-buffer buffer)) |
| 5219 | (setf org-agenda-current-date date) | 5219 | (setf org-agenda-current-date date) |
| 5220 | (save-excursion | 5220 | (save-excursion |
diff --git a/lisp/org/org-archive.el b/lisp/org/org-archive.el index a78113493b6..755de7fdac2 100644 --- a/lisp/org/org-archive.el +++ b/lisp/org/org-archive.el | |||
| @@ -429,7 +429,7 @@ Archiving time is retained in the ARCHIVE_TIME node property." | |||
| 429 | (looking-at org-outline-regexp) | 429 | (looking-at org-outline-regexp) |
| 430 | (setq leader (match-string 0) | 430 | (setq leader (match-string 0) |
| 431 | level (funcall outline-level)) | 431 | level (funcall outline-level)) |
| 432 | (setq pos (point)) | 432 | (setq pos (point-marker)) |
| 433 | (condition-case nil | 433 | (condition-case nil |
| 434 | (outline-up-heading 1 t) | 434 | (outline-up-heading 1 t) |
| 435 | (error (setq e (point-max)) (goto-char (point-min)))) | 435 | (error (setq e (point-max)) (goto-char (point-min)))) |
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el index 24fc0a61f0b..cb1741f2f91 100644 --- a/lisp/org/org-capture.el +++ b/lisp/org/org-capture.el | |||
| @@ -927,18 +927,24 @@ Store them in the capture property list." | |||
| 927 | (_ (error "Cannot find target ID \"%s\"" id)))) | 927 | (_ (error "Cannot find target ID \"%s\"" id)))) |
| 928 | (`(file+headline ,path ,headline) | 928 | (`(file+headline ,path ,headline) |
| 929 | (set-buffer (org-capture-target-buffer path)) | 929 | (set-buffer (org-capture-target-buffer path)) |
| 930 | ;; Org expects the target file to be in Org mode, otherwise | ||
| 931 | ;; it throws an error. However, the default notes files | ||
| 932 | ;; should work out of the box. In this case, we switch it to | ||
| 933 | ;; Org mode. | ||
| 930 | (unless (derived-mode-p 'org-mode) | 934 | (unless (derived-mode-p 'org-mode) |
| 931 | (error "Target buffer \"%s\" for file+headline not in Org mode" | 935 | (org-display-warning |
| 932 | (current-buffer))) | 936 | (format "Capture requirement: switching buffer %S to Org mode" |
| 937 | (current-buffer))) | ||
| 938 | (org-mode)) | ||
| 933 | (org-capture-put-target-region-and-position) | 939 | (org-capture-put-target-region-and-position) |
| 934 | (widen) | 940 | (widen) |
| 935 | (goto-char (point-min)) | 941 | (goto-char (point-min)) |
| 936 | (if (re-search-forward (format org-complex-heading-regexp-format | 942 | (if (re-search-forward (format org-complex-heading-regexp-format |
| 937 | (regexp-quote headline)) | 943 | (regexp-quote headline)) |
| 938 | nil t) | 944 | nil t) |
| 939 | (goto-char (line-beginning-position)) | 945 | (beginning-of-line) |
| 940 | (goto-char (point-max)) | 946 | (goto-char (point-max)) |
| 941 | (or (bolp) (insert "\n")) | 947 | (unless (bolp) (insert "\n")) |
| 942 | (insert "* " headline "\n") | 948 | (insert "* " headline "\n") |
| 943 | (beginning-of-line 0))) | 949 | (beginning-of-line 0))) |
| 944 | (`(file+olp ,path . ,outline-path) | 950 | (`(file+olp ,path . ,outline-path) |
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index fd076de34e2..9bc1f0c06d7 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el | |||
| @@ -1456,8 +1456,7 @@ The time is always returned as UTC." | |||
| 1456 | (day (nth 3 dt))) | 1456 | (day (nth 3 dt))) |
| 1457 | (if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day))) | 1457 | (if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day))) |
| 1458 | (setf (nth 2 dt) org-extend-today-until) | 1458 | (setf (nth 2 dt) org-extend-today-until) |
| 1459 | (setq dt (append (list 0 0) (nthcdr 2 dt) '(t))) | 1459 | (apply #'encode-time (append (list 0 0) (nthcdr 2 dt))))) |
| 1460 | (apply #'encode-time dt))) | ||
| 1461 | ((or (equal cmt "all") | 1460 | ((or (equal cmt "all") |
| 1462 | (and (or (not cmt) (equal cmt "auto")) | 1461 | (and (or (not cmt) (equal cmt "auto")) |
| 1463 | (not lr))) | 1462 | (not lr))) |
diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index 138e14e30b1..f32fcd1783e 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el | |||
| @@ -32,12 +32,12 @@ | |||
| 32 | (require 'cl-lib) | 32 | (require 'cl-lib) |
| 33 | (require 'org-macs) | 33 | (require 'org-macs) |
| 34 | 34 | ||
| 35 | (declare-function org-at-table.el-p "org" (&optional table-type)) | 35 | (declare-function org-at-table.el-p "org" ()) |
| 36 | (declare-function org-element-at-point "org-element" ()) | 36 | (declare-function org-element-at-point "org-element" ()) |
| 37 | (declare-function org-element-type "org-element" (element)) | 37 | (declare-function org-element-type "org-element" (element)) |
| 38 | (declare-function org-end-of-subtree "org" (&optional invisible-ok to-heading)) | 38 | (declare-function org-end-of-subtree "org" (&optional invisible-ok to-heading)) |
| 39 | (declare-function org-link-set-parameters "org" (type &rest rest)) | 39 | (declare-function org-link-set-parameters "org" (type &rest rest)) |
| 40 | (declare-function org-table-end (&optional table-type)) | 40 | (declare-function org-table-end "org-table" (&optional table-type)) |
| 41 | (declare-function outline-next-heading "outline" ()) | 41 | (declare-function outline-next-heading "outline" ()) |
| 42 | (declare-function table--at-cell-p "table" (position &optional object at-column)) | 42 | (declare-function table--at-cell-p "table" (position &optional object at-column)) |
| 43 | 43 | ||
diff --git a/lisp/org/org-duration.el b/lisp/org/org-duration.el index 356a0343ea2..1c962ba94e0 100644 --- a/lisp/org/org-duration.el +++ b/lisp/org/org-duration.el | |||
| @@ -51,7 +51,7 @@ | |||
| 51 | 51 | ||
| 52 | (require 'cl-lib) | 52 | (require 'cl-lib) |
| 53 | (require 'org-macs) | 53 | (require 'org-macs) |
| 54 | (declare-function org-trim "org-trim" (s &optional keep-lead)) | 54 | (declare-function org-trim "org" (s &optional keep-lead)) |
| 55 | 55 | ||
| 56 | 56 | ||
| 57 | ;;; Public variables | 57 | ;;; Public variables |
| @@ -99,8 +99,8 @@ sure to call the following command: | |||
| 99 | :set (lambda (var val) (set-default var val) (org-duration-set-regexps)) | 99 | :set (lambda (var val) (set-default var val) (org-duration-set-regexps)) |
| 100 | :initialize 'custom-initialize-changed | 100 | :initialize 'custom-initialize-changed |
| 101 | :type '(choice | 101 | :type '(choice |
| 102 | (const :tag "H:MM" 'h:mm) | 102 | (const :tag "H:MM" h:mm) |
| 103 | (const :tag "H:MM:SS" 'h:mm:ss) | 103 | (const :tag "H:MM:SS" h:mm:ss) |
| 104 | (alist :key-type (string :tag "Unit") | 104 | (alist :key-type (string :tag "Unit") |
| 105 | :value-type (number :tag "Modifier")))) | 105 | :value-type (number :tag "Modifier")))) |
| 106 | 106 | ||
diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el index f9d8055648c..4d3f154c257 100644 --- a/lisp/org/org-footnote.el +++ b/lisp/org/org-footnote.el | |||
| @@ -45,7 +45,7 @@ | |||
| 45 | (declare-function org-element-property "org-element" (property element)) | 45 | (declare-function org-element-property "org-element" (property element)) |
| 46 | (declare-function org-element-type "org-element" (element)) | 46 | (declare-function org-element-type "org-element" (element)) |
| 47 | (declare-function org-end-of-subtree "org" (&optional invisible-ok to-heading)) | 47 | (declare-function org-end-of-subtree "org" (&optional invisible-ok to-heading)) |
| 48 | (declare-function org-fill-paragraph "org" (&optional justify)) | 48 | (declare-function org-fill-paragraph "org" (&optional justify region)) |
| 49 | (declare-function org-in-block-p "org" (names)) | 49 | (declare-function org-in-block-p "org" (names)) |
| 50 | (declare-function org-in-regexp "org" (re &optional nlines visually)) | 50 | (declare-function org-in-regexp "org" (re &optional nlines visually)) |
| 51 | (declare-function org-in-verbatim-emphasis "org" ()) | 51 | (declare-function org-in-verbatim-emphasis "org" ()) |
diff --git a/lisp/org/org-inlinetask.el b/lisp/org/org-inlinetask.el index 5b65fab5932..1825b88cdf6 100644 --- a/lisp/org/org-inlinetask.el +++ b/lisp/org/org-inlinetask.el | |||
| @@ -182,24 +182,28 @@ The number of levels is controlled by `org-inlinetask-min-level'." | |||
| 182 | 182 | ||
| 183 | (defun org-inlinetask-goto-end () | 183 | (defun org-inlinetask-goto-end () |
| 184 | "Go to the end of the inline task at point. | 184 | "Go to the end of the inline task at point. |
| 185 | Return point." | 185 | Return point." |
| 186 | (save-match-data | 186 | (save-match-data |
| 187 | (beginning-of-line) | 187 | (beginning-of-line) |
| 188 | (let* ((case-fold-search t) | 188 | (let* ((case-fold-search t) |
| 189 | (inlinetask-re (org-inlinetask-outline-regexp)) | 189 | (inlinetask-re (org-inlinetask-outline-regexp)) |
| 190 | (task-end-re (concat inlinetask-re "END[ \t]*$"))) | 190 | (task-end-re (concat inlinetask-re "END[ \t]*$"))) |
| 191 | (cond | 191 | (cond |
| 192 | ((looking-at task-end-re)) | 192 | ((looking-at-p task-end-re) |
| 193 | ((looking-at inlinetask-re) | 193 | (forward-line)) |
| 194 | (forward-line) | 194 | ((looking-at-p inlinetask-re) |
| 195 | (cond | 195 | (forward-line) |
| 196 | ((looking-at task-end-re)) | 196 | (cond |
| 197 | ((looking-at inlinetask-re)) | 197 | ((looking-at-p task-end-re) (forward-line)) |
| 198 | ((org-inlinetask-in-task-p) | 198 | ((looking-at-p inlinetask-re)) |
| 199 | (re-search-forward inlinetask-re nil t)))) | 199 | ((org-inlinetask-in-task-p) |
| 200 | (t (re-search-forward inlinetask-re nil t))) | 200 | (re-search-forward inlinetask-re nil t) |
| 201 | (end-of-line) | 201 | (forward-line)) |
| 202 | (point)))) | 202 | (t nil))) |
| 203 | (t | ||
| 204 | (re-search-forward inlinetask-re nil t) | ||
| 205 | (forward-line))))) | ||
| 206 | (point)) | ||
| 203 | 207 | ||
| 204 | (defun org-inlinetask-get-task-level () | 208 | (defun org-inlinetask-get-task-level () |
| 205 | "Get the level of the inline task around. | 209 | "Get the level of the inline task around. |
| @@ -330,7 +334,9 @@ This function is meant to be used in `org-cycle-hook'." | |||
| 330 | (org-inlinetask-goto-end))))) | 334 | (org-inlinetask-goto-end))))) |
| 331 | (`children | 335 | (`children |
| 332 | (save-excursion | 336 | (save-excursion |
| 333 | (while (and (outline-next-heading) (org-inlinetask-at-task-p)) | 337 | (while |
| 338 | (or (org-inlinetask-at-task-p) | ||
| 339 | (and (outline-next-heading) (org-inlinetask-at-task-p))) | ||
| 334 | (org-inlinetask-toggle-visibility) | 340 | (org-inlinetask-toggle-visibility) |
| 335 | (org-inlinetask-goto-end)))))) | 341 | (org-inlinetask-goto-end)))))) |
| 336 | 342 | ||
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el index f0c07938271..a7cc09def4b 100644 --- a/lisp/org/org-pcomplete.el +++ b/lisp/org/org-pcomplete.el | |||
| @@ -41,11 +41,6 @@ | |||
| 41 | 41 | ||
| 42 | ;;;; Customization variables | 42 | ;;;; Customization variables |
| 43 | 43 | ||
| 44 | (defgroup org-complete nil | ||
| 45 | "Outline-based notes management and organizer." | ||
| 46 | :tag "Org" | ||
| 47 | :group 'org) | ||
| 48 | |||
| 49 | (defvar org-drawer-regexp) | 44 | (defvar org-drawer-regexp) |
| 50 | (defvar org-property-re) | 45 | (defvar org-property-re) |
| 51 | (defvar org-current-tag-alist) | 46 | (defvar org-current-tag-alist) |
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 0ba7165abe9..3932671e8b7 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el | |||
| @@ -644,17 +644,30 @@ nil When nil, the command tries to be smart and figure out the | |||
| 644 | (org-table-align)))) | 644 | (org-table-align)))) |
| 645 | 645 | ||
| 646 | ;;;###autoload | 646 | ;;;###autoload |
| 647 | (defun org-table-import (file arg) | 647 | (defun org-table-import (file separator) |
| 648 | "Import FILE as a table. | 648 | "Import FILE as a table. |
| 649 | The file is assumed to be tab-separated. Such files can be produced by most | 649 | |
| 650 | spreadsheet and database applications. If no tabs (at least one per line) | 650 | The command tries to be smart and figure out the separator in the |
| 651 | are found, lines will be split on whitespace into fields." | 651 | following way: |
| 652 | |||
| 653 | - when each line contains a TAB, assume TAB-separated material | ||
| 654 | - when each line contains a comma, assume CSV material | ||
| 655 | - else, assume one or more SPACE characters as separator. | ||
| 656 | |||
| 657 | When non-nil, SEPARATOR specifies the field separator in the | ||
| 658 | lines. It can have the following values: | ||
| 659 | |||
| 660 | (4) Use the comma as a field separator | ||
| 661 | (16) Use a TAB as field separator | ||
| 662 | (64) Prompt for a regular expression as field separator | ||
| 663 | integer When a number, use that many spaces, or a TAB, as field separator | ||
| 664 | regexp When a regular expression, use it to match the separator." | ||
| 652 | (interactive "f\nP") | 665 | (interactive "f\nP") |
| 653 | (or (bolp) (newline)) | 666 | (unless (bolp) (insert "\n")) |
| 654 | (let ((beg (point)) | 667 | (let ((beg (point)) |
| 655 | (pm (point-max))) | 668 | (pm (point-max))) |
| 656 | (insert-file-contents file) | 669 | (insert-file-contents file) |
| 657 | (org-table-convert-region beg (+ (point) (- (point-max) pm)) arg))) | 670 | (org-table-convert-region beg (+ (point) (- (point-max) pm)) separator))) |
| 658 | 671 | ||
| 659 | 672 | ||
| 660 | ;;;###autoload | 673 | ;;;###autoload |
| @@ -1166,7 +1179,7 @@ to a number. In the case of a timestamp, increment by days." | |||
| 1166 | (- (org-time-string-to-absolute txt) | 1179 | (- (org-time-string-to-absolute txt) |
| 1167 | (org-time-string-to-absolute txt-up))) | 1180 | (org-time-string-to-absolute txt-up))) |
| 1168 | ((string-match org-ts-regexp3 txt) 1) | 1181 | ((string-match org-ts-regexp3 txt) 1) |
| 1169 | ((string-match "\\([-+]\\)?[0-9]+\\(?:\.[0-9]+\\)?" txt-up) | 1182 | ((string-match "\\([-+]\\)?\\(?:[0-9]+\\)?\\(?:\.[0-9]+\\)?" txt-up) |
| 1170 | (- (string-to-number txt) | 1183 | (- (string-to-number txt) |
| 1171 | (string-to-number (match-string 0 txt-up)))) | 1184 | (string-to-number (match-string 0 txt-up)))) |
| 1172 | (t 1))) | 1185 | (t 1))) |
| @@ -4311,14 +4324,14 @@ FACE, when non-nil, for the highlight." | |||
| 4311 | 4324 | ||
| 4312 | ;;;###autoload | 4325 | ;;;###autoload |
| 4313 | (define-minor-mode orgtbl-mode | 4326 | (define-minor-mode orgtbl-mode |
| 4314 | "The `org-mode' table editor as a minor mode for use in other modes." | 4327 | "The Org mode table editor as a minor mode for use in other modes." |
| 4315 | :lighter " OrgTbl" :keymap orgtbl-mode-map | 4328 | :lighter " OrgTbl" :keymap orgtbl-mode-map |
| 4316 | (org-load-modules-maybe) | 4329 | (org-load-modules-maybe) |
| 4317 | (cond | 4330 | (cond |
| 4318 | ((derived-mode-p 'org-mode) | 4331 | ((derived-mode-p 'org-mode) |
| 4319 | ;; Exit without error, in case some hook functions calls this | 4332 | ;; Exit without error, in case some hook functions calls this by |
| 4320 | ;; by accident in org-mode. | 4333 | ;; accident in Org mode. |
| 4321 | (message "Orgtbl-mode is not useful in org-mode, command ignored")) | 4334 | (message "Orgtbl mode is not useful in Org mode, command ignored")) |
| 4322 | (orgtbl-mode | 4335 | (orgtbl-mode |
| 4323 | (and (orgtbl-setup) (defun orgtbl-setup () nil)) ;; FIXME: Yuck!?! | 4336 | (and (orgtbl-setup) (defun orgtbl-setup () nil)) ;; FIXME: Yuck!?! |
| 4324 | ;; Make sure we are first in minor-mode-map-alist | 4337 | ;; Make sure we are first in minor-mode-map-alist |
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el index 749cbe063e8..8ec120e9b2f 100644 --- a/lisp/org/org-version.el +++ b/lisp/org/org-version.el | |||
| @@ -5,13 +5,13 @@ | |||
| 5 | (defun org-release () | 5 | (defun org-release () |
| 6 | "The release version of Org. | 6 | "The release version of Org. |
| 7 | Inserted by installing Org mode or when a release is made." | 7 | Inserted by installing Org mode or when a release is made." |
| 8 | (let ((org-release "9.1.4")) | 8 | (let ((org-release "9.1.6")) |
| 9 | org-release)) | 9 | org-release)) |
| 10 | ;;;###autoload | 10 | ;;;###autoload |
| 11 | (defun org-git-version () | 11 | (defun org-git-version () |
| 12 | "The Git version of org-mode. | 12 | "The Git version of Org mode. |
| 13 | Inserted by installing Org or when a release is made." | 13 | Inserted by installing Org or when a release is made." |
| 14 | (let ((org-git-version "release_9.1.4-44-gfe7310")) | 14 | (let ((org-git-version "release_9.1.6-50-g96b33f")) |
| 15 | org-git-version)) | 15 | org-git-version)) |
| 16 | 16 | ||
| 17 | (provide 'org-version) | 17 | (provide 'org-version) |
diff --git a/lisp/org/org-w3m.el b/lisp/org/org-w3m.el index a3ca4786959..706619c5d2b 100644 --- a/lisp/org/org-w3m.el +++ b/lisp/org/org-w3m.el | |||
| @@ -57,7 +57,7 @@ | |||
| 57 | :description (or w3m-current-title w3m-current-url)))) | 57 | :description (or w3m-current-title w3m-current-url)))) |
| 58 | 58 | ||
| 59 | (defun org-w3m-copy-for-org-mode () | 59 | (defun org-w3m-copy-for-org-mode () |
| 60 | "Copy current buffer content or active region with `org-mode' style links. | 60 | "Copy current buffer content or active region with Org style links. |
| 61 | This will encode `link-title' and `link-location' with | 61 | This will encode `link-title' and `link-location' with |
| 62 | `org-make-link-string', and insert the transformed test into the kill ring, | 62 | `org-make-link-string', and insert the transformed test into the kill ring, |
| 63 | so that it can be yanked into an Org buffer with links working correctly." | 63 | so that it can be yanked into an Org buffer with links working correctly." |
| @@ -94,7 +94,7 @@ so that it can be yanked into an Org buffer with links working correctly." | |||
| 94 | ;; get link title at current point. | 94 | ;; get link title at current point. |
| 95 | (setq link-title (buffer-substring (point) | 95 | (setq link-title (buffer-substring (point) |
| 96 | (org-w3m-get-anchor-end))) | 96 | (org-w3m-get-anchor-end))) |
| 97 | ;; concat `org-mode' style url to `return-content'. | 97 | ;; concat Org style url to `return-content'. |
| 98 | (setq return-content (concat return-content | 98 | (setq return-content (concat return-content |
| 99 | (org-make-link-string | 99 | (org-make-link-string |
| 100 | link-location link-title)))) | 100 | link-location link-title)))) |
diff --git a/lisp/org/org.el b/lisp/org/org.el index 173003d6438..5272061ccc9 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -749,7 +749,7 @@ For export specific modules, see also `org-export-backends'." | |||
| 749 | (const :tag "C panel: Simple routines for us with bad memory" org-panel) | 749 | (const :tag "C panel: Simple routines for us with bad memory" org-panel) |
| 750 | (const :tag "C registry: A registry for Org links" org-registry) | 750 | (const :tag "C registry: A registry for Org links" org-registry) |
| 751 | (const :tag "C screen: Visit screen sessions through Org links" org-screen) | 751 | (const :tag "C screen: Visit screen sessions through Org links" org-screen) |
| 752 | (const :tag "C secretary: Team management with org-mode" org-secretary) | 752 | (const :tag "C secretary: Team management with Org" org-secretary) |
| 753 | (const :tag "C sqlinsert: Convert Org tables to SQL insertions" orgtbl-sqlinsert) | 753 | (const :tag "C sqlinsert: Convert Org tables to SQL insertions" orgtbl-sqlinsert) |
| 754 | (const :tag "C toc: Table of contents for Org buffer" org-toc) | 754 | (const :tag "C toc: Table of contents for Org buffer" org-toc) |
| 755 | (const :tag "C track: Keep up with Org mode development" org-track) | 755 | (const :tag "C track: Keep up with Org mode development" org-track) |
| @@ -1710,7 +1710,7 @@ doesn't specify any upper case character." | |||
| 1710 | :type '(choice | 1710 | :type '(choice |
| 1711 | (const :tag "Case-sensitive" nil) | 1711 | (const :tag "Case-sensitive" nil) |
| 1712 | (const :tag "Case-insensitive" t) | 1712 | (const :tag "Case-insensitive" t) |
| 1713 | (const :tag "Case-insensitive for lower case searches only" 'smart))) | 1713 | (const :tag "Case-insensitive for lower case searches only" smart))) |
| 1714 | 1714 | ||
| 1715 | (defcustom org-occur-hook '(org-first-headline-recenter) | 1715 | (defcustom org-occur-hook '(org-first-headline-recenter) |
| 1716 | "Hook that is run after `org-occur' has constructed a sparse tree. | 1716 | "Hook that is run after `org-occur' has constructed a sparse tree. |
| @@ -4167,7 +4167,10 @@ A string will be inserted as-is in the header of the document." | |||
| 4167 | (list :tag "options/package pair" | 4167 | (list :tag "options/package pair" |
| 4168 | (string :tag "options") | 4168 | (string :tag "options") |
| 4169 | (string :tag "package") | 4169 | (string :tag "package") |
| 4170 | (boolean :tag "Snippet")) | 4170 | (boolean :tag "Snippet") |
| 4171 | (choice | ||
| 4172 | (const :tag "For all compilers" nil) | ||
| 4173 | (repeat :tag "Allowed compiler" string))) | ||
| 4171 | (string :tag "A line of LaTeX")))) | 4174 | (string :tag "A line of LaTeX")))) |
| 4172 | 4175 | ||
| 4173 | (defcustom org-latex-packages-alist nil | 4176 | (defcustom org-latex-packages-alist nil |
| @@ -4870,7 +4873,7 @@ After a match, the following groups carry important information: | |||
| 4870 | ("beamer" org-startup-with-beamer-mode t) | 4873 | ("beamer" org-startup-with-beamer-mode t) |
| 4871 | ("entitiespretty" org-pretty-entities t) | 4874 | ("entitiespretty" org-pretty-entities t) |
| 4872 | ("entitiesplain" org-pretty-entities nil)) | 4875 | ("entitiesplain" org-pretty-entities nil)) |
| 4873 | "Variable associated with STARTUP options for org-mode. | 4876 | "Variable associated with STARTUP options for Org. |
| 4874 | Each element is a list of three items: the startup options (as written | 4877 | Each element is a list of three items: the startup options (as written |
| 4875 | in the #+STARTUP line), the corresponding variable, and the value to set | 4878 | in the #+STARTUP line), the corresponding variable, and the value to set |
| 4876 | this variable to if the option is found. An optional forth element PUSH | 4879 | this variable to if the option is found. An optional forth element PUSH |
| @@ -5934,7 +5937,7 @@ by a #." | |||
| 5934 | (defun org-fontify-meta-lines-and-blocks (limit) | 5937 | (defun org-fontify-meta-lines-and-blocks (limit) |
| 5935 | (condition-case nil | 5938 | (condition-case nil |
| 5936 | (org-fontify-meta-lines-and-blocks-1 limit) | 5939 | (org-fontify-meta-lines-and-blocks-1 limit) |
| 5937 | (error (message "org-mode fontification error in %S at %d" | 5940 | (error (message "Org mode fontification error in %S at %d" |
| 5938 | (current-buffer) | 5941 | (current-buffer) |
| 5939 | (line-number-at-pos))))) | 5942 | (line-number-at-pos))))) |
| 5940 | 5943 | ||
| @@ -6925,6 +6928,7 @@ If POS is nil, use `point' instead." | |||
| 6925 | (org-list-set-item-visibility (point-at-bol) struct 'children) | 6928 | (org-list-set-item-visibility (point-at-bol) struct 'children) |
| 6926 | (org-show-entry) | 6929 | (org-show-entry) |
| 6927 | (org-with-limited-levels (org-show-children)) | 6930 | (org-with-limited-levels (org-show-children)) |
| 6931 | (org-show-set-visibility 'canonical) | ||
| 6928 | ;; FIXME: This slows down the func way too much. | 6932 | ;; FIXME: This slows down the func way too much. |
| 6929 | ;; How keep drawers hidden in subtree anyway? | 6933 | ;; How keep drawers hidden in subtree anyway? |
| 6930 | ;; (when (memq 'org-cycle-hide-drawers org-cycle-hook) | 6934 | ;; (when (memq 'org-cycle-hide-drawers org-cycle-hook) |
| @@ -7019,20 +7023,22 @@ With a numeric prefix, show all headlines up to that level." | |||
| 7019 | (save-excursion | 7023 | (save-excursion |
| 7020 | (org-back-to-heading t) | 7024 | (org-back-to-heading t) |
| 7021 | (outline-hide-subtree) | 7025 | (outline-hide-subtree) |
| 7022 | (org-reveal) | 7026 | (org-reveal)) |
| 7023 | (cond | 7027 | (cond |
| 7024 | ((equal state "folded") | 7028 | ((equal state "folded") |
| 7025 | (outline-hide-subtree)) | 7029 | (outline-hide-subtree) |
| 7026 | ((equal state "children") | 7030 | (org-end-of-subtree t t)) |
| 7027 | (org-show-hidden-entry) | 7031 | ((equal state "children") |
| 7028 | (org-show-children)) | 7032 | (org-show-hidden-entry) |
| 7029 | ((equal state "content") | 7033 | (org-show-children)) |
| 7030 | (save-excursion | 7034 | ((equal state "content") |
| 7031 | (save-restriction | 7035 | (save-excursion |
| 7032 | (org-narrow-to-subtree) | 7036 | (save-restriction |
| 7033 | (org-content)))) | 7037 | (org-narrow-to-subtree) |
| 7034 | ((member state '("all" "showall")) | 7038 | (org-content))) |
| 7035 | (outline-show-subtree))))))) | 7039 | (org-end-of-subtree t t)) |
| 7040 | ((member state '("all" "showall")) | ||
| 7041 | (outline-show-subtree)))))) | ||
| 7036 | (unless no-cleanup | 7042 | (unless no-cleanup |
| 7037 | (org-cycle-hide-archived-subtrees 'all) | 7043 | (org-cycle-hide-archived-subtrees 'all) |
| 7038 | (org-cycle-hide-drawers 'all) | 7044 | (org-cycle-hide-drawers 'all) |
| @@ -7181,11 +7187,12 @@ are at least `org-cycle-separator-lines' empty lines before the headline." | |||
| 7181 | "Return `org-agenda-files' list, plus all open Org files. | 7187 | "Return `org-agenda-files' list, plus all open Org files. |
| 7182 | This is useful for operations that need to scan all of a user's | 7188 | This is useful for operations that need to scan all of a user's |
| 7183 | open and agenda-wise Org files." | 7189 | open and agenda-wise Org files." |
| 7184 | (let ((files (mapcar 'expand-file-name (org-agenda-files)))) | 7190 | (let ((files (mapcar #'expand-file-name (org-agenda-files)))) |
| 7185 | (dolist (buf (buffer-list)) | 7191 | (dolist (buf (buffer-list)) |
| 7186 | (with-current-buffer buf | 7192 | (with-current-buffer buf |
| 7187 | (when (and (derived-mode-p 'org-mode) (buffer-file-name)) | 7193 | (when (and (derived-mode-p 'org-mode) (buffer-file-name)) |
| 7188 | (cl-pushnew (expand-file-name (buffer-file-name)) files)))) | 7194 | (cl-pushnew (expand-file-name (buffer-file-name)) files |
| 7195 | :test #'equal)))) | ||
| 7189 | files)) | 7196 | files)) |
| 7190 | 7197 | ||
| 7191 | (defsubst org-entry-beginning-position () | 7198 | (defsubst org-entry-beginning-position () |
| @@ -9949,20 +9956,24 @@ according to FMT (default from `org-email-link-description-format')." | |||
| 9949 | (reverse slines))) "\n"))))) | 9956 | (reverse slines))) "\n"))))) |
| 9950 | (mapconcat #'identity (split-string s) " "))) | 9957 | (mapconcat #'identity (split-string s) " "))) |
| 9951 | 9958 | ||
| 9959 | (defconst org-link-escape-chars | ||
| 9960 | ;;%20 %5B %5D %25 | ||
| 9961 | '(?\s ?\[ ?\] ?%) | ||
| 9962 | "List of characters that should be escaped in a link when stored to Org. | ||
| 9963 | This is the list that is used for internal purposes.") | ||
| 9964 | |||
| 9952 | (defun org-make-link-string (link &optional description) | 9965 | (defun org-make-link-string (link &optional description) |
| 9953 | "Make a link with brackets, consisting of LINK and DESCRIPTION." | 9966 | "Make a link with brackets, consisting of LINK and DESCRIPTION." |
| 9954 | (unless (org-string-nw-p link) (error "Empty link")) | 9967 | (unless (org-string-nw-p link) (error "Empty link")) |
| 9955 | (let ((uri (cond ((string-match org-link-types-re link) | 9968 | (let ((uri (cond ((string-match org-link-types-re link) |
| 9956 | (concat (match-string 1 link) | 9969 | (concat (match-string 1 link) |
| 9957 | (org-link-escape (substring link (match-end 1))))) | 9970 | (org-link-escape (substring link (match-end 1))))) |
| 9958 | ;; For readability, url-encode internal links only | ||
| 9959 | ;; when absolutely needed (i.e, when they contain | ||
| 9960 | ;; square brackets). File links however, are | ||
| 9961 | ;; encoded since, e.g., spaces are significant. | ||
| 9962 | ((or (file-name-absolute-p link) | 9971 | ((or (file-name-absolute-p link) |
| 9963 | (string-match-p "\\`\\.\\.?/\\|[][]" link)) | 9972 | (string-match-p "\\`\\.\\.?/" link)) |
| 9964 | (org-link-escape link)) | 9973 | (org-link-escape link)) |
| 9965 | (t link))) | 9974 | ;; For readability, do not encode space characters |
| 9975 | ;; in fuzzy links. | ||
| 9976 | (t (org-link-escape link (remq ?\s org-link-escape-chars))))) | ||
| 9966 | (description | 9977 | (description |
| 9967 | (and (org-string-nw-p description) | 9978 | (and (org-string-nw-p description) |
| 9968 | ;; Remove brackets from description, as they are fatal. | 9979 | ;; Remove brackets from description, as they are fatal. |
| @@ -9973,12 +9984,6 @@ according to FMT (default from `org-email-link-description-format')." | |||
| 9973 | uri | 9984 | uri |
| 9974 | (if description (format "[%s]" description) "")))) | 9985 | (if description (format "[%s]" description) "")))) |
| 9975 | 9986 | ||
| 9976 | (defconst org-link-escape-chars | ||
| 9977 | ;;%20 %5B %5D %25 | ||
| 9978 | '(?\s ?\[ ?\] ?%) | ||
| 9979 | "List of characters that should be escaped in a link when stored to Org. | ||
| 9980 | This is the list that is used for internal purposes.") | ||
| 9981 | |||
| 9982 | (defun org-link-escape (text &optional table merge) | 9987 | (defun org-link-escape (text &optional table merge) |
| 9983 | "Return percent escaped representation of TEXT. | 9988 | "Return percent escaped representation of TEXT. |
| 9984 | TEXT is a string with the text to escape. | 9989 | TEXT is a string with the text to escape. |
| @@ -10280,11 +10285,19 @@ Use TAB to complete link prefixes, then RET for type-specific completion support | |||
| 10280 | ;; We are linking to this same file, with a search option | 10285 | ;; We are linking to this same file, with a search option |
| 10281 | (setq link search))))) | 10286 | (setq link search))))) |
| 10282 | 10287 | ||
| 10283 | ;; Check if we can/should use a relative path. If yes, simplify the link | 10288 | ;; Check if we can/should use a relative path. If yes, simplify |
| 10289 | ;; the link. | ||
| 10284 | (let ((case-fold-search nil)) | 10290 | (let ((case-fold-search nil)) |
| 10285 | (when (string-match "\\`\\(file\\|docview\\):" link) | 10291 | (when (string-match "\\`\\(file\\|docview\\):" link) |
| 10286 | (let* ((type (match-string-no-properties 0 link)) | 10292 | (let* ((type (match-string-no-properties 0 link)) |
| 10287 | (path (substring-no-properties link (match-end 0))) | 10293 | (path-start (match-end 0)) |
| 10294 | (search (and (string-match "::\\(.*\\)\\'" link) | ||
| 10295 | (match-string 1 link))) | ||
| 10296 | (path | ||
| 10297 | (if search | ||
| 10298 | (substring-no-properties | ||
| 10299 | link path-start (match-beginning 0)) | ||
| 10300 | (substring-no-properties link (match-end 0)))) | ||
| 10288 | (origpath path)) | 10301 | (origpath path)) |
| 10289 | (cond | 10302 | (cond |
| 10290 | ((or (eq org-link-file-path-type 'absolute) | 10303 | ((or (eq org-link-file-path-type 'absolute) |
| @@ -10305,7 +10318,7 @@ Use TAB to complete link prefixes, then RET for type-specific completion support | |||
| 10305 | (setq path (substring (expand-file-name path) | 10318 | (setq path (substring (expand-file-name path) |
| 10306 | (match-end 0))) | 10319 | (match-end 0))) |
| 10307 | (setq path (abbreviate-file-name (expand-file-name path))))))) | 10320 | (setq path (abbreviate-file-name (expand-file-name path))))))) |
| 10308 | (setq link (concat type path)) | 10321 | (setq link (concat type path (and search (concat "::" search)))) |
| 10309 | (when (equal desc origpath) | 10322 | (when (equal desc origpath) |
| 10310 | (setq desc path))))) | 10323 | (setq desc path))))) |
| 10311 | 10324 | ||
| @@ -12185,7 +12198,7 @@ There are two templates for each key, the first uses the original Org syntax, | |||
| 12185 | the second uses Emacs Muse-like syntax tags. These Muse-like tags become | 12198 | the second uses Emacs Muse-like syntax tags. These Muse-like tags become |
| 12186 | the default when the /org-mtags.el/ module has been loaded. See also the | 12199 | the default when the /org-mtags.el/ module has been loaded. See also the |
| 12187 | variable `org-mtags-prefer-muse-templates'." | 12200 | variable `org-mtags-prefer-muse-templates'." |
| 12188 | :group 'org-completion | 12201 | :group 'org-edit-structure |
| 12189 | :type '(repeat | 12202 | :type '(repeat |
| 12190 | (list | 12203 | (list |
| 12191 | (string :tag "Key") | 12204 | (string :tag "Key") |
| @@ -12377,7 +12390,7 @@ When called through ELisp, arg is also interpreted in the following way: | |||
| 12377 | (or (looking-at (concat " +" org-todo-regexp "\\( +\\|[ \t]*$\\)")) | 12390 | (or (looking-at (concat " +" org-todo-regexp "\\( +\\|[ \t]*$\\)")) |
| 12378 | (looking-at "\\(?: *\\|[ \t]*$\\)")) | 12391 | (looking-at "\\(?: *\\|[ \t]*$\\)")) |
| 12379 | (let* ((match-data (match-data)) | 12392 | (let* ((match-data (match-data)) |
| 12380 | (startpos (point-at-bol)) | 12393 | (startpos (copy-marker (line-beginning-position))) |
| 12381 | (logging (save-match-data (org-entry-get nil "LOGGING" t t))) | 12394 | (logging (save-match-data (org-entry-get nil "LOGGING" t t))) |
| 12382 | (org-log-done org-log-done) | 12395 | (org-log-done org-log-done) |
| 12383 | (org-log-repeat org-log-repeat) | 12396 | (org-log-repeat org-log-repeat) |
diff --git a/lisp/org/ox-beamer.el b/lisp/org/ox-beamer.el index e17087b43c7..15b78dcdbce 100644 --- a/lisp/org/ox-beamer.el +++ b/lisp/org/ox-beamer.el | |||
| @@ -174,11 +174,11 @@ through `org-beamer-environments-extra' variable.") | |||
| 174 | ("quotation" "q" "\\begin{quotation}%a %% %h" "\\end{quotation}") | 174 | ("quotation" "q" "\\begin{quotation}%a %% %h" "\\end{quotation}") |
| 175 | ("quote" "Q" "\\begin{quote}%a %% %h" "\\end{quote}") | 175 | ("quote" "Q" "\\begin{quote}%a %% %h" "\\end{quote}") |
| 176 | ("structureenv" "s" "\\begin{structureenv}%a %% %h" "\\end{structureenv}") | 176 | ("structureenv" "s" "\\begin{structureenv}%a %% %h" "\\end{structureenv}") |
| 177 | ("theorem" "t" "\\begin{theorem}%a%U" "\\end{theorem}") | 177 | ("theorem" "t" "\\begin{theorem}%a[%h]" "\\end{theorem}") |
| 178 | ("definition" "d" "\\begin{definition}%a%U" "\\end{definition}") | 178 | ("definition" "d" "\\begin{definition}%a[%h]" "\\end{definition}") |
| 179 | ("example" "e" "\\begin{example}%a%U" "\\end{example}") | 179 | ("example" "e" "\\begin{example}%a[%h]" "\\end{example}") |
| 180 | ("exampleblock" "E" "\\begin{exampleblock}%a{%h}" "\\end{exampleblock}") | 180 | ("exampleblock" "E" "\\begin{exampleblock}%a{%h}" "\\end{exampleblock}") |
| 181 | ("proof" "p" "\\begin{proof}%a%U" "\\end{proof}") | 181 | ("proof" "p" "\\begin{proof}%a[%h]" "\\end{proof}") |
| 182 | ("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}" "\\end{beamercolorbox}")) | 182 | ("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}" "\\end{beamercolorbox}")) |
| 183 | "Environments triggered by properties in Beamer export. | 183 | "Environments triggered by properties in Beamer export. |
| 184 | These are the defaults - for user definitions, see | 184 | These are the defaults - for user definitions, see |
diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el index 2dce7bc29bf..a656e065b94 100644 --- a/lisp/org/ox-latex.el +++ b/lisp/org/ox-latex.el | |||
| @@ -2180,19 +2180,16 @@ contextual information." | |||
| 2180 | (nth (1- level) '("i" "ii" "iii" "iv")) | 2180 | (nth (1- level) '("i" "ii" "iii" "iv")) |
| 2181 | (1- count))))) | 2181 | (1- count))))) |
| 2182 | (checkbox (cl-case (org-element-property :checkbox item) | 2182 | (checkbox (cl-case (org-element-property :checkbox item) |
| 2183 | (on "$\\boxtimes$ ") | 2183 | (on "$\\boxtimes$") |
| 2184 | (off "$\\square$ ") | 2184 | (off "$\\square$") |
| 2185 | (trans "$\\boxminus$ "))) | 2185 | (trans "$\\boxminus$"))) |
| 2186 | (tag (let ((tag (org-element-property :tag item))) | 2186 | (tag (let ((tag (org-element-property :tag item))) |
| 2187 | ;; Check-boxes must belong to the tag. | 2187 | (and tag (org-export-data tag info))))) |
| 2188 | (and tag (format "[{%s}] " | ||
| 2189 | (concat checkbox | ||
| 2190 | (org-export-data tag info))))))) | ||
| 2191 | (concat counter | 2188 | (concat counter |
| 2192 | "\\item" | 2189 | "\\item" |
| 2193 | (cond | 2190 | (cond |
| 2194 | (tag) | 2191 | ((and checkbox tag) (format "[{%s %s}] " checkbox tag)) |
| 2195 | (checkbox (concat " " checkbox)) | 2192 | ((or checkbox tag) (format "[{%s}] " (or checkbox tag))) |
| 2196 | ;; Without a tag or a check-box, if CONTENTS starts with | 2193 | ;; Without a tag or a check-box, if CONTENTS starts with |
| 2197 | ;; an opening square bracket, add "\relax" to "\item", | 2194 | ;; an opening square bracket, add "\relax" to "\item", |
| 2198 | ;; unless the brackets comes from an initial export | 2195 | ;; unless the brackets comes from an initial export |
diff --git a/lisp/org/ox-md.el b/lisp/org/ox-md.el index a90a29ff029..c4da8fcb145 100644 --- a/lisp/org/ox-md.el +++ b/lisp/org/ox-md.el | |||
| @@ -500,14 +500,15 @@ TEXT is the string to transcode. INFO is a plist holding | |||
| 500 | contextual information." | 500 | contextual information." |
| 501 | (when (plist-get info :with-smart-quotes) | 501 | (when (plist-get info :with-smart-quotes) |
| 502 | (setq text (org-export-activate-smart-quotes text :html info))) | 502 | (setq text (org-export-activate-smart-quotes text :html info))) |
| 503 | ;; The below series of replacements in `text' is order sensitive. | ||
| 504 | ;; Protect `, *, _, and \ | ||
| 505 | (setq text (replace-regexp-in-string "[`*_\\]" "\\\\\\&" text)) | ||
| 503 | ;; Protect ambiguous #. This will protect # at the beginning of | 506 | ;; Protect ambiguous #. This will protect # at the beginning of |
| 504 | ;; a line, but not at the beginning of a paragraph. See | 507 | ;; a line, but not at the beginning of a paragraph. See |
| 505 | ;; `org-md-paragraph'. | 508 | ;; `org-md-paragraph'. |
| 506 | (setq text (replace-regexp-in-string "\n#" "\n\\\\#" text)) | 509 | (setq text (replace-regexp-in-string "\n#" "\n\\\\#" text)) |
| 507 | ;; Protect ambiguous ! | 510 | ;; Protect ambiguous ! |
| 508 | (setq text (replace-regexp-in-string "\\(!\\)\\[" "\\\\!" text nil nil 1)) | 511 | (setq text (replace-regexp-in-string "\\(!\\)\\[" "\\\\!" text nil nil 1)) |
| 509 | ;; Protect `, *, _ and \ | ||
| 510 | (setq text (replace-regexp-in-string "[`*_\\]" "\\\\\\&" text)) | ||
| 511 | ;; Handle special strings, if required. | 512 | ;; Handle special strings, if required. |
| 512 | (when (plist-get info :with-special-strings) | 513 | (when (plist-get info :with-special-strings) |
| 513 | (setq text (org-html-convert-special-strings text))) | 514 | (setq text (org-html-convert-special-strings text))) |
diff --git a/lisp/org/ox-odt.el b/lisp/org/ox-odt.el index a7f8e045161..e0c51662d10 100644 --- a/lisp/org/ox-odt.el +++ b/lisp/org/ox-odt.el | |||
| @@ -721,16 +721,17 @@ nil Ignore math snippets. | |||
| 721 | imagemagick to convert pdf files to png files. | 721 | imagemagick to convert pdf files to png files. |
| 722 | `mathjax' Do MathJax preprocessing and arrange for MathJax.js to | 722 | `mathjax' Do MathJax preprocessing and arrange for MathJax.js to |
| 723 | be loaded. | 723 | be loaded. |
| 724 | t Synonym for `mathjax'." | 724 | |
| 725 | Any other symbol is a synonym for `mathjax'." | ||
| 725 | :group 'org-export-odt | 726 | :group 'org-export-odt |
| 726 | :version "24.4" | 727 | :version "24.4" |
| 727 | :package-version '(Org . "8.0") | 728 | :package-version '(Org . "8.0") |
| 728 | :type '(choice | 729 | :type '(choice |
| 729 | (const :tag "Do not process math in any way" nil) | 730 | (const :tag "Do not process math in any way" nil) |
| 731 | (const :tag "Leave math verbatim" verbatim) | ||
| 730 | (const :tag "Use dvipng to make images" dvipng) | 732 | (const :tag "Use dvipng to make images" dvipng) |
| 731 | (const :tag "Use imagemagick to make images" imagemagick) | 733 | (const :tag "Use imagemagick to make images" imagemagick) |
| 732 | (const :tag "Use MathJax to display math" mathjax) | 734 | (other :tag "Use MathJax to display math" mathjax))) |
| 733 | (const :tag "Leave math verbatim" verbatim))) | ||
| 734 | 735 | ||
| 735 | 736 | ||
| 736 | ;;;; Links | 737 | ;;;; Links |
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el index 15c9e942b7f..5deb7c54e71 100644 --- a/lisp/org/ox-publish.el +++ b/lisp/org/ox-publish.el | |||
| @@ -57,10 +57,10 @@ Every function in this hook will be called with two arguments: | |||
| 57 | the name of the original file and the name of the file | 57 | the name of the original file and the name of the file |
| 58 | produced.") | 58 | produced.") |
| 59 | 59 | ||
| 60 | (defgroup org-publish nil | 60 | (defgroup org-export-publish nil |
| 61 | "Options for publishing a set of files." | 61 | "Options for publishing a set of files." |
| 62 | :tag "Org Publishing" | 62 | :tag "Org Publishing" |
| 63 | :group 'org) | 63 | :group 'org-export) |
| 64 | 64 | ||
| 65 | (defcustom org-publish-project-alist nil | 65 | (defcustom org-publish-project-alist nil |
| 66 | "Association list to control publishing behavior. | 66 | "Association list to control publishing behavior. |
diff --git a/lisp/org/ox.el b/lisp/org/ox.el index 1b52f3968f7..7bdac4f290d 100644 --- a/lisp/org/ox.el +++ b/lisp/org/ox.el | |||
| @@ -3699,7 +3699,9 @@ the communication channel used for export, as a plist." | |||
| 3699 | :translate-alist all-transcoders | 3699 | :translate-alist all-transcoders |
| 3700 | :exported-data (make-hash-table :test #'eq :size 401))))) | 3700 | :exported-data (make-hash-table :test #'eq :size 401))))) |
| 3701 | ;; `:internal-references' are shared across back-ends. | 3701 | ;; `:internal-references' are shared across back-ends. |
| 3702 | (prog1 (funcall transcoder data contents new-info) | 3702 | (prog1 (if (eq type 'plain-text) |
| 3703 | (funcall transcoder data new-info) | ||
| 3704 | (funcall transcoder data contents new-info)) | ||
| 3703 | (plist-put info :internal-references | 3705 | (plist-put info :internal-references |
| 3704 | (plist-get new-info :internal-references))))))) | 3706 | (plist-get new-info :internal-references))))))) |
| 3705 | 3707 | ||
diff --git a/lisp/term.el b/lisp/term.el index c64c64e6ecd..20719987a06 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -2021,16 +2021,13 @@ After the process output mark, sends all text from the process mark to | |||
| 2021 | point as input to the process. Before the process output mark, calls value | 2021 | point as input to the process. Before the process output mark, calls value |
| 2022 | of variable `term-get-old-input' to retrieve old input, copies it to the | 2022 | of variable `term-get-old-input' to retrieve old input, copies it to the |
| 2023 | process mark, and sends it. A terminal newline is also inserted into the | 2023 | process mark, and sends it. A terminal newline is also inserted into the |
| 2024 | buffer and sent to the process. The list of function names contained in the | 2024 | buffer and sent to the process. The functions in `term-input-filter-functions' |
| 2025 | value of `term-input-filter-functions' is called on the input before sending | 2025 | are called on the input before sending it. |
| 2026 | it. The input is entered into the input history ring, if the value of variable | 2026 | |
| 2027 | `term-input-filter' returns non-nil when called on the input. | ||
| 2028 | |||
| 2029 | Any history reference may be expanded depending on the value of the variable | ||
| 2030 | `term-input-autoexpand'. The list of function names contained in the value | ||
| 2031 | of `term-input-filter-functions' is called on the input before sending it. | ||
| 2032 | The input is entered into the input history ring, if the value of variable | 2027 | The input is entered into the input history ring, if the value of variable |
| 2033 | `term-input-filter' returns non-nil when called on the input. | 2028 | `term-input-filter' returns non-nil when called on the input. Any history |
| 2029 | reference may be expanded depending on the value of the variable | ||
| 2030 | `term-input-autoexpand'. | ||
| 2034 | 2031 | ||
| 2035 | If variable `term-eol-on-send' is non-nil, then point is moved to the | 2032 | If variable `term-eol-on-send' is non-nil, then point is moved to the |
| 2036 | end of line before sending the input. | 2033 | end of line before sending the input. |
diff --git a/test/lisp/emacs-lisp/shadow-tests.el b/test/lisp/emacs-lisp/shadow-tests.el index 9d4969fe8bb..f0aa1310bc4 100644 --- a/test/lisp/emacs-lisp/shadow-tests.el +++ b/test/lisp/emacs-lisp/shadow-tests.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | 33 | ||
| 34 | (ert-deftest shadow-case-insensitive () | 34 | (ert-deftest shadow-case-insensitive () |
| 35 | "Test shadowing for case insensitive filenames." | 35 | "Test shadowing for case insensitive filenames." |
| 36 | ;; Override `file-name-case-insentive-p' so we test the same thing | 36 | ;; Override `file-name-case-insensitive-p' so we test the same thing |
| 37 | ;; regardless of what file system we're running on. | 37 | ;; regardless of what file system we're running on. |
| 38 | (cl-letf (((symbol-function 'file-name-case-insensitive-p) (lambda (_f) t))) | 38 | (cl-letf (((symbol-function 'file-name-case-insensitive-p) (lambda (_f) t))) |
| 39 | (should (equal (list (expand-file-name "p1/foo" shadow-tests-data-directory) | 39 | (should (equal (list (expand-file-name "p1/foo" shadow-tests-data-directory) |